html, body {
background-color: #fff;
margin: 0;
height: 100%; 
color: #000; 
font-family: Manrope !important;
font-size: 19px !important;
font-weight: 500 !important;
line-height: 24px; 
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smooth: antialiased; 
box-sizing: border-box;
word-wrap: break-word !important;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
-webkit-animation: slide-in-top 0.3s ease-in-out both;
animation: slide-in-top 0.3s ease-in-out both;
}
a:link {
color: #3D7A00;
text-decoration: underline;
}
a:visited {
color: #3D7A00;
text-decoration: underline;
}
a:hover {
color: #3D7A00;
text-decoration: underline;
}


#header {
width: 100%;
height: auto;
background-color: rgba(255, 255, 255, 0.9);
}
#header-inner {
max-width: 1300px;
height: 80px;
line-height: 80px;
padding: 15px;
margin: 0px auto;
overflow: hidden;
}
#header #nav {
width: auto;
height: auto;
display: inline-block;
vertical-align: middle;
margin-left: 10%;
}
#header #kontakt {
float: right;
margin-left: 0%;
}
#header #mobile {
display: none;
}
#header .logo {
display: inline-block;
vertical-align: middle;
margin-top: 20px;
float: left;
}
#header a {
color: #000000;
text-decoration: none;
font-size: 18px;
font-weight: 600;
text-transform: uppercase;
margin-right: 20px;
}
#header a:hover {
color: #000000;
text-decoration: none;
font-size: 18px;
font-weight: 600;
text-transform: uppercase;
margin-right: 20px;
}

#header #mobile {
display: visible;
margin-top: 10px;
float: right;
}


@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  src: url('webfonts/manrope500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  src: url('webfonts/manrope600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/*
.overlay {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #fff;
  overflow-x: hidden;
}
*/
.overlay {
  position: fixed; inset: 0;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition:
    opacity .5s ease .3s,        /* Overlay-Fade startet 0.4s später */
    transform .5s ease .3s,      /* Overlay-Slide startet 0.4s später */
    visibility 0s linear .9s;    /* visibility springt nach 0.9s (0.4+0.5) */
  z-index: 9999;
}

.overlay:target {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity .5s ease, transform .5s ease;
}

.overlay-content {
  position: relative;
  top: 0;
  width: 75%;
  text-align: left;
  padding-left: 20px;
  margin-top: 37px;
}

.overlay a {
  padding: 5px 0;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: #000;
  display: block;
}

/* Close-Button */
.overlay .closebtn {
  position: absolute;
  top: 30px;
  right: 35px;
  font-size: 70px;
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity .9s ease, transform .9s ease; /* läuft sofort */
}

.overlay:target .closebtn {
  opacity: 1;
  transform: translateY(0);
}



.ctb {
padding-left: 17px;
padding-right: 17px;
padding-top: 13px;
padding-bottom: 13px;
margin-top: 5px;
display: inline-block;
border-radius: 11px;
border: 0px !important;
background-color: #3D7A00;
font-size: 15px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
text-decoration: none !important;
color: #ffffff !important;
}

.geoeffnet {
background-color: #3D7A00;
display: inline-block;
padding: 13px 17px;
border-radius: 11px;
border: 0 !important;
font-size: 12px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
color: #fff !important;
line-height: 1;
vertical-align: middle;
margin: 0;
cursor: default;
}
.bald {
background-color: #B85900;
display: inline-block;
padding: 13px 17px;
border-radius: 11px;
border: 0 !important;
font-size: 12px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
color: #fff !important;
line-height: 1;
vertical-align: middle;
margin: 0;
cursor: default;
}
.geschlossen {
background-color: #ED0707;
display: inline-block;
padding: 13px 17px;
border-radius: 11px;
border: 0 !important;
font-size: 12px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
color: #fff !important;
line-height: 1;
vertical-align: middle;
margin: 0;
cursor: default;
}
#wide {
max-width: 1500px;
height: auto;
margin-top: 0px !important;
margin: 0px auto;
border-radius: 10px !important;
} 
#wide img {
border-radius: 20px !important;
}
.inline-img {
border-radius: 20px !important;
margin-bottom: 25px;
} 
#wide-second {
max-width: 1100px;
height: auto;
margin-top: 0px !important;
margin: 0px auto;
border-radius: 10px !important;
} 
#content {
max-width: 720px;
height: auto;
margin-top: 0px !important;
padding: 19px;
margin: 0px auto;
}
#footer {
width: 100%;
height: auto;
margin-top: 40px !important;
margin-bottom: 40px !important;
margin: 0px auto;
text-align: center;
font-size: 12px;
display: inline-block;
} 









