/* Colors */
:root{
  --green: #324632;	
  --navy: #5a644b;
  --brown: #b99b64;
  --grey: #ebe6d7;
  --shiny: #faf5e6;
  --white: #ffffff;
  
  --fs1: 27pt;
  --fs2: 23pt;
  --fs3: 19pt;
  --fs4: 17pt;
  --fs5: 15pt;
   
  --padding: 20px;
  
  /* --fs1: clamp(1.875rem, 1.6576rem + 1.087vw, 2.5rem);  /* 30 - 40 */
  
  
}

@font-face {
  font-family: 'Medium';
  src: url('/vendor/font/GT-Walsheim-Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-weight:300;
}

@font-face {
  font-family: 'Regular';
  src: url('/vendor/font/GT-Walsheim-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-weight:300;
}

.staging{
  position: absolute;
  top: 0;
  width: 100%;
  background: red;
  text-align: center;
}
body {
  font-family: 'Regular', sans-serif;
  color: var(--green);
  font-size: 100%;
  letter-spacing: 0px;
  line-height: 120%;
  margin:0;
  padding:0;
  width:100%;
  background-color: var(--grey);
}


/* Clearings */
* {
  box-sizing: border-box;
}
h1, h2, h3, h4, h5, p{
  margin: 0; 
  padding: 0; 
  font-weight: normal; 
  font-family: 'Regular';
  font-size: 100%;
}

/* Global */ 
a:link, a:visited{
  color: var(--green);
  text-decoration: underline;
}
a:hover, a:active{
  color: var(--green);
  text-decoration: none;
  color: var(--navy); 
}
h1{
  font-family: 'Medium';
  font-size:var(--fs1);
  line-height: 1.15em;
  margin: 3em 0 2em 0;
}
h2{
  font-family: 'Medium';
  font-size:var(--fs2);
  line-height:130%;
  margin: 0em 0 1em 0;
}
h3, h4, h5, h6{
  font-family: 'Medium';
  font-size: var(--fs3);
}
p, li{
 font-size:var(--fs4);
 font-family: 'Regular';
 line-height:130%;
 margin: 1em 0; 
}
p, li{
  line-height: 135%;
}

strong, b{
  color: var(--black);
  font-family: Medium; 
}

/* Helper classes */
.show{
  display:block;
  top: 0;
  left:0;
}
.hide{
  position:absolute;
  top: - 23344px;
  left: -43223px;
}


/* Form */
.form-control {
  display: block;
  width: 100%;
  padding: .6rem .9rem;
  font-family: 'Regular', sans-serif;
  font-size: var(--fs3);
  line-height: 1.5;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid var(--brown);
  transition: var(--bluedark) .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-control:focus{
	outline: none !important;
    border:2px solid var(--green);
}
textarea.form-control{
  font-size: var(--fs4);
  font-family: 'Regular', sans-serif;
}    
select{
  background-color: transparent;
  border: none;
  position: relative;
  font-size: var(--fs4);
}
select.form-control{
  color: var(--grey);
  max-width:400px;
  font-family: Regular;
  font-size: var(--fs4);
  color: var(--blue);
  appearance: none;
  background-image: url('/image/expand_more_blau.svg');
  background-size: 25px;
  background-repeat: no-repeat;
  background-position: calc(100% - 10px) center;
  padding-right: 40px !important;
}
select.form-control option:first-of-type {
  color: var(--grey);
}
select.form-control:focus{
  border: 1px solid var(--primary); 
}
input[type='checkbox'].form-control{
  display: inline; 
  width: 35px;
  height: 35px;
  margin-right: 20px;
  position: relative; 
  top: 3px;
}
input[type='radio'].form-control{
  display:inline; 
  width:25px;
  height:25px;
  margin: var(--padding); 
  accent-color: var(--brown); 
}
input[type='radio'].form-control:first-child{
  margin-left: 0; 
}  
input[type='file'].form-control{
  border: 1px solid transparent;
  padding-left: 0; 
  width: auto; 
}
.form-label{
  color: var(--grey); 
  margin-left: calc(var(--padding) /2); 
  padding-right: var(--padding); 
}
.has-error{
  padding-top: var(--padding); 
  margin-bottom: var(--padding); 
  padding-right: var(--padding); 
  background-color: var(--shiny); 
  border-top: 2px solid var(--green); 
  border-bottom: 2px solid var(--green); 
  padding-bottom: 10px;
}
.msg.error{
  color:red; 
}

/* Button */
.btn, input[type=file]::file-selector-button {
  background-color: var(--green);
  color: var(--white);
  font-family: 'regular';
  text-decoration: none !important; 
  border: 1px solid transparent;
  font-size: var(--fs4);
  border-radius: 50px;
  padding: var(--padding) calc(var(--padding) * 3);
}
.btn{
  margin-bottom: calc(var(--padding) * 4); /* watch! */
  margin-top: var(--padding); 
}
input[type=file]::file-selector-button {
  color: var(--green);
  background-color: var(--grey2); 
  margin-left: 0;
  margin-right: var(--padding);
}
input[type=file]{
  padding: 0; 
}
a.btn{
  color: var(--white);
}
.btn.inactive{
  color: var(--green);
  background-color: var(--grey2); 
  /*border: 1px solid var(--green);*/
}
.btn:hover, btn:active, a.btn:hover, a.btn:active, btn.inactive:hover, btn.inactive:active{
  background-color: var(--white);
  color: var(--green);
  /*border: 1px solid var(--green);*/
}
.form .btn{
  float: none; 
}

.form-group{
  display: flex; 
}
.form-group label{
  padding: 1em;
  padding-left: 0;
  font-size: var(--fs3);
  width: 200px;
  text-align: right;	
}
.form-group .col{
  width: calc(100% - 200px); 
}

.message{
  padding: 20px;
  background-color: var(--shiny); 
  border-top: 2px solid var(--green); 
  border-bottom: 2px solid var(--green); 
  color: var(--green); 
  margin-bottom: 20px;
}
.message h3{
  margin-top: 20px;
}

  

/* Header */
.header{
  width: 100%;
  height: 120px;
  background-color: var(--green); 
  border-bottom: 3px solid var(--brown);
}
.header-inner{
  height: 100%;
  padding: 0 50px;
  display: flex;
  align-items: center;
}
.logo{
  width: 12em;
  position: absolute;
  top: 3em;
  left: 4em;
}
.header .logo img{
	
}

/* Navigation */
.navigation{
  width: 100%;
  height: 440px;
  background-color: var(--green); 
}
.nav-inner{
  height: 100%;
  display: flex;
  gap: 0px;  
}
.nav-item{
  min-width: 470px; 
  padding-top: 13em;
  padding-bottom: 1em;
}
.nav-item:hover{
  background-color: var(--navy); 
}
.nav-item.nav1{
  flex: 1; 
}
.nav-item.nav2{
  width: 470px;
}
.nav-item.nav3{
  flex: 1; 
}
.nav-item-inner{
  position: relative; 
  width: 470px;
  height: 100%;
  transition: background-image 0.5s ease-in-out;
  background-size: auto 70%;
  background-repeat: no-repeat;
  background-position: center calc(50% - 30px);
  display: flex; 
  align-items: flex-end; 
  justify-content: space-around; 
}
.nav-item-inner:hover{
  transition: background-image 0.5s ease-in-out;
}
.nav1 .nav-item-inner{
  background-image: url('/image/ic_Home_inaktiv.svg'); 
  margin-left: auto;	
}
.nav1 .nav-item-inner:hover{
  background-image: url('/image/ic_Home_aktiv.svg'); 
}
.nav2 .nav-item-inner{
  background-image: url('/image/ic_Buchen_inaktiv.svg'); 	
}
.nav2 .nav-item-inner:hover{
  background-image: url('/image/ic_Buchen_aktiv.svg'); 
}
.nav3 .nav-item-inner{
  background-image: url('/image/ic_Standort_inaktiv.svg'); 	
}
.nav3 .nav-item-inner:hover{
  background-image: url('/image/ic_Standort_aktiv.svg'); 
}

.nav1.active{
  background-color: var(--navy); 
}
.nav1.active .nav-item-inner{
  background-image: url('/image/ic_Home_aktiv.svg'); 
}
.nav1.active .nav-bottom{
  background-image: url('/image/Menu_Welle_beige.svg');
}
.nav2.active{
  background-color: var(--navy); 
}
.nav2.active .nav-item-inner{
  background-image: url('/image/ic_Buchen_aktiv.svg'); 
}
.nav2.active .nav-bottom{
  background-image: url('/image/Menu_Welle_beige.svg');
}
.nav3.active{
  background-color: var(--navy); 
}
.nav3.active .nav-item-inner{
  background-image: url('/image/ic_Standort_aktiv.svg'); 
}
.nav3.active .nav-bottom{
  background-image: url('/image/Menu_Welle_beige.svg');
}

.nav-item .nav-item-inner a{
  display: flex; 
  align-items: flex-end; 
  justify-content: center; 
  height: 100%;
  width: 100%;
  text-align: center; 
  padding-bottom: 30px;
  font-size: var(--fs3); 
}
.nav-item .nav-item-inner a:link, .nav-item .nav-item-inner a:visited{
  color: var(--brown); 
  text-decoration: none; 
}
.nav-item .nav-item-inner a:hover, .nav-item .nav-item-inner a:active{
  color: var(--white); 
  text-decoration: none; 
}

.nav1.active .nav-item-inner a, .nav2.active .nav-item-inner a, .nav3.active .nav-item-inner a{
  color: var(--white); 
}

.nav-bottom{
  position: absolute;
  bottom: -16px;
  right: 0;
  width: 100%;
  height: 30px;

  background-image: none; 
  background-repeat: no-repeat;
  background-position: center calc(50% - 15px); 
  background-size: 300px auto;
  z-index: 2; 
}
.nav-item-inner:hover .nav-bottom{
  background-image: url('/image/Menu_Welle_beige.svg');
  transition: background-image 0.5s ease;
}

.test{
  height: 200px;
  background-color: var(--green);
  background-image: url('/image/Menu_Welle_beige.svg');
  
  background-image: url('/image/Menu_Welle_beige.svg');
  background-repeat: no-repeat;
  background-position: center 20px;
  background-size: 300px auto;
  z-index: 2; 
  
}

/* Content */
.content{
	
}
.content-inner{
  max-width: 900px;
  margin: 0 auto; 
}
.content-inner img{
  width:100%;
}
.button{
  text-align: center; 
  padding: 3em 0;
}
.above-button{
  margin-bottom: 4em;
}
.center{
  max-width: 450px;
  margin: 0 auto; 
  text-align: center; 
}

table{
  width: 100%;
  border-collapse: collapse; 
  font-size: var(--fs4);
}
table tr:hover { 
  background-color: var(--white); 
}
table tr td{
  border-top: 2px solid var(--brown); 
  border-bottom: 2px solid var(--brown); 
  vertical-align: middle;
  line-height: 110%;
}
table tr td input[type="radio"] { 
  display: inline-block; 
  vertical-align: middle; 
}

.table-hour col:nth-child(1){ 
  width: 237px; 
} 
.table-hour col:nth-child(2){ 
  width: 150px; 
} 
.table-hour col:nth-child(3){ 
  width: auto; 
}

.table-startpoint col:nth-child(1){ 
  width: 300px; 
} 
.table-startpoint col:nth-child(2){ 
  width: auto; 
} 


/* Booking */
.booking-nav{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: calc(var(--padding) * 3); 
}
.booking-overview{
  font-size: var(--fs3); 
  padding: 4em 0; 
}
#overview{
  padding-top: 60px;
}

/* Address */
.address{
  padding: 1em;
  padding-left: 1em;
  padding-left: 0;
  font-size: var(--fs3);
  width: 200px;
  text-align: right;
}
.check-order{
  font-size: var(--fs2);
  border-bottom: 2px solid var(--brown);
  padding-bottom: 30px;
}

#chk2{
  display: none; 
}

/* Spinner Overlay Styles */
#spinnerOverlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
} /* Spinner Styles */
.spinner {
	width: 50px;
	height: 50px;
	border: 6px solid #f3f3f3;
	border-top: 6px solid #3498db;
	border-radius: 50%;
	animation: spin 1s linear infinite;
} 

