/* -----------------------------------------------------------------------------
This website is powered by indual
Copyright (c) 2005-2015 indual GmbH (www.indual.ch)
-------------------------------------------------------------------------------- */

/* ---------- Toggle ---------- */
a.navigation_toggle {
	display: none;
	width: 35px;
	height: 25px;
	position: absolute;
	z-index: 3400;
	padding: 0;
	top: auto;
	top: 106px;
	left: 20px;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-tap-highlight-color: transparent;
}
.navigation_toggle span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 1px;
	z-index: 3500;
	background: #fff;
	-webkit-transform: rotate(0);
	   -moz-transform: rotate(0);
	     -o-transform: rotate(0);
	        transform: rotate(0);
	-webkit-transition: -webkit-transform 0.3s, top 0.25s ease 0.25s, opacity 0.01s ease 0.25s;
	transition: transform 0.3s, top 0.25s ease 0.25s, opacity 0.01s ease 0.25s;
}
.navigation_toggle span:nth-child(2) {
	top: 10px;
}
.navigation_toggle span:nth-child(3) {
	top: 20px;
}
.navi_open .navigation_toggle span {
	top: 42.5%;
	-webkit-transition: top 0.25s, -webkit-transform 0.3s ease 0.25s, opacity 0.01s ease 0.25s;
	transition: top 0.25s, transform 0.3s ease 0.25s, opacity 0.01s ease 0.25s;
}
.navi_open .navigation_toggle span:first-child {
	opacity: 0;
}
.navi_open .navigation_toggle span:nth-child(2) {
	-webkit-transform: rotate(-45deg);
	   -moz-transform: rotate(-45deg);
	     -o-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
.navi_open .navigation_toggle span:nth-child(3) {
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
	        transform: rotate(45deg);
}


/* ---------- Media queries ---------- */


@media screen and (max-width: 1250px) {
	.main .right_part {
		left: 90%;
	}
	.main .left_part {
		right: 90%;
	}
	.logo {
		padding-left: 50px;
		padding-right: 50px;
	}
	.header_picture {
		min-height: 0;
	}
	.meta {
		padding: 7px 20px 7px 5px;
	}
}

@media screen and (max-width: 1182px) {
	.main .right_part {
		left: 82%;
	}
	.main .left_part {
		right: 82%;
	}
	.logo {
		padding-left: 30px;
		padding-right: 30px;
		width: 130px;
	}
}

@media screen and (max-width: 1180px) {
	form#quickbooking_form {
		padding: 20px 0 25px;
	}
	.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
		bottom: 97px;
	}
	#widget_booking_slider {
		top: -140px;
	}

}

@media screen and (max-width: 1111px) {
	.logo_slogan img {
		width: 75px;
	}
}

@media screen and (max-width: 1200px) {
	form#quickbooking_form {
		margin-left: -21px;
	}
	.best_price_wrap {
		margin-left: 21px;
	}
	form#quickbooking_form > p {
		width: 33.33% !important;
		padding-left: 21px !important;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		   	 -o-box-sizing: border-box;
		   		box-sizing: border-box;
	}
	form#quickbooking_form > p.button_wrap {
		width: 15%;
	}
	form#quickbooking_form > p + p + p ~ p {
		margin-top: 10px;
	}
	#bx-slider-wrap .bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
		display: none !important;
	}
	form.newsletter + p label,
	form.newsletter label {
		width: 28% !important;
	}
	p.newsletter_text {
		width: 55%;
	}
	.bx-wrapper #slide_text_container_wrap {
		transform: translateY(-25%);
	}
	.bx-wrapper .slide_text_container {
	    margin: 0 100px;
	    max-width: 1000px;
	    text-align: center;
	}
}

