/* maven-pro-regular - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/maven-pro-v28-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/maven-pro-v28-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/maven-pro-v28-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/maven-pro-v28-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/maven-pro-v28-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/maven-pro-v28-latin-regular.svg#MavenPro') format('svg'); /* Legacy iOS */
}

/* maven-pro-700 - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/maven-pro-v28-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/maven-pro-v28-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/maven-pro-v28-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/maven-pro-v28-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/maven-pro-v28-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/maven-pro-v28-latin-700.svg#MavenPro') format('svg'); /* Legacy iOS */
}


/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

html {overflow-y: scroll;-webkit-text-size-adjust: none; -webkit-font-smoothing: 
	antialiased; font-size:16px;}
*, *:before, *:after { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
body {
	margin: 0;
	padding: 0;
	color: rgb(67,47,27);
	font: normal 1em/1.25em 'Maven Pro', sans-serif;
	background-color: rgb(254,254,254);
}
table, td { border: 0px; margin: 0px; padding: 0px;	vertical-align: top; border-collapse: collapse;	border-spacing: 0px;}
iframe { border: 0px; margin: 0px; padding: 0px;}
img {
	display: inline-block;
	border: 0;
	margin: 0;
	padding: 0;
	vertical-align: top;}
a {	color: inherit;	outline: none;}
a:hover {
	color: rgb(126,175,50);
}
strong { font-weight:700;}
/*-------------------------------------------------------------------------------------------------------------------------*/
* {
	transition: all 0.1s;
	-moz-transition:all 0.1s;
	-webkit-transition: all 0.1s;}
header, .bild, .content, footer, nav, section, main {
	position: relative;
	margin: 0 auto;
	width: 100%;}
header {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 150;
}
.logo {
	position: absolute; left:1em;
	box-shadow: 0 0 5px rgb(67,47,27);
	width:33%; max-width:200px;}	
.logo img{ width: 100%;	height: auto;}
.contacts {
	position: fixed;
	top: 60px;
	right: 13px;
	color: rgb(227,6,19) !important;
	font-size: 3em;
	/*background-color: rgb(255,255,255);*/
	padding: 0 3px;
	border-radius: 4px;
	z-index:150;
}
.contacts a { text-decoration:none;
	color: rgb(227,6,19);}
	.contacts a:hover {color:#7EAF32;}
	.youtubeframe { position:absolute; top:0.5em; left:0.5em; bottom:20.5em; right:0.5em; width:calc(100% - 1em); height:calc(100% - 1em); }
/*-------------------------------------------------------------------------------------------------------------------------*/
.bild {
	position: relative;
	text-align: center;
	margin: 4.5em auto 0;
	z-index: 1;
	/* [disabled]background: url(../images/loader.gif) no-repeat center center; */
	z-index: 1;
}
.bild img { width:100%; height:auto;}
.slogan-top, .slogan-bottom {
	position: absolute;
	left: 50%;
	top: 75%;
	transform: translate(-50%,-50%);
	padding: 1em;
	background-color: rgba(67,27,27,0.2);
	color: rgb(254,254,254);
	font-size: 3vw;
	line-height: 1.25em;
	text-shadow: 0 0 20px rgba(67,27,27,0.75);
	font-weight: 700;
	width: 62%;
}
.slogan-bottom {
	background-color: rgba(27,27,27,0.4);
	top: 50%;
}
.slogan-bottom a:hover { text-shadow:0 0 10px rgb(0,0,0);}
/*---------------------------------------------------------------------*/
.content {
	padding:2em;
	padding: calc(1.5em + 1vw + 1vh);
	position: relative;
	margin: 0 auto;
	background-color: rgb(255,255,255);
}	
/*---------------------------------------------------------------------*/
.quicklinks {
	width: 100%;
	margin: auto;
}
.quicklinks ul {
	padding: 0;
	margin: 0 auto;
	list-style:none;
	text-align:center;}
.quicklinks ul li {
	margin: 1em;max-width:460px;
	background-color: rgb(240,236,232);
	text-align:left;
}
.quicklinks a {
	text-decoration: none;
	display: block;
	margin: auto;
	padding: calc(1em + 1vmax);}	
.quicklinks img {
	width: 100%;
	height: auto;
	max-width: 400px;
}	
.quicklinks li:hover a { color:rgb(255,255,255);}
.quicklinks li:hover { 	background-color: rgb(67,47,27); transition-delay:0.1s;}
.quicklinks li:hover img {box-shadow: 0 0 20px rgba(67,27,27,0.75);}
/*-------------------------------------------------------------------------------------------------*/
.leistungen {
	width: 100%;
	margin: auto;
	text-align:center;
}
.leistungen .content-13, .kontakt .content-13 {
	background-color: rgb(240,236,232);
	text-align: left;
	padding: calc(1em + 1vw + 1vh);
	margin: 1em;}
.leistungen .content-23, .kontakt .content-23 {position:relative; overflow:hidden;margin: 1em;}

.minislider .owl-stage-outer {
	background-color: rgba(169,150,146,0.5);
}
.leistungen .minislider .item {
	text-align: center;
	vertical-align: middle;
	background: url(../images/loading.gif) no-repeat center;
}
.item img {
	width:100%; height:auto;}
	.owl-nav { font-size:2em;     position: absolute;
    z-index: 50;
    top: 50%;
    left: 0;
    right: 0; width:100%; margin-top:0 !important; color:#fff; transform:translateY(-50%);
	 line-height:1em; text-shadow:0 0 10px rgb(67,47,27);}
	.owl-prev { left:1em; position:absolute; text-shadow:0 0 10px rgb(67,47,27); }
	.owl-next { right:1em; position:absolute; text-shadow:0 0 10px rgb(67,47,27); }
	.owl-theme .owl-nav [class*=owl-]:hover {
    background-color: rgb(255,255,255);
    color: rgb(67,47,27);
    text-decoration: none; border-radius:100%;text-shadow:0 0 10px rgb(255,255,255);}
/*-------------------------------------------------------------------------------------------------*/
footer {
	position: relative;
	padding: 1em 1em 10em;
	margin: 0 auto;
	text-align: left;
	background-color: rgb(67,47,27);
	color: rgb(255,255,255);
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
footer > div {
	padding: 1em;
	flex: 1 1 25%;
	min-width:230px;
	text-align:left;
}
footer div:first-child img { width:100%; height:auto; max-width:200px;}
/*-------------------------------------------------------------------------------------------------------------------------*/
p, h1, h2, h3, h4, h5, h6 {
	margin: 0 0 1em 0;
	font-size: 1em;
	font-weight: normal;
	line-height: 1.25em;
}
h1, .h1 {
	font-size: 2em;
}
h2, .h2 {
	font-size: 1.5em;
}
h3 {font-size: 1.125em;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-style: italic;}
.button {
	border-radius: 8px;
	border: 1px solid rgb(67,47,27);
	padding: 0.375em 0.625em;
	text-decoration: none;
}
.button:hover { background-color:rgb(67,47,27); color:rgb(255,255,255);}	
/*-------------------------------------------------------------------------------------------------------------------------*/
.clear { 	clear: both;	line-height: 0px;	height: 0px;}
.clear:after {	content: "";	display: block;	clear: both;}
hr, .trennlinie {
	clear: both;
	background-color: rgb(53,109,46);
	border: 0;
	margin: 2em 0;
	padding: 0;
	height: 2px;
	text-align: center;
}
/*-------------------------------------------------------------------------------------------------------------------------*/
#formular, form {
	position: relative;
	alignment-adjust: 0;
	margin: 0;
	padding: 1em;
	display: block;
	background: url(../images/bg-kontakt.jpg) center top;
	background-size: cover;
}
input, textarea, select {
	position: relative;
	border: 1px solid rgb(180,180,180);
	width: 100%;
	padding: 4px;
	color: #352515;
	height: 36px;
	margin: 0 0 0.5em 0;
	border-radius: 4px;
	background-color: rgb(255,255,255);
	display: inline-block;
	font-family: 'Maven Pro', sans-serif;
	font-size: 16px;
}
textarea {
	height: 10.875em;
}
input:focus, textarea:focus, select:focus {
	border: 1px solid rgb(195,3,22);
}
input[type="radio"], .check {
	width: 32px;
	height: 32px;
	vertical-align: middle;
}
.send {
	background-color: rgb(195,3,22);
	color: rgb(255,255,255);
	padding: 0.25em 0.5em;
	border-radius: 0.125em;
	margin: 1em auto;
	font-size: 18px;
	border: 1px solid rgb(195,3,22);
	cursor: pointer;
	width: 160px;
	box-shadow: 0 0 10px rgb(255,255,255);
	font-weight: 700;
}
.send:hover {
	color: rgb(195,3,22);
	background-color: rgb(255,255,255);
	box-shadow: 0 0 10px rgb(0,0,0);
}
.small-red {
	color: rgb(195,3,22);
	font-weight: 700;
	font-size: 1.5em;
	line-height: 0.25em;
}
form .left { text-align:left; }
/*-------------------------------------------------------------------------------------------------------------------------*/
.galerie {
	position: relative;
	width: 100%;
	margin: 0 auto;
}
.galerie ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content:center;
}
.galerie ul li {
	list-style: none;
	display: inline-block;
	flex:0 1 auto;
	flex-basis:calc(100% / 2 - 2em);
	padding: 0;
	margin: 1em;
	min-width:120px;	
	/*max-width: 360px;*/}		
.galerie ul li img, .galerie ul li a {
	border: 0;
	padding: 0;
	margin: 0;
	vertical-align: top;
}
.galerie ul li img {
	border: 1px solid rgb(255,255,255);
	height: auto;
	width: 100%;
}
.galerie ul li a img:hover {	border-color:rgb(67,47,27); }
/*-------------------------------------------------------------------------------------------------------------------------*/	
.error { font-size:0.9em; color:#F00;}
/*-------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 540px) {
	nav, nav ul, nav ul li {
		padding: 0;
		margin: 0;
		list-style: none;
		postition: relative;
		text-align:center;	}
	nav ul li {margin:4px; border-radius:4px; }
	nav ul li a {
		text-decoration: none;
		padding: 0 0.5em;
		margin: 0;
		display: block;
		line-height: 36px;
		border: 3px solid transparent;
		border-radius: 4px;
		display: inline-block; 
		font-size:18px;	}
	nav a:hover, nav a:focus {
		background-color: rgba(255,255,255,0.9);
		color: rgb(195,3,22);
		text-decoration: none;	}
	nav a.aktiv {
	background-color: rgb(227,6,19);
	color: rgb(255,255,255);
}
	#menuToggle {
	display: block;
	position: fixed;
	top: 1em;
	right: 1em !important;
	width: 42px;
	z-index: 10;
	padding: 8px 0 4px 4px;
	-webkit-user-select: none;
	user-select: none;
	background-color: rgb(227,6,19);
	box-shadow: 0 0 4px rgba(0,0,0,0.5);
	border-radius: 4px;
}
	#menuToggle input {
		display: block;
		width: 50px;
		height: 44px;
		position: absolute;
		top: -2px;
		left: -3px;
		cursor: pointer;
		opacity: 0; /* hide this */
		z-index: 200 !important; /* and place it over the hamburger */
		-webkit-touch-callout: none;
	}
	/* Just a quick hamburger */
	#menuToggle span {
		display: block;
		width: 34px;
		height: 4px;
		margin-bottom: 5px;
		position: relative;
		background-color: rgb(255,255,255);
		z-index: 3;
		transform-origin: 50% 50%;
		transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),  background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),  opacity 0.55s ease;	}	
	/* Transform all the slices of hamburger into a crossmark */
	#menuToggle input:checked ~ span {
	opacity: 1;
	transform: rotate(405deg) translate(5px, 7px);
	background: rgb(227,6,19);
	}
	/*hide the middle one */
	#menuToggle input:checked ~ span:nth-last-child(3) {
		opacity: 0;
		transform: rotate(0deg) scale(0.2, 0.2);
	}
	/* the last one go the other direction */
	#menuToggle input:checked ~ span:nth-last-child(2) {
		opacity: 1;
		transform: rotate(-405deg) translate(5px, -8px);
	}
	/*	 * Make this absolute positioned at the top right of the screen	 */
	#menu {
		position: fixed;
		overflow: auto;
		width: 100%;
		height: 100%;
		margin: 0;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		padding: 1.5em;
		list-style-type: none;
		-webkit-font-smoothing: antialiased;
		/* to stop flickering of text in safari */	  
		transform-origin: 0% 0%;
		transform: translate(0%, -300%);
		transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
		background-size: 500%;
		background-color: rgb(255,255,255);
	}
	#menuToggle input:checked ~ ul {
		transform: scale(1.0, 1.0);
		opacity: 1;	}
	#menuToggle input:checked ~ body { overflow:hidden;}
}
/*-------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 541px) and (max-width: 680px) {	
.logo {position:relative; left:auto; margin:auto; max-width:170px;}   header { text-align:center;} .bild { margin-top:156px;}
	.sticky header .logo {width:80px; height:auto; margin-top:-1.5em;}
.contacts { top:10px;}
	}
@media only screen and (min-width: 541px) {	
	.sticky header { position:fixed; left:0; right:0; z-index:150; background-color:#fff;  max-width:100%; padding:0 1em; box-shadow:0 0 10px rgba(0,0,0,0.5); }
	.sticky nav {margin-bottom:0.25em;}
	#menuToggle input { display: none;	}
	#menuToggle { margin: 0 auto;	position: relative;	}
	nav {
	margin: 0;
	position: relative;
	line-height: 38px;
	z-index: 2;
	} 
	nav ul {
		margin: 0 auto;
		padding: 0;
		list-style-type: none;
		display: flex;
		justify-content: center;	}
	nav ul li {
		margin: 0;
		padding: 0;
		position:relative;
		flex: 0 0 auto;
	}
	nav a {
		font-size-adjust: none;
		display: block;
		margin: 0 0.25em;
		padding: 0 0.75em;		
		text-decoration: none; 
		border-bottom:2px solid transparent;
		color:rgb(67,47,24);
	}
	nav a.aktiv { 	border-color: rgb(227,6,19);	}
	nav a:hover {
	border-color: rgb(126,175,50);
	color: rgb(67,47,24);
}
	/*-----------------------------------------------------------------*/
	