/* Spinner Animation */
@
keyframes spin { 0% {
	transform: rotate(0deg);
}
100%
{
transform
:
 
rotate
(360deg);
 
}
}

/* Lösch Linnk */
.delete-link{
  font-size: 50%; 
}



/* Footer */
.scalar-wave{
  width: 100%;
  height: 400px;
  /*background-image: url('/image/Sk_Welle_Weiss_01.svg');*/
  background-image: url('/image/Sk_Welle_Weiss_01_schnitt.png'); 
  background-repeat: no-repeat;
  background-size: cover; 
}
.scalar-wave.green{
  background-image: url('/image/Sk_Welle_Gold_01_schnitt.png'); 
}
.footer{
  background-color: var(--green); 
  color: var(--white); 
  font-size: var(--fs4); 
}
.footer-inner{
  max-width: 1050px;
  margin: 0 auto; 
  padding: 3em var(--padding); 
  display: flex;
}
.footer .left{
  widht: 50%;
}
.footer .right{
  width: 50%;
  text-align: right; 
}
.footer a:link, .footer a:visited{
  color: var(--white);
  text-decoration: none;
}
.footer a:hover, .footer a:active{
  color: var(--white);
  text-decoration: underline;
} 




/* Kalender Container */
.left-right{
  /*display: flex; 
  gap: 50px;
  justify-content: space-between;*/
  padding-bottom: 5em;
}
.left{
  width: 100%;
}
.right{
  width: 100%; 
}


