footer,
#main p.center,
#main section h2,
section,
section>div {
box-sizing: border-box
}
/* caveat-regular - latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
    font-display: swap;
  src: url('../fonts/caveat-v5-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Caveat Regular'), local('Caveat-Regular'),
       url('../fonts/caveat-v5-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/caveat-v5-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/caveat-v5-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/caveat-v5-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/caveat-v5-latin-regular.svg#Caveat') format('svg'); /* Legacy iOS */
}
/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
    font-display: swap;
  src: url('../fonts/lato-v14-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Lato Regular'), local('Lato-Regular'),
       url('../fonts/lato-v14-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v14-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v14-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v14-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v14-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */
}

ul {
    list-style-type: none;
}
a {
text-decoration:none;
}
.invisible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
figure,
picture,
img {
height: auto;
max-width: 100%
}
body {
    color: #222;
    font-family: "Lato", serif;
font-size: 101%;
    background: #fff;
background: linear-gradient(90deg, rgba(255,252,239,1) 0%, rgba(255,255,255,1) 37%, rgba(255,238,238,1) 59%, rgba(255,255,255,1) 70%, rgba(255,255,255,1) 100%);
}
.invisible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
#header {
    width: 100%;
position:relative;
padding: 3rem 0 0 0;
}
#header div.navbutton {
padding: .7rem;
background-color:rgba(255,255,255);
width: 3rem;
height: 3rem;
cursor: pointer;
position: absolute;
top: 0;
left: 0;
z-index: 42;
border-bottom-right-radius: 30px;
display:none;
}

#header div.navbutton img {
left: .5rem;
position: absolute;
z-index: 50;

}
header nav.mobilenav {
display: none;
width: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 11;
background-color: rgba(255,255,255,.95);
}
#header nav.mobilenav a,
#header nav.mobilenav p {
margin: 3rem 0 3rem 5rem;
display: block;
font-size: 1.4rem;
cursor: pointer;
font-weight: 300;
z-index: 2;
color: #104007;
}

#header nav.mobilenav a:first-child {
margin: 5rem 0 0 5rem
}

#header nav.mobilenav a:last-child {
margin: 0 0 3rem 5rem
}
#header nav.mod_customnav {
    cursor: pointer;
    margin: 0 auto;
 margin:0 auto;
padding: 1rem 0 0 0;
width: 100%;
}
#header nav.mod_customnav div.ul1,
#header nav.mod_customnav div.ul2 {
text-align: center;
}
#header nav.mod_customnav div.ul1 a {
    margin: 2rem 8rem 0 0;
    font-size: 1.6rem;
    color: #800000;
}
#header nav.mod_customnav div.ul1 a:last-child,
#header nav.mod_customnav div.ul2 a:last-child {
    margin: 2rem 0 0 0;
}
#header nav.mod_customnav div.ul2 {
margin: 2rem 0 0 0;
}
#header nav.mod_customnav div.ul2 a,
#header nav.mod_customnav div.ul2 p {
color: #3a3a3a;
    margin: 1.25rem 5rem 0 0;
font-size: 1rem;
display:inline;
}
#header div.logo {
    width: 300px;
margin: 3rem auto;
}

#header div.sonntag {
    width: 180px;
  position:absolute;
  top: 12rem;
  right: 25rem;
  transform:rotate(15deg);
}
#header figure {
max-width: 26rem;
margin:3rem auto;
}
#header div.oeffnungszeiten,
#header div.kontakt,
div.anfahrttext {
width: 100%;
position:absolute;
z-index:112;
top: 4em;
left:0;
background-color: rgba(34, 34, 34, .95);
color:#fff;
padding:1em 0;
text-align: center;
display: none;
font-size: 1rem;

}
#header div.oeffnungszeiten h2,

#header div.kontakt h2 {
font-size: 1.2rem;
margin: .5em 0 .3em 0;
}
#header div.oeffnungszeiten p,

#header div.kontakt p {
letter-spacing: 0.2em;
line-height: 1.7em;
}
#header div.oeffnungszeiten h3,
#header div.kontakt h3 {
font-size: 1.1rem;
margin: .8em 0 .3em 0;
}
#header div.oeffnungszeiten p.small {
letter-spacing: 0em;
font-size: .825rem;
}
#header div.oeffnungszeiten p.close,
 #header div.kontakt p.close{
