*, *:before, *:after {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section, summary {
  display: block;
}

ul, li { padding:0 } 

html {
  position: relative;
  min-height: 100%;
  font-family: 'Body', sans-serif;
  font-weight: normal;
  font-style: normal;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: 'kern' 1, 'liga' 1, 'tnum' 0;
  -moz-font-feature-settings:   'kern' 1, 'liga' 1, 'tnum' 0;
  -ms-font-feature-settings:    'kern' 1, 'liga' 1, 'tnum' 0;
  font-feature-settings: 'kern' 1, 'liga' 1, 'tnum' 0;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;

  scroll-behavior: smooth; 
}

body {
  margin: 0 auto;
  font-size: 1em;
  line-height: 1.5em;
  letter-spacing:0em;
  background: rgba(254, 247, 235, 1);
  background-color: rgba(254, 247, 235, 1);
  color: #444;

  font-weight:normal;
}


@font-face {
    font-family: 'Body';
    src: url('assets/fonts/BuenosAiresWeb-Regular.woff2') format('woff2'),
         url('assets/fonts/BuenosAiresWeb-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Bodybold';
    src: url('assets/fonts/BuenosAiresWeb-Bold.woff2') format('woff2'),
         url('assets/fonts/BuenosAiresWeb-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;

}

@font-face {
    font-family: 'Headline';
    src: url('assets/fonts/LondrinaSolid-Black.ttf');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Font Awesome 5 Free';
    src: url('assets/fonts/fa-solid-900.woff2');
    font-weight: 900;
    font-style: normal;
}


.fas {
font-weight: 900;
font-family: "Font Awesome 5 Free";
display:inline-block;
font-style:normal;
font-variant:normal;
text-rendering:auto;
line-height:1;
}

.fa-bars:before{
content:"\f0c9";
}

h1 {
  font-size: clamp(2.9rem, calc(2.9rem + 4.5vw), 9.5rem);
  line-height: clamp(2.5rem, calc(2.5rem + 4vw), 137px);
  letter-spacing:0.05rem;
  max-width:15ch;
  margin-left: auto;
   margin-right: auto;
  font-weight:bold;
  text-transform:uppercase;
  font-family:'Headline', system-ui, sans-serif;
   color:#333;
   text-wrap: balance;
}

h2 {
  font-size: clamp(1.6rem, calc(1.6rem + 3.2vw), 87px);
  line-height: clamp(1.7rem, calc(1.7rem + 2.7vw), 79px);
  letter-spacing:0.1rem;
  max-width:15ch;
  font-weight:bold;
  text-transform:uppercase;
  font-family:'Headline', system-ui, sans-serif;
   color:#333;
}

.fsxs {
  font-size: 0.875rem;
  line-height: 1rem;
  letter-spacing: 0.00875rem; 
}

.fss {
  font-size: 1.125rem;
  line-height: 1.8rem;
  letter-spacing: 0rem;
}

.fsm {
  font-size: 1.5rem;
  line-height: 2.2rem;
}


.fsxl {
  font-size: calc(1rem + 1.7vw);
  line-height: calc(2.1rem + 1.7vw);
  letter-spacing:0rem;
}

.fsxxld {
  font-size: calc(1.2rem + 5vw);
  line-height: calc(2.2rem + 5vw);
  letter-spacing: 0rem;
  font-weight:bold;
  font-family:'Headline', system-ui, sans-serif;
}

.textblock {
  max-width:50ch;
  color:#444;
}

.rotate {
  display:inline-block;
  transform:rotate(315deg);
}

.stoerer {
  display:inline-block;
  background-color:#3b5524;
  padding:2px 8px;
}

.yellow {
  color:#e5ba1c;
}

.sun {
 background: #FEF7EB;
background: linear-gradient(180deg,rgba(254, 247, 235, 1) 30%, rgba(255, 229, 142, 1) 100%);
}

.sun2 {
background: #FFE58E;
background: radial-gradient(circle, rgba(255, 229, 142, 1) 0%, rgba(254, 247, 235, 1) 100%);
}

.link {
 text-decoration:underline;
 text-underline-offset: 0.3em; 
 text-decoration-thickness:1.5px;
}

.label {
  text-transform:uppercase;
  letter-spacing:0.05rem;
  font-family: 'Bodybold', system-ui, sans-serif;
  font-size: 0.875rem;
  line-height: 1rem;
}

.label2 {
 font-family: 'Headline', system-ui, sans-serif;
 text-transform:uppercase;
 font-size: 1.5rem;
 line-height: 2.2rem;
 letter-spacing:0.0875rem;
}

.label3 {
 font-family: 'Headline', system-ui, sans-serif;
 text-transform:uppercase;
 font-size: 2.4rem;
 line-height: 2.8rem;
 letter-spacing:0.0875rem;
 color:#333;
}

.white {
  color:#fff;
}

.grey{
  color:#444;
}

.ctr { 
text-align:center;
margin-left: auto;
margin-right: auto;
}

.ctr2 { 
justify-content:center;
}


.bold {
   font-family: 'Bodybold', system-ui, sans-serif;
}


a {
  color:#333;
  text-decoration:none;
}

img {
  display: block;
  max-width: 100%;
}

hr {
  border-top: 1px solid #888;
}

.icon-s {
  width: 24px;
  height: 24px;
  vertical-align: bottom;
  margin-right: 16px;
  margin-top: 2px;
  margin-bottom:8px;
}

.icon-xs {
  width: 16px;
  height: 16px;
  vertical-align: bottom;
  margin-right: 16px;
  margin-top: 6px;
  margin-bottom:8px;
}

.icon {
  width: 28px;
  height: 28px;
  vertical-align: middle;
  margin-right: 12px;
   margin-top: 2px;
}

.icon-xl {
  width: 40px;
  height: 40px;
  vertical-align: middle;
  margin-right: 12px;
}

.icon-info {
  width: 40px;
  height: 40px;
  vertical-align: bottom;
  margin-right: 20px;
  margin-top: 3px;
}





.portrait {
  margin: 0 8% 8% 8%;
  border: 10px solid #fff;
  -webkit-transform: rotate(-1deg);
    -moz-transform: rotate(-1deg);
    -o-transform: rotate(-1deg);
    -ms-transform: rotate(-1deg);
    transform: rotate(-1deg);
   -webkit-box-shadow: 1px 1px 15px -8px #807866;
-moz-box-shadow: 1px 1px 15px -8px #807866;
box-shadow: 1px 1px 15px -8px #807866;
}
}


/* Abstände
-------------------------------------------------- */

.sp-xs-top { margin-top:4px;}

.sp-s-top { margin-top:8px;}

.sp-m-top { margin-top:16px;}

.sp-l-top { margin-top:32px;}

.sp-xl-top { margin-top:64px;}

.sp-xxl-top { margin-top:96px;}

.sp-xs-bottom { margin-bottom:4px;}

.sp-s-bottom { margin-bottom:8px;}

.sp-m-bottom { margin-bottom:16px;}

.sp-l-bottom { margin-bottom:32px;}

.sp-xl-bottom { margin-bottom:64px;}

.sp-xxl-bottom { margin-bottom:96px;}

.top {margin-top:100px;}



/* Navigation
-------------------------------------------------- */

header {
  position: fixed;
  top: 0px;
  left: 0px;
  width:100%;
  background-color:rgba(254, 247, 235, 0.9);
  z-index:999;
  backdrop-filter: blur(8px);
  -webkit-box-shadow: 1px 1px 15px -8px #807866;
-moz-box-shadow: 1px 1px 15px -8px #807866;
box-shadow: 1px 1px 15px -10px #807866;
}


.navcontainer {
    max-width:2560px;
    margin:0 auto; 
    padding:18px 2.5%;
    display:flex;
    flex-direction: row;
    flex-wrap:nowrap;
    justify-content:flex-start;
    align-items: center;
    align-content: center;
}

nav {
 text-decoration:none;
 list-style:none;
 box-sizing:border-box;
 flex-grow:1;
 flex-shrink:1;
 align-content:right;
 padding:0 32px;
}

nav ul{
 float:right;
 margin-right:20px;
}

nav ul li{
display:inline-block;

margin: 0 5px;
}

nav ul li a{
padding:4px 9px;
border-radius:3px;
}

nav ul li a:hover{
text-decoration:underline;
 text-underline-offset: 0.3em; 
 text-decoration-thickness:2.5px;
 text-decoration-color:#FFC400;
}

.checkbtn{
  font-size: 30px;
  color: #333;
  float: right;
  line-height: 70px;
  margin-right: 30px;
  cursor: pointer;
  display: none;
}

#check {
  display: none;
}


#info {
  display: flex;
  justify-content:flex-start;
  flex-direction: row;
  width:100%;
  text-align:left;
  gap: 32px 0px;
  flex-wrap:wrap;
}