.calender-el{
  display: flex; 
}
.calender-right{
  /*width: 50%;*/
}
.calender-left{
  /*width: 50%;*/ 
}
.calendar-container {
  /*width: 300px;*/
}

/* Kalender Header */
.calendar-header {
  font-size: var(--fs2); 
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  max-width: 400px;
  text-align: center;
  margin: 0 auto;
  padding: 0.5em; 
}

/* Kalender Header Navigation */
.calnav-button {
  border: none;
  cursor: pointer;
  background-color: transparent;0 3em
}
.calnav-button img{
  height: 40px;
}
.calendar-title {
}

/* Kalender Grid */
.calendar-grid{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-gap: 5px;
}

.calendar-grid-header{
		font-size: var(--fs2); 
	
    display: contents;
}

.calendar-grid-header div {
	text-align: center;
    font-family: Medium; 
    padding: 0.5em;
}

/* Kalender-Woche */
.calendar-week {
    display: contents;
}

.calendar-day {
	font-size: var(--fs2); 
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid #ccc;
    cursor: pointer;
    padding: 1em 0.5em;
}
.calendar-day.reservable {
    background-color: var(--brown); 
    color: white;
}
.calendar-day.active{
  font-family: Medium; 
  background-color: var(--green); 
}
.calendar-day.today{
  background-color: var(--white); 
  color: var(--brown); 
  font-family: Medium; 
}
.calendar-day:hover{
  font-family: Medium; 
  background-color: var(--green); 
}
#timetable{
  padding-top: 80px;
}


