/**********************************************************************************
* phpComasy Web Content Management System                                         *
* http://www.phpcomasy.com                                                        *
*                                                                                 *
* Copyright (c) 2005 - 2010 indual GmbH (http://www.indual.ch)                    *
*                                                                                 *
* phpComasy is released under his own licence (http://www.phpcomasy.com/licence)  *
**********************************************************************************/

/* FORMS ----------------------------------------------------------------------- */
input,
textarea,
select {
	color: #666;
	background: #fcfcfc;
	border: 2px solid #f1f1f1;
	font: 400 18px/28px 'Frutiger', Arial, Helvetica, sans-serif;
	padding: 4px 15px 3px;
	border-radius: 0;
	outline: none;
	-webkit-transition: all 0.3s ease-out;
	   -moz-transition: all 0.3s ease-out;
	     -o-transition: all 0.3s ease-out;
	        transition: all 0.3s ease-out;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	   		box-sizing: border-box;
}
div#ems-wf-dest select,
div#ems-wf-dest input {
	border: 2px solid #f1f1f1 !important;
	font: 400 18px/28px 'Frutiger', Arial, Helvetica, sans-serif !important;
	padding: 6px 15px 5px !important;
}
div#ems-wf-dest select {
	-webkit-appearance: none;
}
div#ems-wf-dest select {
	height: 43px;
}
div#ems-wf-dest .ems-wf-inputElement {
	border: 0 !important;
}
.management input,
.management textarea,
.management select {
	font-size: 14px;
}
textarea {
	overflow: auto;
	-webkit-transition: border-color 0.3s ease-out, background 0.3s ease-out;
	   -moz-transition: border-color 0.3s ease-out, background 0.3s ease-out;
	     -o-transition: border-color 0.3s ease-out, background 0.3s ease-out;
	        transition: border-color 0.3s ease-out, background 0.3s ease-out;
}
input:hover,
input:focus,
input:active,
select:hover,
select:focus,
select:active,
textarea:hover,
textarea:focus,
textarea:active {
	color: #b3071b;
	background: #fffefe;
	border: 2px solid #b3071b;
}
div#ems-wf-dest select:hover,
div#ems-wf-dest select:focus,
div#ems-wf-dest select:active,
div#ems-wf-dest input:hover,
div#ems-wf-dest input:focus,
div#ems-wf-dest input:active {
	background: #fffefe;
	border: 2px solid #b3071b !important;
	color: #b3071b !important;
}
label {
	line-height: 28px;
}
.select_icon {
	position: absolute;
    left: 92%;
    top: 57%;
}
.ems-wf-inputElement.ems-wf-twoColumn {
	position: relative;
}
.mailform_element input,
.mailform_element textarea,
.login_form input {
	max-width: 100%;
}
.ems-wf-checkboxGroup input {
	margin-right: 10px;
	float: left;
	margin-bottom: 20px;
}
.ems-wf-checkboxGroup label {
	position: relative;
	top: -5px;
}
/*.mailform_element .chosen-container {
	margin-top: 4px;
}
.chosen-container-single .chosen-single {
	font-size: 18px;
	line-height: 34px;
	height: 34px;
}
.chosen-container .chosen-results li {
	font-size: 18px;
	line-height: 34px;
}
.chosen-container-single .chosen-single div b {
	margin-top: 9%;
	height: 91%;
}

.mailform_element .chosen-container-single .chosen-single {
	height: 37px;
	font-size: 20px;
	line-height: 36px;
	background: #fff;
	border: 2px solid #f1f1f1;
	border-radius: 0;
	box-shadow: none;
}
.chosen-container-single .chosen-single div b {
	width: 10px;
}
.chosen-container-single .chosen-single div {
	padding-top: 6px;
}
.mailform_element .chosen-container-single.chosen-container-active .chosen-single {
	border: 2px solid #B3071B;
}
.chosen-container .chosen-drop {
	border-radius: 0;
	border: 2px solid #B3071B;
	border-top: none;
	font-size: 17px;
}
.chosen-container .chosen-drop li:before {
	display: none !important;
}
.chosen-container .chosen-results {
	margin: 0;
	padding: 0;
	margin-top: -1px !important;
    border-top: 1px solid #fff;
}
.chosen-container .chosen-results li {
	padding: 5px 10px;
}
.chosen-container .chosen-results li.highlighted {
	background: #B3071B !important;
}*/
p.newsletter_button,
p.newsletter_input {
	float: left;
	width: 50%;
}
p.newsletter_input {
	width: 55%;
	margin-bottom: 3px;
}
p.newsletter_button {
	box-sizing: border-box;
	padding-left: 10px;
	width: 30%;
}
p.newsletter_button label {
	display: none;
}
p.newsletter_text {
    clear: both;
}
form.newsletter p input.button {
	margin-bottom: 8px;
	padding: 1px 20px 0 !important;
	line-height: 38px !important;
}
form.newsletter input {
	width: 72% !important;
	transition: none !important;
}
form.newsletter input.button {
	width: auto !important;
}
a.powered_by {
	font-size: 12px !important;
}
.mailform_element.checkbox_field p.p_one_liner {
	width: 100%;
	margin: 0 0 0 210px;
	float: none;
}