h1 {
letter-spacing: -0.5px;
line-height: 35px;
}
h2 {
letter-spacing: -0.5px;
line-height: 35px;
margin-top: 35px;
}
mark {
background-color: #c3f98e;
padding-left: 3px;
padding-right: 3px;
}
.custom-list {
list-style: none; /* Standardpunkte entfernen */
padding-left: 0; /* optional */
}
.custom-list li {
position: relative;
padding-left: 30px; /* Platz für das Bild schaffen */
margin-bottom: 8px;
}
.custom-list li::before {
content: "";
position: absolute;
left: 0;
top: 3px;
width: 20px;
height: 20px;
background-image: url('../images/customlist.svg');
background-size: contain;
background-repeat: no-repeat;
}

#opening {
display: none;
} 


@media screen and (max-width: 1250px) {
#header #nav {
display: none;
}
#header #kontakt {
display: none;
}
#header #mobile {
display: inline-block;
}
#wide img {
border-radius: 0px !important;
} 

#opening {
display: block !important;
} 
.geoeffnet {
max-width: 100%;
height: auto;
background-color: #3D7A00;
display: block;
padding: 6px;
border-radius: 0px;
border: 0 !important;
font-size: 12px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
color: #fff !important;
line-height: 1;
vertical-align: middle;
text-align: center;
margin: 0;
}
.geoeffnet a {
font-size: 12px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
color: #fff !important;
line-height: 1;
}
.bald {
max-width: 100%;
height: auto;
background-color: #B85900;
display: block;
padding: 6px;
border-radius: 0px;
border: 0 !important;
font-size: 12px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
color: #fff !important;
line-height: 1;
vertical-align: middle;
text-align: center;
margin: 0;
}
.geschlossen {
max-width: 100%;
height: auto;
background-color: #ED0707;
display: block;
padding: 6px;
border-radius: 0px;
border: 0 !important;
font-size: 12px !important;
letter-spacing: 0.5px !important;
text-transform: uppercase;
font-weight: 600 !important;
color: #fff !important;
line-height: 1;
vertical-align: middle;
text-align: center;
margin: 0;
}


}


/*  SECTIONS  */
.section {
  clear: both;
  padding: 0px;
  margin: 0px;
}

/*  COLUMN SETUP  */
.col {
  display: block;
  float:left;
  margin: 1% 0 1% 1.6%;
}
.col:first-child { margin-left: 0; }

/*  GROUPING  */
.group:before,
.group:after { content:""; display:table; }
.group:after { clear:both;}
.group { zoom:1; /* For IE 6/7 */ }
/*  GRID OF THREE  */
.span_3_of_3 { width: 100%; }
.span_2_of_3 { width: 66.13%; }
.span_1_of_3 {
width: 32.26%;
background-color: #ffffff;
border-radius: 11px;
margin-bottom: 25px;
padding-right: 15px;
box-sizing: border-box;
font-size: 15px;
text-align: left;
}

/*  GO FULL WIDTH BELOW 480 PIXELS */
@media only screen and (max-width: 1250px) {
.col {  margin: 1% 0 1% 0%; }
.span_3_of_3, .span_2_of_3, .span_1_of_3 { 
width: 100%;
border-radius: 11px;
margin-bottom: 25px;
padding: 20px !important;
box-sizing: border-box;
font-size: 15px;
text-align: left;
}
}