.container { margin:0 auto }

/* infosplash */
#infosplash .ztemplate .caption-alt { background-color: var(--white);}

/* booking */
#booking { padding: 25px; background-color: var(--light_secondary-alt); font-family:var(--font-1); position: relative; max-width: 420px; }
#booking .form-title,
#booking .month_name,
#booking .date_from_html:after,
#booking .day_name,
#booking .month,
#booking .hidden_form_element {display: none;}
#booking form { display: -webkit-box;display: -moz-box;display: -ms-flexbox;display: -moz-flex;display: -webkit-flex;display: flex;list-style: none;-ms-box-orient: vertical;-webkit-align-items: flex-start;align-items: flex-start;justify-content: center; flex-direction: column;}
#booking form .caption-fields { margin: 0; width: 100%; display: -webkit-box;display: -moz-box;display: -ms-flexbox;display: -moz-flex;display: -webkit-flex;display: flex;list-style: none;-ms-box-orient: vertical;-webkit-align-items: center;align-items: center;justify-content: flex-start; flex-wrap: wrap; position: relative; }
#booking .form.field.date,
#booking .form.field.select,
#booking .form.field.text {margin: 0;padding: 0 10px 20px 10px;width: auto;position: relative;flex-wrap: revert; }
#booking .form_element_title { padding: 0 0 10px 0; font-weight: var(--regular); color: var(--grey); font-size: 95%;  border-bottom: 1px solid var(--primary); }
#booking .form.field.date { width:50% }
#booking .form.field.date .form_element_title:before { margin:0 5px 0 0; font-family:var(--font-icon); font-weight: var(--light); content:"\f073";  }
#booking .date_from_html { padding: 15px 0 0 0; font-size: 100%; cursor: pointer; position: relative; display: block;}
#booking .date_from_html .day { margin: -5px 10px 0 0; font-weight: var(--regular);font-size: 3.5em; color: var(--primary); line-height: 1; letter-spacing: 0; width: auto; float:left; }
#booking .date_from_html .month_name_tiny { color: var(--primary); text-transform: uppercase; display: initial;  }
#booking .date_from_html .year { padding: 5px; color: var(--primary); }
#booking .form_select { padding: 10px 10px 10px 0; background-color: transparent; position: relative; border: none; font-size: 100%; }
#booking .form_select .current_value { padding: 0; position: initial; cursor: pointer; font-size: 200%; color: var(--primary); }
#booking .form_select .current_value:after { border: unset; position: absolute; right: 0; }
#booking .form_select .elements_list { padding: 0; width: 100%; background-color: var(--primary); text-align: center; z-index: 3; position: absolute; left: 0; right: 0; top: 70%; cursor: pointer; bottom: inherit; z-index: 45; overflow: hidden; }
#booking .form_select .elements_list .option { margin: 1px 0; padding: 10px 0; font-weight: var(--regular); font-size: 120%; color: var(--primary); background-color: rgba(0, 0, 0, 0.1); }
#booking .form_select .elements_list .option:hover {background-color: rgba(0, 0, 0, 0); }
#booking .form_select .elements_list .option:first-of-type { display: none; }
#booking .form.field.text input { padding: 10px 0; cursor: pointer; color: var(--primary); font-size: 1.3em; border: unset; background-color:transparent; width:100% }
#booking .form.field.text input.disparity_code { background-color: rgba(255,255,255,.3);}
#booking:has(.nobei) .form.field.text input.input-12,
#booking:has(.nobei) .form.field.text input.input-13 { background-color: rgba(255,255,255,.3);}
#booking .form.field.element_14 { display: none; }
#booking .form.field.element_12,
#booking .form.field.element_20 { padding: 0 10px 10px 10px; width: 100%;}
#booking:has(.nobei) .form.field.element_13 { width: 100%;}
#booking .form.field.element_12 input { text-transform: inherit; font-family: var(--font-2);}
#booking .b_mask { width: 100%; }
#booking input[type="submit"] { margin:10px; padding: 20px; background-color: var(--secondary); color: var(--white); text-transform: uppercase; text-align: center; letter-spacing: 2px; font-size: 1.2em; width: 100%; }
#varlink_edit_reservation_nobei-cnt {text-align: center;}
/* fix per booking mask BEI */
#booking .merge_group { position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -ms-box-orient: horizontal; -webkit-align-items: center; align-items: center; }
#booking .merge_group .form.field {  margin: 0 5px; }
#booking .form_merge_add_button[disabled] {display: none;}
#booking .form_merge_add_button { display: flex; align-items: center; text-transform: uppercase; font-weight: var(--font-weight-medium); color: var(--primary); cursor: pointer; margin-top: 10px; padding-left: 5px}
#booking .form_merge_add_button:before { font-family: var(--font-icon); content: '\f055'; font-size: 120%; color: var(--secondary); font-weight: var(--font-weight-solid); margin-right: 3px}
#booking .merge_group:not(:last-child) .form_merge_rem_button, #booking .merge_group:first-child .form_merge_rem_button { display: none; }
#booking .form_merge_rem_button { margin: 0 20px 0 0; padding: 0; font-size: 0; cursor: pointer; display: flex; align-items: center; justify-self: flex-end; height: 100%; order: 5; height: auto; position: absolute; z-index: 2; top: 9px; right: 0;}
#booking .form_merge_rem_button:before { font-size: calc(150 * var(--size-base) / 100); font-family: var(--font-icon); content: '\f057'; color: var(--white); }
#booking .cal-closed { display: none; }
#custom_popup { display: none;}
#custom_popup.fired { display: block; }
#booking .guests_wrapper { background-color: var(--white); color: var(--black); padding: 20px 20px 10px; margin: 0 auto;position: absolute; top: 0; left: 0; right: 0; z-index: 10; box-shadow: 0 0 10px rgb(0 0 0 / 30%); text-align: left; max-width: 766px; display: none;}
#booking .b_mask.fired .guests_wrapper { display: block; }
#booking .guests_wrapper .form_select .current_value { color: var(--black); padding: 0 10px}
#booking .guests_desc { margin: 0 0 20px 0; padding: 0 0 20px 0; font-size: 1.2em; color: var(--primary); text-align: center; border-bottom: 1px solid var(--primary); }
#booking .guests_wrapper .form.field.select { text-align: center; padding: 10px 0}
#booking .guests_wrapper .form.field.select:last-of-type  { border-right: unset}
#booking .guests_wrapper .form_select { display: flex; justify-content: center; padding: 0; align-items: center}
#booking .guests_wrapper .form.field.select.element_7 { display: none!important;}
#booking .guests_wrapper .form_merge_group .form.field.select_wrap { margin: 5px 20px; width: 20%; }
#booking .guests_wrapper .form_select { border: unset}
#booking .guests_wrapper .form_select .elements_list {display: none !important}
#booking .merge_group { margin: 0 0 5px 0; background-color: var(--light_secondary-alt); flex-wrap:wrap; }
#booking .group_title { padding: 10px; text-transform: uppercase; font-size: 100%; color: var(--white); background-color: var(--secondary); display: flex; align-items: center; width: 100%; }
#booking .group_title:before { content: '\f8f7'; font-family: var(--font-icon); font-size: 120%; margin-right: 10px; color: var(--white);}
#booking .group_title .group_index { margin-left: 5px; }
#booking .guests_wrapper .add_btn, #booking .guests_wrapper .rem_btn { background-color: transparent; cursor: pointer}
#booking .guests_wrapper .add_btn:before { content: '\f055'; font-family: var(--font-icon); font-size: 120%}
#booking .guests_wrapper .rem_btn:before { content: '\f056'; font-family: var(--font-icon); font-size: 120%}
#booking .guests_wrapper_ok { text-transform: uppercase; background-color: var(--primary); color: var(--white); padding: 20px 60px;; margin: 15px auto; cursor: pointer; text-align: center}
#booking .guests_wrapper .form_element_title { margin: 0 0 10px 0; color: var(--primary); text-align: center;}

