

html, body { height:100%; padding:0; margin:0; font-family:"ff-netto-web",sans-serif; font-size:19px; line-height:1.3em; color:#000; }
body { margin-left:30px; margin-right:30px; }
img { border:0; }

/* input, select, textarea { -webkit-appearance:none; } */

a { color:#bd0e1c; text-decoration:none; border: solid transparent 1px;}
a:focus { border: solid #bd0e1c 1px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; outline: none;}
a:hover { text-decoration:underline; color: #000000; border: solid transparent 1px;}
a:active { font-weight:bold; border: solid transparent 1px;} 
a:visited { color:#bd0e1c; text-decoration:none;}
a:active:focus { border: solid transparent 1px; }

a.anchor {
	display: block;
}

.button,
.button:visited { display:inline-block; background-color:#fff; cursor:pointer; border:1px solid #bd0e1c; color:#000; margin:0; padding:5px; padding-top:12px; padding-left:30px; font-size:inherit; line-height:0.92em; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.button:hover,
.button:visited:hover { text-decoration:none; border-color:#000; color:#bd0e1c; margin-left:2px; }
/*
.button:active,
.button:active:hover*/
.button:hover,
.button:visited:hover { font-weight:bold; background-color:#bd0e1c; border-color:#bd0e1c; color:#fff; }
 
#buchen,
#buchen:visited  { font-weight:normal; background-color:#bd0e1c; border:1px solid #bd0e1c; color:#fff; position: fixed; top: 62px; right: -3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; cursor:pointer; padding:5px 12px; font-size:19px; line-height:0.92em; display:inline-block; text-decoration: none;} 
#buchen,
#buchen:visited {padding: 5px 10px;font-size: 16px;}
#buchen:hover,
#buchen:visited:hover  { background-color:#ffffff; color:#bd0e1c;  }

#newsletter_mi,
#newsletter_mi:visited  { font-weight:normal; background-color:#bd0e1c; border:1px solid #bd0e1c; color:#fff; position: fixed; top: 34px; right: -3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; cursor:pointer; padding:5px 10px; font-size:16px; line-height:0.92em; display:inline-block; text-decoration: none;} 
#newsletter_mi:hover,
#newsletter_mi:visited:hover  { background-color:#ffffff; color:#bd0e1c;  }
 
.fancybox-wrap {
  position: absolute;
  /* top: 140px !important; */

}  
.fancybox-close,
.fancybox-close:hover,
.fancybox-close:active,
.fancybox-close:focus,
.fancybox-close:visited,
.fancybox-close:active:focus {
	border: none;	
} 
 
div.table { display:table; position:relative; margin:auto; }
div.table .row { display:table-row; position:relative; }
div.table .row .cell { display:table-cell; position:relative; }
 
ul.nav { list-style:none; margin:0; padding:0; position:relative; display:block; line-height:1.3em; color:#000; }
ul.nav li { display:block; margin:0; padding:0; float:left; color:inherit; }
ul.nav li a { color:inherit; }
ul.nav li a:active, ul.nav li a:visited { font-weight:normal; color:inherit; }
ul.nav li a.active { font-weight:bold; }
ul.nav li a.active:hover { text-decoration:none; }
ul.nav li a.active,
ul.nav li a.active:active,
ul.nav li a.active:visited,
ul.nav li a:hover,
ul.nav li a:visited:hover { color:#bd0e1c; }

div.line { display:block; position:relative; border-bottom:1px solid #000; margin-bottom:70px; }
div.line div.logo { display:block; position:relative; margin:auto; width:141px; text-align:center; background-color:#fff; margin-bottom:-12px; }
#main div.line { margin-bottom:100px; }
#main div.line div.logo img { width:auto; }

#wrapper { position:relative; display:block; margin:auto; width:940px; }

#top { display:block; position:relative; overflow:hidden; }
#top a.logo-link { float: left; }
#top img.logo { display:block; float:left; margin-top:30px; margin-bottom:30px; z-index:200; }
#top div.navigation { margin-left:190px; position:relative; display:block; z-index:100; }
#top div.navigation ul.nav { position:absolute; top:0; left:0; width:100%; margin-top:65px; font-size:0.9em; }
#top div.navigation ul.nav.level2 { margin-top:37px; margin-bottom:30px; font-size:0.8em; color:#010101; }
#top div.navigation ul.nav li { margin-right:30px; }
#top div.navigation ul.nav.level2 li { margin-right:22px; }

#top div.navigation button#menu { display: none; }

#header { display:block; position:relative; overflow:hidden; margin-bottom:42px; }
#header div.box { position:absolute; top:0; left:0; z-index:100; width:40%; }
#header div.box div.content { position:relative; display:block; background-color:#fff; padding:20px; margin:20px; }
#header div.box div.content h1 { margin:0; font-size:1.7em; line-height:1.2em; font-weight:normal; }
#header div.box div.content div.space { margin:60px 0 30px 0; font-size:inherit; line-height:inherit; font-weight:normal; }
#header div.box div.content div.space p{ font-size:20px; }
#header div.box div.content p { margin:0; }
#header div.img { position:relative; display:block; z-index:80; }
#header div.img img { position:relative; display:block; width:100%; }
#header div.img img.slide { position:absolute; display:block; top:0; left:0; z-index:900; }
#header div.img img.slide.shown { z-index:990; }
#header div.img img.hidden { visibility:hidden; }

#main { display:block; position:relative; overflow:hidden; }
#main img { width:100%; }

#main > h2,
#main > h3,
#main > h4 { font-weight:bold; }
#main > h2,
#main .page > h2,
#main > h3,
#main .page > h3,
#main > h4,
#main .page > h4,
#main > p,
#main .page > p,
#main  > ul,
#main .page > ul{ display:block; position:relative; margin:0; margin-left:17%; margin-right:17%; }

#main > h1,
#main .page > h1,
#main > h2,
#main .page > h2,
#main > h4,
#main .page > h4 { color:#535353; font-size:inherit; line-height:inherit; }

#main > h1,
#main .page > h1,
#main > h2,
#main .page > h2 { text-align:center;  margin-bottom:27px; font-size:1.7em; line-height:1.2em; font-weight:normal; }
#main > h4,
#main .page > h4 { margin-bottom:0; }
#main > h3,
#main .page > h3 { font-size:inherit; line-height:inherit; /* font-weight:normal;  */}
#main > h3,
#main .page > h3 { margin-top:30px; margin-bottom:0px; }

#main > p,
#main .page > p  { margin-top:30px; margin-bottom:16px; }

#main > h3 + p,
#main .page > h3 + p  { margin-top:0px; margin-bottom:16px; }

#main > h3 + ul,
#main .page > h3 + ul { margin-top:26px; }

#main > h4 + p,
#main .page > h4 + p { margin-top:0; margin-bottom:26px; }
/* #main > p + p,
#main .page > p + p { margin-top:-1em; } */
#main > p a,
#main .page > p a,
#main .page > ul li a{ font-weight:normal; }

#main > div.iframe,
#main .page > div.iframe { position:relative; display:block; margin-bottom:26px; }
#main > div.iframe > img,
#main .page > div.iframe > img { display: none;}
#main > div.iframe > iframe,
#main .page > div.iframe > iframe { position:relative; }

#main ul {
	color: #000000; 	
	padding-left: 23px;
}

#main ul li {
 /*  list-style: none; */
	list-style-type: disc;
}
#main ul li:before { 
  /* content: '\25CF';   */
  display: block;
  position: relative;
  max-width: 0;
  max-height: 0;
  left: -20px;
  top: 0;
 /* color: #bd0e1c; */
  color: #000;	
  font-size: 20px;
}


#main .gallery { display:block; position:relative; margin-bottom:42px; }
#main .gallery .nav { position:absolute; top:50%; margin-top:-20px; left:-60px; height:40px; width:40px; background-position:top left; background-repeat:no-repeat; background-image:url(icon_arrow_left.png); text-indent:-9999px; overflow:hidden; }
#main .gallery .nav:hover { background-image:url('icon_arrow_left_active.png'); }
#main .gallery .nav.right { left:auto; right:-60px; background-image:url(icon_arrow_right.png); }
#main .gallery .nav.right:hover { background-image:url('icon_arrow_right_active.png'); }

#main .gallery .img { display:block; position:relative; margin-left:60px; margin-right:60px; }
#main .gallery .img img { position:relative; display:block; width:100%; }
#main .gallery .img img.slide { position:absolute; display:block; top:0; left:0; z-index:900; }
#main .gallery .img img.slide.shown { z-index:990; }
#main .gallery .img img.hidden { visibility:hidden; }
#main .gallery .caption p { margin:0; margin-top:20px; margin-left:17%; margin-right:17%; text-align:center; }

#main .block { position:relative; display:block; overflow:hidden; margin-top:60px; margin-bottom:60px; }
#main .block div.left,
#main .block div.right { display:block; position:relative; width:50%; float:left; }
#main .block div.right { float:right; }
#main .block div.left div.img,
#main .block div.left div.txt { margin-right:10px; }
#main .block div.left div.img { padding-top: 4px; }
#main .block div.right div.img,
#main .block div.right div.txt { margin-left:10px; }
#main .block h3,
#main .block .likeh3{ margin:0; font-size:inherit; font-weight: bold; line-height:inherit; color:#535353; }
#main .block p { margin-top:0; }

#main .grid { display:table; position:relative; width:100%; margin-bottom:-50px; }
#main .grid .row { display:table-row; position:relative; }
#main .grid .row .element { display:table-cell; position:relative; float:left; }
#main .grid .row.double .element { width:50%; }
#main .grid .row.double .element.one .content { margin-right:10px; }
#main .grid .row.double .element.two .content { margin-left:10px; }

#main .grid .element { padding-bottom:50px; }
#main .grid .element h3,
#main .grid .element .likeh3{ margin:0; font-size:inherit; font-weight: bold; line-height:inherit; color:#bd0e1c; margin-top:15px; }
#main .grid .element p { margin:0; }
#main .grid .element .button { margin-top:10px; }

#main form { margin:0; padding:0; }
#main form fieldset { margin:0; padding:0; border:0; }
#main form fieldset > div.input { display:block; position:relative; width:33.33%; float:left; margin-bottom:15px; /* overflow:hidden; */ }
#main form fieldset > div.input.three { float:right; }

#main form fieldset > div.input label { margin-right:10px; }
#main form fieldset > div.input.two label { margin-left:10px; margin-right:10px; }
#main form fieldset > div.input.three label { margin-left:10px; margin-right:0px; }

#main form fieldset > div.input div.field { display:block; margin:6px; margin-right:16px; height: 37px;}
#main form fieldset > div.input.two div.field { margin-left:16px; margin-right:16px; }
#main form fieldset > div.input.three div.field { margin-left:16px; margin-right:6px; }

#main form fieldset > div.input.multi > div.input { display:block; position:relative; margin:0; float:left; overflow:hidden; }
#main form fieldset > div.input.multi > div.input.one { width:25%; }
#main form fieldset > div.input.multi > div.input.three { width:75%; }

#main form fieldset > div.input.double { width: 66.66%; }

#main form fieldset > div.input label { display:block; }
#main form fieldset > div.input input,
#main form fieldset > div.input textarea { width:100%; border:1px solid #000; padding:5px; margin:-6px; font-family:inherit; font-size:inherit;  line-height: 30px;
	height: 30px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; outline:none; }
#main form fieldset > div.input select { 
	width: 103%; 
	border:1px solid #000;
	font-family:inherit; 
	font-size:inherit;
	-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
    line-height: 42px;
	height: 42px;
    margin: -6px;
    padding:0px 5px;
}
#main form fieldset > div.input label.with_checkbox{ display:inline-block;}
#main form fieldset > div.input input[type='checkbox']{ width:auto; border:medium none; padding:0px; margin:0px; font-family:inherit; font-size:inherit;  line-height: auto;
	height: auto; -webkit-border-radius: 0px; -moz-border-radius: 0px; border-radius: 0px; outline:none; }

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    /* Safari and Chrome */
    #main form fieldset > div.input select {
     line-height: 42px;
	height: 42px;
    }

    /* Safari only override */
    ::i-block-chrome,#main form fieldset > div.input select {
		line-height: 36px;
		height: 36px;
    }
}

#main form fieldset > div.input.error input,
#main form fieldset > div.input.error textarea,
#main form fieldset > div.input.error select  {
	border-color: #993399;
	background-color: #993399;
	color: #ffffff;
}

#main form  > div.error_table {	
	background-color: #993399;
	border:1px solid #b76ab7;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px; 
	border-radius: 3px; 
	outline:none;
	width: 358px;
	height: auto;
	padding: 10px;
	margin: 0 auto 30px;
	color: #ffffff;
	font-size: 20px;
	line-height: 24px;
}



#main form div.submit { display:block; margin-top:40px; text-align:center; }

#main .back { display:block; position:relative; margin-top:42px; margin-bottom:60px; text-align:center; text-decoration: none;}
#main .back a:hover { color:#000000; text-decoration: underline;}
#main .back a:visited { color:#bd0e1c; text-decoration: none;}

/* #main p a:visited {
	color: #000000;
	text-decoration: underline;
} */

#footer { display:block; position:relative; overflow:hidden; }

#footer div.left { display:block; position:relative; width:13%; margin-bottom:20px; float:left; overflow:hidden; text-align:left; padding-left: 20px; }
#footer div.center { display:block; position:relative; width:70%; margin-bottom:20px; float:left; overflow:hidden; text-align:center; }
#footer div.right { display:block; position:relative; width:14%; margin-bottom:20px; float:left; overflow:hidden; text-align:right; }

#footer div.left a.footer-logo { float: left; margin-top: 10px; }

#footer ul.nav { font-size:0.8em; margin-top:15px; color:#bd0e1c; }
#footer ul.nav li { margin-left:15px; margin-right:15px; }
#footer ul.nav li a.active,
#footer ul.nav li a.active:active,
#footer ul.nav li a.active:visited,
#footer ul.nav li a:hover,
#footer ul.nav li a:visited:hover { color:#000; }

#footer ul.nav.social { padding:0; margin:0; float:right; }
#footer ul.nav.social li { margin-left:10px; margin-right:0; }
#footer ul.nav.social li .button { padding:4px; width:25px; text-align:right; }
#footer ul.nav.social li .button:hover { background-color:#fff; margin-left:0; }
#footer ul.nav.social li img { height:20px; }
#footer img {
	width: auto;
}