@media screen and (max-width: 1140px) {
	.footer_logos a {
		margin: 20px -2px 0;
		padding: 0 15px;
		box-sizing: border-box;
		width: 20%;
	}
	.footer_logos .inner a:first-child img,
	.footer_logos .inner a:first-child {
		vertical-align: top;
	}
	.footer_logos a img {
		width: 100%;
		height: auto;
	}
	.footer_logos a img + img {
		padding: 0 15px;
		width: 100%;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1045px) {
	.no_system_page .content > h1 {
		float: none;
		width: auto;
		margin-right: 0;
		margin-left: 0 !important;
		text-align: left;
	}
	div.introduction div,
	div.introduction p {
		text-align: left !important;
	}
	.portlets_left {
		float: none;
		width: auto;
		text-align: left;
		margin: 0 0 20px;
	}

	footer {
		position: relative;
		padding: 20px;
	}
	footer .copyright {
		margin-top: 20px;
	}
	footer .copyright a {
		white-space: nowrap;
	}
	.table_scroll {
		overflow-x: scroll;
	}
	div.content table {
		width: 1100px !important;
		float: left;
		position: relative;
	}
	div.content table tbody > tr:first-child > td:first-child:before {
		content: '';
		background: url('../img/touch-swipe.png') no-repeat;
		width: 32px;
		height: 32px;
		background-size: 100% 100%;
		display: block;
		float: left;
		margin-top: 6px;
		margin-right: 20px;
	}
	div.content table.price_table {
		width: 1150px !important;
	}
}

@media screen and (max-width: 1160px) {
	div.page,
	nav#rwdnav,
	div.page:after,
	header:after,
	.logo_slogan:after {
		-webkit-transition: all 0.25s ease-out;
		   -moz-transition: all 0.25s ease-out;
		     -o-transition: all 0.25s ease-out;
		        transition: all 0.25s ease-out;
	}
	nav.main,
	nav.meta {
		display: none;
	}
	a.navigation_toggle {
		display: block;
		top: 68px;
	}
	.contact_info {
		right: 20px;
	}

	.logo {
		position: static;
		display: block;
		margin: 0 auto;
		padding: 20px 0;
		-webkit-transform: translateX(0);
		   -moz-transform: translateX(0);
		     -o-transform: translateX(0);
		        transform: translateX(0);
	}

	nav#rwdnav {
		display: block;
		opacity: 1;
		visibility: hidden;
		position: fixed;
		top: 0;
		right: auto;
		left: 0;
		bottom: 0;
		width: 75%;
		z-index: 30;
		background: #fff;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		   	 -o-box-sizing: border-box;
		   		box-sizing: border-box;
		-webkit-transform: translate3d(-100%,0,0);
		   -moz-transform: translate3d(-100%,0,0);
		     -o-transform: translate3d(-100%,0,0);
		        transform: translate3d(-100%,0,0);
	}
	.navi_open #logo {
		pointer-events: none;
	}
	.navi_open div.page {
		-webkit-transform: translate3d(75%,0,0);
		   -moz-transform: translate3d(75%,0,0);
		     -o-transform: translate3d(75%,0,0);
		        transform: translate3d(75%,0,0);
	}
	div.page:after,
	header:after,
	.logo_slogan:after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		background: #000;
		opacity: 0;
		z-index: 20;
		visibility: hidden;
	}
	header:after {
		top: -10px;
	}
	.navi_open div.page:after,
	.navi_open header:after,
	.navi_open .logo_slogan:after {
		opacity: 0.8;
		visibility: visible;
	}
	.navi_open nav#rwdnav {
		opacity: 1;
		visibility: visible;
		-webkit-transform: translate3d(0,0,0);
		   -moz-transform: translate3d(0,0,0);
		     -o-transform: translate3d(0,0,0);
		        transform: translate3d(0,0,0);
	}
	#rwdnav > div:first-child {
		padding: 0;
	}
	#rwdnav > div:first-child + div {
		display: none;
	}
	#rwdnav ul ul {
		display: block;
	}
	#rwdnav ul,
	#rwdnav li {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	#rwdnav li a {
		font-size: 22px;
		line-height: 40px;
		text-decoration: none;
		color: #666;
		display: block;
		margin: 0 15px;
		text-transform: none;
		font-weight: bold;
	}
	#rwdnav ul li:first-child a {
		border-top: none;
	}
	#rwdnav li ul {
		margin: -3px 0 0 0;
		padding: 0;
	}
	#rwdnav .rwd_navigation > li {
		padding: 13px 0;
		margin: 0 20px;
		border-top: 1px solid #eee;
	}
	#rwdnav li li a {
		font-size: 17px;
		line-height: 24px;
		border: 0;
		padding: 5px 11px;
		box-shadow: none;
		text-transform: none;
		background: none;
		color: #666;
		font-weight: 400;
	}
	#rwdnav-1 > a,
	#rwdnav-15 {
		display: none !important;
	}
	#rwdnav-1 ul.level1 li a {
		padding-left: 0;
	}
	#rwdnav-1 ul.level1 {
		margin: 2px 0;
	}
	#rwdnav li.current {
		background: #fff;
	}
	#rwdnav li.current > a {
		color: #B3071B;
		font-weight: bold;
		border-top: 0;
	}
	#rwdnav li.current li a {
		color: #666;
	}
	#rwdnav li.current + li > a {
		border-top: 0;
	}
	#rwdnav li li.current {
		border: 0;
		box-shadow: none;
	}
	#rwdnav li li.current > a {
		color: #B3071B;
		font-weight: bold;
	}
	#rwdnav li ul.level2 {
		margin-left: 15px;
	}
	#rwdnav li.level1.current > ul.level2 li a{
		display: block;
	}
	#rwdnav li ul.level2 li a {
		font-size: 15px;
		line-height: 18px;
		display: none;
	}
	.scrolldown_arrow {
		display: none;
	}
}