font-size: 1rem;
text-align:center;
font-weight: bold;
padding: 2em 0 1em 0;
}
#header div.oeffnungszeiten a {
color: #fff;
font-weight:bold;
}
#header nav.mod_customnav div.ul2 a.speisekartenlink,
#header nav.mobilenav a.speisekartenlink {
display:none;
}

body.restaurant #header nav.mod_customnav div.ul2 a.speisekartenlink {
display:inline;
}
body.restaurant #header nav.mobilenav a.speisekartenlink  {
display:block;
margin: 3rem 0 3rem 5rem;
}
#main {
    margin: 0 auto;
    max-width: 100%;
    color: #222;
    font-family: "Lato", serif;
padding:0 1em;
}
#main .mod_article {
    background: transparent;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    margin: 0 auto;
}
#main div.ce_text,
#main div.ce_form,
#main div.mod_search,
#main div.ce_gallery
{
    max-width: 960px;
    margin: 0 auto;
    padding:0;
}
#main h1.ce_headline,
#main h2.ce_headline
{
    max-width: 960px;
    margin: 0 auto;
    padding:1rem 0 1rem 0;
}
#main div.speisekarte {
max-width: 768px;
margin: 6rem auto;
padding:1rem 0 1rem 0;
}
main section:focus,
main h2:focus,
main h3:focus,
footer h3:focus,
header span.navtextebut:focus,
#main div.speisekarte:focus {
border: none;
outline: none;
}
#main h1 {
    font-size: 2rem;
    color: #800000;
    font-weight: 300;
     line-height: 1.7;
}
#main h2 {
    font-size: 1.4rem;
      color: #800000;
    line-height: 1.7;
margin:2rem 0 .5rem 0;
}

#main h3 {
	font-size:1.1rem;
margin: 2rem 0 .5rem 0;
font-weight: bold;
}
#main div.speisekarte h3 {
margin: 5rem 0 .5rem 0;
}
#main p {
    font-size: 1rem;
    line-height: 1.7;
margin: 0 0 1rem 0;
}
#main a {
	text-decoration: none;
	color: #800000
}
#main ul {
    margin: .5em 0 2em 1em;
 list-style-image:url(/files/layout/disc.png);
list-style-type: disc;
    color: #333;
}
#main li {
    margin: 0 0 .5em 1.5em;
    padding: 0 0 0 1em;
    line-height: 1.6em;
}
.pdf_link {
	margin: 1em 0 0;
	text-align: right
}

.pdf_link img {
	border-style: none
}

.pdf_link a {
	margin-left: .5em
}
#main .back a {
	font-size: 1.2em;
	font-weight: bold
}
#main p.preis {
	margin: -.6em 0 0em 0;
	padding: 0 .5em .75em 0;
	text-align: right;
	border-bottom: .1em dotted #800000;
	font-size: 1rem;
	line-height: 0;
	color: #800000;
}
#main div.speisen_2 .ce_text {
margin: 0 auto 3em;
max-width: 960px;
    padding:0;
	border-bottom: .05em dotted #800000;
}
#main .speisen_2 div.ce_text.botno {
	border-bottom: none;
}
#main .speisen_2 p {
	font-size: 1rem;
	line-height: 1.3em;
float:left;
margin:0;
}
#main .speisen_2 p.preis {
	text-align: right;
	font-size: 1rem;
	font-weight: bold;
	color: #800000;
float:right;
border:none;
margin:0;
padding:0 .5em 0 0;
}
#main .speisen_2 img {
	width: 9em;
	border: 1em solid #eee;
}
#main .red {
	font-size: 1.2em;
	font-weight: bold;
	color: #800000
}
div#article-227 .ce_text {
margin: 0 auto;
max-width: 960px;
    padding:0 2em;
}
div#article-227 .ce_text h2 {
margin: 3em 0 .5em 0;
}
div#article-227 .ce_text p {
margin: 0 0 2em 0;

}
div#article-227 .ce_text span.menupreis {
	display: block;
	padding: 0 0 2em 0;
	font-size: .925em;
	color: #800000;