.booking_btn { position: relative; z-index: 2;}
.booking_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.85); z-index: -1; pointer-events: none; opacity: 0; transition: .4s;}
.booking_overlay.fired { opacity: 1; z-index: 1; pointer-events: inherit;}
#booking.fired { position: fixed; top: 25%; left: 0; right: 0; margin: 0 auto; z-index: 9999; max-width: 720px; border: 15px solid var(--white);}
#booking.fired:before { opacity: 1; }
#booking.fired .b_mask { width: 340px;}
#booking.fired .form.field.date { width: calc(100% / 3 - 64px); }
#booking.fired form .caption-fields { align-items: flex-start;}
#booking.none.bypass_none { display: block;}
#booking form .caption-fields .b_mask .age_group .select { display: none;}
#booking form .caption-fields .b_mask .age_group .select.fired { display: inline-block;}


/* Offerte */
.ztemplate_model_2 .caption-add { display: none;}
.ztemplate_model_2 .z_cnt_1 { padding: 0; background-color: transparent; width: 100%;}
.ztemplate_model_2 .zlabel.g18 { color: var(--white); width: 100%; background-color: rgba(0,0,0,.4); padding: 10px; margin-bottom: 5px; display: flex; align-items: center;}
.ztemplate_model_2 .ztextarea { border-bottom: 1px solid var(--white); padding-bottom: 10px; margin-bottom: 10px;}
.ztemplate_model_2 .zinput .fieldkey { padding-left: 10px;}
.showcase .ztemplate_model_2 .box { justify-content: center;}
.ztemplate_model_2 .offer_minstay .fieldkey:before { color: var(--white);}
.ztemplate_model_2 .zlabel.g18:before { font-family: var(--font-icon); content: '\f073'; margin-right: 6px; font-weight: var(--font-weight-solid); color: var(--white);}