@media screen and (max-width: 980px) {
	form#quickbooking_form {
		position: relative;
		z-index: 2; /* used in functions.js RWD */
	}
	form#quickbooking_form > p.booking_date {
		width: 18%;
	}
	form#quickbooking_form > p.select_field_adults {
		width: 19%;
	}
	form#quickbooking_form > p.select_field_children,
	form#quickbooking_form > p.button_wrap {
		width: 15%;
	}
	.content .search_item_wrap .resource_container {
		width: 35% !important;
	}
}

@media screen and (max-width: 945px) {
	.page .listing_entry .pictures,
	.page .overview_item .pictures {
		float: none;
		height: 0;
		padding-bottom: 58%;
		width: auto !important;
		margin: 0 0 35px;
	}
	.listing_entry .bx-wrapper,
	.overview_item .bx-wrapper {
		height: auto !important;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}
	.listing_entry .bx-viewport,
	.overview_item .bx-viewport {
		height: 100% !important;
	}
	.listing_entry.listing-even:after,
	.overview_item:nth-child(2n+1):after,
	.overview_item:after,
	.listing_entry.listing-odd:after {
		right: auto;
		left: -1000px;
	}
	.overview_item:after,
	.listing_entry.listing-even:after {
		left: auto;
		right: -1000px;
	}
	.overview_item .content {
		padding: 10px 20px 10px !important;
	}
	.listing_entry .listing_entry_text {
		padding: 10px 20px 30px !important;
	}
}

@media screen and (max-width: 900px) {
	.footer_logos a {
		width: 33.33%;
	}
}

@media screen and (max-width: 810px) {
	form#quickbooking_form {
		z-index: 4; /* used in functions.js RWD */
		margin-right: -10px;
		padding-right: 10px;
	}
	form#quickbooking_form > p {
		width: 50% !important;
	}
	form#quickbooking_form > p + p ~ p {
		margin-top: 10px;
	}
}

@media screen and (max-width: 800px) {
	.contentframe {
		padding: 50px 0;
	}
	.overview_item {
		margin: 50px 0 0;
	}
	.overview_item ~ .overview_item {
		margin: 60px 0 0;
	}
	h1 {
		padding: 0 0 5px;
	}
	.category_2 #listing_page_introduction {
		margin: 0 0 5px;
	}
	.listing_entry:first-child,
	.overview_item:first-child {
		margin-top: 50px;
	}
	form.newsletter + p label,
	form.newsletter label,
	p.newsletter_button,
	p.newsletter_input {
		clear: both;
		width: 100% !important;
	}
	p.newsletter_button {
		padding-left: 0;
		margin-top: 10px;
	}
	form.newsletter + p label {
		display: none;
	}
	form.newsletter input {
		width: 100% !important;
		margin-top: 6px;
	}
	.bx-wrapper .slide_text_container h2 {
		font-size: 30px;
		line-height: 35px;
	}
	.bx-wrapper .slide_text_container .slide_text a,
	.bx-wrapper .slide_text_container .slide_text {
		font-size: 18px;
		line-height: 25px;
	}
	.portlets_right {
		margin-top: 20px;
		width: 100%;
	}
	.portlets_right .portlet_listing {
		margin-top: 0; 
	}
	.portlets_right .bx-wrapper .bx-controls-direction a.bx-prev {
		left: -10px; 
	}
	.portlets_right .bx-wrapper .bx-controls-direction a.bx-next {
		right: -10px;
	}
	.resource_container.gallery {
		margin-bottom: 30px;
	}
	.resource_container.gallery .picture {
		width: 50%;
	}
	form#quickbooking_form .best_price .portlet strong {
		display: block;
		margin-left: -20px;
		margin-top: 4px;
	}
	form#quickbooking_form .button.best_price {
		display: block;
		height: auto;
		line-height: 20px;
		padding: 20px 0;
	}
	form#quickbooking_form .button.best_price strong {
		padding: 15px 0;
		margin: 20px 0 -20px;
	}
	form#quickbooking_form .button.best_price + .button.best_price {
		float: none;
		margin-top: -10px;
	}
	.mailform_element.checkbox_field p.p_one_liner {
		margin: 0;
	}
}

