@font-face {
		font-family: 'RotisSansSerif-Std';
		src: url('../fonts/RotisSansSerifStd.ttf') format('truetype'),
		src: url('../fonts/RotisSansSerifStd.woff') format('woff'),
		src: url('../fonts/RotisSansSerifStd.woff2') format('woff2'),
		font-weight: normal;
		font-style: normal;
}

@font-face {
		font-family: 'RotisSansSerif-italic';
		src: url('../fonts/RotisSansSerifStd-Italic.ttf') format('ttf'),
		src: url('../fonts/RotisSansSerifStd-Italic.woff') format('woff'),
		src: url('../fonts/RotisSansSerifStd-Italic.woff2') format('woff2'),
		font-weight: normal;
		font-style: italic;
}

@font-face {
		font-family: 'RotisSansSerif-bold';
		src: url('../fonts/RotisSansSerifStd-Bold.ttf') format('ttf'),
		src: url('../fonts/RotisSansSerifStd-Bold.woff') format('woff'),
		src: url('../fonts/RotisSansSerifStd-Bold.woff2') format('woff2'),
		font-weight: normal;
		font-style: normal;
}

@font-face {
		font-family: 'RotisSansSerif-extrabold';
		src: url('../fonts/RotisSansSerifStd-Bold.ttf') format('ttf'),
		src: url('../fonts/RotisSansSerifStd-ExtraBold.woff') format('woff'),
		src: url('../fonts/RotisSansSerifStd-ExtraBold.woff2') format('woff2'),
		font-weight: normal;
		font-style: normal;
}

:root {
    --darkgreen: rgb(15,102,51);
	--orange: rgb(255,153,51);
	--grey: rgb(150,150,150);
    --almost-white: #f8f9fa;
	/*weiss*/
	--white: #fff;
	/*hellgrau für Akkordeon*/
	--hellgrau: #dedede;
	/*ganzhellgrau*/
	--ganzhellgrau: #f0f0f0;
	/*dunkelgrau*/
	--dunkelgrau: #666;
	/*dunkelgrau*/
	--ganzdunkelgrau: #333;
}

body {
    font-size: 1.4em;
    background-color: var(--almost-white);
	font-family: 'RotisSansSerif-Std', sans-serif;
}

h1,h2,h3,h4,h5,h6 {
    color: var(--darkgreen);
    margin: 2.5rem 0 1rem 0;
	font-weight: bold;
}


p.kleingedrucktes{
	font-size: 1rem;
	margin-top: 1rem;
}


#navigation{
	margin: 0;
	border-bottom: 2px solid var(--darkgreen);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	padding: 0.5em 0;
	background-image: url(../img/strand-xl.jpg);
	background-size: 100% auto;
	background-position: center center;
}


.nav-item {
	text-align: center;
	padding: 0 0.3em;
	color: var(--darkgreen);
	}
	
	
#nav2 {
    list-style-type: none;
	margin-top: 5px;
    padding: 0.3em 0;
    text-decoration: none;
    color: #555;
	z-index: 1000;
	font-size: 1em;
	display:flex;
	justify-content: right;
	align-items: center;
}

#nav2 ul{margin-top: 10px;}

#nav2 a{
    text-decoration: none;
    color: #555;
	line-height: 1.15em;
	font-size: 0.8em;
	padding-left: 0.8em;
}


#nav2 a:hover{
    color: var(--orange);
}

 #close-btn {
     position: absolute;
     top: 0px;
     right: 0px;
     color: var(--grey);
     border: none;
     cursor: pointer;
	 font-size: 1em;
	 line-height: 7px;
	background: none;
 }

 #close-btn:hover {
	color: var(--orange);
 }


.navbar-toggler {
	font-size: 1.2em;
	margin: 1em auto;
}

.navbar-collapse{
	border: none;
}

.navbar-toggler-icon {
	background-image: url("../img/navbar-toggler-icon.svg");
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
	box-shadow: none;
}

img#logo{
	max-width: 450px;
	height: auto;
	margin: 0;
}