.quicklinks ul {
	display: flex; 
	flex-flow: row wrap;
	justify-content:center;
	align-items:stretch;}
.quicklinks ul li {
	flex: 1 1 calc(100% / 2 - 2em);
	min-width: 240px;
}
}
@media only screen and (min-width: 681px) {	
		.sticky header .logo { width:100px; height:auto; }
.sticky nav { margin-top:0.25em;}
	.centered { text-align:center;}	
	h1 { font-size:3em;}	
	nav {  margin-top:64px;	} 
	nav ul { justify-content: flex-end;	}
	 .bild {
	margin-top: 113px;
	max-height: calc(100vh - 110px);
	overflow: hidden;
}
	 .contacts { display:none;}	
}
@media only screen and (min-width: 681px) and (max-width: 800px) {	
	 	form .left {float:left; width:48%; margin-right:2%; min-width:220px;}
}

@media only screen and (min-width: 800px) {		
	header {
	padding: 0 1em 0.5em;
	max-width: 1200px;
	margin: 0 auto;
	background-color: rgb(255,255,255);
}

	 .galerie ul li {
	flex-basis:calc(100% / 4 - 3em);}
	nav {
	font-size: 1.25em;
}
.content p {
	font-size: 1.25em;}
.leistungen {
	max-width: 1200px;
	display:flex;
	flex-flow:row wrap; align-items:flex-start;}
.leistungen .content-13 {	flex: 0 1 34%; z-index:1; }
.leistungen .content-23 {	flex: 0 1 66%; z-index:2;  margin:3em -2em 2em -2em;}

.kontakt {
	max-width: 1400px;
	display:flex;
	flex-flow:row wrap; align-items:flex-start;
}
.kontakt .content-13 {	flex: 0 1 34%; z-index:1; }
.kontakt .content-23 {	flex: 0 1 66%; z-index:2; margin:3em -2em 2em -2em;}
}
@media only screen and (min-width: 1400px) {	
.quicklinks ul li {
	flex: 1 1 calc(100% / 4 - 4em);
	min-width: 240px;
}
nav a { font-weight:700; border-width:3px;}
}
@media only screen and (min-width: 1100px) {
	form .left {float:left; width:48%; margin-right:2%; min-width:220px;}

}
/*-------------------------------------------------------------------------------------------------------------------------*/
.btn.toTop {
	color: #fff;
	position: fixed;
	font-weight: bold;
	right: 3vw;
	bottom: 3vw;
	padding:0 3px; border-radius:5px;
	color:rgb(227,6,19); font-size:3em;
	text-decoration: none;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	z-index: 999;}
.btn.toTop:hover {	background-color:rgba(255,255,255);}
.btn.toTop.show {
	visibility: visible;
	cursor: pointer;
	opacity: 1.0;}
::-moz-selection { /* Code for Firefox */
 color: rgb(255,255,255); background-color: rgb(195,3,22);}
::selection {
	color: rgb(255,255,255);	background-color: rgb(195,3,22);}
/* { background-color:rgba(0,0,0,0.1)}*/
.mfp-iframe {background-color:#fff !important;}
.mfp-calc .mfp-close{font-size:4em;top:-50px;}
.mfp-calc .mfp-iframe-holder {padding-top: 60px;}
.mfp-calc .mfp-iframe-holder .mfp-content{width:100% !important;max-width:640px !important;height:100%;max-height:260px; }
