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

/*! 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: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}

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: rgb(20,19,18);
	font: normal 16px/1.5em 'Noto Serif', serif;
}
table, td { border: 0;	margin: 0;	padding: 0;	vertical-align: top;	border-collapse: collapse;	border-spacing: 0;}
iframe, img { border: 0;	margin: 0;	padding: 0;}
img {
	display: inline-block;
	vertical-align: top;
}
a { color: inherit;	outline: 0;}
a:hover {
	color: rgb(247,166,0);
}
strong { font-weight:700;}
/*----------------------------------------------------------------*/
header, nav, main, footer, .content {
	position: relative;
	margin: 0 auto;
	
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
header {
	text-align: center;
	position: absolute;
	width: 100%;
	top: 49px;
	z-index: 50;
}
.logo {
	z-index: 1;
	position: relative;
	height: 138px;
	background: url(../images/bg-logo.png) no-repeat center top;
}
/*-------------------------------------------------------------------------------------*/
#header-image{
	display:block;
	height:56vw;
	max-height:660px;
	max-height: calc(100vh - 229px);
	min-height: 330px;
	position:relative;
	z-index:1;
}
#header-image img{
	max-width:100%;
	height:auto;
}
#header-image-pager {
	position: absolute;
	z-index:999;
	width:100%;
	bottom: 15px;
	text-align:center;
}
#header-image-pager a {
	background: #fff;
	border:2px solid #fff;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	margin: 0 3px;
	outline: 0;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	display: inline-block;
	-webkit-box-shadow: 1px 1px 5px 0px #333;
	-moz-box-shadow: 1px 1px 5px 0px #333;
	box-shadow: 1px 1px 5px 0px #333;
}