/* ---------- Buttons ---------- */
a.button {
	display: block;
}
div#ems-wf-dest button,
a.button,
input.button,
#portlets_homepage a.portlet_content_link,
#portlets_homepage a.portlet-listing-more,
.content a.content_button,
.login_form input.button {
	float: none;
	display: inline-block;
	color: #fff;
	background: #b3071b none;
	font-size: 18px;
	line-height: 28px;
	font-weight: 400;
	margin: 15px 0 0 0;
	padding: 12px 24px;
	border: 0;
	white-space: nowrap;
	text-transform: uppercase;
	cursor: pointer;
	overflow: visible;
	text-decoration: none !important;
	text-shadow: none;

	-webkit-appearance: none;

	-webkit-transition: all 0.2s ease-out;
	   -moz-transition: all 0.2s ease-out;
	     -o-transition: all 0.2s ease-out;
	        transition: all 0.2s ease-out;

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	   	 -o-box-sizing: border-box;
	   		box-sizing: border-box;
}
div#ems-wf-dest button {
	margin: 0;
	padding: 7px 12px;
}
div#ems-wf-dest button:hover,
div#ems-wf-dest button:focus,
div#ems-wf-dest button:active,
a.button:hover,
a.button:focus,
a.button:active,
input.button:hover,
input.button:focus,
input.button:active,
.content a.content_button:hover,
.content a.content_button:focus,
.content a.content_button:active,
.login_form input.button:hover,
.login_form input.button:focus,
.login_form input.button:active {
	background-color: #4f010a;
	color: #fff;
}
.newsletter .button:hover,
.newsletter .button:focus,
.newsletter .button:active {
	background-color: #5a000a;
}

.newsletter_button .button {
	margin-top: 0;
}

::-webkit-input-placeholder {
	color: #dadada;
}
:-moz-placeholder {
	color: #dadada;
}
::-moz-placeholder {
	color: #dadada;
}
:-ms-input-placeholder {
	color: #dadada;
}

/* ---------- Additional stuff ---------- */
div.documents div.document {
	float: none;
	margin: 0 0 5px;
}
div.documents div.document a {
	text-decoration: none !important;
	text-transform: none;
}
.required,
.mailform_error label {
	color: #b3071b !important;
}

/* ---------- Mailform / Login ---------- */
.mailform_element label,
#mailform_submit_button label,
.login_form label,
.mod_creditcard_transfer .content label {
	float: left;
	width: 30%;
	padding-top: 3px;
}
.mod_creditcard_transfer .content label {
	width: 210px;
}
.mailform_element input,
.mailform_element textarea,
.login_form input,
.mailform_element.select_field select,
input.mailform-submit.button,
.login_form .button {
	width: 68%;
	max-width: 100%;
}
.login_form label {
	width: 190px;
}
.login_form input,
.mailform_element.select_field select {
	width: auto;
}
.mailform_elements_part input,
.mailform_elements_part .chosen-container,
.mailform_elements_part textarea,
.mailform_elements_part .mailform_element.select_field select {
	max-width: 330px;
	width: 100%;
}

