html,
body {
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body,
html {
	overflow-x: hidden;
}

html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

.scroll_down {
	padding-bottom: 34px;
	font-size: 0.58em;
	font-weight: 400;
	letter-spacing: 0.2em;
	background: url('img/scroll_icon.png') 50% 30px no-repeat;
	background-size: 17px;
	display: block;
	font-family: 'Times New Roman', Times, serif;
	position: absolute;
	bottom: 30px;
	margin: 0 auto;
	left: calc(50% - 50px);
	width: 130px;
	z-index: 99;
	color: #fff;
	text-align: center;
	cursor: pointer;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 568px) {
	.headlinec {
		width: 100%;
		padding: 0 25px 0 25px;
	}
	.index__content h2 {
		font-size: 35px;
	}
	.featured a {
		display: block;
	}
	.featured span {
		margin-bottom: 5px;
	}
	#menu ul {
		padding-top: 200px;
	}
}

@media screen and (max-width: 900px) {
	body.active {
		overflow: hidden;
	}
	.home #menu li a {
		color: #666;
	}
	#g_map {
		width: 100%;
	}
	.home .current_page_item a,
	.home #menu li a.active,
	.current_page_item a,
	#menu li a.active {
		color: #669999 !important;
	}
	.home .activelanguage {
		color: #666 !important;
	}
	.activelanguage {
		color: #666 !important;
	}
	.index__content {
		padding-left: 25px;
		padding-right: 25px;
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
	.content__item {
		width: 100%;
		display: block;
	}
	.index__content h2 {
		font-size: 45px;
	}
	#submenu {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		margin-left: 25px;
		margin-top: 15px;
	}
	#content {
		position: relative;
		left: auto;
		top: auto;
		padding-bottom: 70px;
		margin-bottom: 70px;
		width: 100%;
		padding-top: 35px;
	}
	#slideshow.pics {
		position: relative;
		width: 100%;
		height: auto;
		left: auto;
	}
	.kalender {
		width: 92%;
		margin-top: 0;
	}
	#slideshow img {
		width: 100%;
		height: auto;
	}
	#header {
		width: 100%;
		height: auto;
	}
	#prev2,
	#next2,
	#nav,
	#magic-line,
	#line,
	.featured {
		display: none !important;
	}
	#header {
		position: relative;
		left: auto;
		top: auto;
	}
	#text {
		width: 100%;
		position: relative;
		top: auto;
		left: auto;
		padding: 25px 25px 0 25px;
	}
	#submenu.kerning li a {
		letter-spacing: 0.1em;
	}
	#menu {
		position: absolute;
		left: 0;
		top: 0;
		background: #f8f8f8;
		height: 0;
		width: 100%;
		z-index: 102;
		transition: all 0.25s ease-in-out;
		overflow: hidden;
	}
	.header__outer {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 104;
		height: auto;
		width: 100%;
		background: #f8f8f8;
	}
	#menu.active {
		height: 100vh;
		transition: all 0.25s ease-in-out;
	}
	#menu ul {
		padding-top: 230px;
	}
	#menu ul li {
		display: block;
		text-align: right;
		color: #666 !important;
		font-family: 'Times New Roman', Times, serif;
	}
	#menu li a {
		font-weight: 400;
		font-size: 30px;
		line-height: 34px;
		letter-spacing: 0.25rem;
	}
	#booking_text {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	#booking_text div {
		width: 100%;
	}
	#booking_text img {
		width: 100%;
		height: auto;
	}
	#booking_text h1,
	#booking_text h2,
	#booking_text h3,
	#booking_text h4,
	#booking_text p,
	#booking_text > ul ul,
	#booking_text > a {
		padding: 0 25px 0 25px;
		width: auto;
	}
	#booking_text p + h1,
	#booking_text p + h2,
	#booking_text p + h3,
	#booking_text p + h4,
	#booking_text p + ul {
		padding-top: 8px;
	}
	.lightbox-opener {
		float: none;
		padding: 15px 25px 35px 25px;
		width: 100%;
		display: block;
	}
	.current_page_item a {
		color: #669999;
	}
	#switch {
		z-index: 104;
		font-size: 15px;
		top: 100px;
		right: 20px;
		display: none;
	}
	#switch.active {
		display: block;
	}
	#switch,
	#switch a {
		color: #669999;
	}
	#header img[src='img/logo.png'] {
		position: relative;
		top: 0px;
		left: 0px;
		z-index: 105;
		padding: 15px 28px 15px 25px;
	}
	.menu_btn {
		width: 36px;
		height: 25px;
		background: url('img/menu_icon.svg') no-repeat;
		background-size: 210%;
		display: block;
		position: absolute;
		top: 37px;
		right: 20px;
		z-index: 108;
		cursor: pointer;
	}
	.menu_btn.active {
		background: url('img/menu_icon.svg') -32px 0 no-repeat;
		background-size: 190%;
	}
	#description {
		position: relative;
		left: auto;
		top: auto;
		padding: 10px 15px 0 15px;
		text-align: right;
		width: 100%;
		display: block;
	}
	.cal_month ul li {
		width: 13.3% !important;
	}
	#cal_wrapper {
		margin-left: 10px !important;
		padding-right: 10px;
		width: 100%;
		margin-top: 10px !important;
	}
	#the_months {
		width: 100% !important;
	}
	#cal_controls {
		margin-right: 25px !important;
	}
	ul.bookingnav {
		position: relative;
		top: auto;
		right: auto;
		text-align: right;
		margin-right: 18px;
		padding-top: 35px;
	}
	ul.legende {
		position: relative;
		top: auto;
		left: auto;
		margin-left: 20px;
	}
	.cal_month .cal_title {
		margin-left: 15px !important;
	}
	.headlinec img {
		width: 100%;
		height: auto;
	}
	.text_only {
		margin-top: 0;
	}
	#impressum {
		left: 25px;
		position: relative;
		padding-bottom: 25px;
		bottom: auto;
	}
	.home #impressum {
		display: none;
	}
	.mobile_footer {
		margin: 50px 0 30px 0;
		color: #666;
	}
	.home .mobile_footer #impressum a {
		color: #666;
		padding-bottom: 0;
	}
	.mobile_footer #impressum,
	.mobile_footer .featured {
		display: block !important;
		position: relative;
		float: none;
		left: auto;
		right: auto;
		bottom: auto;
	}
	.home #switch {
		color: #666;
	}
	.mobile_footer .featured {
		padding-top: 25px;
	}
	.featured span {
		color: #666;
	}
	.scroll_down {
		left: calc(50% - 60px);
		font-size: 15px;
	}
	.gb-sammlung,
	.contact-welcome {
		width: 100%;
	}
	#contact-guestbook {
		margin-left: 25px;
		margin-right: 25px;
		margin-top: 25px;
	}
	#FSCForm2 {
		width: auto;
		padding: 0 25px 0 25px;
	}
	.lb-outerContainer {
		width: calc(100% - 25px) !important;
		height: auto !important;
		margin: 0 25px 0 25px;
	}
	#lightbox img {
		width: 100% !important;
		height: auto !important;
	}
}

#cal_wrapper:after,
#FSCForm2:after {
	content: ' ';
	display: table;
	clear: both;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
	#slideshow.cycle-slideshow {
		width: 680px;
		height: auto;
	}
	#slideshow.cycle-slideshow img {
		width: 100%;
		height: auto;
	}
	#booking_text {
		width: 680px;
	}
	#booking_text > img {
		max-width: 680px;
	}
	#prev2 {
		left: 555px;
		top: 320px;
	}
	#next2 {
		left: 625px;
		top: 320px;
	}
	#nav {
		top: 460px;
	}
	#description {
		top: 428px;
		left: 181px;
	}
	#text {
		top: 546px;
		width: 670px;
	}
	.gb-sammlung {
		width: 670px;
	}
	#g_map {
		width: 680px;
	}
}
