body,div,span,td,input,a,li
{
	font-family: FiraSansLight, sans-serif;
	/*letter-spacing:1px;*/
	font-size:20px;
	box-sizing: border-box;
	background:transparent;
	margin:0;
	padding:0;
	color:rgb(0,0,0,0.7);
	line-height: 155%;
}
a,
a:link,
a:hover,
a:active,
a:visited {
	text-decoration: none;
	color:inherit;
	font-size:inherit;
}
h1,h2,h3 {
	margin:0;
	padding:0;
	font-weight: normal;
}
ul {
	margin:0;
	padding:0;
	list-style: none;
}
.hamburger {
	display:none;
}
.sticky_header {
	position: fixed;
	top:0px;
	left:0px;
	width:100%;
	min-height:100px;
	background-color: #fff;
	z-index:100;
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);}
.header {
	height:auto;
	padding-left:50px;
	position: absolute;
	top:20px;
	display:flex;
}
.header li {
	margin-right:127px;
	margin-right:4vw;
	height:60px;
	margin-top:0px;
	font-size:21px;
/* 	font-size:1.8vw; */
	display: inline-block;
	position: relative;
	text-transform: uppercase;
	
}
.header li.close {
	display:none;
}
.header li:last-child {
	margin-right:0px;
}
.header li a {
	margin-top:29px;
	display: block;
/* 	height:50px; */
/* 	position: absolute; */
	bottom:0px;
}
.header li a.aktiv {
	color:rgb(237,107,39);
}
.logomobile {
	display:none;
}
.header li.logo {
	background-image: url('images/logo.png');
	background-repeat: no-repeat;
	background-size:contain;
	background-position:left bottom 12px;
	background-position:left 0px;
	width:300px;
	
}
.header li.logo a,
.logomobile a {
	display:block;
	width:100%;
	height:100%;
}
.body {
	margin-top:100px;
}
.bilder {
	width:100%;
	height:40.47vw;
	position: relative;
	
}
.bilder .bild {
	position: absolute;
	height:100%;
	width:100%;
	overflow: hidden;
	z-index:10;
}
.bilder.galerie .bild {
	display:none;
}
.bilder .bild.aktiv {
	display:block;
	z-index:20;
}
.bilder .bild img {
	object-fit:cover;
	height:100%;
	width:100%;
}
.abschnitt {
	position: relative;
	background-image: url(images/Pfeil_unten_rot.png);
	background-repeat: no-repeat;
	background-position: center bottom 110px;
	background-size: 96px 28px;
}
.scrollsection:last-child .abschnitt {
	position: relative;
	background-image: url(images/Pfeil_oben_weiss.png);
}
.abschnitt.preise {
	background-color: rgba(237,107,39,0.1);
}
.abschnitt.kontakt {
	background-color:rgb(237,107,39);
	color:#fff;
	position: relative;
}
.abschnitt.kontakt .textblock {
	position: relative;
	z-index: 1;
}
.abschnitt.kontakt::after {
	content: "";
	top:0;
	left:0;
	bottom:0;
	right:0;
	background-image: url(images/b_logo_weiss.png);
	background-repeat: no-repeat;
	background-position: center top 60px;
	background-size:700px auto;
	opacity:0.2;
	position:absolute;
}
.kontakt span.layerclick {
	cursor:pointer;
	color:inherit;
}
.abschnitt.weiss .textblock::after {
	content: "";
	top:0;
	left:0;
	bottom:0;
	right:0;
	background-image: url(images/b_logo_rot.png);
	background-repeat: no-repeat;
	background-position: center top 50px;
	background-size:600px auto;
	opacity:0.2;
	position:absolute;
}
.abschnitt.kontakt .textblock .text {
	color:inherit;
}
.clickzone {
	position: absolute;
	width:100%;
	height:160px;
	bottom:0px;
	left:0px;
	z-index:2;
}
.clickzone a {
	display: block;
	height:100%;
}
.textblock {
	max-width:1100px;
	margin:0px auto;
	padding:0 100px;
	padding-top:75px;
	padding-bottom:190px;
	color:inherit;
}
.textblock.weiss,
.textblock.kontakt {
	text-align: center;
/* 	max-width:1300px; */
/* 	margin-top:120px; */
/* 	margin-bottom:190px; */
}
.textblock.weiss .text {
	font-size:22px;
}
.textblock h1
 {
    font-size: 33px;
    font-family: FiraSansBold;
    text-transform: uppercase;
    margin-bottom: 40px;
    color: inherit;
    font-weight: normal;
    color: rgba(0,0,0,0.5);
} 
.textblock.kontakt h1 {
	color:#fff;
}
.textblock .text {
	padding-bottom:40px;
}
.textblock.preise h1 {
	font-size:30px;
	font-family: FiraSansLight;
	text-transform: uppercase;
	margin-bottom:40px;
	font-weight: normal;
	color: rgba(0,0,0,0.7);
}
.preistabelle {
	
}
.preistabelle .preislinie {
	background-image:url(images/wellen.png);
	background-size: 11px 4px;
	background-repeat: repeat-x;
	display:flex;
	flex-wrap: wrap;
	margin-top:20px;
	padding-top:20px;
}
.preistabelle .preislinie div {
	font-size:18px;
}
.preistabelle .titellinie {
	width:100%;
	font-family: FiraSansBold;
}