.calendar-day.filler {
  background-color: var(--green); 
  color: white;
  cursor: not-allowed; 
}
.calendar-day.not-reservable {
  background-color: var(--green); 
  color: white;
  background: linear-gradient(to top right, var(--brown) calc(50% - 1px), red 50%, var(--brown) calc(50% + 1px));
  cursor: not-allowed; 
  opacity: 0.6;
}
.overview{
  font-size: var(--fs3);
}
.button-left-holder{
  padding-top: 3em; 
  text-align: right; 
}

/* Green layout */
.green{
  background-color: var(--green); 	
}
.green .content{
  color: var(--white); 
}
.green .content h1{
  color: var(--brown); 
}
.green .content p em{
  color: var(--brown); 
  font-size: var(--fs1);
  font-style: normal;
}
.green .scalar-wave{
  background-image: url('/image/Sk_Welle_Gruen_01.svg'); 
}
.green .footer{
  background-color: var(--brown); 
}
 

iframe{
	width: 100%;
	  min-height: 506px;
}
figure{
	padding: 0; 
	margin: 0; 
}

/* Responsive */
@media only screen and (max-width: 1400px) {
	.navigation{
	  width:100%;
	}
	.nav-inner{
	  width:100%;
	}
	.nav-item, .nav-item.nav2{
	  min-width: auto; 
	  width: calc(100% / 3);
	}
	.nav-item-inner{
	  width: 100%;
	}
	.content-inner{
	  padding: 0 10px;
	}
}
@media only screen and (max-width: 600px) {
	.navigation{
	  width:100%;
	}
	.nav-inner{
	  width:100%;
	}
	.nav-item, .nav-item.nav2{
	  min-width: auto; 
	  width: calc(100% / 3);
	}
	.nav-item-inner{
	  width: 100%;
	  background-size: auto 40%;
	}
	.nav-bottom{
	    background-size: 200px auto;
    bottom: -26px;
	}
	.btn{
	padding: var(--padding) calc(var(--padding) * 1);
	}
	.form-group {
	  display: block; 
	}
	.form-group label, .form-group .col{
	  width: 100%; 
	  padding: 10px;
	}
}

/* Responsive dev*/
@media only screen and (max-width: 1500px) {
  body::before,
  body::after {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    border-color: transparent;
    border-style: solid;
  }

  body::before {
    border-width: 1.5em;
  }

  body::after {
    border-radius: 0.4em;
    border-width: 1.35em;
    border-right-color: black;
    border-top-color: black;
  }
  
  body{
  
  }
}
@media only screen and (max-width: 1050px) {
  body::after {
    border-right-color: red;
    border-top-color: red;
  }
  body{
  
  }
  
}

@media only screen and (max-width: 800px) {
   body::after {
    border-right-color: yellow;
    border-top-color: yellow;
  }
  
  body{
  
  }
  
}

@media only screen and (max-width: 720px) {
   body::after {
    border-right-color: blue;
    border-top-color: blue;
  }
  
  body{
  
  }
  
}

@media only screen and (max-width: 550px) {
  body::after {
    border-right-color: pink;
    border-top-color: pink;
  }
  
  body{
  
  }

}

@media only screen and (max-width: 440px) {
   body::after {
    border-right-color: green;
    border-top-color: green;
  }
  
  body{
  
  }
  
}

@media only screen and (max-width: 350px) {
	body::after {
     border-right-color: brown;
     border-top-color: brown;
    }

	body{
	
    }
    
}