/* Filtro camere */
.ztemplate_model_7 .template_filters { padding: 0 20px 0; }
.ztemplate_model_7 .template_filters .filter_checkbox .filter_key { padding: 15px 25px; margin: 0; display: block; font-size: 0; }
.ztemplate_model_7 .template_filters .filter_checkbox .filter_key:before { font-size: var(--size-base); content: '\f1de'; }
.ztemplate_model_7 .template_filters .filter_checkbox .filter_key:after { content: 'Filtra per'; font-size: var(--size-base); }
body.en .ztemplate_model_7 .template_filters .filter_checkbox .filter_key:after { content: 'Filter by';}
body.de .ztemplate_model_7 .template_filters .filter_checkbox .filter_key:after { content: 'Filtern nach';}
.ztemplate_model_7 .template_filters .form_checkbox { flex-direction: row; gap: 40px; align-items: center; }
.ztemplate_model_7 .template_filters .form_checkbox .checkbox { border-bottom: unset; margin: 0; padding: 0; display: flex; align-items: center; gap: 10px }
.ztemplate_model_7 .template_filter.filter_checkbox { position: inherit; background-color: var(--light_secondary-alt); display: flex; align-items: center; gap: 20px; justify-content: center; }
.ztemplate_model_7 .template_filters .form_checkbox .checkbox .value { padding-right: 40px; }
.ztemplate_model_7 .template_filters .form_checkbox .checkbox.checked:after { left: calc(100% - 17px); }

/* fix form */
.form_cnt form .newsletter { text-align: left; margin-top: 15px;}
form #showprivacy .privacy_field { text-align: left;}
form #showprivacy p.privacy.flag { display: flex; align-items: center;}
.form_cnt form .caption-fields input[type="submit"] { background-color: var(--primary); }
.form_cnt .section_title_1 { margin-bottom: 30px; }
.iti { width: 100%; }

/* submenu */
.submenu_cnt {  width: calc(100% - 80px); margin: 0 auto 40px; }
.submenu #tree { margin: 0; padding: 0px; list-style: none;  flex-wrap: wrap; width: 100%; }
.submenu #tree > li > span,
.submenu #tree > li > a { padding: 10px 10px; margin: 10px 10px; }
.submenu #tree > li.active { display: none}
.submenu_cnt.fixed { margin: 0; width: 100%; position:fixed; top:144px; left: 0; right: 0; z-index:2999; }
.submenu_cnt.fixed .submenu #tree > li > span, .submenu_cnt.fixed .submenu #tree > li > a { padding:5px 10px }
/* section_button e infosplash link sono gli stessi elementi */
.section_button_1 a {padding: 10px 30px 15px 30px;}
.section_button_1 a:after { transition: 0.3s ease-out; }
.section_button_1:hover a:after { width: 100%; left: 0; }
.zlink a:after { transition: 0.3s ease-out; }
.zlink:hover a:after { width: 100%; left: 0; }
.section_button_2 a {padding: 10px 30px 15px 30px;}
.section_button_2 a:after { transition: 0.3s ease-out; }
.section_button_2:hover a:after { width: 100%; left: 0; }
.btn_model_1 { margin-top: 30px; display: inline-block;}

/* ztemplate_model_2 */
.ztemplate_model_2 .zlink { margin: 20px 0 0 10px;}
.ztemplate_model_2 .zlink a { padding: 10px 30px 15px 30px }
.ztemplate_model_2 .elem .caption-cnt img { min-height: 580px; max-height: 580px; height: 100%; object-fit: cover;}

.zlink a { padding: 10px 30px 15px;}

