* {margin: 0; padding: 0px;}

body {margin: 0; height: 100%; color: #1d1d1b; font-family: Arial, sans-serif, Helvetica; font-size:16px; background:#fff;}

a{text-decoration:none; color:#ec6087;}
a:hover{text-decoration:underline;}

h1{color:#ec6087; font-size:26px; text-transform:uppercase; margin-bottom:10px;}
h2{color:#1d1d1b; font-size:22px; font-weight:normal; margin-bottom:20px;}
h3{color:#ec6087; font-size:40px; text-transform:uppercase; margin-bottom:10px;}

p{margin:10px 0;}

.text-center{text-align:center;}

.clearfix:after {
     visibility: hidden;
     display: block;
     font-size: 0;
     content: " ";
     clear: both;
     height: 0;
     }
.clearfix { display: inline-block; }
/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* close commented backslash hack */

.wrapper_center {max-width: 1200px; min-width: 300px; margin: 0 auto; position: relative; padding: 0 10px;}
.wrapper_center_ohne {max-width: 1200px; min-width: 300px;  margin: 0 auto;  position: relative; padding: 0;}

/* Header + Navi */
header{z-index:9999; width:100%; transition: all 0.4s ease; height:60px; background:url(images/nav_line.png) repeat-x bottom;}

#nav_desktop {display:none;}
#slogan{display:none;}

@media screen and (max-width: 1184px){
	#logo{top:0; left:10px; z-index:99999999; position:fixed}
	#logo img{height:50px; width:auto; margin:5px 0 0 0;}
}

@media screen and (min-width: 1185px){
	header #logo{width:400px; transition: all 0.4s ease;}
	header #logo img{width:100%; height:auto;}
	header.sticky {height: 50px;}
	header.sticky #logo{float:left;	margin:10px 0 0 0; transition: all 0.4s ease; width:160px;}
	header.sticky ul#menu li a {padding:0px 20px 0 20px; height:50px; line-height:50px;}
	header.sticky ul#menu ul li a {height:40px; padding:0 15px 0 15px;}
	header.sticky #nav_desktop{margin: 0 200px 0 0;}
	header.sticky #nav_desktop ul#menu ul {top: 50px;}
	
	#menumobil{display:none !important;}
	header{height: 110px; position:fixed; width:100%; top:0; z-index: 9999999;}
	#logo{float:left; margin:20px 0 0 0; transition: all 0.4s ease;}
	#sticky_menu{display:block;}
	#nav_desktop{display:block; font-size:12px; float:right; margin:50px 200px 0 0; transition: all 0.4s ease;}
	#nav_mobil{display:none;}
	.sb-toggle-right{display:none;}
	ul#menu {margin:0px auto; padding:0; position:relative; width:auto;	display:inline-block;}
	ul#menu li {display:inline;	margin:0 0 0 0;	padding:0; float:left; position:relative; text-align:center;}
	ul#menu li a {padding:0 10px 0 10px; color:#ec6087; text-decoration:none; display:inline-block; font-size:17px; text-transform:uppercase; height:50px; line-height:50px; transition: height 0.4s ease; }
	ul#menu li:hover > a{color:#fff;}
	ul#menu li:hover > a,
	ul#menu li > a.aktiv {color:#1d1d1b;}
	ul#menu ul li:hover > a,
	ul#menu ul li > a.subaktiv {background:#ec6087 !important;}
	
	/* Drop-Down menu */
	ul#menu li:hover > ul{visibility:visible; opacity:1;}
	ul#menu ul, ul#menu ul li ul {list-style: none;	margin: 0; padding: 0; visibility:hidden; position: absolute; z-index: 99999; background:#fff; opacity:0;}
	ul#menu ul {top: 50px;	left: 0px;	white-space:nowrap;	background:none;}
	ul#menu ul li ul {top: 0; left: 181px;}
	ul#menu ul li {clear:both; width:100%; margin:0; text-align:left; background-color:rgba(71, 86, 97, 0.8);}
	ul#menu ul li a {background:none; color:#fff; text-decoration:none; display:inline-block; border:0 none; float:left; clear:both; width:calc(100% - 30px); height:40px; line-height:40px; font-size:16px; padding:0 15px 0 15px; text-transform:uppercase;}
	ul#menu li a.first {border-left: 0 none;}
	ul#menu li a.last {border-right: 0 none;}
	
	#facebook{float:right; margin-top:85px; transition: all 0.4s ease; margin-left:10px;}
	header.sticky #facebook{margin-top:10px;}
	
	#slogan{display:block; padding:10px 0 20px 0;}
	#slogan img{margin-left:75px; width:327px; height:auto; display:block;}
}
/* ENDE Header + Navi */

/* Footer */
footer{background:#1d1d1b; font-size:15px; color:#fff; padding:20px 0; text-align:center;}
footer a{color:#fff;}
footer a:hover{text-decoration:underline;}

@media screen and (max-width: 768px){
	.footer1{width:100%;}
	.footer2{width:100%; padding-top:30px; margin-top:30px; border-top:1px solid #767676;}
	.footer3{width:100%; padding-top:30px; margin-top:30px; border-top:1px solid #767676;}
	#anfahrt{margin:0;}
	.footer2 .footer_button{margin:20px 0 0 0px;}
}
/* ENDE Footer */

.main{padding:0px 0 20px 0; font-size:16px;}
@media screen and (min-width: 1185px){
	.main{padding-top:110px;}	
}

.mod_bg{background:#fff; padding:10px 10px;}

/* Slider */
.slider-wrapper{position:relative;}
#slider{
	margin:0;	
	padding:0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;	
}
.slider-wrapper .nivo-caption{}
.slider-wrapper .nivo-caption .caption_first{font-size:70px; text-transform:uppercase; text-shadow: 1px 1px 2px rgba(150, 150, 150, 1);}
.slider-wrapper .nivo-caption .caption_second{font-size:40px; padding-left:200px; text-shadow: 1px 1px 2px rgba(150, 150, 150, 1);}
@media screen and (max-width: 900px){
	.nivo-caption {left:20px !important; bottom:20px !important;}
	.slider-wrapper .nivo-caption .caption_first{font-size:55px; }
	.slider-wrapper .nivo-caption .caption_second{font-size:25px; padding-left:100px;}		
}
@media screen and (max-width: 767px){
	.slider-wrapper{display:none;}	
}
/* ENDE Slider */

/* google map responsive */
.map_container{max-width:1200px; margin:0 auto; padding:0 0px;}
.google-maps {
	position: relative;
	padding-bottom: 75%; 
	height: 0;
	overflow: hidden;
}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
/* ENDE google map responsive */

/* Youtube responsive */
.elastic-video {
	position: relative;
	padding-bottom: 55%;
	padding-top: 15px;
	height: 0;
	overflow: hidden;
}
.elastic-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ENDE Youtube responsive */

/* Text Modul */
.mod_text_wrapper{position:relative; margin:20px 0 80px 0;}
.mod_text{padding:50px 0; position:relative; background:#1d1d1b; color:#fff;}
.mod_text_pfeil{position:absolute; bottom:-49px; left:50%; margin-left:-25px;}
@media screen and (max-width: 1184px){
	.mod_text{padding:20px 10px;}	
}
/* ENDE Text Modul */

/* Content Box */
.content_box{padding-top:20px;}
.content_box_overlay{position:absolute; width:100%; height:189px; bottom:0; left:0; background:url(images/box_overlay.png) no-repeat; display:block;}
.content_box_overlay span{display:block; font-size:42px; color:#fff; margin:100px 0 0 110px; text-transform:uppercase; font-weight:bold;}
.text_right{
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(left, #ffffff 0%, #e6e6e6 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #ffffff 0%,#e6e6e6 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #ffffff 0%,#e6e6e6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e6e6e6',GradientType=1 ); /* IE6-9 */
}
.text_left{
	background: #e6e6e6; /* Old browsers */
	background: -moz-linear-gradient(left, #e6e6e6 0%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #e6e6e6 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #e6e6e6 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6e6e6', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
}
.img_box img{width:100%; height:auto; display:block;}
.content_box_inner{padding:40px;}
.content_box_inner ul li{
	background: url(images/dot.png) no-repeat left;
	padding: 0 0 0 20px;
	list-style: none;	
	line-height:30px;
}
.mehr_info{display:inline-block; background:#ec6087; padding: 3px 25px; color:#fff; margin-top:20px;}
@media screen and (max-width: 1060px){
	.content_box_overlay span{font-size:28px; margin:110px 0 0 110px;}
}
@media screen and (max-width: 768px){
	.flex_item_30, .flex_item_70{	
		-webkit-flex-basis: 100% !important;
		-moz-flex-basis: 100% !important;
		flex-basis: 100% !important;	
	}
}
/* ENDE Content Box */

/* Gewerke Boxen */
.backbutton{margin:20px 0 10px 20px;}
.backbutton a{display: block; height:39px; line-height:39px; color:#1d1d1b;}
.backbutton a:hover{text-decoration:none; color:#ec6087;}

.gewerke_box{}
.flex_item_gewerk{
	-webkit-flex-basis: 32.7%;
	-moz-flex-basis: 32.7%;
	flex-basis: 32.7%;	
	overflow:hidden;	
	position:relative;
	margin-top:10px;
}
.flex_item_gewerk img{width:100%; height:auto; display:block;}
.gewerke_box_overlay{position:absolute; width:100%; height:189px; bottom:0; left:0; background:url(images/box_overlay.png) no-repeat; display:block;}
.gewerke_box_overlay span{display:block; font-size:26px; color:#fff; margin:110px 0 0 0px; text-align:center; text-transform:uppercase; font-weight:bold;}
@media screen and (max-width: 768px){
	.flex_item_gewerk{
		-webkit-flex-basis: 49.5%;
		-moz-flex-basis: 49.5%;
		flex-basis: 49.5%;	
	}
	.gewerke_box_overlay span{font-size:22px; margin:115px 0 0 0px;}
}
@media screen and (max-width: 480px){
	.flex_item_gewerk{
		-webkit-flex-basis: 100%;
		-moz-flex-basis: 100%;
		flex-basis: 100%;	
	}
}
/* ENDE Gewerke Boxen */

/* Text Modul Small */
.mod_text_small{max-width:950px; margin:0 auto; padding:40px 0;}
/* ENDE Text Modul Small */

/* Bild volle Inhaltsbreite */
.mod_bildfull{padding:20px 0;}
.mod_bildfull img{width:100%; height:auto; display:block;}
/* ENDE Bild volle Inhaltsbreite */

/* Video volle Inhaltsbreite */
.mod_videofull{padding:20px 0;}
/* ENDE Bild volle Inhaltsbreite */

/* Pfeil Modul */
.pfeil{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 50px 0 50px;
	border-color: #e7e6e5 transparent transparent transparent;
	margin: 0 auto;
}
@media screen and (max-width: 768px){
	.pfeil{border-width: 30px 30px 0 30px;}
}
/* Pfeil Modul */

/* Flex Boxen */
.flex_basis{
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;	
}

.flex_item_30{
	-webkit-flex-basis: 34%;
	-moz-flex-basis: 34%;
	flex-basis: 34%;	
	overflow:hidden;
}
.flex_item_50{
	-webkit-flex-basis: 48%;
	-moz-flex-basis: 48%;
	flex-basis: 48%;	
	overflow:hidden;
}
.flex_item_70{
	-webkit-flex-basis: 64%;
	-moz-flex-basis: 64%;
	flex-basis: 64%;
	overflow:hidden;
	position:relative;
}

@media only screen and (max-width: 768px) {
	.flex_item_50{
		-webkit-flex-basis: 100%;
		-moz-flex-basis: 100%;
		flex-basis: 100%;
		padding-left:0%;	
	}
}
/* ENDE Flex Boxen */

#cookie-law{position:fixed; z-index:999999; bottom:0; left:0; height:40px; line-height:40px; background:#444848; color:#bcbdbd; text-align:center; width:100%; font-size:16px; padding:5px 0px;}
#cookie-law a, #cookie-law a:hover{color:#fff; font-weight:bold; text-decoration:underline; font-size:16px;}
a.close-cookie-banner, a.close-cookie-banner:hover{display:inline-block; background:#888888; padding:5px 10px; text-transform:uppercase; color:#fff; margin-left:20px; text-decoration:none; font-size:16px;}