.info-item {
 display:flex;
 width: 25%;
 flex-wrap:nowrap;
}

.info-item2 {
 display:flex;
 width: 50%;
  flex-wrap:nowrap;
}


#ostertag {
 position:absolute;
 display:flex;
 align-items:center;
 gap:12px;
 top:140px;
 left:0px;
 padding:16px 2.5%;
 background-color:#0069b9;
 color:#fff;
 -webkit-box-shadow: 1px 1px 15px -2px #807866;
-moz-box-shadow: 1px 1px 15px -2px #807866;
box-shadow: 1px 1px 15px -2px #807866;
}

#ostertag img{
 width:30px;
 margin:0 16px;
}


#logo {
 height:64px;

}

#logo img{
 height:64px;
 min-width:250px;
}

#desktoptermin {
 flex-shrink:0;
}


#mobiltermin {
  display:none;
  flex-direction: row;
  flex-wrap:nowrap;
  position:fixed;
  width:90%;
  bottom: calc(5px + env(safe-area-inset-bottom));
  margin-bottom: env(safe-area-inset-bottom);
  margin-left: 5%;
  margin-right:5%;
  z-index:999;
  background-color: rgba(254, 247, 235, 0.9);
  padding:4px;
  border-radius:60px;
  backdrop-filter: blur(8px);
  -webkit-box-shadow: 1px 1px 15px -2px #807866;