/* infosplash */
#infosplash_content .box { justify-content: center; flex-wrap: wrap; display: flex; text-align: left; align-items: flex-start; align-content: flex-start; }
#infosplash_content .caption-cnt { display: block; text-align: left; position: relative; list-style: none; -ms-box-orient: horizontal; -webkit-align-items: center; align-items: center; }
#infosplash_content .caption { width: 100%; display: block; background-color: var(--primary); text-align: left; order: 1; }
#infosplash_content .caption img { text-align: left; min-width: 100%; }
#infosplash_content .caption-alt { width: 100%; display: block; text-align: left; order: 2; }
#infosplash_content .title { text-align: left; margin: 10px 0 0 0; }
#infosplash_content .title:after { width: 100%; height: 1px; display: block; background-color: rgba(37, 68, 86, 0.40032); text-align: left; position: relative; content: ''; margin-top: 10px; }
#infosplash_content .title a { display: block; font-family: var(--font-1); font-size: 30px; color: var(--secondary); text-align: left; line-height: 38px; letter-spacing: 0; }
#infosplash_content .ztextarea { font-family: var(--font-2); font-size: 16px; color: var(--grey); text-align: left; line-height: 20px; letter-spacing: 0; margin-top: 10px; }
#infosplash_content .zsimplebutton a {padding: 10px 30px 15px 30px;}
#infosplash_content .zsimplebutton a:after { transition: 0.3s ease-out; }
#infosplash_content .zsimplebutton:hover a:after { width: 100%; left: 0; }
#infosplash_content .zlink a {padding: 10px 30px 15px 30px;}
#infosplash_content .zlink a:after { transition: 0.3s ease-out; }
#infosplash_content .zlink:hover a:after { width: 100%; left: 0; }
/* HOME PAGE */
/* HOME PAGE > offers */
section#offers { display: flex; justify-content: center; align-items: flex-start; align-content: flex-start; }
/* HOME PAGE > camere */
section#rooms { display: block; margin: 60px 0px 0px 0px; padding: 0 30px; text-align:center; }
/* HOME PAGE > restaurant */
section#restaurant { position: relative; margin-top: 100px; padding-left: 40px; }
section#restaurant .restaurant_bg { position: absolute; top: 0px; right: 0px; bottom: 0px; height: 100%; width: 100%; z-index: 0; }
section#restaurant .restaurant_bg .varscript {display: block;position: relative;width: 100%;height: 100%;justify-content: right;align-items: center;text-align: right;vertical-align: middle;}
section#restaurant .restaurant_bg .varscript img {object-position: right center;object-fit: cover;height: 100%;}
/* HOME PAGE > facilities */
section#facilities { margin: 100px auto; padding: 50px; display: flex; justify-content: space-between; align-items: center; background-color:var(--white); box-shadow:0 0 20px rgba(0, 0, 0, 0.1); max-width: 1170px}
section#facilities .facilities_cnt { justify-content: center; flex-wrap: wrap; display: flex; text-align: left; align-items: flex-end; max-width: 460px; }
section#facilities .facilities_cnt .elem { margin: 10px auto; justify-content: center; flex-wrap: wrap; width: 33.333%; display: flex; text-align: center; position: relative; font-family: var(--font-1);}
section#facilities .facilities_cnt .elem:before { justify-content: center; width: 100%; display: flex; font-family: var(--font-icon); font-weight:var(--light); font-size: 3em; color: var(--primary); text-transform: lowercase; text-align: center; line-height: 1; position: relative; content: ''; margin-bottom: 10px; }
section#facilities .elem.parcheggio:before { content: "\f1b9"; }
section#facilities .elem.escursioni:before { content: "\f6ec"; }
section#facilities .elem.animali:before { content: "\f1b0"; }
section#facilities .elem.sport:before { content: "\f45a"; }
section#facilities .elem.piscina:before { content: "\f5c4"; }
section#facilities .elem.wifi:before { content: "\1f1eb"; }
section#facilities .elem.bar:before { content: "\f561"; }
section#facilities .elem.meeting:before { content: "\f0c0"; }
section#facilities .elem.reception:before { content: "\f562"; }
section#facilities .elem.ristorante:before { content: "\f2e6"; }
section#facilities .elem.lavatrice:before { content: "\f898"; }
section#facilities .elem.shop:before { content: "\f54f"; }
/* HOME PAGE > Experiences */
section#experiences { display: block; margin: 60px 0px; padding: 0 30px; text-align:center; }


/* Google maps */
.gmap {  border: 10px solid var(--primary)!important; margin: 30px 0;}

#page .topsection h1 { font-size: 2em; }
#page .topsection h2 { font-size: 1.5em; }
#page .topsection h3 { font-size: 1.3em; }
#page .topsection h4 { font-size: 1.2em; }
#page .topsection h5 { font-size: 1.1em; }
#page .topsection h6 { font-size: 1.1em; }
#page .topsection { padding: 40px 0px 60px 0px; text-align:center; }
#page .middlesection {padding: 0 40px;display: flex;justify-content: center;align-items: flex-start;align-content: flex-start;flex-wrap: wrap;}
#page .middlesection .sx { display: block; width: calc(100% - 430px - 80px); margin-right: 80px; }
#page .middlesection .dx { display: block; width: calc(430px); }
#page .middlesection .section_pre_title_1 .groupfield.g5 { display: flex; justify-content: flex-start; align-content: center; align-items: center; }
#page .middlesection .section_pre_title_1 .groupfield.g5 .fieldkey { margin-right: 10px; }
#page .section_pre_title_1 {margin-bottom: 5px;position: relative; }
#page .section_subtitle_1 {margin-top: 10px;}
#page .section_text_1 {margin-top: 40px; margin-bottom: 30px;}
#page .section_text_1 p { margin-bottom: 10px; }
#page strong { font-weight: var(--bold); }
#page .toggler .accordion-content,
#page .accordion .accordion-content,
#page .tabs .accordion-content { padding: 30px 20px 25px 20px; }
#page .tabs ul { list-style: none; padding: 0px; margin: 0px; }
#page .gallery_cnt { padding: 0 40px; margin-top: 80px; }
#page .gallery_cnt .slick-slider {padding: 0px 40px 40px 40px;}
#page .gallery_cnt .slick-slide { padding: 0 10px; }
#page .gallery_cnt .slick-arrow.slick-disabled { opacity: 0.2; }
#page .gallery_cnt #varsimple_gallery { width: 100%; display: block; margin-bottom: 25px; font-family: var(--font-1); font-size: 30px; color: var(--primary); text-align: center; line-height: 1; letter-spacing: 0; position: relative; }
#page .other_rooms { display: block; position: relative; width: 100%; padding: 0 30px; margin-top: 80px; text-align:center; }
#page.roompage .section_button { margin-bottom: 40px;}

#page.standard .ztemplate .elem { margin: 0 10px 40px 10px; width: calc(100% / 4 - 20px); }
#page.standard .middlesection .groupfield.text_dyn .fieldvalue { margin-bottom: 60px;}