input.mailform-submit.button,
.login_form .button {
	width: auto;
	padding: 5px 15px;
	margin-top: 10px;
}
.mailform_element input[type="checkbox"],
.mailform_element input[type="radio"] {
	width: auto;
	margin: 14px 8px 0 0;
}
.chosen-container {
	max-width: 100%;
}
.mailform_element textarea {
	height: 150px;
}
.helptext span {
	font-size: 12px;
}

.mailform_error label,
.required {
	color: #2001a !important;
	font-weight: 600;
}
.login_form p,
.mailform_element p {
	margin: 0 0 13px 0;
}

.mailform_elements_part {
	float: left;
	width: 50%;
}
.logged_in .mailform_elements_part {
	float: none;
	width: auto;
}
.mailform_elements_part .mailform_element ~ .mailform_element {
	margin-top: 15px;
}

.mailform_elements_part.breit_wrap label {
	float: none;
	width: auto;
	display: block;
	padding-right: 60px;
	max-width: 500px;
}
.mailform_elements_part.breit_wrap .helptext {
	position: relative;
	left: -34px;
	top: -1px;
}
.mailform_elements_part.breit_wrap .helptext > span {
	background: #999;
	border-color: #999;
}

/* --- checkboxes --- */

.mailform_element.checkbox_field {
	position: relative;
}
.mailform_element.checkbox_field p {
	width: 70%;
	float: right;
	position: relative;
}
.mailform_element.checkbox_field input {
	width: 20px !important;
	height: 20px;
	float: left;
	margin: 3px 10px 0 0;
	opacity: 0;
	position: relative;
	cursor: pointer;
	z-index: 10;
}
.mailform_element.checkbox_field label {
	width: auto;
	float: none;
	overflow: hidden;
	cursor: pointer;
	display: block;
	padding: 0;
}
.mailform_element.checkbox_field label:after,
.mailform_element.checkbox_field label:before {
	content: '\f0c8';
	position: absolute;
	top: 2px;
	left: 1px;
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 20px;
	pointer-events: none;
	color: #ddd;
	font-family: 'Font Awesome\ 5 Pro';
	font-weight: 400;
	z-index: 2;
	-webkit-transition: all 0.3s ease-out;
	   -moz-transition: all 0.3s ease-out;
	     -o-transition: all 0.3s ease-out;
	        transition: all 0.3s ease-out;
}
.mailform_element.checkbox_field label:after {
	content: '\f14a';
	font-family: 'Font Awesome\ 5 Pro';
	opacity: 0;
	visibility: hidden;
	font-weight: 700;
	color: #b3071b;
	z-index: 4;
}
.mailform_element.checkbox_field input:checked + label:before {
	color: #b3071b;
}
.mailform_element.checkbox_field input:checked + label:after {
	opacity: 1;
	visibility: visible;
}

/* --- select 2 --- */