h2.hd,
legend,
.aria-only {
	display: inline;
	left: - 1000px;
	overflow: hidden;
	width: 0px;
	position: absolute;
	top: -1000px;
	height : 0px;	
}
#accesskeys {
    display: inline;
    line-height: 0;
    list-style-type: none;
}
#accesskeys ul {
    list-style-type: none;
	margin: 0;
	padding: 0;
}
#accesskeys h2 {
    display: inline;
    height: 0;
    left: -1000px;
    overflow: hidden;
    position: absolute;
    top: -1000px;
    width: 0;
}
#accesskeys ul li a:link, #accesskeys ul li a:visited {
    display: inline;
    height: 0;
    left: -3000px;
    position: absolute;
    top: -2000px;
    width: 0;
    z-index: 200;
	border: none;
}
#accesskeys ul li a:active, #accesskeys ul li a:focus {
    background-color: #000000;
    color: #ffffff;
    display: block;
    font-size: 0.75em;
    height: auto;
    left: 0;
    line-height: 1.2em;
    padding: 5px 8px;
    position: absolute;
    text-decoration: none;
    top: 0;
    width: auto;
    z-index: 10000000;
}
div.error_alert {
    display: inline;
    height: 0;
    left: -1000px;
    overflow: hidden;
    position: absolute;
    top: -1000px;
    width: 0;
}


