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

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


html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{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}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[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}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/**/
html {
	overflow-y: scroll;
	height: 100%;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	font-size:16px;
}
*, *:before, *:after, div {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	color: rgb(51,51,51);
	height: 100%;
	font: normal 1em/1.25em 'Merriweather', serif;
	background-color: rgb(255,255,255);
	position: relative;
}
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: 0em;
	vertical-align: middle;}
a {	color: inherit;	outline: none;}
a:hover {
	color: rgb(243,146,0);
	text-decoration: underline;
}
.clear { 	clear: both;	line-height: 0px;	height: 0px;}
.clear:after {     content:"";    display:block;    clear:both;}
/*-------------------------------------------------------------------------------------*/
* {
	transition: all 0.15s;
	-webkit-transition: all 0.15s;}
#slider * {
    -webkit-transition: none;
    transition: none;}
#slider *  {	
	-webkit-transition: width 0.2s, height 0.2s;
	transition: width 0.2s, height 0.2s;}
header {
	background-color: rgb(255,255,255);
	z-index: 3;
	padding: 48px 0 0 0;
	margin: 0;
	position: relative;
} 
.logo {
	position: absolute;
	padding: 0.5em;
	z-index: 10;
	top:-30px;
	width:100px;
}
.logo img {
	width: 100%;
	height: auto;
}
.sprachen {
	text-transform: uppercase;
	padding: 0.75em 1em;
	color: rgb(150,140,130);
	position: absolute;
	right: 80px;
	top: 0;
	z-index: 21;
}
.sprachen a { text-decoration:none; position:relative;}
.sprachen a:before { text-decoration:none;content:''; width:14.14px; height:14.14px;  transform:rotate(45deg); position:absolute; top:-20px; left:50%; margin-left:-7px; background-color:rgb(255,255,255);}
.sprachen a.aktiv { color:rgb(227,6,19);}
.sprachen a.aktiv:before { background-color:rgb(227,6,19);}
.sprachen a:hover:before {
	background-color: rgb(243,146,0);
}
/*----------------------------------------------------------------*/
.bild {
	z-index: 0;
	position: relative;
	margin: auto;
	overflow: hidden;
	max-height: calc(100vh - 240px);
}
.bild #slider {
	width: 100%;
	overflow: hidden;}
.bild #slider .item {	text-align: center; background:url(../images/loading.gif) no-repeat center center;}
.bild #slider img {
	width: 100%;
	margin: 0 auto;
	height: auto;
}
.owl-theme .owl-nav {
    position: absolute;
    top: 50%;
    z-index: 150;
    left:0.5em; right:0.5em;
	font-size:calc(2em + 5vmax);
	color:#fff;
	transform:translateY(-50%);
}
.owl-prev { float:left; }
.owl-next { float:right; }
.owl-theme .owl-nav [class*=owl-] {
    color: #FFF;
    padding: 0 0 1em 0;
    cursor: pointer;
    width: 1em;
    height: 1em; vertical-align:top;}
.owl-theme .owl-nav [class*=owl-]:hover {
    background-color: #f39200 !important;
    border-radius: 100%;}
.slide-progress {
  width: 0;
  max-width: 100%;
  height: 6px;
  background: #ccc;
  position:absolute; z-index:100; left:0; right:0; top:0;
  transition: width 4000ms linear;
}
/*----------------------------------------------------------------*/
main {
	background-color: rgb(255,255,255);
	position: relative;
}
.schmetterling { position:absolute; top:-2vw; transform:translateY(-50%); right:2vw;}
.schmetterling img { width: 15vw; height:auto; max-width:150px;}
.content {
	margin: 0 auto;
	max-width: 1400px;
	padding: 0;
}
.flex { display:flex; flex-flow:row wrap; align-items:stretch; justify-content:space-between;} 
.flex > div {
	flex-basis: calc(100% / 3);
	padding: calc(1em + 1vw);
	flex-grow: 1;
	flex-shrink: 1;
	align-self: center;
	min-width: 320px;
}
.flex.start > div {
	align-self: flex-start;
}
.flex > div.w-23 { 
	flex-basis: calc(100% / 3 * 2);}
.flex > div  img {
	width: 100%;
	height: auto;
	max-width: 400px;
}

	
.centered { text-align:center;}

.content ul { margin-left:0; padding-left: 1.5em;}
.preis > div {
	flex-basis: calc(100% / 2);}