.section_post_data .zdatepicker { display: flex; align-items: center; width: 100%; border-bottom: 1px solid #B4905D; padding-bottom: 5px; margin-bottom: 30px; color: var(--color_9);}
.section_post_data .zdatepicker:before {font-family: var(--font-icon); font-size: 16px; color: var(--color_9); content: '\f073'; margin-right: 5px}
.section_post_data .zdatepicker .fieldvalue .day, .section_post_data .zdatepicker .fieldvalue .month { margin-right: 0}
.section_post_data .zdatepicker .month:before { content: '/';}
.section_post_data .zdatepicker .month:after { content: '/';}

.body_user_privacy_panel #page { padding-top: 60px; }


/* album */
#page.album { padding-top: 15px}
.albums_cnt { margin: 40px -10px 0 -10px; }
.albums_cnt .album { padding: 0; margin: 10px; width: calc(100% / 3 - 20px);}
.album_media_cnt { display: flex; flex-wrap: wrap; position: relative; align-items: flex-start; align-content: flex-start; justify-content: center; margin: 0 -10px; }
.album_media_cnt .album_image_cnt {width: calc(33.333% - 20px);margin: 0 10px 20px 10px;/* min-width: 100%; */}
.albums_cnt .album .album_title { font-size: 150%; position: absolute; bottom: 0; text-align: center; left: 0; width: calc(100%); background-color: var(--primary); color: var(--white);}
.album_media_cnt img { width: 100%;}

/* interna camera */
.info_room { flex-wrap: wrap; }
.info_room .zinput { margin: 0 25px 15px 0;}

.iubenda.iubenda_button { text-transform: uppercase; font-size: 12px; margin: 5px 10px;}

/* Configurazione per RWD */
/* Generic Mobile Devic Tablet */
@media (max-width: 1999px) {
	#page.standard .ztemplate .elem { width: calc(100% / 3 - 20px); }
	.ztemplate_model_8 .elem { width: calc(100% / 3 - 20px); }

}

@media (max-width: 1590px) {
    .ztemplate_model_7 .elem { width: calc(50% - 40px); }
}


@media (min-width: 1441px) {
	.container { width: 1440px; }

}

@media (max-width: 1390px) {
	.ztemplate_model_2 .zinput .fieldvalue { font-size: 250%;}
	.ztemplate_model_2 .caption-alt { padding: 0 30px 30px 30px;}
	.albums_cnt .album { width: calc(50% - 20px);}

}

@media (max-width: 1290px) {
	.showcase .ztemplate_model_2 .elem { width: calc(50% - 20px); }
	#page.standard .ztemplate_model_8 .ztemplate .elem {/* width: 100%;*/}
	.albums_cnt .album { width: 100%;}
	.ztemplate_model_8 .elem { width: calc(50% - 20px); }
	.ztemplate_model_3 .box_stadard .elem { width: calc(50% - 20px); }

}

@media (max-width: 1023px) {

	.submenu #tree > li > span, .submenu #tree > li > a { padding: 5px 5px; margin: 5px; position: relative; display: block; }
	.submenu_cnt.fixed { top: 101px;}
	header .topbar { z-index: 3; }
	header .middlebar { z-index: 2; }
	header .bottombar { z-index: 1; }
	header .bottombar .menu_model_1 { padding: 20px; display: flex; position: fixed; top: 181px; left: unset; right: 100%; bottom: 0pc; background-color: var(--white); width: 100%;  justify-content: center; align-items: flex-start; align-content: center; transition: 0.3s ease-out; }
	header .bottombar .menu_model_1 ul { display: block; width: auto; margin: auto;  height: auto; max-width: 100% - 40px; }
	header .bottombar .menu_model_1 ul li { float: unset; display: block; width: 100%; text-align: center; border-bottom:1px solid rgba(0, 0, 0, .1); }
	header .bottombar .menu_model_1 ul li a { text-align: center; }
	header .bottombar .menu_model_1 ul li.active a { text-align: center; }
	header .bottombar .menu_model_1.opened { right: 0px; }
	body.header_scrolled header .bottombar .menu_model_1 { top: 100px; }
	body.header_scrolled header .bottombar .menu_model_1 ul { height: auto; }

	section#offers { flex-direction: column;}
	body.home .ztemplate_model_2 { order: 2}
	body.home #booking_destination { order: 1; margin: 0 auto 40px;}
	.ztemplate_model_2 .ztemplate { width: calc(100vw - 80px); }
	.ztemplate_model_2 .ztemplate .row .box .elem .caption-cnt { flex-direction: column; }
	/* .ztemplate_model_2 .z_cnt_1 { left: -20px;} */


	#page .ztemplate_model_2 #template2 .row .box .elem .caption-cnt .caption { width: 100%; }
	#page .ztemplate_model_2 #template2 .row .box .elem .caption-cnt .caption-alt { position: relative; top: unset; left:  unset; right: unset; bottom: unset; width: 100%; background-color: var(--primary-alt2); padding: 20px; }
	#page .ztemplate_model_2 #template2 .row .box .elem .caption-cnt .caption-alt .ztextarea { margin: 20px 0px 0px 0px; }
	#page .ztemplate_model_2 #template2 .row .box .elem .caption-cnt .caption-alt .zsimplebutton a { background-color: var(--primary);}

	.ztemplate_model_3 .caption-cnt { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; text-align: left; list-style: none; -ms-box-orient: horizontal; -webkit-align-items: center; align-items: center; }
	.ztemplate_model_3 .caption { width: 100%; background-color: var(--primary); background-image: linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%); text-align: left; order: 1; }
	.ztemplate_model_3 .caption img {opacity: 0.75; transform: scale(1);}
	.ztemplate_model_3 .caption-alt { bottom: 30px; }
	.ztemplate_model_3 .zinput { margin: 0px auto 10px 0px; width: 100%; }

	.ztemplate_model_7 .caption-alt { padding: 30px 0px; }

	.ztemplate_model_8 .caption-alt { padding: 20px; }

	section#restaurant .restaurant_bg { opacity: 0.25; }
	body.home .facilities_cnt { margin-top: 0px; }

	.albums_cnt .album { width: 50%; }

	#varlink_return_to_galleries-cnt { text-align: center; }

	#page .middlesection { display: block;}
	#page .middlesection .sx, #page .middlesection .dx { width: auto;}
	#page .middlesection .sx { margin-right: 0; }
	#booking { display: none;}
	#booking.fired { display: block;}
	.ztemplate_model_7 .title a, .ztemplate_model_3 .title a { font-size: 140%;}
	#page.standard .ztemplate_model_8 .ztemplate .elem { width: calc(50% - 20px);}
	.albums_cnt .album { width: calc(50% - 20px);}
	.albums_cnt .album img { width: 100%;}

	section#restaurant { padding: 0 40px 40px 40px;}
	.ztemplate_model_4 .caption-cnt { flex-direction: column;}
	.ztemplate_model_4 .caption { width: 100%;}
	.ztemplate_model_4 .caption-alt { width: 100%; padding: 15px;}

	.showcase .ztemplate_model_2 .elem { width: calc(100% - 40px);}
	.ztemplate_model_2 .elem .caption-cnt img { min-height: 320px;}
	.ztemplate_model_3 .box_stadard .elem { width: 100%; }
}