div.reservation {
	position: relative;	
	margin-bottom: 20px;
	
}

div.reservation div.img {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

div.reservation iframe {
	position: absolute;
	top: 25px;
	left: 2px;	
}

div.reservation iframe.tbooking-form {
	position: absolute;
	top: 10px;
	left: 2px;	
}
div.reservation a.click {
	position: absolute;
	bottom: 43px;
	right: 37px;	
}



@media only screen and (min-width: 0px) {
	#wrapper { width:100%; max-width:940px; }
}
@media only screen and (min-width: 0px) and (max-width: 1280px) {
	div.reservation div.img img {
		display:none;
	}
}
@media only screen and (min-width: 1100px) {
	html, body { font-size:22px; } 
	#wrapper { max-width:1200px; }
	
}

@media only screen and (max-width: 1100px) {	
	#footer img.logo { margin-top:5px; }
	
	#top div.navigation ul.nav { margin-top:34px; }
	#top div.navigation ul.nav.level2 { margin-top:50px; }
}
@media only screen and (min-width: 0px) and (max-width: 899px) {

	#header div.box div.content h1 { font-size: 1.4em; line-height: 1em; }
	#header div.box div.content .space { margin: 10% 0; }
}

@media only screen and (min-width: 0px) and (max-width: 779px) {
	#header div.box { width:60%; }
	
	#footer div.left { padding-left: 0; }
	
	#footer div.left,
	#footer div.center,
	#footer div.right { width:auto; text-align:center; float:none; }
	#footer div.center ul.nav,
	#footer div.right ul.nav { float:none; margin:auto; }
	#footer div.right ul.nav.social li { /* width:50%; margin:0; text-align:right; */ width:100%; margin:0; text-align:center; }
	#footer div.right ul.nav.social li.two { text-align:left; }
	#footer div.right ul.nav.social li a { margin-left:10px; margin-right:10px; }	
	
	#footer div.left a.footer-logo {  float: none; }
	
}

@media only screen and (min-width: 0px) and (max-width: 767px) {
	div.reservation {
		display: none;
	}	
	
	#header div.box div.content h1{
		font-size:1.2em;
	}
}
@media only screen and (min-width: 0px) and (max-width: 639px) {
	#top a.logo-link { float: none; display: inline-block; width: 100%; }
	#top img.logo { float:none; margin:auto; margin-top:30px; margin-bottom:30px; }
	#top div.navigation { position:absolute; cursor:pointer; margin:0; top:20px; left:0; width:36px; height:26px; z-index:7000; border:1px solid #000; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }
	#top div.navigation:hover { border-color:#bd0e1c; }
	#top div.navigation ul.nav { display:none; }
	
	#top div.navigation.open { cursor:auto; position:fixed; top:0; left:0; width:50%; height:100%; font-size:1.2em; border:0; -webkit-border-radius:0; -moz-border-radius:0; border-radius:0; background-color:#fff; background-image:url(icon_close.png); background-position:top right; background-repeat: no-repeat; }
	#top div.navigation.open ul.nav,
	#top div.navigation.open ul.nav.level2 { display:block; position:relative; top:auto; left:auto; width:auto; padding:0; margin:20px; }
	#top div.navigation.open ul.nav.level2 { margin:0; margin-left:15px; margin-bottom:10px; margin-top:10px; }
	#top div.navigation.open ul.nav li { margin:0; float:none; margin-bottom:10px; }
	#top div.navigation.open div.overlay { position:absolute; top:0; left:100%; width:100%; height:100%; background-color:#fff; opacity:0.3; filter:alpha(opacity=30); }
	
	#top div.navigation button#menu {
		padding: 0;
		margin: 0;
		background: none;
		cursor: pointer;
		border: 0;
		width: 36px;
		height: 26px;
		display: block;
	}
	#top div.navigation.open button#menu {
		display: none;		
	}
	
	#header div.box { width:75%; }
	
	#main form fieldset > div.input.multi > div.input.one { width:33.33%; }
	#main form fieldset > div.input.multi > div.input.three { width:66.67%; }
	
	#footer div.center ul.nav li { float:none; }
	#footer div.right ul.nav.social li a { margin-left:5px; margin-right:5px; }
	
	#main > div.iframe > img,
	#main .page > div.iframe > img { width:100%; display: block;}
	
	#main > div.iframe > iframe,
	#main .page > div.iframe > iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
	
	#buchen,
	#buchen:visited,
	#newsletter_mi,
	#newsletter_mi:visited	{
		position: relative;
		width: auto !important;
		padding: 5px 10px !important;
		top:0px !important;
	}
}