.sublinks li{
	float: right;
	margin: 0.5em;
	list-style-type: none;
}

.sublinks li a{
	text-decoration: none;
}


.container-fluid{
	padding: 0;
}

a, .active{
	color: var(--darkgreen);
}


img {
    width: 100%;
}

.row {
    margin-top: 2em;
}



section{
	border-top: 2px solid var(--orange);
	padding: 3em 0;
}

section:first-of-type{
	border-top: none;
}


section:last-child{
	margin: 0;
	border-bottom: none;
}

section#ort img{
	margin-top: 1em;
}


table#preise{
	width: 100%;
}

table#preise th{
	font-weight: normal;
	border-bottom: 1px solid grey;
	font-style: italic;
}

table#preise td, table#preise th{
	padding: 8px 0;
}

.carousel__slide .caption {
    text-align: center;
    font-size: 0.8em;
    margin-top: 5px;
    color: #555;
}

button.carousel__button{
	border-radius: 100%;
	background-color: rgba(255,255,255,0.8);
}


.accordion-item {
  border: none;
}

.accordion-button{
	height: 5em;
}

.accordion-button .collapsed {
  margin-top: 1rem;
  height: 60px;
}

.accordion-button h4 {
  position: relative;
  top: -10px;
  font-weight: 400;
  text-align: center;
}

.accordion-button:focus {
  border: 2px solid var(--dunkelgrau);
  box-shadow: none;
  color: var(--ganzdunkelgrau);
}

.accordion-button:not(.collapsed) {
  background-color: var(--ganzhellgrau);
  color: white;
  border: 2px solid var(--dunkelgrau);
}

.accordion-button{
  color: var(--ganzdunkelgrau);
  border: 2px solid var(--hellgrau);
  margin-top: 1em;
}

.accordion-body {
  border: 1px solid var(--hellgrau);
  color: var(--ganzdunkelgrau);
}


.accordion-body .row {
  margin: 2em 0 1em 0;
}

.accordion-body p,
.accordion-body ul{
  color: var(--ganzdunkelgrau);
}

.accordion-body h3 {
  color: var(--ganzdunkelgrau);
}

a h4{
	font-weight: normal;
	
}

a h4:hover{
	opacity: 0.8;
}

.modal-body, .modal-header{
	padding: 1% 2%!important;
}

.modal img{
	width: 50%;
	max-width: 400px;
	margin: 10px 0 0 0;
}


.tfw-calendar-app {
	margin: 0 auto;
	
}

.grundriss{
	padding-left: 2em;
}

.grundriss img {
	float: right;
	max-width: 30%;
	min-width: 300px;
	margin-left: 1em;
	margin-top: 0.5em;
	height: auto;
	padding: 5px;
	border: 1px solid var(--darkgreen);
	background-color: white;
}


 


.belegung iframe {
    padding: 1em 3em
}

.belegung-mobil {
    display:none;
}


#ort img{
	border: 1px solid var(--darkgreen);
	padding: 5px;
	background-color: white;
}

.grundriss img:hover, #ort img:hover{
	border: 2px solid var(--darkgreen);
}



footer {
	padding: 1em 0 0.5em 0;
	box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.2);
	border-top: 2px solid var(--darkgreen);
	margin-top: 2em;
}

.navbar-brand img {
	height: 4em;
}

.nav-link {
  color: var(--ganzdunkelgrau);
  font-weight: 600;
  padding: 5px;
  background-color: rgba(255,255,255,0.7);
  border-radius: 10px;
}

.nav-link.active {
  color: var(--orange);
}

.nav-link:hover, .nav-link:focus {
  color: var(--orange);
  opacity: 80%;
}



/* slideshow */

/* Innerer Behälter, sorgt mit dem Padding dafür, dass das Seitenverhältnis immer
  beibehalten wird. 56.25% entspricht einem Seitenverhältnis von 16:9, da 9/16 = 0.5625 */
.slideshow-behaelter {
  width: 100%;
  padding-top: 36%;
  position: relative;
}