/* Generic Mobile Devic Phone */
@media (max-width: 767px) {

	.submenu_cnt ul li a { font-size: 70%; }
	#page .middlesection .sx,
	#page .middlesection .dx { margin: 0; width:auto }
	#page .middlesection .dx { margin: 20px 0 0 0 }

	.info_room { display:block; }


	#page .middlesection { display:block; }
	.section_title_1 { font-size:2em }
	#page.showcase #container_name { font-size:2em }
	#page.showcase .topsection { padding: 20px 10px; }

	header .topbar { padding: 0 10px; }
	header .topbar .socialnet_cnt { display: none; }
	header .middlebar { margin: 0px; padding: 0 10px; }
	header .middlebar .booking_btn { width: 0px; position: relative; right: 44px; }
	header .middlebar .booking_btn a { font-size: 0px; width: 0px; }
	header .middlebar .booking_btn a:before { left: 0px; }

	header .bottombar .menu_model_1 ul { width: calc(100vw - 40px); }

	.submenu_cnt { width: 100%; margin: 0 auto 40px auto; }


	body.header_scrolled #booking_not_set { min-height: calc(100vh - 70px) }

	.slideshow_cnt { padding: 30px 10px 10px 10px; }

	section#offers { padding: 0px 10px 10px 10px; }
	

	section#rooms { margin: 20px 0px 0px 0px; padding: 0 10px; }

	.ztemplate_model_3 .elem { margin: 0 0 20px 0; width: 100% }

	section#restaurant { margin: 20px 10px; padding: 0px; }
	section#restaurant .restaurant_bg { display: none; }
	.ztemplate_model_4 .caption-cnt { flex-wrap: wrap; }
	.ztemplate_model_4 .caption { width: 100%; }
	.ztemplate_model_4 .caption-alt { width: 100%; padding: 10px 10px 0px 10px; text-align: center;}
	.ztemplate_model_4 .ztextarea { max-width: unset; }

	section#facilities { margin: 40px 10px; padding: 20px 15px; flex-direction: column; }
	.facilities_box { margin-top: 20px; }
	.ztemplate_model_5 .caption, .ztemplate_model_5 .zoption .fieldvalue, .ztemplate_model_5 .title a { text-align: center;}

	section#experiences { margin: 30px auto; padding:0 10px }

	.ztemplate_model_4 .title a,
	.ztemplate_model_5 .title a { text-align: center; font-size: 150%;}
	.section_title_1 { font-size: 180%;}
	.ztemplate_model_6 .title a { font-size: 150%; }

	.ztemplate_model_6 .caption { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; }
	.ztemplate_model_6 .caption img { object-fit: cover; object-position: center; height: 100% }
	.ztemplate_model_6 .caption-alt { position: relative; top: unset; right: unset; bottom: unset; left: unset; padding: 20px 10px; width: 100%; height: 290px;}

	#page .middlesection { padding: 0 10px; }
	#page .gallery_cnt { margin-top: 40px; padding: 0 10px; }
	#page .gallery_cnt .slick-slide { padding: 0px; }
	#page .gallery_cnt .slick-slider { padding: 0 0px 40px 0px; }

	.ztemplate_model_7 { margin: 0px; }
	.ztemplate_model_7 .ztemplate .row .box .elem { width: 100%; margin: 0 0 40px 0; }

	.ztemplate_model_8 .ztemplate .row .box .elem { width: 100%; }


	#page .facilities_cnt .fieldvalue_cnt { padding: 10px; justify-content: flex-start;}
	.facilities_cnt .fieldvalue_cnt .fieldvalue { width: calc(50% - 20px);}
	.facilities_cnt .fieldkey { text-align: center;}

	#page .other_rooms { padding: 0px; }

	#page .middlesection .groupfield.text_dyn img.left,
	#page .middlesection .groupfield.text_dyn img.right,
	#page .middlesection .groupfield.text img.left,
	#page .middlesection .groupfield.text img.right { width: 100%; margin: 0px 0px 20px 0px !important; }

	

	.albums_cnt .album { width: 100%; }

	.form_cnt form .caption-fields .form.field { width: 100%; }

	footer .topbar .logo_cnt { order: 1; }
	footer .topbar .sx { width: 100%; order: 3; margin-top: 40px; justify-content: center; }
	footer .topbar .cx { width: 100%; order: 2; }
	footer .topbar .dx { width: 100%; order: 4; justify-content: center; margin-top: 40px; }
	footer .footer_section_text_1 { text-align: center; }

	

	#booking.fired { max-width: 420px; top: 140px;}
	body.header_scrolled #booking.fired { top: 100px;}
	#booking.fired .form.field.date { width: 50%;}
	#booking { padding: 15px 10px;}
	#booking .form.field.text input { font-size: 1em}
	#booking .guests_desc { font-size: 1em; margin-bottom: 10px; padding-bottom: 10px;}
	#booking .guests_wrapper { padding: 10px; }
	#booking .group_title { font-size: 80%;}
	#booking .form_select .current_value { font-size: 120%;}
	#booking .guests_wrapper_ok { padding: 15px; margin-bottom: 0; }
	#booking input[type="submit"] { padding: 15px; font-size: 100%;}
	.ztemplate .elem .caption-cnt img { min-width: unset; width: 100%; }
	section#facilities .facilities_cnt .elem { width: 50%; margin-bottom: 30px;}

	#page.standard .ztemplate_model_8 .ztemplate .elem { width: 100%;}
	
	
	.ztemplate_model_7 .template_filter.filter_checkbox { display: block; }
	.ztemplate_model_7 .template_filters { padding: 0; }
	.ztemplate_model_7 .template_filters .form_checkbox { padding: 15px 0; flex-direction: column; gap: 15px; width: 100%; }
	.ztemplate_model_7 .template_filters .form_checkbox .checkbox { border-bottom: 1px dashed var(--white); width: 100%; justify-content: flex-start; }
	.ztemplate_model_7 .template_filters .form_checkbox .checkbox:before { left: calc(97% - 30px); }
	.ztemplate_model_7 .template_filters .form_checkbox .checkbox:after { left: calc(97% - 26.5px); }
	.ztemplate_model_7 .template_filters .form_checkbox .checkbox.checked:after { left: calc(97% - 17px); }

	body.home .ztemplate_model_2 { margin-top:30px; width: 100%; max-width: unset; }
	.ztemplate_model_2 .ztemplate { width: 100%;; margin: 0; }
	.ztemplate_model_2 .template_section_title_1 { width: 100%; position: relative; top: unset; left: unset; right: unset; bottom: unset; color: var(--color_3); margin: 10px auto 20px auto; text-align: center; font-size: 150%;}
	.ztemplate_model_2 .caption-cnt { flex-direction: column; }
	.ztemplate_model_2 .caption { width: 100%; }
	.ztemplate_model_2 .caption-alt { position: relative; top: unset; left:  unset; right: unset; bottom: unset; width: 100%; background-color: var(--light_secondary-alt); padding: 20px; }
	.ztemplate_model_2 .ztextarea { margin: 20px 0px 0px 0px; }
	.ztemplate_model_2 .z_cnt_1 { margin: -120px 0px 0px 0px; }
	.showcase .ztemplate_model_2 .ztemplate { margin: 0px; }
	.showcase .ztemplate_model_2 .ztemplate .row .box .elem { width: calc(100%); margin: 0 0 20px 0; }
	.ztemplate_model_2 .ztemplate .row .box .elem .caption-cnt .caption-alt .z_cnt_1 .zinput .fieldvalue { font-size: 20px; }
	.ztemplate_model_2 .z_cnt_1 { left: 0;}
	.ztemplate_model_2 .title a { color: var(--primary); }
	.ztemplate_model_2 .zinput .fieldkey { color: var(--grey); }
	.ztemplate_model_2 .offer_minstay .fieldkey:before { color: var(--grey); }
	.ztemplate_model_2 .z_cnt_1 { margin: 0; }
	.ztemplate_model_2 .elem .caption-cnt img { min-height: 390px; max-height: 390px; object-fit: cover; }

	.ztemplate_model_5 .ztemplate { max-width: unset; padding: 0 15px; }
	.ztemplate_model_5 .ztextarea { text-align: center; }


}