.mailform_element .select2-container {
	width: auto !important;
}
.select2-container--default .select2-selection--single {
	border-radius: 0;
	width: 100%;
	background: #fcfcfc;
	border: 2px solid #f1f1f1;
	height: auto;
	box-sizing: border-box;
	-webkit-transition: border 0.25s ease-out;
	   -moz-transition: border 0.25s ease-out;
	     -o-transition: border 0.25s ease-out;
		 	transition: border 0.25s ease-out;
}
.select2-container .select2-selection--single .select2-selection__rendered {
	font: 400 18px/28px 'Frutiger', Arial, Helvetica, sans-serif;
	color: #666;
	padding: 4px 15px 3px;
	outline: none;
	box-sizing: border-box;
	display: block;
	background: #fcfcfc;
	-webkit-transition: color 0.25s ease-out;
	   -moz-transition: color 0.25s ease-out;
	     -o-transition: color 0.25s ease-out;
		 	transition: color 0.25s ease-out;
}
.select2-container--open .select2-dropdown {
	border: 0;
}
.select2-container--open .select2-dropdown ul {
	border: 2px solid #b3071b;
	border-radius: 0;
	border-top: 0;
}
.select2-container--open .select2-dropdown--above ul {
	border-top: 2px solid #b3071b;
	border-bottom: 0;
}
.select2-container--open .select2-selection--single,
.select2-container:hover .select2-selection--single {
	border-color: #b3071b;
}
.select2-container--open .select2-selection--single .select2-selection__rendered,
.select2-container:hover .select2-selection--single .select2-selection__rendered {
	color: #b3071b;
	background: #fffefe;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 2px;
	right: 5px;
}
.select2-results__option {
	padding: 4px 15px 3px;
	color: #666;
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option {
	background: #fff;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
	background: #b3071b;
}
.select2-search--dropdown {
	display: none;
}

/* ---------- Booking form ---------- */
.booking_form {
	position: relative;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 80;
	transition: all 0.6s ease;
	display: none;
	pointer-events: none;
}
form#quickbooking_form .button.best_price,
form#quickbooking_form .button.best_price + .button.best_price,
form#quickbooking_form > p.booking_date,
form#quickbooking_form > p.select_field_adults,
form#quickbooking_form > p.select_field_children,
form#quickbooking_form > p.button_wrap_book,
form#quickbooking_form > p.button_wrap {
	pointer-events: all;
}
#bx-slider-wrap .booking_form {
	position: absolute;
	opacity: 1;
	display: block;
}
.no_slider .booking_form {
	position: relative;
	background: rgba(191,179,168,1);
	z-index: 15;
	margin-top: -15px;
}
.no_slider .map_wrap + .booking_form {
	margin-top: 0;
}
.with_slider .booking_form.opacity {
	opacity: 0;
}
form#quickbooking_form {
	padding: 0 0 41px;
}
.header_picture form#quickbooking_form {
	padding: 0 0 20px;
}
form#quickbooking_form > p {
	float: left;
	margin: 0;
	padding: 0;
	width: 16.66%;
	position: relative;
}
form#quickbooking_form > p ~ p {
	padding: 0 0 0 21px;
	padding: 0 0 0 1.76%;
}
form#quickbooking_form > p.booking_date {
	width: 199px;
	width: 15.008%;
}
form#quickbooking_form > p.booking_date input,
form#quickbooking_form > p select {
	cursor: pointer;
}

form#quickbooking_form input[type="date"]:before {
	content: attr(placeholder) !important;
	color: #b3071b;
	margin-right: 0.5em;
	text-transform: uppercase;
	cursor: pointer;
}
form#quickbooking_form input[type="date"]:active:before,
form#quickbooking_form input[type="date"]:focus:before,
form#quickbooking_form input[type="date"]:valid:before {
	content: "";
}
form#quickbooking_form > p.booking_date:after,
form#quickbooking_form > p.select_field:after {
	content: 'c';
	font: 100 25px/25px 'fontastic';
	position: absolute;
	right: 12px;
	top: 11px;
	color: #b3071b;
	pointer-events: none;
	cursor: pointer;
}
form#quickbooking_form > p.select_field:after {
	content: 'd';
	font-size: 21px;
	top: 13px;
	background: #fff;
	margin: -8px;
	padding: 8px;
}
.language_en form#quickbooking_form > p.select_field_adults {
	width: 14.606%;
}
.language_fr form#quickbooking_form > p.select_field_adults {
	width: 13.606%;
}
.language_fr form#quickbooking_form > p.button_wrap_book {
	width: 22.726%;
}
.language_fr form#quickbooking_form > p.button_wrap_book a {
	padding: 12px 20px;
}
.language_fr form#quickbooking_form > p.select_field_children,
.language_en form#quickbooking_form > p.select_field_children {
	width: 14.247%;
}
form#quickbooking_form > p.select_field_adults {
	width: 16.606%;
}
form#quickbooking_form > p.select_field_children {
	width: 12.247%;
}
form#quickbooking_form > p.button_wrap {
	width: 10.598%;
}
form#quickbooking_form > p.button_wrap_book {
	width: 21.726%;
}
form#quickbooking_form label {
	display: none;
}
form#quickbooking_form input,
form#quickbooking_form select,
form#quickbooking_form .button {
	width: 100%;
	height: 52px;
	color: #b3071b;
	text-transform: uppercase;
	font-weight: normal;
	border-color: #fff;
	box-shadow: 2px 2px 2px 1px rgba(0,0,0,0.3);
}
form#quickbooking_form .button {
	color: #4f010a;
}
.no_slider form#quickbooking_form input,
.no_slider form#quickbooking_form select,
.no_slider form#quickbooking_form .button {
	box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}
