/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'),
       url('fonts/lato-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/lato-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'),
       url('fonts/lato-v14-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/lato-v14-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'),
       url('fonts/lato-v14-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/lato-v14-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html {
	min-height: 100vh;
}

body {
	color: rgb(0, 0, 0);
	background-color: rgb(156, 183, 251);
	background-image: linear-gradient(145deg, rgba(255,255,255,0.59) 0%, rgba(255,255,255,0) 46em), url(gfx/hintergrund.jpg);
	background-repeat: no-repeat, repeat;
	font-family: "Lato","URW Gothic L",sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	font-size: 110%;

	margin: 0;
	padding: 0;
}

main, nav, footer, header, figure, figcaption { display: block; }

a:link { color: rgb(18, 48, 161); }
a:visited { color: rgb(80, 18, 161); }

a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
a:hover, a:active, a:focus {
	text-decoration: underline;
}

h1 { font-size: 200%; margin: 0.59em 0; }
h2 { font-size: 166.7%; margin: 0.7em 0; }
h3 { font-size: 133.3%; margin: 0.88em 0; }
h4 { font-size: 100%; margin: 1.17em 0; }
h5 { font-size: 87.3%; margin: 1.33em 0; }
h6 { font-size: 75%; margin: 1.56em 0; }
h1, h2, h3, h4, h5, h6, table caption, footer, nav {
	text-align: center;
	text-shadow: 0.25em 0.25em 0.5em rgba(0,0,0, 0.33);
	font-variant: small-caps;
}
p, ul, dl, address, table, form {
	text-shadow: 0.17em 0.17em 0.5em rgba(0,0,0, 0.14);
}
p { margin: 1.17em 0; }
ul {
	margin: 1.17em 0 1.17em 0;
	padding: 0;
	list-style-position: inside;
}

dl { margin: 1.17em 0; }
dl dt {
	margin: 0.67em 0 0.33em 0;
	font-weight: bold;
}
dl dd { margin: 0.33em 0 0.67em 0; }

address {
	margin: 1.17em 0;
	padding: 1em;
}
div, img, a {
	margin: 0;
	border-style: none;
	padding: 0;
}

table {
	text-align: center;
	border-collapse: collapse;
	margin: 1.17em auto;
	padding: 0;
}
table caption {
	text-align: center;
	font-size: 133.3%;
	font-weight: bold;
	margin: 0 auto 0.67em auto;
	padding: 0;
}
table th, table td {
	border: solid 1px black;
	padding: 0.33em 0.5em;
	text-align: right;
	vertical-align: middle;
}

figure { margin: 1.17em auto; }

#header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;

	margin: 29px 1em 35px 15.33em;
	padding: 0;
	text-align: center;
}

#header .logo {
	margin: 0;
	border-style: none;
	padding: 0;
}

#content {
	border-top: 1px solid rgba(210,210,210, 0.95);
	border-right: none;
	border-bottom: 1px solid rgba(180,180,180, 0.95);
	border-left: 1px solid rgba(210,210,210, 0.95);
	margin: 189px 0 1.67em 14.33em;
	padding: 0 1.17em 1.17em 1.17em;

	background-color: rgba(247,247,247, 0.95);

	text-align: center;
	overflow: auto;

	box-shadow: 0.33em 0.2em 0.72em rgba(0,0,0,0.69);
}

#content li { list-style-position: inside; }

#footer {
	margin: 0.67em 0.67em 0.67em 0.67em;
	font-size: 0.83em;
	text-align: right;
}


#menu {
	position: absolute;
	top: 189px;
	left: 0;
	bottom: 0;
	width: 13.17em;
	margin: 4em 0;
	padding: 0;
}

#menu ul {
	margin: 0;
	padding: 0;
	text-align: right;
	list-style-type: none;

	font-variant: small-caps;
	font-size: 113.3%;
	font-weight: 400;
}

#menu ul li, #menu ul li.current_menu_item {
	margin: 0.58em 0;
	border-top: 1px solid rgb(251,231,180);
	border-right: 1px solid rgb(181,157,123);
	border-bottom: 1px solid rgb(181,157,123);
}
#menu ul li {
	background-color: rgb(227, 196, 154);
	background-image: linear-gradient(rgb(245,227,203) 0%, rgb(227, 196, 154) 92%);
	padding: 0;
}
#menu ul li.current_menu_item {
	color: rgb(0, 0, 0);
	background-color: rgb(237, 219, 194);
	background-image: linear-gradient(rgb(242,234,220) 0%, rgb(237, 219, 194) 92%);
	padding: 0.25em 0.42em;
	font-weight: 700;
}

#menu a:link, #menu a:visited, #menu a:hover, #menu a:active, #menu a:focus {
	display: block;
	padding: 0.25em 0.42em;
	text-decoration: none;
}
#menu a:link {
	background-color: transparent;
	color: rgb(0,0,0);
}
#menu a:visited {
	background-color: transparent;
	color: rgb(30,30,30);
}
#menu a:hover, #menu A:active, #menu a:focus {
	background-color: rgb(237, 219, 194);
	background-image: linear-gradient(rgb(242,234,220) 0%, rgb(237, 219, 194) 92%);
}

#menu ul li {
	box-shadow: 0.33em 0.2em 0.72em rgba(0,0,0,0.69);
}

.navigation {
	text-align: right;
}