.preise td {
	padding: 0.25em 0.5em;
	border: 1px solid rgba(243,146,0,0.5);
	white-space: nowrap;
}
.preise tr:nth-child(odd) {
	background-color: rgba(243,146,0,0.15);
}
.preise tr td:first-child {
	white-space: normal;
}
/*----------------------------------------------------------------*/

.galerie ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display:flex; 
	flex-flow:row wrap; 
	align-items:stretch; 
	max-width: 1400px;}
.galerie ul li {
	list-style: none;
	margin: 0;
	flex-basis: calc(100% / 3);
	padding: calc(1em + 1vw);
	flex-grow: 0;
	flex-shrink: 0;
	align-self: center;
	min-width:140px;
}
.galerie ul li img {
	border: 0;
	padding: 0;
	margin: 0;
	vertical-align: top;
}
.galerie ul li a {
	position: relative; display:inline-block;
}
.galerie ul li img {
	border: 1px solid rgb(255,255,255);
	height: auto;
	width: 100%;
	max-width:400px;
}
.galerie ul li a img:hover {
	border: 1px solid rgb(243,146,0);
	transform: rotate(-1deg);
}
/*----------------------------------------------------------------*/
footer{
	padding: calc(1em + 1vw);
	margin: 0 auto;
	color: rgb(255,255,255);
	background-color: rgb(243,146,0);
	border-top: 3px solid rgb(255,204,0);
}
footer a { text-decoration-color: rgba(255,255,255,0.25);}
footer a:hover, footer a:focus {
	text-decoration-color: rgba(226,163,7,0.25);
	color: #FC0;
}
footer ul {
	list-style: none;
	margin: auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	align-items:flex-end;
} 
footer ul li { flex:1 1 auto; padding:0 2em 2em 0;}
.klein {
	font-size: 0.75em;
}
/*----------------------------------------------------------------*/
p, h1, h2, h3, h4, h5, h6 {
	margin: 0 0 1em 0;
	font-weight: normal;
	font-size: 1em;
	line-height: 1.25em;}
h1 {
	font-size: 1.5em;
}
h2 {
	font-size: 1.25em;
}
h3 {
	font-size: 1em;
	font-weight: 700;
}
	/**/
.image {
	width: 100%;
	height: auto;}
hr.orange, hr.gelb { 
	height: 0;
	line-height: 0;
	border: 1px solid rgb(243,146,0);
	margin: 1em 0;}
hr.gelb {	border-color: rgb(255,204,0);}
.orange { color:rgb(243,146,0);}
.gelb { color:rgb(255,204,0);}

/*----------------------------------------------------------------*//*----------------------------------------------------------------*/
#formular {
	position: relative;
	alignment-adjust: 0;
	margin: 0;
	padding: 0;}
form {
	margin: 0;
	padding: 0;
	display: block;}
input, textarea {
	position: relative;
	border: 1px solid rgb(243,146,0);
	width: 100%;
	padding: 0px 0.25em;
	color: #000;
	height: 2em;
	max-width: 450px;
	font: normal 16px/22px Arial, sans-serif;
	border-radius: 0.25em;
	background-color: rgba(255,204,0,0.05);
}
.short { width:50px;}
.check {
	width: 20px;
	padding: 0;
	margin: 0;
	height: 20px;}
textarea {
	height: 170px;
}
input:focus, textarea:focus {	border: 1px solid rgb(0,93,162);}
.send {
	cursor: pointer;	
	color: rgb(255,255,255);
	margin: 0 auto;
	width: auto; height:3em;
	cursor: pointer;
	padding: 0 1.5em;
	background-color: rgb(243,146,0);
	border: 3px solid rgb(255,255,255);
	border-radius: 0.5em;
	text-decoration: none;
	display: inline-block;
	text-wrap: none;	
	font: normal 1em/1.25em 'Merriweather', serif;

}
.send:hover, .send:focus {	
	color: rgb(243,146,0);
	border-color: rgb(243,146,0);
	background-color: rgb(255,255,255);
	text-decoration: none;
}
img.ui-datepicker-trigger {
	position: absolute;
	margin-top: 8px;
	margin-left: -24px;
	cursor: pointer;
	display: inline;
	max-width:16px !important;}