form#quickbooking_form .button_wrap_request a.button {
	margin: 0;
}
form#quickbooking_form .button {
	background: #fff;
	border: 0;
	text-transform: uppercase;
	text-align: center;
}
form#quickbooking_form .button_book,
form#quickbooking_form .button.best_price {
	margin: 0;
	background: #6ca92c;
	color: #fff;
}
form#quickbooking_form .button.best_price {
	background: #b3071b;
	margin-bottom: 20px;
	height: 52px;
	line-height: 52px;
}
form#quickbooking_form .button.best_price + .button.best_price {
	float: right;
}
form#quickbooking_form .button.best_price.empty {
	display: none;
}
form#quickbooking_form p .button:hover {
	background: #52910f;
	color: #fff;
}
form#quickbooking_form .best_price {
	display: inline-block;
	width: auto;
	margin: 0 0 20px;
	padding: 4px 20px 4px 20px;
	font-size: 18px;
	font-weight: normal;
	height: auto;
}
form#quickbooking_form .best_price .fa {
	color: #fff;
	margin-right: 9px;
	font-size: 16px;
	color: #4f010a;
}
form#quickbooking_form .best_price .fa-edit {
	font-size: 20px;
	color: #fff;
	top: -6px;
	position: relative;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}
form#quickbooking_form input,
form#quickbooking_form select {
	-webkit-appearance: none;
	   -moz-appearance: none;
	     -o-appearance: none;
	        appearance: none;
}
form#quickbooking_form input::-webkit-input-placeholder {
	color: #b3071b;
	opacity: 1;
	text-transform: uppercase;
}
form#quickbooking_form input:-moz-placeholder {
	color: #b3071b;
	opacity: 1;
	text-transform: uppercase;
}
form#quickbooking_form input::-moz-placeholder {
	color: #b3071b;
	opacity: 1;
	text-transform: uppercase;
}
form#quickbooking_form input:-ms-input-placeholder {
	color: #b3071b;
	opacity: 1;
	text-transform: uppercase;
}

form#quickbooking_form .best_price ul.controls {
	position: absolute;
	right: -10px;
	top: -45px;
}
form#quickbooking_form .best_price h3.portlet-title,
form#quickbooking_form .best_price .portlet-resource-link {
	display: none !important;
}
form#quickbooking_form .best_price .portlet,
form#quickbooking_form .best_price .portlet * {
	margin: 0;
	padding: 0;
	text-decoration: none;
	display: inline;
	color: #fff !important;
}
form#quickbooking_form .best_price .portlet strong {
	background: #4f010a;
	display: inline-block;
	margin: -4px -21px -4px 20px;
	padding: 4px 12px 4px 12px;
	font-weight: normal;
}

/* --- rooms --- */

.mod_overview .room_text_bottom,
.no_module_page a.button.detail_button {
	display: none;
}
a.button.detail_button {
	margin-right: 20px;
	float: left;
}
.button.room_book_button {
	background: #6ca92c;
}
.button.room_book_button:hover {
	background: #52910F;
}