/* images */
	
.map {
	box-sizing: border-box;
	margin: 1.17em auto;
	text-align: center;
}
.map iframe {
	box-sizing: border-box;
	width: calc(100% - 2em);
	height: 76vh;
	max-height: 32em;
	margin: 0 1em;
}

.ecarf {
	float: right;
	margin: 0 0 0.67em 0.67em;
}

.gallery {
	margin: 1.17em 0;
}

.image {
	box-sizing: border-box;
	margin: 1.17em auto;
	text-align: center;
}

#header .logo, .image img {
	display: block;
	box-sizing: border-box;
	max-width: 100%;
	max-height: 76vh;
	width: auto;
	height: auto;
	margin: 0 auto;
}

.gallery .image {
	margin: 0.33em auto;
}

.gallery .image img {
	max-height: 64vh;
}

.image img, .galerie_view img, .thumbs img, .map iframe {
	box-shadow: 0.22em 0.13em 0.48em rgba(0,0,0,0.53);
}

.image img, .galerie_view img, .map iframe {
	padding: 2px;
	background-color: white;
	border: 1px solid rgb(211, 208, 211);
}

.thumbs {
	margin: 0.17em 0;
}
.thumbs img {
	vertical-align: middle;
	margin: 0.13em 0.13em;
	padding: 1px;
	background-color: white;
	border: 1px solid rgb(211, 208, 211);
}
.thumbs_footer {
	margin: 0.17em 0;
	font-size: 0.83em;
	font-variant: normal;
	font-style: italic;
}


/* content formatting */

#content .accommodation_list {
	overflow: hidden;
	margin: -1.17em 0 -0.33em 0;
}
#content .accommodation_list > ul, #content .accommodation_list > ul > li
{
	display: block;
	margin: 0.67em 0;
}
#content .vacancy_list > ul, #content .vacancy_list > ul > li
{
	display: block;
}

#content .accommodation_list h4,
#content .accommodation_list ul p,
#content .accommodation_list .vacancy_list ul {
	margin: 0.33em 0;
}
#content .accommodation_list .vacancy_list ul li {
	margin: 0;
}
#content .accommodation_list h5 {
	margin: 0.38em 0;
}

#content .rates { overflow: auto; }
#content .rates th, #content .rates td { width: 8em; }


/* forms */

.formitude_form, .formitude_entries {
	margin: 1.17em 0;
	text-align: left;
}

.formitude_error {
	color: rgb(240,18,16);
	font-weight: 700;
}
.formitude_status {
	text-align: center;
	font-weight: 700;
}

.formitude_form > div, .formitude_entries > div { margin: 0.33em 0; }

.formitude_label, .formitude_field, .formitude_error, .formitude_label_substitute
 {
 	box-sizing: border-box;
	vertical-align: middle;
	display: inline-block;
	border-style: none;
	padding: 0;
}
.formitude_label { width: 16.7%; }
.formitude_label_substitute { display: none; }
.formitude_field { width: 83.3%; }
.formitude_error { width: 100%; }
.formitude_action .formitude_field { width: 100%; text-align: center; }

.formitude_entries .formitude_value, .formitude_entries .formitude_value_null,
.formitude_field input, .formitude_field select, .formitude_field textarea {
	box-sizing: border-box;
	width: 100%;
	font: inherit;

	padding: 0.13em;

	color: black;
}
.formitude_entries .formitude_value, .formitude_field input, .formitude_field select, .formitude_field textarea {

	border-top: solid 1px rgb(167,167,167);
	border-right: solid 1px rgb(200,200,200);
	border-bottom: solid 1px rgb(200,200,200);
	border-left: solid 1px rgb(167,167,167);

	background-color: rgb(253,253,251);
}
.formitude_field button {
	box-sizing: border-box;
	vertical-align: middle;
	width: auto;
	font: inherit;
	border-width: 1px;

	padding: 0.13em 0.83em;

	color: black;
	background-color: rgb(228,228,228);
	background-image: linear-gradient(to bottom, rgb(238,238,238) 0%, rgb(190,190,190) 85%);
	text-align: center;
}

.formitude_check_box_list .formitude_field { text-align: left; }
.formitude_check_box_list .formitude_field input {
	margin: 0.08em 0.33em 0.08em 0;
	width: auto;
	font: inherit;
}

.formitude_label label {
	margin: 0 0.33em 0 0;
}


/* responsive */

@media (max-width: 58em) {
	body {
		background-image: linear-gradient(145deg, rgba(255,255,255,0.59) 0%, rgba(255,255,255,0) 14em), url(gfx/hintergrund.jpg);
		font-size: 106.7%;
	}

	#header {
		margin: 16px 0.17em 20px 0.5em;
	}
	#header .logo {
		width: 282px;
		height: 91px;
	}

	#content {
		margin: 127px 0 1.17em 0.33em;
		padding: 0 0.67em 1em 0.67em;
	}

	#menu {
		margin: 1.33em 0;
		padding: 0;
	}
	#menu li { display: block; }

	#menu {
		position: static;
		margin-right: 0;
		margin-left: 0.33em;
		width: auto;
	}
	#menu ul li, #menu ul li.current_menu_item {
		border-left: 1px solid rgb(251,231,180);
		border-right: none;
	}

	.formitude_label, .formitude_field { width: 100%; }
}