float: right;
}

#main div.ce_text p.small08 {
	text-align: right;
	font-size: .7rem;
	line-height: 1rem;
width:100%;
float:none;
}
#main figure  {
    margin: 2rem auto;
  
    max-width:400px;

}
#main figure img {
    margin: 2rem auto;

}
#main figure.float_right {
    margin: 1rem 0 0 1rem;
}
#main figure.float_left {
    margin: 1rem 2rem 0 0;
}
 #main .ce_text figcaption.caption {
    font-size: .75rem;
    text-align: center;
    line-height: 1.4em;
}
#main #map {
    height: 30em;
max-width: 960px;
margin:0 auto;
}
#main a.anker {
    display: block;
    position: relative;
    top: -12em;
    visibility: hidden;
}
#main div.hinweis {
    border: 1px solid #800000;
    max-width: 600px;
        margin: .5em auto;
        padding: 2rem;
    }
#main div.hinweis p {
font-size: .75rem;


    line-height:1.4;

}
#main p.hinweis {
text-align: right;
font-size: .75rem;
max-width: 960px;
    margin: .5em auto;
}
#main div.ce_text .speisen img {
margin: 0 auto;
width: 100%;
}
#main select.empty {
    display:none;
}
#back-top {
    bottom: 0;
    position: fixed;
    right: 2rem;
    z-index: 10;
width:4em;
}
#back-top figure img {
padding:0;
margin:0;
}
#main p.backlink {
text-align:right;
}

.center {
text-align: center;
}
#main p.grau75 {
text-align: left;
color: #777;
font-size: .75rem;
line-height: 1.3;
margin: 1rem 0 0 0;
}
#main div.speisekarte {
max-width: 768px;

}
#main div.speisekarte table {
max-width: 768px;
margin:0 auto;
}

#main div.speisekarte td:nth-child(odd) {
padding: .5rem 0;
min-width: 360px;

}
#main div.speisekarte td:nth-child(even) {
padding: .5rem 1rem .5rem 2rem;
text-align: right;
 white-space: nowrap;
}


#footer {
    color: #444;
    max-width: 100%;
    background: transparent;
margin: 8rem auto;
padding: 3rem;
}
#footer p {
    margin: 0 auto;
    font-size: .875rem;
    line-height: 1.7;
}
#footer p:first-child {
border-top: .05rem solid #800000;
padding: 1em 0 0 0;
color: #800000;
font-size: 2rem;
}
#footer p.anfahrt {
font-weight:bold;
font-size: 1.4rem;
}
#footer .mod_customnav ul {
    margin: 2em 0 0 0;
}
#footer .mod_customnav li {
    width: auto;
    margin: 0 0 1.4em;
    line-height: 1.6em;
    list-style-type: none;
}
#footer a {
    text-decoration: none;
    color: #333;

}
.ce_gallery > ul {
	margin:0;
	padding:0;
	overflow:hidden;
	list-style:none;
}
.ce_gallery > ul li {
	float:left;
}
#main div.ce_gallery ul {
padding:0;
margin:0;
}
#main div.ce_gallery li {
    list-style-type: none;
padding:0;
margin:0;
}
.ce_gallery > ul li.col_first {
	clear:left;
border-bottom: 10px solid #fff;
}
.ce_gallery li.col_1 {
border-left: 10px solid #fff;
border-bottom: 10px solid #fff;
}
.ce_gallery li.col_2 {
border-bottom:10px solid #fff;
border-left: 10px solid #fff;
border-right: 10px solid #fff;
}
.ce_gallery li.col_last {
border-bottom: 10px solid #fff;
}
.ce_gallery, .ce_gallery ul {display: block; overflow: hidden}
.ce_gallery ul li {float: left; list-style-type: none}
.ce_gallery .image_container{position: relative; margin: 0}
.ce_gallery .col_first{clear: both}
.ce_gallery img {display: block}
.ce_gallery a {outline: none}

@media (max-width: 1500px) {
#header div.sonntag {
right: 10rem;
}}
@media (max-width: 1222px) {
#header nav.mod_customnav div.ul1 a {
    margin: 1.25em 3.5em 0 0;
    font-size: 1.4rem;
    }
}
@media (max-width: 1154px) {
#main .ce_gallery li {
width: 24%;
}
#main div.ce_gallery figure img {
width: 100%;
margin:0 auto;
}
}
@media (max-width: 1000px) {
#header nav.mod_customnav div.ul1 a {
    margin: 1.25em 2.5em 0 0;
    }