-moz-box-shadow: 1px 1px 15px -2px #807866;
box-shadow: 1px 1px 15px -2px #807866;
}



:root { --header-offset: 160px; }  

@media (max-width: 1024px) {
  :root { --header-offset: 114px; }
}

section[id] {
  scroll-margin-top: var(--header-offset);
}




.button-container {
  display: flex;
  gap: 12px;
}

.ctr2{
  justify-content:center;
}

.btn, .btn3, .btn4 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 20px 28px;
  text-decoration:none;
  letter-spacing:0.03rem;
  white-space:nowrap;
  text-align:center;
  box-sizing:border-box;
}

.btn:hover{
  transform: scale(1.04);
	transition: all 0.1s ease-out;
}

.btn {
  background-color: rgb(78, 168, 50);
  color: white;
  border-radius: 60px;
  font-size: 1rem;
  font-family: 'Bodybold';
  -webkit-box-shadow: 1px 1px 15px -2px #807866;
-moz-box-shadow: 1px 1px 15px -2px #807866;
box-shadow: 1px 1px 15px -2px #807866;
}

.btn2 {
  color: #333;
  border-radius: 60px;
  height:60px;
  font-size: 1.125rem;
  border:1.5px solid #444;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 28px;
  margin:6px 0;
  text-decoration:none;
  letter-spacing:0.03rem;
  white-space:nowrap;
  text-align:center;
  box-sizing:border-box;
}

.btn3 {
  color: #F2570F;
  border-radius: 60px;
  font-size: 1rem;
  padding: 20px 16px;
}

.btn3:hover{
text-decoration:underline;
 text-underline-offset: 0.3em; 
 text-decoration-thickness:2.5px;
 text-decoration-color:#F2570F;
}

.btn4 {
  border-radius: 60px;
  color:#fff;
  font-family: 'Bodybold';
   -webkit-box-shadow: 1px 1px 15px -2px #807866;
-moz-box-shadow: 1px 1px 15px -2px #807866;
box-shadow: 1px 1px 15px -2px #807866;
}

.btn4:hover{
  transform: scale(1.04);
	transition: all 0.1s ease-out;
}

.btn5 {
  color: #333;
  border-radius: 60px;
  height:60px;
  font-size: 1.125rem;
  border:1.5px solid #444;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 28px;
  margin:6px 0;
  text-decoration:none;
  letter-spacing:0.03rem;
  white-space:nowrap;
  text-align:center;
  box-sizing:border-box;
}