.pflicht {
	line-height: 15px;
	color: rgb(227,6,19);
	font-weight: 700;
}
/*----------------------------------------------------------------*/
.button {
	color: rgb(255,255,255);
	margin: 0 auto;
	width: auto;
	cursor: pointer;
	padding: 0.5em 1.5em;
	background-color: rgb(243,146,0);
	border: 3px solid rgb(255,255,255);
	border-radius: 0.5em;
	text-decoration: none;
	display: inline-block;
	text-wrap: none;
}
.button:hover, .button:focus {
	color: rgb(243,146,0);
	border-color: rgb(243,146,0);
	background-color: rgb(255,255,255);
	text-decoration: none;
}
.button.red {
	background-color: rgb(227,6,19);
}
.button.red:hover, .button.red:focus {
	color: rgb(227,6,19);
	border-color: rgb(227,6,19);
	background-color: rgb(255,255,255);
}
.shift {
	position: absolute;
	bottom: calc(1em + 1vw + 1vh);
	right: -0.5em;
	z-index: 3;
}
/*----------------------------------------------------------------*/
/*                MEDIA QUERY            */
/*----------------------------------------------------------------*/
@media only screen and (max-width: 450px) {
	.galerie ul li { flex-grow:1;}}
@media only screen and (min-width: 650px) {
	.logo { top:0; left:1em; background-color:#fff; width:150px;}
	footer { padding-bottom: 10em;}
	}
@media only screen and (max-width: 759px) {
	nav, nav ul, nav ul li {
		padding: 0;
		margin: 0;
		list-style: none;
		postition: relative;	}
	nav ul li a {
		text-decoration: none;
		padding: 0;
		margin: 2px auto;
		display: block;
		font-size: 1em;
		line-height: 42px;
		height: 42px;
		text-align: center;
	background-color: rgb(255,255,255); border-radius:4px;}
	nav a:hover, nav a:focus, nav a.aktiv {
		color: rgb(255,255,255);
		background-color: rgb(227,6,19);
		text-decoration: none;	}
	nav ul li, .subnav ul li { margin:1%;}.subnav ul li { display:inline-block;  width:30%;}
	.subnav ul li a { text-transform:none;}

	#menuToggle {
	display: block;
	position: fixed;
	top: 2px;
	right: 12px !important;
	width: 44px;
	z-index: 10;
	padding: 8px 0 4px 5px;
	-webkit-user-select: none;
	user-select: none;
	background-color: #FFF;
}
	#menuToggle input {
		display: block;
		width: 44px;
		height: 44px;
		position: absolute;
		top: -7px;
		left: -5px;
		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(227,6,19);
		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;	}
	#menuToggle input:checked ~ span {
		opacity: 1;
		transform: rotate(405deg) translate(5px, 7px);
	}
	/*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;
	left: 0;
	right: 0;
	top: 0;
	padding: 24px;
	padding-top: 60px;
	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-color: rgb(255,243,215);
	border-bottom: 2px solid rgb(227,6,19);
	background-size: 500%;
	}
	#menuToggle input:checked ~ ul {
		transform: scale(1.0, 1.0);
		opacity: 1;
	}
}
/*  ////////////////////////////////////////////////////////////////////////////  */
@media only screen and (min-width: 760px){
.logo { width:120px; position:relative; } header { padding:0.5em 0;}
.bild .slide-one {	bottom:40px;}
.sticky header { position:fixed; padding-top:0; width:100%; box-shadow:0 0 100px rgba(0,0,0,0.5);} 
.sticky nav { margin-top:0.5em;} 
.sticky .logo, .sticky .sprachen { display:none;}
.sticky .vis { visibility:hidden !important;} .sticky .subnav:hover .vis { visibility:visible !important;} .sticky .vis a { box-shadow:0 0 30px rgba(0,0,0,0.3);}
.sticky .subnav ul { top:3em;bottom:auto;}
.sprachen { right:3vmax;}
/**/
#menuToggle input {
	display: none;
}
#menuToggle {
	margin: 0 auto;
	position: relative;
}
nav {
	text-align: center;
	margin: 0 1em;
	padding: 0;
	position: relative;
	line-height: 42px;
	z-index: 20;
}
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;
	font-size: 15px;
	display: block;
	margin: 0 0.25em;
	padding: 0 0.5em;
	color: rgb(51,51,51);
	text-decoration: none;
	border-bottom: 3px solid #fff;
	position: relative;
}
nav a.aktiv { border-color:rgb(243,146,0);}
nav a.aktiv:before { content:''; position:absolute; z-index:2; bottom:-3px; left:0; width:33%;	border-bottom:3px solid rgb(227,6,19);}
nav a.aktiv:after { content:''; position:absolute; z-index:2; bottom:-3px;right:0; width:33%;	border-bottom:3px solid rgb(255,204,0);}
nav a:hover {
	border-color: rgb(255,204,0);
	text-decoration: none;
}
/*------------------------------------------------------------------*/
.subnav {
	position: relative;
}
.subnav ul {
	margin: 0px;
	padding: 0px;
	visibility: hidden;
	display: block;
	position: absolute;
	left: 50%; margin-left:-6em;
	bottom:44px;
	font-size: 0.875em;
	width: 12em;
	z-index: -1;
	align-content:flex-end;
	line-height:24px;
}
.subnav ul.vis {
	visibility: visible;
	opacity: 1;
}
.subnav:hover .vis { opacity:1;}
.subnav ul li {
	display:inline-block; width:30%;
	position: relative;
	margin:0.125em;
}
.subnav ul li a {
	background-color: rgb(243,146,0);
	color: rgb(255,255,255);
	font-size: 14px;
	padding: 0 0.25em;
	border: 1px solid rgb(255,255,255);
}
.subnav ul li a:hover {
	background-color: rgb(255,204,0); border-color: rgb(255,204,0);
	color: rgb(77,77,80);
	text-decoration: none;
}
.subnav ul li a.aktiv {
	background-color: rgb(227,6,19); border-color: rgb(227,6,19);
	color: rgb(255,255,255);
	text-decoration: none;
}
.subnav ul li a.aktiv:before, .subnav ul li a.aktiv:after { display:none;}
.subnav:hover > ul {
	visibility: visible;
}
ul.vis { visibility:visible;}

}

