/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=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{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}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-cancel-button,[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}
/* merienda-regular - latin */
@font-face {
  font-family: 'Merienda';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/merienda-v12-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/merienda-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/merienda-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/merienda-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/merienda-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/merienda-v12-latin-regular.svg#Merienda') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v27-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v27-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v27-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v27-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v27-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v27-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v27-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/open-sans-v27-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v27-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v27-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v27-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v27-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/**/
html {overflow-y: scroll;height: 100%;-webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased;}
*, *:before, *:after { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
body {
	margin: 0;
	padding: 0;
	color: #111;
	height: 100%;
	font: normal 16px/21px 'Open Sans', sans-serif;
	background: rgb(73,107,51);
}
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: middle;
}
a {
	color: inherit;
	outline: none;
}
a:hover {
	color: rgb(13,104,157);
}
/*-------------------------------------------------------------------------------------------------------------------------*/
nav, .logo, header { transition: all 0.5s; -webkit-transition: all 0.5s;}
.container, .center, header, .bild, .content, footer, nav, section, main {
	position: relative;
	padding: 0;
	margin: 0 auto; height:auto;
}
main {
	background: url(../images/bg-footer.png) no-repeat right bottom;
	padding-bottom: 7em;
	background-color: #FFF;
}	
.logo {
	position: relative;
	margin: 0 auto;
	padding: 11px;
}
.is-sticky .logo { display:none;}
.bild {
	position: relative;
	text-align: center;
	margin: 0 auto;
	z-index: 1;
	overflow: hidden;
	height: 50vw;
	background: url(../images/loading.gif) no-repeat center center;
	top: 0px !important;
}
.bild img { height: auto; width: 100%;}
.left, .right, .content-left, .content-right {	position: relative; top:0; margin-bottom: 2em;}
.content { 	padding: 2em 1.5em;}
.content-right {
min-width:320px;
}
footer {
	text-align: left;
	width: 100%;
	position: relative;
	padding: 0.5em 1em;
	margin: 0 auto;
	background: rgb(73,107,51);
	color: #fff;
	font-size: 15px;
}
footer a { 	text-decoration: none; }
footer a:hover { text-decoration: underline; color: rgba(255,255,255,0.5);}
.deko {
	font-family: 'Merienda', cursiv;
	position: absolute;
	bottom: 0em;
	font-size: calc(0.75em + 1vmax);
	color: rgb(73,107,51);
	left: 1em;
	width: calc(100% - 230px);
}
.impressum { font-size: 0.8em;}
.content-right .text {
	box-shadow: 1px 1px 4px rgba(0,0,0,0.75);
	padding: 1em;
	border-radius: 2px;
	font-size: 15px;
	line-height: 18px;
	background: rgba(255,255,255,0.9) url(../images/bg-herz.png) no-repeat right bottom;
}
/*-------------------------------------------------------------------------------------------------------------------------*/
p, h1, h2, h3, h4, h5, h6, .content-left ul, .content-left li {
	margin: 0 0 1em 0;
	font-size: 1em;
	font-weight: normal;
}
h1 {
	font-size: 1.5em; font-size:calc(0.75em + 1.5vw);
	line-height: 1.5em;font-weight:700;
}
h2 {
	font-size: 1.25em; font-weight:700;
}
h3 {
	font-size: 1.125em; font-weight:700;
}
.preise td { padding:4px 8px; border:1px dotted #ccc;}
/*-------------------------------------------------------------------------------------------------------------------------*/
.clear {
	clear: both;
	line-height: 0px;
	height: 0px;
}
.clear:after {
	content: "";
	display: block;
	clear: both;
}
.image {
	border: 1px solid rgb(44,82,160);
}
.trennlinie, hr {
	height: 0px;
	line-height: 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #ccc;
	margin-bottom: 20px;
	border-top-style: none;
	border-right-style: none;
	border-left-style: none;
	margin-top: 20px;
}
/*-------------------------------------------------------------------------------------------------------------------------*/
#formular, form {
	position: relative;
	alignment-adjust: 0;
	margin: 0;
	padding: 0;
}
input, textarea, select {
	position: relative;
	border: 1px solid rgb(93,144,33);
	width: 100%;
	padding: 0 5px;
	color: #333;
	height: 35px;
	font: 700 16px/30px 'Open Sans', sans-serif;
	margin: 0 0 10px 0;
	border-radius: 5px;
}
textarea {
	height: 150px;
}
input:focus, textarea:focus, select:focus {
	border: 1px solid #B70E0C;
}
.check {
	width: 20px;
	padding: 0;
	margin: 0;
	height: 20px;
}
.send {
	font: 700 16px/30px 'Open Sans', sans-serif;
	margin: 0 auto;
	width: auto;
	cursor: pointer;
	padding: 0px 55px;
	background: rgb(93,144,33);
	border: 0;
	border-radius: 7px;
	color: #fff;
	height: 40px;
}
.send:hover, .send:focus {
	color: #fff;
	background: #F2B300;
}
img.ui-datepicker-trigger { position: relative; left: 95%; top: -40px;}
/*-------------------------------------------------------------------------------------------------------------------------*/
.galerie {
	position: relative;
	width: auto;
}
.galerie ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.galerie ul li {
	list-style: none;
	float: left;
	padding: 0 10px 7px 0;
	margin: 0;
	width: 25%;
	box-sizing: border-box;
}
.galerie ul li img, .galerie ul li a {
	border: 0;
	padding: 0;
	margin: 0;
	vertical-align: top;
}
.galerie ul li a {
	display: block;
}
.galerie ul li img {
	border: 2px solid #fff;
	width: 100%;
	height: auto;
}
.galerie ul li a img:hover {
	border-color: rgb(44,82,160);
}
/*-------------------------------------------------------------------------------------------------------------------------*/	
/*-------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 759px) {	
	.galerie li { width: 45%;}
	.logo img { width:150px; height:auto;  }
	.sticky-wrapper { height:0px !important;}
	.is-sticky .sticky { position:relative; width:100%; z-index:500;}
	.logo { position:absolute; z-index:150;}
	.content-right .text {
	background-color: #F7F3ED;
	margin: 1.5em;
}
	   /*---------------------------------------------------------------*/  
	nav, nav ul, nav ul li {
		padding: 0;
		margin: 0;
		list-style: none;
		postition: relative;
		z-index: 2;
	}
	.hid { display:none;}	
	nav ul li a {
		text-decoration: none;
		padding: 0;
		margin: 0;
		display: block;
		font-size: 1.2rem;
		line-height: 45px;
		color: #fff;
		text-align: center; border-radius:3px; font-weight:700;
	}
	nav a:hover, nav a:focus, nav .aktiv {
	color: rgb(10,105,158);
	background: rgb(255,255,255);
	}
	nav .aktiv:focus {
		color: #000;
	}	
	nav a img {
		display: none;
	}
   #menuToggle	{
	  display: block;
	  position: absolute;
	  top: 15px;
	  right:15px !important;
	  width:43px;
	  z-index: 1;
	  padding:7px 0 3px 5px;
	  -webkit-user-select: none;
	  user-select: none; 
	  background-color:#fff; 
	  border-radius:3px;
	  box-shadow:0 0 4px rgba(0,0,0,0.5);
	}
	#menuToggle input	{
	  display: block;
	  width: 43px;
	  height: 43px;
	  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: 33px;
	  height: 4px;
	  margin-bottom: 5px;
	  position: relative;	  
	  background-color: rgb(93,144,33); 
	  border-radius: 3px;	  
	  z-index: 3;	  
	  transform-origin: 4px 0px;	  
	  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 span:first-child	{
	  transform-origin: 0% 0%;
	}	
	#menuToggle span:nth-last-child(2)	{
	  transform-origin: 0% 100%;
	}	
	/* Transform all the slices of hamburger into a crossmark */
	#menuToggle input:checked ~ span	{
	  opacity: 1;
	  transform: rotate(45deg) translate(-2px, -1px);
	  background: #fff; 
	}	
	/*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(-45deg) translate(0, -1px);
	}	
	/*	 * Make this absolute positioned at the top right of the screen	 */
	#menu	{
	position: absolute;
	width: 250px;
	margin: -100px 0 0 -197px;
	padding: 20px;
	padding-top: 125px;
	background-color: rgb(10,105,158);
	list-style-type: none;
	-webkit-font-smoothing: antialiased;
	/* to stop flickering of text in safari */	  
	transform-origin: 0% 0%;
	transform: translate(-300%, 0);
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	}	
	#menuToggle input:checked ~ ul 	{
		transform: scale(1.0, 1.0);
		opacity: 1;
	}	
}
/*-------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 760px) {
	header {
		position: relative;
		margin: 0 auto;
		padding: 0;
		text-align: center;
		z-index: 150;
	}
	.logo {
		z-index: 2;
	}
	.content-right{
		position: sticky !important;
		top:80px;
	}

	.content {
padding:3em 2em;} 
	
	.content-left {
	float: left;
	width: calc(100% - 320px);
	}
	.content-right {
	float: right;
	right: 0px;
	background: url(../images/bg-right.png) no-repeat right top;
	width: 300px;
	height: 340px;
	position: relative;
	}	
	.content-right .text {
	position: absolute;
	right: 36px;
	top: 96px;
	width: 196px;
	height: 206px;
}
	.left {
	float: left;
	margin: 0 1% 1% 0;
	}
	.right {
		float: right;
		margin: 0 0 1em 2em;
	}
	img.right {
		height: auto;
		width: 38%;
	}
	.container {
	width: 100%;
	top: 0;
	z-index: 1;
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	background: url(../images/bg-navi.png) no-repeat center bottom;
	height: 250px;
}
		/*-------------------------------------------------------------------*/
	#menuToggle input { display:none;}
	#menuToggle  {
	margin: 0 auto;
	position: relative;
	padding: 0 15px;
}
	nav {
	padding: 0;
	}
	nav ul {
	list-style-type: none;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin: 0 auto;
	padding: 0;
	max-width: 820px;
	}
	nav li {
	text-align: center; flex: 1 1 auto; padding:0.25em;
	}
	nav li:nth-child(1), 	nav li:nth-child(2), 	nav li:nth-child(3), 	nav li:nth-child(4) {flex-basis:25%;}
	nav a {
	text-decoration: none;
	display: block;
	padding: 2px;
	margin: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 32px;
	color: #FFF;
	background-color: transparent;
	text-shadow: 0 0 3px rgba(0,0,0,0.5);
	text-transform: uppercase;
	}
	nav a:hover, nav a.aktiv {
	background-color: rgb(255,255,255);
	color: rgb(16,103,151);
	text-shadow: none;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	}
	
	.sticky-wrapper { height:0 !important;}
	.is-sticky .container { width: 100%; left:0; right:0; z-index:100; height:auto; padding-bottom:14px;}
	.is-sticky .logo img { width:140px; height:auto;  }
	/*------------------------------------------------------------*/
	.impressum { float:right;}
	/*---------------------------------------------------------*/
	form .left {
		width: 47%;
		margin-right: 2%;
	}
}
/*-------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {
	.deko { display:none;}
	.galerie ul li { width:50%;}
	}
@media only screen and (min-width: 760px) and (max-width: 980px) {
	
	.galerie ul li { width:50%;}
}
/*-------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 1050px) {
	.center {
		margin: 0 auto;
		z-index: 50;
		position: relative;
		padding: 0;
		box-sizing: border-box;
		max-width: 1200px;
	}
	.content-left {
	max-width: 720px;
	text-align: left;
	margin-left: calc(50% - 530px);
}

}
/*-------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 1200px) {
	.center {
		margin: 0 auto;
		z-index: 50;
		position: relative;
		padding: 0;
		box-sizing: border-box;
		max-width: 1400px;
	}
}
/*-------------------------------------------------------------------------------------------------------------------------*/
.btn.toTop {
	color: #fff;
	background: rgba(50,50,50,0.8);
	position: fixed;
	font-weight: bold;
	right: 1vw;
	bottom: 5vh;
	border: 1px solid #fff;
	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;
	padding: 10px 15px;
	z-index: 999;
	border-radius: 3px;
}
.btn.toTop:hover {
	border: 1px solid #fff;
}
.btn.toTop.show {
	visibility: visible;
	cursor: pointer;
	opacity: 1.0;
}
::-moz-selection { /* Code for Firefox */
 color: white;
 background: rgb(93,144,33);
}
::selection {
	color: #FFF;
	background: rgb(93,144,33);
}