.preistabelle .beschreibung {
	min-width:calc(100% - 140px);
	max-width:calc(100% - 140px);
	margin-bottom:20px;
}
.preistabelle .beschreibung.top {
	margin-bottom:20px;
    min-width: 100%;
    max-width: 100%;
}
.preistabelle .preis {
	min-width:140px;
	max-width:140px;
	text-align:right;
	align-self: flex-end;
	margin-bottom:20px;
}
#cookie {
	background: repeating-linear-gradient(
	  135deg,
	  #3e4348,
	  #3e4348 10px,
	  #393d49 10px,
	  #393d49 20px
	);
	color:#dfd5b8;
	font-size:20px;
	position: fixed;
	bottom:0px;
	padding:10px 10px;
	width:100%;
	display:flex;
	z-index:1000;
}
#cookie div {
	color:inherit;
	font-size: inherit;
}
#cookie .text {
	text-align:center;
	width: calc(100% - 60px);
}
#cookie .button {
	width:60px;
	text-align:center;
	border-radius: 5px;
	padding:1px 10px;
	background-color:#e2e1de;
	height:30px;
	color:#000;
	cursor:pointer;
}
#map {
	height:100%;
}
.dimmer {
	display:none;
	position: fixed;
	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	background-color: #000;
	opacity: 0.7;
	z-index:100;
}
.layer {
	box-sizing: content-box;
	display:none;
	position: fixed;
	width:100%;
	max-width:800px;
	background-color: #fff;
	height:60vh;
	z-index:1000;
	padding: 20px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.layer .close {
	top:10px;
	right:10px;
	height:30px;
	width:30px;
	cursor:pointer;
	background-image: url(images/close.png);
	background-repeat: no-repeat;
	background-size: 30px 30px;
	position: absolute;
}
.layer .textblock {
	padding:0;
	font-size:inherit;
	overflow-y: scroll;
	height:calc(100% - 40px);
	margin-top:20px;
}
.layer h1 {
	font-family: FiraSansBold;
	font-size:22px;
	text-transform: uppercase;
	margin-bottom:30px;
}
.layer .content {
	font-size:18px;
	background: transparent;
	padding-right:0px;
	height:100%;
	
}
.layer .content .text {
	font-size: inherit;
	padding-right:10px;
/* 	height:calc(100% - 40px); */
}
.admin_user_top {
	background-color: #ff0;
	font-size:18px;
	padding:10px;
	position: relative;
}
.admin_user_top .rechts {
	display: inline-block;
	position: absolute;
	right:10px;
	font-size:18px;
	color:#00f;
}