@media only screen and (min-width: 0px) and (max-width: 599px) {
	#header div.box { position:relative; top:auto; left:auto; width:auto; }
	#header div.box div.content { margin:0; padding:0; margin-top:20px; }
	#header div.box div.content div.space { margin-top:0px; }
	
	#main > h2,
	#main > h3,
	#main > h4,
	#main > p,
	#main > ul,
	#main .page > h2,
	#main .page > h3,
	#main .page > h4,
	#main .page > p,
	#main .page > ul { margin-left:5%; margin-right:5%; }
	#main .gallery .caption p  { margin-left:60px; margin-right:60px; }
}

@media only screen and (min-width: 0px) and (max-width: 579px) {
	#main .grid { display:block; margin:0; }
	#main .grid .row,
	#main .grid .row .element,
	#main .grid .row.double .element { display:block; float:none; width:auto; }
	#main .grid .row.double .element.one .content,
	#main .grid .row.double .element.two .content { margin:0px; }
	
	#main form fieldset > div.input.multi > div.input.one { width:50%; }
	#main form fieldset > div.input.multi > div.input.three { width:50%; }
	
	#main .block div.left,
	#main .block div.right { width:auto; float:none; }
	#main .block div.left div.img,
	#main .block div.left div.txt,
	#main .block div.right div.img,
	#main .block div.right div.txt { margin:0; }
	#main .block div.left div.img,
	#main .block div.right div.img { margin-bottom:1em; }
	
	
	/* div.reservation iframe.tbooking-form {
		position: relative;
		width: 100%;
	}
	div.reservation div.img {
		display: none;
	}
	div.reservation a.click {
		visibility: hidden;
	}
	div.reservation a.click img {
		height: 2px;
	}
	 */
	 	 
}

@media only screen and (min-width: 0px) and (max-width: 459px) {
	body { margin-left:20px; margin-right:20px; }
	
	top div.navigation.open { width:70%; }
	
	#main form fieldset > div.input,
	#main form fieldset > div.input.three { width:auto; float:none; }
	#main form fieldset > div.input label,
	#main form fieldset > div.input.two label,
	#main form fieldset > div.input.three label { margin:0; }
	#main form fieldset > div.input div.field,
	#main form fieldset > div.input.two div.field,
	#main form fieldset > div.input.three div.field { margin:6px; }
	
	#main form fieldset > div.input.multi div.one div.field { display:block; margin-right:11px; }
	#main form fieldset > div.input.multi div.three label { margin-left:5px; }
	#main form fieldset > div.input.multi div.three div.field { display:block; margin-left:11px; }
	
	#footer div.line { margin-bottom:40px; }
}

@media only screen and (min-width: 0px) and (max-width: 359px) {
	#top div.navigation.open { width:75%; }
}