/* Fix responsive monitor piccoli */
@media (max-height: 890px) {
	.desktop #booking.fired { top: 10%;}

}

/* Solo smartphone */
body.smartphone { padding-top: 100px;}
.smartphone .section_title_1 { font-size: 120%;}
.smartphone .facilities_cnt .fieldkey { font-size: 150%; }
.smartphone .section_title_2 { font-size: 150%;}
.smartphone .ztemplate_model_2 .elem .caption-cnt img { /* min-height: 260px; */ opacity: 1; }
.smartphone .ztemplate_model_2 .z_cnt_1 { margin: 0;}
.smartphone .ztemplate_model_2 .title { margin-top: 0; }
.smartphone .ztemplate_model_2 .title a { font-size: 180%;}
.smartphone .ztemplate_model_2 .slick-slider button.slick-next,
.smartphone .ztemplate_model_2 .slick-slider button.slick-prev { bottom: inherit; top: 0; }
body.smartphone.body_ecommerce_step .heading { margin-bottom: 0;}
.smartphone .ztemplate_model_7 .z_cnt_2 { justify-content: flex-start;}
.smartphone .ztemplate_model_7 .zsimplebutton, .smartphone .ztemplate_model_7 .zlink { margin-right: 10px;}
.smartphone .slideshow_cnt { padding: 10px;}
.smartphone #page .ztemplate_model_2 #template2 .row .box .elem .caption-cnt .caption-alt { background-color: var(--light_secondary-alt);}
.smartphone .ztemplate_model_2 .title a { color: var(--primary); }
.smartphone .ztemplate_model_2 .zinput .fieldkey { color: var(--grey); }
.smartphone .ztemplate_model_2 .offer_minstay .fieldkey:before { color: var(--primary); }
.smartphone .showcase .ztemplate_model_2 .box { padding: 15px;}
.smartphone .form_cnt form .caption-fields { margin: 0;}
.smartphone .ztemplate_model_3 .caption-alt { left: 20px; right: 20px;}
.smartphone .slick-slider button.slick-next,
.smartphone .slick-slider button.slick-prev { background-color: var(--primary); width: 30px; height: 30px; text-align: center;}
.smartphone .slick-slider button.slick-next:before,
.smartphone .slick-slider button.slick-prev:before { color: var(--white); font-size: 20px; line-height: 30px;}
.smartphone .submenu_cnt.fixed .submenu #tree > li > span, .smartphone .submenu_cnt.fixed .submenu #tree > li > a { padding: 5px;}
.smartphone header .middlebar .logo_cnt img {max-height: 40px;}
.smartphone header .bottombar .menu_model_1 {top: 100px;}
.smartphone .albums_cnt .album .album_title {width: 100%;}
.smartphone #page .gallery_cnt #varsimple_gallery {font-size: 150%;}
/*
.smartphone .submenu_cnt.fixed { position: inherit; }
.smartphone #wrapper { display: flex; flex-direction: column; }
.smartphone .submenu_cnt { order: 9; }
.smartphone .submenu_cnt ul li a { font-size: 90%; }
.smartphone footer { order: 10; }
*/
.smartphone.submenu_cnt.fixed { top: 61px; }