#header-image-pager a:hover,
#header-image-pager a.active {
	background: #9C1006;
}
.bild {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	overflow: hidden;
	max-height: 100vh;
}
.bild img {width:100%; height:auto;}
#eyecatcher{
	position:absolute;
	right:3%;
	top:40px;
	z-index:2;
}
#eyecatcher img{
	width: 158px;
    height: 146px;
}
/*-------------------------------------------------------------------------------------*/
.galerie {
	position: relative;
	background-color: rgb(247,166,0);
	width: 100%;
	top: 0px;
	padding: 1em;
}
.galerie:after { clear:both; content:'';}
.gallery {
	position: relative;
	margin: 0 auto;
	width: 100%;
	padding: 0 2.5em;
	max-width: 1200px;
}
.item img {
	width: 100%;
	height: auto;
	border: 4px solid rgb(247,166,0);
}
.item img:hover {
	border: 4px solid rgb(255,255,255);
}
.item img {
	display: block;
	width: 100%;
	height: auto;
}
.btn.prev1 {
	position: absolute;
	z-index: 50;
	left: 0px;
	top: 0;
	cursor: pointer;
}
.btn.next1 {
	position: absolute;
	z-index: 50;
	right: 0px;
	top: 0;
	cursor: pointer;
}
.customNavigation1 {
	text-align: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	margin-top: -12.5px;
	z-index: 150;
}
.customNavigation1 a {
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.owl-wrapper-outer {
	background: none !important;
}
/*----------------------------------------------------------------------------------*/
address { 	font-style: normal;}
.content {
	position: relative;
	width: 100%;
	padding: 1.25em;
	background-color: rgb(255,255,255);
	margin: 0 auto;
}
.content ul, .content li { padding-top:0; margin-top:0; padding-left:0.375em; margin-left:0.675em;} .list { list-style-image:url(../images/li.png);}

main {
	background: url(../images/bg-schwarzwald.png) no-repeat center bottom;
	background-size: contain;
	padding-bottom: 10vw; z-index:2;
}
footer {
	padding: 1em;
	margin: 0 auto;
	width: 100%;
	background: rgb(156,16,6);
	color: #fff;
}
/*-------------------------------------------------------------------*/	
footer a {
	text-decoration: none;}
.quicklink {
	list-style: none;
	padding: 2em 0 !important;
	margin: auto;
	width: 100%;
	display: flex; 	justify-content: space-between; flex-wrap:wrap;
}
.quicklink li {
	position: relative;
	margin:1.5em  0.5em;
	padding: 0.75em 0.5em 0;
	border-radius: 1em;
	color: rgb(60,60,59);
	text-align: center; flex: 1 1 175px; border:2px solid #ccc; border-radius:1.5em;
	background-color:#fff;
}
.quicklink h3 {
	color: rgb(156,16,6);
	font-size: 1.5em;
}
.quicklink img { margin-top:-48px; margin-bottom:1em;}
.quicklink a { text-decoration:none; display:block; width:100%;}
.flex-50:hover .quicklink li, .quicklink li:hover, .quicklink li.aktiv { color:#fff; background-color:rgb(156,16,6); border-color:rgb(156,16,6);}
.flex-50:hover .quicklink li h3, .flex-50:hover .quicklink li .rot, .quicklink li:hover a, .quicklink li:hover h3, .quicklink li.aktiv a, .quicklink li.aktiv h3, .quicklink li:hover .rot {	color: rgb(255,255,255);}
/*-------------------------------------------------------------------*/	
.preise td {
	padding: 0.5em;
	border: 1px solid #78A821;
	background-color: rgba(255,255,255,0.75);
}
.preise tr td:first-child { font-weight:700;}
.preise tr td:last-child { text-align:right;}
/*--------------------------------------------------*/

/*----------------------------------------------------------------*/
p, h1, h2, h3, h4, h5, h6 {
	margin: 0 auto 1em;
	font-weight: normal; line-height:1.25em;} 
h1, .h1 {
	font-size: 2em; line-height:1.25em;
	color: rgb(156,16,6);
}
h2 {
	font-size: 1.5em; line-height:1.25em;
}
h3 {
	font-size: 1.125em;
	font-weight: normal;
	color: rgb(156,16,6);
}
h4 {	font-size: 0.75em;	line-height: 1.5em;}
.rot {color: rgb(156,16,6);}
.links {	font-size: 0.75em;	color: #CEB8A2;}
/*----------------------------------------------------------------*/
.clear { 	clear: both;	line-height: 0;	height: 0;	overflow: hidden;	padding: 0;	margin: 0;}
.clear:after { 	content: "";	display: block;	clear: both;}
/*----------------------------------------------------------------*/
.trennlinie, hr {
	margin: 2em auto;
	width: 80%;
	overflow: hidden;
	clear: both;
	background: url(../images/hr.png) no-repeat center center;
	height: 1.5em;
	border: 0;
	display: block;
}
/*----------------------------------------------------------------*/
#formular { 	position: relative;	alignment-adjust: 0;	margin: 0;	padding: 0;}
form { 	margin: 0;	width: 100%;}
input, textarea {
	position: relative;
	border: 1px solid rgb(49,52,57);
	padding: 0 0.25em;
	color: rgb(102,102,102);
	height: 2em;
	background: rgb(252,252,252);
	font: inherit;
	border-radius: 0.25em;
	margin: 0 0.5em 0.5em 0;
	max-width: 95%;
	width: 95%;
}
.check {
	width: 1.5em;
	padding: 0;
	margin: 0 0.5em 0.5em 0;
	height: 1.5em;
	vertical-align: middle;
}
textarea {
	height: 14em;
}
input:focus, textarea:focus {
	border: 1px solid rgb(156,16,6);
	background: #fff;
	color: #333;
}
.send{
	border: 1px solid rgb(156,16,6);
	cursor: pointer;
	background-color: rgb(156,16,6);
	color: #FFFFFF;
	text-decoration: none;
	display: inline-block;
	-webkit-border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	border-radius: 5px 5px 5px 5px;
	padding: 0.5em 1.5em;
	height: 2em;
	padding: 0 3em;
	margin: 0 auto;
	font: italic 1.5em/2em 'Noto Serif', serif;
}
.send:hover{
	border: 1px solid rgb(60,60,60);
	background-color: rgb(112,117,123);
	color: rgb(255,255,255);
}
.send:hover, .send:focus {
	box-shadow: 0px 0px 6px #333 inset;
}
img.ui-datepicker-trigger {
	position: absolute;
	margin-top: 0.5em;
	margin-left: -2em;
	cursor: pointer;
	display: inline;
}
.pflicht {
	line-height: 15px;
	color: rgb(156,16,6);
	font-weight: 700;
}
label{
	display: inline-block;
	line-height: 32px;
    vertical-align: bottom;
}
.flex-container{
	display: flex;
}
.flex-container img{
	max-width:100%;
	height:auto !important;
}
.flex-wrap{
	flex-wrap: wrap;
}
.flex-center-x{
	justify-content: center;
}
.flex-center-y{
	align-items: center;
}
.left20{
	padding-left:20px;
}
.right20{
	padding-right:20px;
}
.flex-30{
	width:30%;
	max-width:30%;
	position:relative;
}
.flex-33{
	width:33.333%;
	max-width:33.333%;
	position:relative;
}
.flex-50{
	width:50%;
	max-width:50%;
	position:relative;
}
.flex-70{
	width:70%;
	max-width:70%;
	position:relative;
}
.flex-50 h1{
	color:#fff;
	text-transform:uppercase;
	margin:0;
}
.flex-container a{
	text-decoration:none;
}
.text-center{text-align:center;}
/*----------------------------------------------------------------------*/
@media only screen and (max-width:450px) {
	.logo img { height:60px !important;} 
	h1 { font-size:1.5em;}
	.galerie { padding:0.25em !important;} 
	.gallery { padding:0 !important;}
	.flex-70,.flex-50,.flex-33,.flex-30{
		width:100%;
		max-width:100%;
	}
	#eyecatcher{display:none;}
}
@media only screen and (max-width:699px) {
	header { top:0; background-color:#fff; position:relative;} .logo { height:auto !important; padding:0.5em; background-image:none;}
	.galerie  { padding:0.5em;} 
	.gallery { padding:0 1.5em;}
	nav { 	z-index: 100;}
	.sep { display:none;}
	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: 0;
		display: block;
		font-size: 1.25em;
		line-height: 2.5em;
		text-align: center;
		color: rgb(255,255,255); border:0; border-radius:0.25em;
	}
	nav a:hover, nav a:focus, nav .aktiv {
		background-color: rgb(255,255,255);
		color: #70706F;
	}
	nav .aktiv:focus {
		color: #000;
	}
	nav a img {
		display: none;
	}
	#menuToggle {
		display: block;
		position: fixed;
		border-radius:0.25em;
		top: 15px;
		right: 15px !important;
		width: 43px;
		z-index: 10;
		padding: 7px 0 3px 5px;
		-webkit-user-select: none;
		user-select: none;
		background-color: rgb(156,16,6);
		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; border-radius:2px;
		width: 33px;
		height: 4px;
		margin-bottom: 5px;
		position: relative;
		background-color: rgb(255,255,255);
		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;
		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);
		background-color: rgb(156,16,6);
		background-size: 500%;
	}
	#menuToggle input:checked ~ ul {
		transform: scale(1.0, 1.0);
		opacity: 1;
	}
	.flex-70,.flex-50,.flex-33,.flex-30{
		width:100%;
		max-width:100%;
	}
	#eyecatcher{display:none;}
}
@media only screen and (min-width: 700px) { 		
	.content {
	padding: 2em;
	border-radius: 1em;
	margin: auto;
	width: calc(100% - 3em);
	max-width: 980px;
	}
	.content .left {
	float: left;
	margin: 0 2% 2% 0;
	width: 47%;
	}
	nav input { display:none;}
	/*-------------------------------------------------------------------*/	
nav {
	z-index: 150;
	position: relative;
	position: fixed;
	width: 100%;
	text-align: center;
	background: rgb(255,255,255);
	height: 50px;
}
nav, nav ul, nav ul li {
	padding: 0;
	margin: 0;
	list-style: none;
	postition: relative;}
nav ul {
	max-width: 980px;
	margin: 0 auto;
	font-size: 1.25em;
	line-height: 2.5em;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
nav ul li {
	text-align: center;
	color: rgb(156,16,6);
	flex: 1 1 auto;
}
nav ul li a {
	text-decoration: none;
	padding: 0 0.4em;
	margin: 0em 0.125em;
	display: block;
	color: rgb(102,102,102);
	text-align: center;
	border-radius: 0.25em;
	text-transform: uppercase;
}
nav a:hover, nav a:focus, nav .aktiv {
	color: rgb(156,16,6);
	background: #FFF url(../images/bg-navi-aktiv.png) no-repeat center top;
}
	/*-------------------------------------------------------------------*/			
	input, textarea {
		width: 100%;
	}
	footer .left {
		float: left;
		margin-right: 3em;
		margin-bottom: 0px;
	}
	footer .left a { 	text-decoration: none;}
	footer .right {
		float: right;
		font-size: 0.8em;
		margin-bottom: 0px;
		text-align: center;
	}
}
/*------------------------------------------*-----------------------------------------------*/

@media only screen and (max-width: 985px) { 
nav ul { font-size:1em; line-height:50px;}
.logo { height:110px; background-position:bottom;} .logo img { height:90px; width:auto;}
.quicklink h3 {font-size:1.125em;}
}
@media only screen and (min-width: 1200px) { 
.quicklink {
	max-width: 1200px;
	} 
	
}
/*-----------------------------------------------------------------------*/
#totop {
	position: fixed;
	z-index: 150;
	right: calc(3vw + 3vh);
	bottom: calc(3vw + 3vh);
	text-decoration: none;
	visibility: hidden;
	opacity: 0;
	padding: 0;
	margin: 0;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
#totop { width: 50px; height: 50px;	}
#totop.show { visibility: visible; cursor: pointer;	opacity: 1.0;}
/*-----------------------------------------------------*/

/* { background-color:rgba(0,0,0,0.1);} */