@media screen and (max-width: 725px) {
	.scrolldown_arrow {
		display: none !important;
	}
	#widget_booking {
		margin-left: 0;
	}
	.widget_booking {
		width: 100% !important;
		float: none;
		margin-bottom: 20px;
		padding-left: 0;
	}
}

@media screen and (max-width: 695px) {
	.contact_info_wrap {
		display: none;
	}
	.bx-wrapper .slide_text_container h2 {
		font-size: 26px;
		line-height: 30px;
	}
	.bx-wrapper .slide_text_container .slide_text a,
	.bx-wrapper .slide_text_container .slide_text {
		font-size: 17px;
		line-height: 25px;
	}
	.bx-wrapper .slide_text_container {
		margin: 0 50px;
	}
	#widget_booking_slider {
		display: none;
	}
	#icons_responsive {
	    display: block;
		position: absolute;
		right: 20px;
		bottom: 28px;
	}
	#icons_responsive .fa {
	    background: rgba(240,230,221,0.8);
		color: #c3071b !important;
		font-size: 18px;
		padding: 5px;
		border-radius: 100%;
		width: 18px;
		height: 18px;
		line-height: 18px;
		margin-left: 2px;
		text-align: center;
	}
	#icons_responsive .fa.fa-envelope {
		font-size: 15px;
		line-height: 18px;
	}
	#icons_responsive .fa:hover {
		background: #fff;
	}


}

@media screen and (max-width: 550px) {
	form#quickbooking_form > p {
		width: 100% !important;
	}
	form#quickbooking_form > p input {
		width: 100%;
	}
	form#quickbooking_form > p ~ p {
		margin-top: 10px;
	}

	footer .contact * {
		white-space: normal;
	}
	footer .contact .pipe {
		display: block;
		height: 0px;
		color: transparent;
		pointer-events: none;
	}
	.bx-wrapper #slide_text_container_wrap {
		transform: translateY(-28%);
	}
	.bx-wrapper .slide_text_container {
		margin: 0 20px;
	}
	.content .search_item_wrap .resource_container {
		width: 100% !important;
		margin: 0 0 20px 0;
	}
	.search_item_wrap a,
	.search_item_wrap .resource_container .picture a {
		clear: both;
	}
	.search_item_wrap .resource_container .picture {
		width: 100% !important;
	}
	.portlets_right .portlet_listing .portlet_inner {
		padding: 34px 0 30px;
	}
	.portlets_right .portlet {
		margin-bottom: 20px;
	}

	.footer_logos a {
		width: 50%;
	}
	#privacy_banner #privacy_banner_inner #privacy_description {
		padding-right: 0;
	}
	#privacy_banner #privacy_banner_inner .button {
		position: relative;
		top: auto;
		margin-top: 15px;
		right: auto;
		float: none;
		display: block;
		text-align: center;
	}
}

@media screen and (max-width: 520px) {
	.mailform_element label,
	#mailform_submit_button label,
	.login_form label {
		float: none;
		width: auto;
		display: block;
	}
	.mailform_element.checkbox_field p,
	form.newsletter input,
	.mailform_element input,
	.mailform_element textarea,
	.login_form input,
	.mailform_element.select_field select,
	input.mailform-submit.button,
	.login_form .button {
		width: 100% !important;
	}
	.page .listing_entry .pictures {
		padding-bottom: 80%;
	}
	#mailform_submit_button label,
	form.newsletter + p label,
	form.newsletter p:last-child label {
		display: none !important;
	}
}


@media screen and (max-width: 450px) {
	.logo {
		width: 120px;
		padding: 15px 0;
	}
	.bx-wrapper .bx-controls-direction {
		display: none;
	}
	.resource_container.gallery .picture {
		width: 100%;
	}
	#icons_responsive {
		bottom: 22px;
	}
	a.navigation_toggle {
		top: 60px;
	}

	.ems-wf-checkboxGroup label {
		font-size: 14px;
		top: -6px;
	}


}

/* ---------- Height ---------- */
@media screen and (max-width: 700px) and (max-height: 700px) {
	.booking_form {
		position: static !important;
		background: rgba(191,179,168,1);
	}
	.bx-wrapper .bx-controls-direction {
		display: none;
	}
}
@media screen and (max-width: 550px) {
	.bx-wrapper #slide_text_container_wrap {
		display: none;
	}
	.bx-wrapper .bx-controls-direction {
		display: none;
	}
}

@media screen and (max-width: 400px) {
	.footer_logos a {
		width: 90%;
	}
}