/* Die Slideshow wird in den Padding-Bereich des Behälters positioniert und füllt diesen aus */
.slideshow {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0%;
}

.slide {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 2s;
}

.slide-bild {
  width: 100%;
}

.pfeil {
  position: absolute;
  top: 0;
  bottom: 0;
  font-size: 50px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15%;
  color: rgba(255, 255, 255, 0.5);
  user-select: none;
  cursor: pointer;
  text-decoration: none;
}

.pfeil:hover {
  color: white;
}

.pfeil-links {
  left: 0;
}

.pfeil-rechts {
  right: 0;
}

.indikatorenliste {
  position: absolute;
  top: 0%;
  left: 0;
  right: 0;
  list-style-type: none;
  font-size: 3em;
  color: #888;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.indikator {
  padding: 0 10px;
  user-select: none;
  cursor: pointer;
  opacity: 0.3;
  transition: opacity 2s;
}

.aktiv {
  opacity: 1;
}

/* Kontaktformular */

.carousel__button{
	color: var(--darkgreen);
}

.carousel__button:hover{
	color: white;
}


.preise td:nth-child(2), .preise td:nth-child(3), .preise th:nth-child(2), .preise th:nth-child(3){
	text-align: center;
}


#kontakt .row {
  margin-top: 0;
  font-size: 0.8em;
}

form{
	width: 100%;
	border: 1px solid #e0e0e0;
	background-color: rgb(240, 240, 240);
	border-radius: 10px;
	padding: 1em;
}

label {
	color: var(--darkgrey);
	margin-bottom: 5px;
	width: 100%;
}

.fax {
	display: none!important;
}

input[type="text"], input[type="email"], input[type="date"], input[type="number"], fieldset, select, textarea {
	border: none;
	border-bottom: 3px solid #c0c0c0;
	background-color: e0e0e0;
	padding: 0.5em 1em;
	width: 100%; min-width: 100%; 
	box-sizing: border-box;
	outline: none;
	margin-bottom: 1em;
	color: var(--darkgreen);
	opacity: 90%;
}

textarea {
	height: 15em;
}

.code{
	text-align: right;
}

.code img{
	height: 2em;
}

input[type="submit"], input[type="reset"] {
  padding: 0.3em 1em; 
	font-weight: bold;
	color: #e0e0e0;
	border: 1px solid silver;
	background-color: var(--darkgreen);
	border-radius: 5px;
	width: 100%;
	margin: 0 auto;
}
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent;}
input:focus:-ms-placeholder { color:transparent;}
input:focus, select:focus, textarea:focus {border-bottom: var(--darkgreen);}
input#senden:hover, input#reset:hover {background-color: var(--orange);}

  @media screen and (min-width: 975px) {
	.grundriss img {
		max-width: 20%;
		margin-bottom: 1em;
	  }
	  
	.navbar-brand img{
		filter: drop-shadow(1px 1px 2px #eee));
	}
 }
 
 @media screen and (max-width: 975px) {
	 #navigation{
	background-image: url(../img/strand-sm.jpg);
	}
	
	.nav-link, .nav-link.active, .nav-link:hover {
		  margin-top: 1px;
	}
	
	.nav-link.active, .nav-link:hover {
		color: var(--darkgreen);
	}
	.nav-link:hover {
		opacity: 80%;
	}
 }
 
  @media screen and (max-width: 870px) {
	 
	#nav2 {
		font-size: 0.8em;
		display:flex;
		justify-content: center;
		align-items: center;
		}
	
  	footer{
		 font-size: 0.85em;
	 }
	 
	#navigation{
		background-image: url(../img/strand-sm.jpg);
	}
	
	.belegung {
        display:none;
    }
    
    .belegung-mobil {
        display:block;
    }
    
    .belegung-mobil a {
        color: darkgreen;
		text-decoration: underline;
    }
	
	.belegung-mobil p {
        font-size:1.2em;
    }
 }
 
 
 @media screen and (max-width: 600px) {
  .grundriss img {
	float: none;
	max-width: 100%;
	margin-bottom: 1em;
	margin-left: 0;
  }
  

 }