#main p.center,
#main .speisen_2 div.ce_text.botno p
 {
font-size: 1.3rem;
}

#header div.sonntag {
right: 6rem;
}
}
@media (max-width: 860px) {
#main h1 {
    font-size:1.5rem;
     line-height: 1.3;
   
}
#main h2 {
    font-size: 1.3rem;
    line-height: 1.3;
 }
h3 {
	font-size:1rem
}
    #main div.ce_text {
        margin: 0 auto 1em;
    }
   #header div.slogan p {
        font-size: 1em;
        width: 25em;
    }
    #header div.sonntag {
right: 3rem;
}
    #main p {
        font-size: .925rem;
    }
 
#main div.ce_gallery li {
width: 48%;
border-left:5px solid #fff;
border-right: 5px solid #fff;
border-bottom: 10px solid #fff;
}
#main div.ce_gallery li figure {
width: 60%;
margin:0 auto;
}
}
@media (max-width: 826px) {
body { background: #fff;}
#header nav.mod_customnav {
display:none;
    }
    #header div.navbutton {
display:block;
}
#header div.logo {
display:none;
}
    #header div.sonntag {
position:static;
margin:0 auto;
transform:rotate(0deg);
width: 300px;
}

}
@media (max-width: 730px) {
#header div.slogan {
        display: none;
    }
#main figure.float_right {
width: 100%;
margin:0 auto 2em;
}
#main figure.float_left {
width: 100%;
margin:0 auto 2em;
}
 #main .ce_text figcaption.caption {
    font-size: .85rem;
    text-align: center;
    line-height: 1.4em;
}
    #footer nav.mod_customnav {
        width: 100%;
        float: none;
        margin: 0;
    }
}
@media (max-width: 640px) {
#header div.logo {
        max-width: 320px;
    }
.ce_gallery ul li {float: none;}
#main div.ce_gallery li {
width: 100%;
}
#main div.sonderangebote .ce_text {
height:60em;
margin: 0 0 6em 0;
}
}
@media (max-width: 570px) {
div#article-227 .ce_text span.menupreis {
	float: none;
}
div#article-227 .ce_text p {
margin: 0;
}
#main div.speisekarte td:nth-child(odd) {
min-width: 270px;
}
}
}
@media (max-width: 498px) {
#header div.logo {
width: 240px;
    }
#header div.oeffnungszeiten p {
letter-spacing: 0.1em;
}
#main div.speisekarte td:nth-child(odd) {
min-width: 180px;
}
}

@media print {
#header div.mod_customnav, #header div.sonntag, div.mobilenav, #header div.navbutton, div.oeffnungszeiten, div#backtop, nav, p#anfahrt, p.hinweis,#footer .einzug, #footer .mod_customnav,#back-top {
	display: none;
}
#header div.logo {
display:block;
margin:0 auto;
width: 200px;
}
#wrapper {
	max-width: 920px;
	margin: 0 auto;
	background: transparent
}

#container {
	margin-top: 2em
}


#main ul {
	margin: 0 0 0 1.2em;
	font-size: 1em;
	line-height: 1.4em;
	list-style-type: circle
}

#main li {
	margin: 0 0 0 1em
}

#main .listtext li {
	margin: 0 0 2em
}

#main a {
	text-decoration: none;
	color: 000
}
#main strong {
	font-weight: normal;
	color: #000
}
.pdf_link {
	display: none
}

#main .image_container img {
	padding: 1rem;
	border: .1rem solid #800000;
	background: #fff
}

#main .noborder img {
	padding: 0;
	border: none
}

#main .ce_text .small08 {
	text-align: right;
	font-size: .7em;
	line-height: 1.1em
}

#main .mod_customnav ul {
	display: none
}

#main .ce_gallery ul {
	margin: 0;
	list-style-type: none
}

#main .ce_gallery li {
	margin: 0
}
#main .seitenumbruch {
	page-break-before: always;
}



}