.button {
  align-items: center;
  background-color: rgb(78, 168, 50);
  border-radius: 60px;
  border: 1.5px solid rgb(78, 168, 50);
  box-sizing: border-box; 
  color: #fff;
  font-family: 'Bodybold';
  display: inline-flex;
  font-size: 1rem;
  text-transform:;
  letter-spacing:0.03rem;
  justify-content: center;
  min-height: 24px;
  min-width: 0px;
  padding:20px 32px;
  text-align: center;
  touch-action: manipulation;
  user-select: none;
  transition: all .30s ease-out;
  -webkit-user-select: none;
  vertical-align: middle;
   -webkit-box-shadow: 1px 1px 15px -8px #807866;
-moz-box-shadow: 1px 1px 15px -8px #807866;
box-shadow: 1px 1px 15px -8px #807866;
}

.button:hover,
.button:focus { 
  transform: scale(1.04);
	transition: all 0.1s ease-out;
	cursor:pointer;
}

.button:active {
}

.button:disabled { 
}

.button-2 {
  align-items: center;
  background-color: rgba(254, 247, 235, 1);
  border-radius: 60px;
  border: 1.5px solid #262626;
  box-sizing: border-box; 
  color: #262626;
  font-family: 'Bodybold';
  display: inline-flex;
  font-size: 1rem;
  text-transform:;
  letter-spacing:0.03em;
  justify-content: center;
  min-height: 24px;
  min-width: 0px;
  padding:16px 32px;
  text-align: center;
  touch-action: manipulation;
  user-select: none;
  transition: all .30s ease-out;
  -webkit-user-select: none;
  vertical-align: middle;
}

.button-2:hover,
.button-2:focus { 
  transform: scale(1.04);
	transition: all 0.1s ease-out;
	cursor:pointer;
}

.button-2:active {
}

.button-2:disabled { 
}

.button-3 {
  align-items: center;
  background-color: rgba(254, 247, 235, 1);
  border-radius: 60px;
  border: 1.5px solid #F2570F;
  box-sizing: border-box; 
  color: #F2570F;
  font-family: 'Bodybold';
  display: inline-flex;
  font-size: 1rem;
  text-transform:;
  letter-spacing:0.03rem;
  justify-content: center;
  min-height: 24px;
  min-width: 0px;
  padding:20px 32px;
  margin-left:12px;
  text-align: center;
  touch-action: manipulation;
  user-select: none;
  transition: all .30s ease-out;
  -webkit-user-select: none;
  vertical-align: middle;
}

.button-3:hover,
.button-3:focus { 
  transform: scale(1.04);
	transition: all 0.1s ease-out;
	cursor:pointer;
}

.button-3:active {
}

.button-3:disabled { 
}

.button-4 {
  align-items: center;
  background-color:#fff;
  border-radius: 60px;
  border: 1.5px solid #FFFf;
  box-sizing: border-box; 
  color: #333333;
  font-family: 'Bodybold';
  display: inline-flex;
  font-size: 1.25rem;
  text-transform:;
  letter-spacing:0.03rem;
  justify-content: center;
  min-height: 24px;
  min-width: 0px;
  padding:4px 32px 4px 24px;
  text-align: center;
  touch-action: manipulation;
  user-select: none;
  transition: all .30s ease-out;
  -webkit-user-select: none;
  vertical-align: middle;
  -webkit-box-shadow: 1px 1px 20px -5px #262626;
-moz-box-shadow: 1px 1px 20px -5px #262626;
box-shadow: 1px 1px 20px -5px #262626;
}

.button-4:hover,
.button-4:focus { 
  transform: scale(1.04);
	transition: all 0.1s ease-out;
	cursor:pointer;
}

.button-4:active {
}

.button-4:disabled { 
}





/* Footer
-------------------------------------------------- */






/* Masonry, Page
-------------------------------------------------- */

.fullcontainer {
	width:100%;
	max-width:2560px;
	margin-left:auto;
	margin-right:auto;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:center;

}

.flex-end, .flex-start, .container {
    width:100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    
}

.container {
	max-width:1600px;
	margin-left:auto;
	margin-right:auto;
	padding:0 5%;
    align-items: flex-start;
    justify-content:space-between;
}

.flex-end {
    align-items: flex-end;
    justify-content:space-between;
}

.flex-start {
    align-items: flex-start;
    justify-content:space-between;
}