@media only screen and (min-width: 800px){			
	.quicklink {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items:center;}
}
@media only screen and (min-width: 850px){
	.logo { position:absolute; top:3em;}
	nav ul { justify-content:flex-end;}
	nav { margin-top:88px;}
	}
@media only screen and (min-width: 940px){	
	.logo { position:absolute; width:200px; top:0;}	
	nav { margin:90px 0 0 220px;} 
	nav a { font-size:16px;} 
	.subnav a { font-size:15px;}
}

@media only screen and (min-width: 1200px){	
	nav { font-size:1.25em;}
	nav ul { justify-content:center;}
	.sticky .sprachen { display:block;}
	.sticky .logo { width:100px;}
}

/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*-----------------------------------------------------------------------*/
#totop {
	position: fixed;
	z-index: 150;
	right: calc(1vw + 1vh);
	bottom: calc(3vw + 3vh);
	text-decoration: none;
	opacity: 0;
	padding: 4px 8px;
	margin: 0;
	border-radius:50%;
	color: rgb(255,255,255);
	font-size: 10px;
	background-color:rgb(243,146,0);
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	box-shadow: 0 0 15px 0 rgb(243,146,0);
}
#totop:hover {
	color: rgb(243,146,0);
	background-color: rgb(255,255,255);
}
#totop.show {
	cursor: pointer;
	opacity: 1.0;
}
/*---------------------------------------------------------------------------------------*/
/* Feel free to change duration  */ 
.animated {
	-webkit-animation-duration : 1000 ms;
	animation-duration : 1000 ms;
	-webkit-animation-fill-mode : both;
	animation-fill-mode : both;
}
/* .owl-animated-out - only for current item */ 
/* This is very important class. Use z-index if you want move Out item above In item */ 
.owl-animated-out {
	z-index : 1
}
/* .owl-animated-in - only for upcoming item
/* This is very important class. Use z-index if you want move In item above Out item */ 
.owl-animated-in {
	z-index : 0
}
/* .fadeOut is style taken from Animation.css and this is how it looks in owl.carousel.css:  */ 
.fadeOut {
	-webkit-animation-name : fadeOut;
	animation-name : fadeOut;
}
@-webkit-keyframes fadeOut {
 0% {
 opacity : 1;
}
 100% {
 opacity : 0;
}
}
@keyframes fadeOut {
 0% {
 opacity : 1;
}
 100% {
 opacity : 0;
}
}
/* .fadeOut is style taken from Animation.css and this is how it looks in owl.carousel.css:  */ 
.fadeIn {
	-webkit-animation-name : fadeIn;
	animation-name : fadeIn;
}
@-webkit-keyframes fadeIn {
 0% {
 opacity : 0;
}
 100% {
 opacity : 1;
}
}
@keyframes fadeIn {
 0% {
 opacity : 0;
}
 100% {
 opacity : 1;
}
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.fadeInDown {
  animation-name: fadeInDown;
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

::-moz-selection {
background-color: #92D4F6;
}
::selection {
	background-color: #92D4F6;
}
/* { background-color:rgba(0,0,0,0.05);}*/