/* fix */
/*#page .middlesection:has(:not(.dx)) .sx {width: 100%; margin-right: unset;}*/
#page #varsimple_page_album {font-size: var(--font-size-medium); font-family: var(--font-1); color: var(--primary); text-align: center;}
.smartphone #page #varsimple_page_album {font-size: 20px;}
.smartphone.home #offers {padding: 0px;}
.smartphone.home .ztemplate_model_5 .ztextarea {text-align: center; margin-bottom: 20px;}
body.header_scrolled.smartphone header .bottombar .menu_model_1 {top: 60px;}
.smartphone #page .section_text_1 {margin-top: 20px; margin-bottom: 0px;}
.smartphone #page.standard .middlesection .groupfield.text_dyn .fieldvalue {margin-bottom: 30px;}
.smartphone .albums_cnt { margin: 20px -10px 0 -10px; }
.smartphone .album_media_cnt .album_image_cnt {width: calc(100% - 20px);}
.smartphone .album .section_button_1_cnt {text-align: center;}
.smartphone .album .section_title_1 {text-align: center; margin-bottom: 20px;}
.smartphone .album .section_text_1 {display: none;}
.smartphone.body_page .top_seo {padding-left: 10px; margin-bottom: 20px; font-size: 16px;}
.offer_minstay .fieldkey {display: none;}
.desktop.body_page .top_seo {text-align: center; padding-left: 0px;}
.desktop.body_page .middlesection .albums_cnt .album a img {width: 100%;}
#page .middlesection .sx {width: 100%;}
#page .middlesection .dx {width: 0px;}
.body_offerta .dx #booking:not(#booking.fired) {display: none;}

/* FIX DA CANCELLARE DOPO CHE ATTIVANO IL BE
.booking_btn, .book_room, #booking input[type="submit"], .offer_btn { pointer-events: none!important; }
*/