.zeiten {
    width:100%;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
     width: fit-content;
}



.eng {
  padding:0 12%;
}



.box{
   border-radius:32px;
   padding:40px;
   
}

.item-onethird {
    width:31%;
}

.item-half {
    width:47%;
}

.item-twothirds {
    width:64%;
}

.item-full {
    width:100%;
}

.item-zeiten {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
     width: fit-content;
}

.item-zeiten2 {
width: 300px;
}

.item-zeiten3 {
width:fit-content;

}


.leistung {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}



.illu img{
    width:100%;
    max-width:350px;
    margin-right:0;
    margin-left:auto;
    display:block;
}


.illu2 img{
    width:100%;
    max-width:450px;
    margin-right:0;
    margin-left:auto;
    display:block;
}


.badges {
   display:flex;  
   flex-direction: row;
   flex-wrap: wrap;
   justify-content:flex-start;
   
}


.badges div{
   background-color:#fff;
   border-radius:32px;
   padding:10px 16px;   
   margin-right:12px;
   margin-bottom:12px;
   -webkit-box-shadow: 1px 1px 15px -8px #807866;
-moz-box-shadow: 1px 1px 15px -8px #807866;
box-shadow: 1px 1px 15px -8px #807866;
}

#map {
   display:none; 
   height:600px; 
   border-radius:32px;  
}

.leaflet-consent__placeholder{
 padding:40px;
 height:600px; 
 background-image: url('./assets/map_placeholder.jpg');
 background-size: cover;
 border-radius:32px;  
 margin:0 auto;
 text-align:center;
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;
}



.leaflet-consent__btn{
  margin-top:16px;
  background-color:white;
  cursor:pointer;
  flex-grow:0;
  height:60px;
}




/* Viewports
-------------------------------------------------- */





@media (min-width: 1920px) {
 
}

@media (max-width: 1400px) {

.item-zeiten2 {width:100%;}

.extra {margin-top:12px;}

.info-item2, .info-item {width: 33%;}
 
}



@media (max-width: 1300px) {

nav {padding:0 4px;}
   
}

@media (max-width: 1200px) {

.checkbtn {
    display: block;
  }
  
  ul {
    position: fixed;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width: 100%;
    height: 100vh;
    padding-bottom:202px;
    background: rgba(254, 247, 235, 1);
    top: 0px;
    left: -100%;
    text-align: center;
    transition: all .2s;
  }
  nav ul li {
    display: block;
    margin: 30px 0;

  }
  nav ul li a {
    font-size: 1.5rem;
  }
  a:hover,
  a.active {
  }
  #check:checked~ul {
    left: 0;
  }
  
  
#ostertag {
  top:120px;
}
ul {top:82px;}
}



@media (max-width: 1024px) {

#logo {height:60px;}

#logo img{height:60px; min-width:244px;}

.navcontainer {padding:6px 5%;}

ul {top:82px;}

nav {padding:0;}

#mobiltermin {display:flex;}

#desktoptermin {display:none;}


.item-half {width:100%;}
.second {padding-top:32px;}
.second2 {padding-top:24px;}


.btn, .btn3 {flex: 1 1 50%; min-width:auto;  padding: 12px 20px;}

.top {margin-top:120px;}

#ostertag {
  top:100px;
  font-size:0.875rem;
  padding:12px 5%;
  line-height:1.2rem;
}

#ostertag img{
  width:20px;
  margin:0 18px;
}

.info-item {width: 50%;}
.info-item2 {width: 100%;}
.item-zeiten2 {width:300px;}
.extra {padding-top:0px;}

}

@media (max-width: 768px) {


.button-container {gap: 2.5%;}

.btn4, .btn2 {flex: 1 1 100%; min-width:auto;}

.item-onethird, .item-twothirds {width:100%;}

.illu img{ width:70%; max-width:250px;}

.illu2 img{width:90%;}

#info{  gap: 32px 0px;}

.item-zeiten2 {
width:100%;
}

.info-item {width: 100%;}
.extra {padding-top:8px;}

.label3 {
 font-size: 1.8rem;
 line-height: 1.7rem;

}
   
}

@media (max-width: 480px) {



.fsm {
  font-size: 1.125rem;
  line-height: 1.7rem;
  letter-spacing: 0.0rem;
}

.box {
   padding:32px 28px;
}
  
}


