/* Animazioni */
@keyframes animatedBackground {
    from { background-position: 00; }
   to { background-position: 03860px; }
    }
   @keyframes scroll_down {
    0% { transform: translate(0, -10px); }
   100% { transform: translate(0, 25px); opacity: 0 }
    }
   @keyframes grow_up {
    0% { width: 0; opacity: 0 }
   100% { width: 100% }
    }
   @keyframes grow_up_one {
    0% { width: 0; opacity: 0 }
   100% { width: 20% }
    }
   @keyframes grow_up_two {
    0% { width: 0; opacity: 0 }
   100% { width: 40% }
    }
   @keyframes grow_up_three {
    0% { width: 0; opacity: 0 }
   100% { width: 60% }
    }
   @keyframes grow_up_four {
    0% { width: 0; opacity: 0 }
   100% { width: 80% }
    }
   @keyframes grow_up_five {
    0% { width: 0; opacity: 0 }
   100% { width: 100% }
    }
   @keyframes blink {
    0% { opacity: 1; }
   20% { opacity: 0; }
   40% { opacity: 1; }
   60% { opacity: 0; }
   80% { opacity: 1; }
   100% { opacity: 1; }
    }
    @keyframes rot { from {transform: rotate(0deg);} to {transform: rotate(359deg);} }
   .modal.modal_dialog.in { pointer-events: inherit; opacity: 1; z-index: 9999; padding: inherit; background-color: unset; width: auto; height: auto; transform: unset; transition: unset; }
   /* fix per editor pannello SEO */
   /* Login Agenzie */
   body.ibe_logged { padding-top: 39px; }
   body.ibe_logged header { top: 39px; }
   body.ibe_logged .slide_menu { top: 39px; }
   body.ibe_logged .sticky_element { top: 148px; }
   .ibe_login_wrap { margin-top: 70px; border-top: 1px solid #fff; padding-top: 20px; }
   .ibe_login_btn { cursor: pointer; display: flex; align-items: center; text-transform: uppercase; font-size: 80%; color: var(--white); line-height: 1.2; }
   .ibe_login_btn:before { font-family: var(--font-icon); content: '\f2f6'; margin-right: 5px; color: var(--white); }
   #ibe_login_data { min-width: 290px; text-align: center; position: relative; }
   .ibe_login_el_title { color: var(--color1); text-transform: uppercase; margin-bottom: 5px; }
   .ibe_login_el { margin-bottom: 15px; text-align: left; }
   .ibe_login_el_title:before { font-family: var(--font-icon); content: '\f007'; margin-right: 5px; color: var(--color2); }
   .ibe_login_el:nth-of-type(2) .ibe_login_el_title:before { content: '\f084'; }
   .ibe_login_error span { color: var(--accent2); margin-top: 20px; display: inline-block; }
   .ibe_login_el input { padding: 10px; border: 1px solid var(--ice); width: 100%; border: 1px solid #dedede; background-color: var(--white); }
   .ibe_login_submit { cursor: pointer; padding: 10px 25px; display: inline-block; background-color: var(--color2); font-weight: var(--font-weight-normal); font-size: 95%; color: var(--white); text-transform: uppercase; text-align: center; }
   .ibe_login_loader { text-align: center; margin-top: 15px; }
   .ibe_logout_section { color: var(--white); font-size: 80%; display: flex; align-items: center; position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; background-color: var(--grey); padding: 6px 30px; justify-content: flex-end; }
   .ibe_login_user { margin-right: 20px; }
   .ibe_login_user:before { font-family: var(--font-icon); content: '\f007'; margin-right: 5px; color: var(--color2); }
   .ibe_logout_btn { cursor: pointer; padding: 7px; text-transform: uppercase; border: 1px solid var(--color2); color: var(--white); }
   .ibe_logout_btn:after { font-family: var(--font-icon); content: '\f08b'; margin-left: 5px; color: var(--color2); }
   /* login agenzie smartphone */
   .smartphone .ibe_logout_section { padding: 6px 15px; }
   .smartphone .ibe_logout_btn { border-radius: 3px; }
   /* Da qui specifico */
   /* overlay */
   .overlay { display: none; background-color: var(--alpha-black); position: fixed; top: 0; left: 0; width: 100%; height: 100%; transition: .3s; opacity: 0; }
   .overlay.fired { display: block; opacity: 1; z-index: 2999 }
   
   /* Booking Open */
   .body_ecommerce_step #booking_open #top,
   .body_ecommerce_order #booking_open #top,
   .body_ecommerce_payment #booking_open #top,
   .body_ecommerce_thank_you #booking_open #top { display: none; }
   /* Calendario */
   .template_calendar.cal-closed {display: none;}
   .template_calendar.cal-open {box-shadow: 0 2px 15px 0 rgb(0 0 0 / 10%); padding: 10px; position: absolute; z-index: 9999; background-color: var(--white); width: 100%; top: -50px; display: block; left: 0;}
   .calendar_dates_info { padding: 10px; 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; justify-content: space-between; text-align: center; text-transform: uppercase; }
   .calendar_dates_info .date_1_wrapper,
   .calendar_dates_info .date_2_wrapper { margin: 0 10px; }
   .calendar_dates_info .date_1_label,
   .calendar_dates_info .date_2_label,
   .calendar_dates_info .num_days_label { margin: 0 0 5px 0; font-size: 85%; text-transform: uppercase; color: var(--color4); }
   .calendar_dates_info .date_1_text,
   .calendar_dates_info .date_2_text,
   .calendar_dates_info .num_days_control { font-size: 120%; 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: flex-start; align-items: flex-start; justify-content: center; text-align: center; color: var(--color1)}
   .calendar_dates_info .remove_day_selector:before,
   .calendar_dates_info .add_day_selector:before { margin: 0 10px; font-family: var(--font-icon); content: "\f055"; color: var(--color1); font-size: 120%; font-weight: var(--font-weight-normal); cursor: pointer; }
   .calendar_dates_info .remove_day_selector:before { content: "\f056"; }
   .calendar_control { padding: 10px; }
   .calendar_wrapper .fc-calendar .fc-head { background-color: var(--color2); color: var(--white); font-size: 90%; text-transform: uppercase; }
   .calendar_wrapper .fc-calendar .fc-body,
   .calendar_wrapper .fc-calendar .fc-row,
   .calendar_wrapper .fc-calendar .fc-row>div { }
   .calendar_wrapper .fc-calendar .fc-row .day-content { padding: 5px; font-size: 65%; }
   .calendar_wrapper .fc-calendar .fc-row .day-content .tc-f-minStay,
   .calendar_wrapper .fc-calendar .fc-row .day-content .tc-f-roomCount { display: none; }
   .calendar_wrapper .fc-calendar .fc-row>div>span.fc-date { text-align: center; font-size: 110%; font-weight: var(--font-weight-medium); color: var(--color1); }
   .calendar_wrapper .fc-calendar .fc-row>div.selected>span.fc-date { color: var(--white);}
   .calendar_wrapper .fc-calendar .fc-row>div.selected.sel-first,
   .calendar_wrapper .fc-calendar .fc-row>div.selected.sel-last { background-color: var(--color1); color: var(--white); }
   .calendar_wrapper .fc-calendar .fc-row>div.selected {  background-color: var(--grey); color: var(--white); }
   .calendar_wrapper .fc-calendar .fc-row>div.selected.sel-first>span.fc-date,
   .calendar_wrapper .fc-calendar .fc-row>div.selected.sel-last>span.fc-date { color: var(--white); }
   .pf_cal .template_calendar .fc-calendar .fc-row>div.fc-past { background: repeating-linear-gradient(-45deg, rgb(255, 255, 255), rgb(255, 255, 255) 3px, rgb(235, 235, 235) 3px, rgb(235, 235, 235) 4px); cursor: inherit; }
   .pf_cal .template_calendar .fc-calendar .fc-row>div.fc-past>span.fc-date { color: #b5b5b5 }
   .template_calendar .oob .tc-f-startingPrice { display: none; }
   .template_calendar .tc-f-startingPrice:before { content: '\20ac' }
   .template_calendar .confirm_btn { text-align: center; cursor: pointer; display: block; padding: 10px; background-color: var(--color1); text-transform: uppercase; color: var(--white); margin-top: 5px }
   .fc-calendar .fc-row>div { height: 40px }
   .template_calendar .oob { background-color: #e6e6e6; }
   .calendar_wrapper .fc-calendar .fc-row>.oob span.fc-date { color: var(--white); }
   .fc-calendar .fc-row,
   .fc-calendar .fc-row>div,
   .fc-calendar .fc-body { border-color: var(--color3); }
   .selection_preview { background-color: var(--color2); color: var(--color1) }
   .calendar_header { position: relative; text-align: center; height: 30px; color: var(--color1) }
   .calendar_header .current_date {display: flex; justify-content: center; align-items: center; font-size: 20px;}
   /* Modal */
   .modal { overflow-y: auto; overflow-x: hidden; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .7); z-index: -1; position: fixed; left: 0; right: 0; top: 0; bottom: 0; transform: scale(1.4); transition: .3s; flex-direction: column; justify-content: flex-start; padding-top: 150px; align-items: center; }
   .modal.fired { opacity: 1; transform: scale(1); z-index: 9998 }
   .modal .body { padding: 40px; width: 100%; background-color: var(--white); box-shadow: 0 53px 40px -30px rgba(0, 0, 0, 0.25); position: relative; max-width: 920px; line-height: 1.5; font-size: 110%; }
   .modal .body h2 { margin: 0 0 20px 0; font-weight: var(--font-weight-bold); font-size: 200%; color: var(--color2); }
   .modal .body ul,
   .modal .body ol { padding: 10px 0 0 30px; }
   .modal .body .close { z-index: 2; position: absolute; right: 0px; top: 0px; height: 80px; width: 80px; cursor: pointer; }
   .modal .body .close:after { font-family: var(--font-icon); font-weight: var(--font-weight-normal); color: var(--white); font-size: 140%; position: absolute; right: 12px; top: 10px; z-index: 2; content: "\f057"; }
   .modal .body .close:before { background-color: var(--color1); z-index: 2; position: absolute; right: 0px; top: 0px; content: ''; background-color: transparent; width: 0; height: 0; border-style: solid; border-width: 0 80px 80px 0; border-color: transparent var(--color1) transparent transparent; }
   /* Elementi per la section */
   /*
   section .body { align-items: stretch; }
   section .side { padding: 40px; width: 40%; }
   section .content { width: 60%; }
   */
   /* Template base */
   .ztemplate_base .ztemplate .elem { margin: 0 auto; max-width: 1440px; text-align: center; }
   .ztemplate_base .ztemplate .caption-cnt { margin: 0 0 0 80px; }
   .ztemplate_base .ztemplate .caption { width: 55%; top: 100px; position: relative; left: 60px; z-index: -1; }
   .ztemplate_base .ztemplate .caption-alt { padding: 60px; max-width: 590px; background-color: #FCFCFC; text-align: left; box-shadow: 0 122px 44px -90px rgba(0, 0, 0, 0.27); position: relative; order: 2; }
   .ztemplate_base .ztemplate .caption-alt:before { width: 145px; height: 145px; background-color: rgba(0, 0, 0, 0.06); z-index: -1; position: absolute; left: -30px; top: -30px; content: ''; }
   .ztemplate_base .ztemplate .caption-alt .zimage { position: absolute; z-index: 2; right: -170px; top: -80px; max-width: 300px; }
   .ztemplate_base .ztemplate .title { margin: 0 0 10px 0; font-weight: var(--font-weight-bold); font-size: 400%; text-transform: uppercase; }
   .ztemplate_base .ztemplate .title a { color: var(--color2); }
   .ztemplate_base .ztemplate .ztextarea.g2 { margin: 0 0 30px 0; font-size: 210%; color: var(--grey); }
   .ztemplate_base .ztemplate .ztextarea.g2 strong { font-weight: var(--font-weight-bold); color: var(--color1); }
   .ztemplate_base .ztemplate .ztextarea.g3 { font-size: 130%; line-height: 1.5; }
   .ztemplate_base .ztemplate .zsimplebutton { margin-top: 30px; }
   /* Template Overview in Home Page */
   section#overview { position: relative; z-index: 10; margin-top: 40px; }
   section#overview .ztemplate .caption { top: 150px; left: -40px; z-index: 0; order: 2; }
   section#overview .ztemplate .caption-alt { order: 1; }
   section#overview .ztemplate .rooms { margin: 200px auto 200px auto; padding: 0; background-color: var(--ice); max-width: 95%; }
   section#overview .ztemplate .rooms .elem { margin: 0; max-width: initial; text-align: left; }
   section#overview .ztemplate .rooms .caption-cnt { margin: 0; padding: 60px; align-items: flex-start; }
   section#overview .ztemplate .rooms .caption { width: 60%; top: inherit; left: inherit; }
   section#overview .ztemplate .rooms .caption img { margin: 0 0 40px 0; box-shadow: 0 122px 44px -90px rgba(0, 0, 0, 0.27); }
   section#overview .ztemplate .rooms .caption-alt { padding: 100px 0 0 60px; max-width: inherit; width: 40%; background-color: transparent; box-shadow: none; position: relative; order: 2; top: inherit; left: inherit; }
   section#overview .ztemplate .rooms .caption-alt:before { display: none; }
   section#overview .ztemplate .rooms .caption-alt .zimage { margin: 0 0 40px 0; position: relative; right: inherit; top: inherit; max-width: inherit; width: 70%; left: -80px; z-index: 2; }
   section#overview .ztemplate .rooms .ztextarea.g2 strong { font-weight: var(--font-weight-bold); color: var(--color1); }
   section#overview .ztemplate .rooms .ztextarea.g3 { position: relative; text-align: left; }
   section#overview .ztemplate .restaurant { padding: 0 0 120px 0; }
   section#overview .ztemplate .restaurant .caption-cnt { margin: 0; }
   section#overview .ztemplate .restaurant .caption-alt { order: 2; }
   section#overview .ztemplate .restaurant .caption { order: 1; left: 60px; top: 80px; z-index: -1; }
   /* Sezione Experience */
   section#experience { padding: 150px 0; }
   section#experience .body { align-items: flex-start; }
   section#experience .side { max-width: 570px; z-index: 2; }
   section#experience .content { padding: 60px 0 0 0; }
   section#experience .ztemplate .caption-cnt { margin: 0; }
   section#experience .ztemplate_model1 .caption-alt { mix-blend-mode: multiply; }
   section#experience .ztemplate_model1 .caption { padding: 30px }
   section#experience .ztemplate_model1 .caption .zlink { margin-top: 30px; position: relative; z-index: 3 }
   section#experience .ztemplate_model1 .caption .ztextarea.g2 { margin: 0 0 30px 0 }
   section#experience .ztemplate_model1 .caption .title { margin: 30px 0 10px 0 }
   section#experience .ztemplate_model1 .caption .ztextarea.g3 { max-width: 330px }
   section#experience .ztemplate_model1 .caption { width: 100%; max-width: 800px }
   /* Carosello Esperienze */
   .ztemplate_experiences .box { padding: 60px 0 0 0; }
   .ztemplate_experiences .elem { margin: 10px; text-align: left; }
   .ztemplate_experiences .caption-cnt { background-color: #000000; display: block; position: relative; overflow: hidden; }
   .ztemplate_experiences .caption { padding: 40px 20px; width: 100%; z-index: 1; position: absolute; left: 0; right: 0; bottom: 0; }
   .ztemplate_experiences .caption-alt { width: 100%; text-align: left; }
   .ztemplate_experiences .title a { font-size: 130%; color: var(--white); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.24); }
   .ztemplate_experiences .title,
   .ztemplate_experiences .ztextarea.g2 { position: relative; transition: .3s; top: 40px; }
   .ztemplate_experiences .ztextarea.g2 { font-size: 120%; color: var(--white); line-height: 1.2; }
   .ztemplate_experiences img { opacity: .7; transition: .3s }
   .ztemplate_experiences .zsimplebutton { top: 90px; position: relative; opacity: 0; transition: .3s }
   .ztemplate_experiences .zsimplebutton a { background-color: var(--color3); }
   .ztemplate_experiences .zoption.g9 { position: absolute; top: 20px; left: 20px; z-index: 2; }
   .ztemplate_experiences .zoption.g9 .fieldvalue { display: none; }
   .ztemplate_experiences .zoption.g9.v6:before { content: '\f06d'; font-family: var(--font-icon); font-size: 160%; font-weight: var(--font-weight-solid); color: var(--white); }
   .ztemplate_experiences .zoption.g7 { position: relative; top: -20px; }
   .ztemplate_experiences .zoption .fieldvalue { font-size: 90%; color: var(--white); text-transform: uppercase; position: relative; }
   .ztemplate_experiences .zoption .fieldvalue:before { width: 15px; height: 1px; background-color: var(--white); text-align: left; z-index: 3; position: absolute; left: -20px; bottom: 8px; content: ''; }
   .ztemplate_experiences .elem:hover .zsimplebutton { top: 20px; opacity: 1; transition: .3s }
   .ztemplate_experiences .elem:hover .title,
   .ztemplate_experiences .elem:hover .ztextarea.g2 { top: 0 }
   .ztemplate_experiences .elem:hover img { filter: blur(5px); transform: scale(1.4) rotate(5deg); opacity: .5 }
   .ztemplate_experiences .slick-prev { top: 0; left: 0; }
   .ztemplate_experiences .slick-next { top: 0; left: 70px; right: inherit; }
   .ztemplate_experiences .slick-next:before,
   .ztemplate_experiences .slick-prev:before { color: var(--color3); }
   /* Sezione Offerte */
   section#offers { margin: 0 auto 100px auto; clear: both; max-width: 1440px; }
   section#offers .section_text { font-size: 180%; }
   section#offers .section_title { font-size: 250%; font-weight: var(--font-weight-bold); text-transform: uppercase; }
   section#offers .section_btn .varsimple { padding: 15px 25px; display: inline-block; border: 2px solid #FFFFFF; background-color: transparent; font-weight: var(--font-weight-bold); font-size: 85%; text-transform: uppercase; text-align: center; letter-spacing: 3px; cursor: pointer; }
   section#offers .section_btn a { padding: 15px 25px; display: inline-block; border: 2px solid var(--color2); background-color: var(--color2); font-weight: var(--font-weight-bold); font-size: 85%; text-transform: uppercase; text-align: center; letter-spacing: 3px; cursor: pointer; color: var(--white); }
   section#offers .side { background: var(--color1); color: var(--white); display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -webkit-align-items: flex-start; align-items: flex-start; justify-content: center; flex-direction: column; }
   section#offers .side>div { margin: 10px 0; }
   section#offers .side .btns { display: flex; flex-wrap: wrap; }
   section#offers .side .btns .section_btn { margin-right: 10px; }
   section#offers .section_btn.section_btn_model_2 a { background-color: var(--color2); border: 2px solid var(--color2); color: var(--white); }
   /* Template liste Es. Offerte */
   .ztemplate_list .box { padding: 0 60px 0 20px; position: relative; }
   .ztemplate_list .elem { margin: 0 0 20px 0; background-color: var(--ice); }
   .ztemplate_list .caption-alt { padding: 30px; width: calc(100% - 200px); }
   .ztemplate_list .caption-add { display: none; }
   .ztemplate_list .title { padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #dedede; }
   .ztemplate_list .zinput { margin: 0 0 10px 0; color: var(--grey); display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -webkit-align-items: center; align-items: center; justify-content: flex-start; text-align: left; }
   .ztemplate_list.ztemplate_offers .zinput .fieldkey { margin: 0; padding: 0 }
   .ztemplate_list .zinput .fieldvalue { font-size: 140%; color: var(--color1); }
   .ztemplate_list .ztextarea { margin: 0 0 10px 0; font-size: 120%; line-height: 1.5; display: none; }
   .ztemplate_list .ztemplate .elem .caption-cnt img { width: 200px; height: 200px; object-fit: cover; min-width: unset; opacity: 1; }
   .ztemplate_list.ztemplate_offers .elem:hover .ztextarea .fieldvalue { left: 0 }
   .ztemplate_list.ztemplate_offers .elem:hover .caption-cnt img { left: 0; opacity: 1 }
   .ztemplate_list.ztemplate_offers .zlabel.g16 { border-bottom: unset; margin-top: 20px }
   .ztemplate_list .zlink { margin-left: 20px; }
   .ztemplate_list .zsimplebutton a { background-color: var(--color3); color: var(--grey); }
   /* Filtri per Template  */
   .template_filters { text-align: left; }
   .template_filters .hidden_form_element { height: 0; }
   .template_filter { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -webkit-align-items: stretch; align-items: stretch; justify-content: flex-end; }
   .template_filters .filter_key { padding: 0 15px; font-size: 130%; background-color: var(--color1); color: var(--white); line-height: 49px; }
   .template_filters .html_select { position: relative; background-color: var(--color3); color: var(--grey); }
   .template_filters .html_select .elements_list { position: absolute; left: 0; top: 48px; width: 100%; background-color: var(--color3); border-top: 1px solid var(--color1); z-index: 5; }
   .template_filters .html_select .elements_list .option { padding: 15px; color: var(--grey); text-align: left; cursor: pointer }
   .template_filters .html_select .current_value { padding: 0 15px; cursor: pointer; min-width: 250px; height: 49px; position: relative; text-align: left; line-height: 49px; font-size: 120%; }
   .template_filters .html_select .current_value:after { position: absolute; top: 0; right: 0; background-color: var(--color1); color: var(--white); content: '\f0d7'; width: 50px; height: 49px; line-height: 49px; text-align: center; font-family: var(--font-icon); font-weight: var(--font-weight-solid); }
   #page.ecommerce .template_filters .form_radio {margin-top: 10px;}
   /* Template Floated */
   .ztemplate_floated { font-size: var(--size-base); }
   .ztemplate_floated .box { padding: 40px 0; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -webkit-align-items: flex-start; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
   .ztemplate_floated .elem { margin: 40px; width: calc(50% - 80px); }
   .ztemplate_floated .caption-cnt { display: block; }
   .ztemplate_floated .caption { position: relative; }
   .ztemplate_floated .caption:before { width: 0; height: 0; border-top: 110px solid transparent; border-bottom: 110px solid transparent; border-right: 110px solid rgba(0, 0, 0, 0.06); z-index: -1; position: absolute; left: -46px; top: -100px; content: ''; transform: rotate(45deg); -webkit-transform: rotate(45deg); }
   .ztemplate_floated .caption-alt { padding: 20px 0; }
   .ztemplate_floated .caption-add { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -webkit-align-items: center; align-items: center; justify-content: flex-start; }
   .ztemplate_floated .caption .zlink { position: absolute; right: 30px; bottom: 30px; }
   .ztemplate_floated .caption .zlink a { background-color: transparent; border: 2px solid var(--white); }
   .ztemplate_floated .title a { color: var(--color2); }
   .ztemplate_floated .ztextarea { font-size: 120%; line-height: 1.2; }
   .ztemplate_floated .zsimplebutton { margin: 0 20px 0 0; }
   .ztemplate_floated .zsimplebutton a { background-color: var(--color3); color: var(--grey); }
   /* Slick */
   #template15 .slick-next:before { width: 108px; height: 11px; text-align: left; z-index: 2; position: absolute; left: 120px; bottom: 20px; content: ''; }
   #template15 .slick-prev:before { width: 108px; height: 11px; text-align: left; z-index: 2; position: absolute; left: 0px; bottom: 20px; content: ''; margin-right: 10px}
   /* Accordion */
   .accordion,
   .toggler { margin: 30px 0; padding: 20px; background-color: var(--ice); }
   .accordion a.accordion-title,
   .accordion a.accordion-title:hover,
   .accordion a.accordion-title:focus,
   .accordion a.accordion-title:visited,
   .toggler a.accordion-title,
   .toggler a.accordion-title:hover,
   .toggler a.accordion-title:focus,
   .toggler a.accordion-title:visited { margin-bottom: 5px; padding: 15px 50px 15px 15px; background-color: var(--white); text-align: left; text-transform: uppercase; border-left: 5px solid var(--color1); display: block; color: var(--black); }
   .accordion a.accordion-title.selected,
   .toggler a.accordion-title.selected { margin-bottom: 0; background-color: var(--lightgrey); color: var(--color1); }
   .accordion a,
   .toggler a { position: relative; color: var(--color2); }
   .accordion a:before,
   .toggler a:before { position: absolute; width: 20px; height: 20px; border: 2px solid #dedede; content: ''; right: 10px; top: calc(50% - 10px); border-radius: 100% }
   .accordion a:after,
   .toggler a:after { position: absolute; width: 12px; height: 12px; background-color: transparent; transition: .9s; content: ''; right: 14px; top: calc(50% - 6px); border-radius: 100%; transform: scale(0); }
   .accordion a.selected:after,
   .toggler a.selected:after { background-color: var(--white); transform: scale(1); }
   .accordion .accordion-content,
   .toggler .accordion-content { padding: 20px; background-color: var(--white); border-bottom: 5px solid var(--ice); line-height: 1.5; }
   .accordion .accordion-content a:before,
   .toggler .accordion-content a:before { display: none; }
   .accordion .accordion-content a,
   .toggler .accordion-content a { display: inline-block; padding: 0 !important; }
   .accordion .accordion-content a:focus,
   .toggler .accordion-content a:focus { padding: 0 !important; margin-bottom: 0 !important; display: inline-block; }
   .accordion .accordion-content a:hover,
   .toggler .accordion-content a:hover { display: inline-block; padding: inherit; }
   .accordion a, .accordion a:hover, .accordion a:visited, .accordion a:focus {text-decoration: none !important}
   .accordion a:before, .accordion a:after {display: none;}
   #page #content .text_dyn .toggler a.accordion-title { text-decoration: none !important; }
   /* Specifico per Modello Vetrina */
   #page.showcase .split_text { margin: 0 auto; }
   /* Template Vetrina Camere */
   .ztemplate_rooms .ztemplate .elem .caption-cnt img { min-width: unset; }
   .ztemplate_rooms button.slick-prev { top: 0; left: 0; background-color: var(--white); padding: 10px; }
   .ztemplate_rooms button.slick-next { top: 0; left: 55px; right: inherit; background-color: rgba(255, 255, 255, .7); padding: 10px; }
   .ztemplate_rooms button:before { font-size: 35px; }
   .ztemplate_rooms.list { padding: 0 0 70px 0; background-color: var(--white); font-size: var(--font-size-bs); }
   .ztemplate_rooms.list .template_filter { justify-content: center; }
   .ztemplate_rooms.list .template_filters { margin-bottom: 0; padding-top: 10px; display: block !important;}
   .ztemplate_rooms.list .template_filters .html_select { background-color: var(--white); }
   .ztemplate_rooms.list .template_filters .html_select .elements_list { background-color: var(--white); }
   #page.ecommerce .template19 .row {width: 100%;}
   .ztemplate_rooms .box { text-align: center; }
   .ztemplate_rooms .elem { margin: 0px auto; display: inline-block; text-align: left; position: relative; width: 100%; max-width: 1440px; }
   .ztemplate_rooms .caption-cnt { display: flex; align-items: center; width: 100%;}
   /*
   .ztemplate_rooms .caption { box-shadow: 0 122px 44px -90px rgba(0, 0, 0, 0.3); width: 100%; }
   */
   .ecommerce .ztemplate_rooms .caption-cnt .caption { width: 40% }
   .ztemplate_rooms .caption-alt { padding: 40px; z-index: 1; width: 60%; display: flex; flex-wrap: wrap; align-items: center; row-gap: 10px; }
   .ztemplate_rooms .rooms .caption-alt { background-color: var(--white); }
   .ztemplate_rooms .caption-alt > * { width: 100%; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; }
   .ztemplate_rooms .caption-alt .zsimplebutton, .ztemplate_rooms .caption-alt .g15 { width: 50%; margin: 0px }
   .ztemplate_rooms .title a { font-weight: var(--font-weight-bold); font-size: var(--font-size-md); color: var(--black); }
   .ztemplate_rooms .ztextarea { margin: 5px 0 5px 0; font-size: var(--font-size-bs); line-height: 1.2; }
   .ztemplate_rooms .zlink,
   .ztemplate_rooms .zsimplebutton { margin: 0 15px 15px 0; display: table-cell; padding-right: 20px; width: auto; }
   .ztemplate_rooms .zsimplebutton a,
   .ztemplate_rooms .zlink a { display: inline-block; vertical-align: middle; }
   .ztemplate_rooms .zsimplebutton a { background-color: var(--color3); }
   .ztemplate_rooms .zoption.g10 { width: 90px; height: 90px; z-index: 1; position: absolute; right: 0; top: 0; }
   .ztemplate_rooms .zoption.g10 .fieldkey { padding: 5px 8px; width: 100px; background-color: var(--color3); text-align: center; z-index: 2; color: var(--grey); position: absolute; right: -25px; top: 108px; position: absolute; top: 100%; opacity: 0; transition: .3s }
   .ztemplate_rooms .zoption.g10 .fieldkey:before { margin: 0 auto; transform: rotate(45deg); width: 10px; height: 10px; background-color: var(--color3); text-align: left; z-index: -1; position: absolute; left: 0; right: 0; top: -5px; content: ''; }
   .ztemplate_rooms .zoption.g10 .fieldvalue { display: none; }
   .ztemplate_rooms .zoption.g10.v14 { display: block; }
   .ztemplate_rooms .zoption.g10 .fieldvalue.v14 { font-size: 0; display: block; }
   .ztemplate_rooms .zoption.g10 .fieldvalue.v14:after { width: 35px; height: 35px; text-align: left; z-index: 1; position: absolute; right: 10px; top: 10px; content: ''; background-image: url('../images/icons/pet.svg'); background-repeat: no-repeat; }
   .ztemplate_rooms .zoption.g10 .fieldvalue.v14:before { width: 0; height: 0; content: ''; position: absolute; border-style: solid; border-width: 0 90px 90px 0; border-color: transparent var(--color1); }
   .ztemplate_rooms .zoption.g10:hover .fieldkey { opacity: 1; top: 65%; }
   .ztemplate_rooms .zinput { margin: 30px 20px 0 0; display: inline-block; vertical-align: middle; font-size: var(--font-size-bs); color: var(--black); }
   .ztemplate_rooms .zinput .fieldkey,
   .ztemplate_rooms .zinput .fieldvalue { padding:0; display: inline-block; vertical-align: middle; position: relative; }
   .ztemplate_rooms .zinput .fieldkey { padding: 0px 0px 0px 0; }
   .ztemplate_rooms .zinput.g7 .fieldkey { padding: 0 0 0 30px; margin-right: 5px; }
   .ztemplate_rooms .zinput .fieldkey:before { font-family: var(--font-icon); font-weight: var(--font-weight-normal); color: var(--black); font-size: var(--font-size-bs); margin-right: 10px }
   .ztemplate_rooms .zinput.g6 .fieldkey:before { content: '\e269'; }
   .ztemplate_rooms .zinput.g7 .fieldkey:before { content: '\e220'; font-weight: var(--font-weight-solid); }
   .ztemplate_rooms .zinput.g6 .fieldkey { margin-right: 5px; }
   /* Pagine interne */
   #page .btn.outline a { background-color: transparent; border: 2px solid var(--color2); color: var(--color2); }
   #page .btn .varlink { display: inline-block; margin-top: 20px }
   #page .btn .varlink a { padding: 15px 30px; text-transform: uppercase; font-weight: var(--font-weight-bold); letter-spacing: 1px; display: inline-block; }
   /* Pagine interne - Vetrina Experience */
   #page .ztemplate_experiences { margin: 0 auto; max-width: 1200px; }
   #page .ztemplate_experiences .box { margin: 0 -10px; padding: 20px 0; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; -webkit-align-items: flex-start; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; }
   #page .ztemplate_experiences .elem { width: calc(33.333% - 20px); }
   
   /* Forms */
   form .intl-tel-input .selected-flag { height: calc(var(--font-size-bs) + 19px); }
   #cnt_forms form .error { color: var(--accent2) !important; }
   #cnt_forms form { margin: 0; text-align: left; }
   #cnt_forms form .caption-fields { text-align: left; }
   #cnt_forms form .caption-fields .field { width: 50%; text-align: left; }
   #cnt_forms form .caption-fields .field .form_element_title { font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--dark_grey); text-transform: uppercase; text-align: left; line-height: 1; letter-spacing: 0; }
   #cnt_forms form .caption-fields .field input { background-color: var(--white); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); text-align: left; line-height: 1; letter-spacing: 0; border: 1px solid var(--dark_grey); color: var(--black);}
   #cnt_forms form .caption-fields .field div.current_value { background-color: var(--white); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--black); text-align: left; line-height: 1; letter-spacing: 0; padding: 12px ; border: 1px solid var(--dark_grey);}
   #cnt_forms form .caption-fields .field div.current_value:after { position: absolute; content: ''; top: calc(50% - 2px); right: 12px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #555; }
   #cnt_forms form .caption-fields .field input[type="phone"] { color: var(--black); font-size: var(--font-size-xs); }
   #cnt_forms form .caption-fields .field .intl-tel-input.allow-dropdown .flag-container { color: var(--black); }
   #cnt_forms form .caption-fields .field input.datetimepicker { color: var(--black) !important; font-size: var(--font-size-xs); }
   #cnt_forms form .caption-fields .field.select { width: 50%; text-align: left; position: relative; }
   #cnt_forms form .caption-fields .field.select .form_element_title { font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--dark_grey); text-transform: uppercase; text-align: left; line-height: 1; letter-spacing: 0; }
   #cnt_forms form .caption-fields .field.select select { width: 100%; background-color: var(--color1); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-xs); color: var(--white); text-transform: lowercase; text-align: left; line-height: 1; letter-spacing: 0; }
   #cnt_forms form .caption-fields .field.textarea { width: 100%; text-align: left; float: left; }
   #cnt_forms form .caption-fields .field.textarea .form_element_title { font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--dark_grey); text-transform: uppercase; text-align: left; line-height: 1; letter-spacing: 0; }
   #cnt_forms form .caption-fields .field.textarea textarea { padding:10px; width: 100%; height:150px; background-color: var(--white); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--black); text-align: left; line-height: 1; letter-spacing: 0;  border: 1px solid var(--dark_grey);}
   #cnt_forms form #showprivacy { text-align: left; float: left; }
   #cnt_forms #showprivacy .privacy_field .show_privacy { padding: 0px 15px 0 0 ; font-size: var(--font-size-bs); color: var(--black) }
   #cnt_forms #showprivacy p.privacy.flag { padding: 5px 15px; }
   #cnt_forms form #showprivacy a { font-family: var(--sans); font-weight: var(--font-weight-normal); color: var(--color1); text-align: left; line-height: 1; }
   #cnt_forms form .cnt_privacy { font-family: var(--sans); font-weight: var(--font-weight-normal); color: var(--black); line-height: 18px; letter-spacing: 0; }
   #cnt_forms form p.privacy { text-align: left; }
   #cnt_forms form p.privacy label { float: none; display: inline-block; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-xs); color: var(--color2); text-align: left; line-height: 1; letter-spacing: 0; }
   #cnt_forms form .newsletter { text-align: left; padding-top: 15px;}
   #cnt_forms form .newsletter input[type="checkbox"] { float: none; display: inline-block; border: 1px solid #CFCFCF; text-align: left; margin-right: 5px; }
   #cnt_forms form .newsletter label { display: flex; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--black); text-align: center; line-height: 1; align-items: baseline;}
   #cnt_forms form input[type="submit"] { padding: 15px 25px 15px 25px; border: none; background-color: var(--color1); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-xs); color: var(--white); text-transform: uppercase; text-align: center; line-height: 13px; letter-spacing: 1px;}
   #cnt_forms form .form_messages { text-align: center; }
   #cnt_forms form .form_messages .message { padding: 42px 33px 49px 33px; background-color: #57BCE1; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--white); text-align: center; line-height: 19px; letter-spacing: 0; }
   #cnt_forms form .form_messages .message.error { padding: 42px 10px 49px 9px; background-color: var(--accent2); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--white); text-align: center; line-height: 19px; letter-spacing: 0; }
   form .newsletter label input { margin-right: 0; }
   .pf_form form .date_from_html .month { display: none; }
   .pf_form form .date_from_html .month_name { display: block; }
   /* Autocomplete */
   form .form_select.autocomplete_select { padding: 0; border: unset; position: relative; }
   form .form_select.autocomplete_select:after { position: absolute; content: ''; top: calc(50% - 2px); right: 10px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #555; }
   form .form_select.autocomplete_select .elements_list { margin-top: 0; }
   form .caption-fields .form.field.select .form_select .elements_list { padding: 5px !important; position: absolute; background-color: var(--white); z-index: 3000; color: var(--dark_grey);  border: 1px solid var(--dark_grey); max-height: 200px; overflow: auto; width: calc(100% - 0px)}
   form .caption-fields .form.field.select .form_select .elements_list .option { padding: 3px; }
   form .caption-fields .form.field.select .form_select .elements_list .option:hover { background-color: var(--lightgrey); }
   
   /* BEI Immersivo */
   .ztemplate_rooms .rooms .caption-alt>.title { font-size: var(--font-size-lg); color: var(--color1); font-family: var(--serif); width: auto;}
   .ztemplate_rooms .rooms .caption-alt>.zsimplebutton { padding: 20px 25px; display: inline-block; background-color: var(--color1); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-xs); color: var(--white); letter-spacing: 1px; text-align: center; text-transform: uppercase; cursor: pointer; }
   .ztemplate_rooms .rooms .caption-add { position: absolute; bottom: 30px; right: 30px; z-index: 2; }
   .ztemplate_rooms .rooms .zinput { margin-top: 3px; display: block; }
   .ztemplate_rooms .zlabel span.number { margin: 0; }
   .ztemplate_rooms .zlabel span.comma { margin: 0; position: relative; }
   .ztemplate_rooms .zlabel span.decimal { position: relative; }
   .ztemplate_rooms .g6 { margin: 0 0 0 15px; width: auto;}
   .ztemplate_rooms .rates .g6 { margin: 0 0 0 0; width: auto;}
   .desktop .ztemplate_rooms .rooms .g6:before {content: '-'; display: inline-block; margin-right: 10px;}
   .desktop .ztemplate_rooms .rates .g6:before {display: none;}
   .ztemplate_rooms .zlabel.g15 .fieldkey { margin: 0 0 4px 0; font-size: var(--font-size-xs); text-transform: uppercase; color: var(--black); }
   .ztemplate_rooms .zlabel.g15 .fieldvalue { position: relative; font-size: var(--font-size-md); color: var(--color1); display: flex; justify-content: flex-start; }
   .ztemplate_rooms .zlabel.g15 .fieldvalue:before { margin: 0 2px 0 0; content: "\20ac"; text-transform: uppercase; font-size: 100%; text-align: left; }
   .ztemplate_rooms .zlabel.g12 { clear: both; font-size: var(--font-size-bs); color: var(--black); text-align: left; position: relative; /* -webkit-animation:shake-horizontal 6s linear infinite; animation:shake-horizontal 6s linear infinite */ }
   .ztemplate_rooms .zlabel.g12 .fieldvalue { position: relative; display: flex; align-items: center; animation: blink 2s 5; color: var(--accent1);}
   .ztemplate_rooms .zlabel.g12 .fieldvalue:before { font-family: var(--font-icon); content: '\f0a1'; font-weight: var(--font-weight-solid); font-size: 120%; margin-right: 10px; }
   .ztemplate_rooms .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) { position: relative; }
   .ztemplate_rooms .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) .caption-alt { transition: .4s }
   .ztemplate_rooms .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) .caption-alt.fired { bottom: 0; }
   .ztemplate_rooms .subcontents { display: none; }
   .ztemplate_rooms .subcontents .ztemplate { margin: 0; max-width: 100%; box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); padding: 0}
   .ztemplate_rooms .subcontents .elem { margin: 0; padding: 0; width: 100%; background-color: var(--white); border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
   .ztemplate_rooms .subcontents .elem:nth-child(odd) { background-color: var(--lightgrey); }
   .ztemplate_rooms .subcontents .caption-cnt { display: flex; padding: 0; align-items: stretch; justify-content: space-between; }
   .ztemplate_rooms .subcontents .caption-cnt>li { flex-direction: column; margin: 10px 0; padding: 10px 15px; border-right: 1px solid rgba(0, 0, 0, 0.1); display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex; list-style: none; justify-content: center; align-items: center; flex-wrap: wrap; }
   .ztemplate_rooms .subcontents .caption-cnt .caption { box-shadow: unset; width: 40%; text-align: left; justify-content: flex-start; align-items: flex-start; }
   .ztemplate_rooms .subcontents .rate-group-header .rate-group-title { width: 40%; text-align: left; justify-content: flex-start; align-items: flex-start; }
   .ztemplate_rooms .subcontents .caption-cnt .caption-alt { background-color: transparent; position: initial; left: initial; bottom: initial; max-width: inherit; width: 32%; align-items: flex-start; justify-content: flex-start; flex-direction: column }
   .ztemplate_rooms .subcontents .caption-add,
   .ztemplate_rooms .subcontents .rate-group-header .rate-group-price,
   .ztemplate_rooms .subcontents .rate-group-header .rate-group-rooms { width: 15%; text-align: center; position: initial; bottom: initial; right: initial; }
   .ztemplate_rooms .subcontents .caption-add.last { border: none; }
   .ztemplate_rooms .subcontents .title { margin: 0 0 5px; font-size: var(--font-size-sm); font-family: var(--sans); color: var(--color1); width: 100%; text-align: left; }
   .ztemplate_rooms .subcontents .ztextarea { margin: 0; color: var(--black); font-size: calc(var(--font-size-bs) - 2px); width: 100%; text-align: left; }
   .ztemplate_rooms .subcontents .rate-group-header { padding: 0px 0; display: flex; background-color: var(--black); color: var(--white); font-size: var(--font-size-xs); text-align: center; position: relative; cursor: pointer; }
   .ztemplate_rooms .subcontents .rate-group-header.open { background-color: var(--color1); }
   .ztemplate_rooms .subcontents .rate-group-header:before { font-family: var(--font-icon); position: absolute; left: 20px; top: 10px; cursor: pointer; content: "\f0fe"; }
   .ztemplate_rooms .subcontents .rate-group-header.open:before { content: "\f146"; }
   .ztemplate_rooms .subcontents .rate-group-header>div { padding: 10px 20px; text-align: left; border-left: 1px solid rgba(255, 255, 255, 0.3); display: none; }
   .ztemplate_rooms .subcontents .rate-group-header.open>div { display: block; }
   .ztemplate_rooms .subcontents .rate-group-header .rate-group-title { padding: 10px 0 10px 45px; display: block; border: none; }
   .ztemplate_rooms .subcontents .rate-group-header .rate-group-cond { width: 32%; }
   .ztemplate_rooms .subcontents a { color: var(--color2); }
   .ztemplate_rooms .subcontents .elem.highlighted { border: 1px solid #d19300; background-color: #ffffff; transform: scale(1.015); margin: 20px 0; position: relative; z-index: 2; }
   /*
   .ztemplate_rooms .subcontents .elem.highlighted:before { position: absolute; top: 100%; left: -1px; content: ''; border-style: solid; border-width: 0 22px 22px 0; border-color: transparent #7ca39c transparent transparent; }
   .ztemplate_rooms .subcontents .elem.highlighted:after { position: absolute; top: 100%; right: -1px; content: ''; border-style: solid; border-width: 22px 22px 0 0; border-color: #7ca39c transparent transparent transparent; }
   */
   .rate_details ul { padding-left: 25px; margin: 5px 0; }
   .rate-group-content { overflow: visible !important; background-color: var(--white); }
   /* Titolo offerta limitata */
   .promo_name { display: flex; align-items: stretch; margin-bottom: 0px; padding: 5px; color: var(--white); text-transform: uppercase; font-weight: var(--font-weight-bold); gap: 5px; background-color: var(--accent1); }
   .promo_name:before { font-family: var(--font-icon); content: '\f2f3'; color: var(--white); font-size: 90%; }
   .smartphone .promo_name { color: var(--white); border: none; }
   .smartphone .promo_name:before { color: var(--white); }

   /* Raggruppamento Tariffe per Occupazione */
.rate-group .rate-group-header { padding: 0 0 10px 0; display: flex; align-items: center; gap: 5px; cursor: pointer; font-size: calc(var(--size-base) * .85); }
.rate-group .rate-group-header:before { font-family: var(--font-icon); content: "\f0fe"; font-weight: var(--font-weight-solid); color: var(--color1); font-size: calc(var(--size-base) * .9);}
.rate-group .rate-group-header.open:before { content: "\f146"; }
.rate-group .rate-group-header :where(.rate-group-cond, .rate-group-price, .rate-group-rooms) { display: none;}
.rate-group .rate-group-header .rate-group-title span { display: inline-flex; gap: 5px; font-weight: var(--font-weight-bold); color: var(--white); }
.rate-group .rate-group-header .rate-group-title span:before { margin-inline-start: 5px; font-family: var(--font-icon); display: none; }
.rate-group .rate-group-header .rate-group-title span.adult:before { content: "\e220"; }
.rate-group .rate-group-header .rate-group-title span.child:before { content: "\f1ae"; }

/* Raggruppamento Tariffe da Ermes */
/* .rate-set-head { display: none; } 
/* .rate-set .description { display: none; } */
.rate-set { padding: 15px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.rate-set.fired { padding-bottom: 0; border: 2px solid var(--color1); }
.ztemplate_rooms .subcontents .rate-set .elem:last-of-type { border-bottom: unset; }
.rate-set .rate-set-head { padding: 0 15px; display: flex; flex-wrap: wrap; align-items: center; cursor: pointer; text-align:left; }
.rate-set .name { color: var(--dark_grey); font-size: calc(var(--size-base) * 1.1); font-weight: var(--font-weight-bold); /* font-weight: var(--font-weight-bold);*/ }
.rate-set .price_from { margin-left: auto; font-size: calc(var(--size-base) * 1.2); color: var(--color1); transition: opacity 0.5s ease-in-out; font-family: var(--sans-bei); font-weight: var(--font-weight-medium);}
.rate-set .price_from :where(.comma, .decimal) { font-size: 0;}
.rate-set .price_from:before { margin: 0 5px 0 0;}
body.it .rate-set .price_from:before { content: "da \20AC"; }
body.en .rate-set .price_from:before { content: "from \20AC"; }
body.fr .rate-set .price_from:before { content: "de \20AC"; }
body.de .rate-set .price_from:before { content: "Ab \20AC"; }
body.ru .rate-set .price_from:before { content: "От \20AC"; }
.rate-set .description { padding-block-start: 10px; font-size: calc(var(--size-base)* .95); line-height: 1.3; width: 100%; text-align: left; border-bottom: 1px solid rgba(0, 0, 0, 0.1);}
.rate-set .collapse_toggle:before { font-family: var(--font-icon); content: '\f078'; font-size: var(--size-btn); margin-left: 5px; color: var(--dark_grey); display: flex; transition: .4s all; }
.rate-set .rate-set-elements { height: 0; transition: height 0.5s ease-in-out, opacity 0.5s ease-in; opacity: 0; pointer-events: none; overflow: hidden; display: flex; flex-direction: column; }
.rate-set .rate-set-elements .description { padding: 15px; margin: 0; }
.rate-set.fired .rate-set-head { justify-content: space-between;}
.rate-set.fired .rate-set-head .name:after { display: none;}
.rate-set.fired .rate-set-head .price_from { opacity: 0;}
.rate-set.fired .rate-set-elements { height: 100%; opacity: 1; pointer-events: inherit; overflow: unset;}
.rate-set.fired .collapse_toggle:before { transform: rotate(-180deg); }
.smartphone .rate-set .price_from { margin-left: 0; }

/* Tariffe in vendita */
.ztemplate_rooms .subcontents .elem .zlabel { font-size: var(--font-size-xs); line-height: 1; }
.ztemplate_rooms .subcontents .elem .zlabel.g17 { display: none; }
.ztemplate_rooms .subcontents .product_selection_wrap { margin: 0; text-align: center; 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; justify-content: space-between; }
.ztemplate_rooms .subcontents .product_selection_wrap .prod_sel_content { padding: 0; min-width: 40px; width: auto; height: inherit; font-size: var(--font-size-lg); line-height: 1.2; text-align: center; border: none; background: none; color: var(--color1); }
.ztemplate_rooms .subcontents .product_selection_wrap .prod_sel_add.disabled,
.ztemplate_rooms .subcontents .product_selection_wrap .prod_sel_rem.disabled { opacity: 0.1; }
.ztemplate_rooms .subcontents .product_selection_wrap span:before { font-family: var(--font-icon); font-weight: var(--font-weight-normal); text-align: center; font-size: var(--font-size-sm); line-height: 1; color: var(--color1) }
.ztemplate_rooms .subcontents .product_selection_wrap .prod_sel_rem:before { content: "\f056"; }
.ztemplate_rooms .subcontents .product_selection_wrap .prod_sel_add:before { content: "\f055"; }
/* Prodotti e Tariffe - Descrizione Tariffa */
.ztemplate_rooms .subcontents .ztextarea.g2 .fieldkey { cursor: pointer; color: var(--black);font-size: calc(var(--font-size-xs) - 2px); width: 100%; text-align: left; text-transform: uppercase; margin-top: 10px; }
.ztemplate_rooms .subcontents .ztextarea.g2 .fieldkey:before { margin: 0 5px 0 0; font-family: var(--font-icon); font-weight: var(--font-weight-normal); text-align: center; content: "\f0fe"; }
.ztemplate_rooms .subcontents .ztextarea.g2 .fieldvalue { display: none; }
.ztemplate_rooms .subcontents .ztextarea.g2.fired .fieldvalue { margin: 10px 0 0 0; display: block; }
.ztemplate_rooms .subcontents .ztextarea.g2.fired .fieldkey:before { content: "\f146"; }
/* ^ Trattamento ed eventuali Servizi inclusi */
.ztemplate_rooms .subcontents .zlabel.g24 { margin: 5px 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: horizontal; -webkit-align-items: center; align-items: center; }
.ztemplate_rooms .subcontents .zlabel.g24 .fieldvalue { margin: 0 5px 0 0; font-size: var(--font-size-bs); color: var(--color3); }
.ztemplate_rooms .subcontents .zlabel.g24 .fieldvalue:before { margin: 0 5px 0 0; font-family: var(--font-icon); font-weight: var(--font-weight-solid); }
.ztemplate_rooms .treatment-breakfast .zlabel.g24 .fieldvalue:before { content: "\f7b6"; }
.ztemplate_rooms .treatment-room .zlabel.g24 .fieldvalue:before { content: "\f8f7"; }
.ztemplate_rooms .treatment-half .zlabel.g24 .fieldvalue:before,
.ztemplate_rooms .treatment-full .zlabel.g24 .fieldvalue:before { content: "\e559"; }
.ztemplate_rooms .treatment-all .zlabel.g24 .fieldvalue:before { content: "\f561"; }
.ztemplate_rooms .subcontents .zlabel.g25 { margin: 0 0 10px 0; color: var(--black); 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: horizontal; -webkit-align-items: center; align-items: flex-start; flex-direction: column;}
.ztemplate_rooms .subcontents .zlabel.g25 .fieldkey { margin: 0 5px 5px 0; color: var(--color1); font-size: var(--font-size-bs); text-align: left; text-transform: none; }
.ztemplate_rooms .subcontents .zlabel.g25 .fieldkey:after { content: ":"; }
/* Prodotti e Tariffe - Condizioni */
.ztemplate_rooms .subcontents .zlabel.g6 { width: 100%; margin-bottom: 10px }
.ztemplate_rooms .subcontents .zlabel.g6 .fieldvalue { font-size: var(--font-size-sm); color: var(--color1); display: flex; }
.ztemplate_rooms .subcontents .zlabel.g6 .fieldvalue:before { content: '\20ac'; margin-right: 2px }
.ztemplate_rooms .subcontents .zlabel.g8 { line-height: 1.2; }
.ztemplate_rooms .subcontents .zlabel.g8 .fieldkey { display: none; color: var(--grey); font-size: 100%; width: 100%; text-align: left; }
.ztemplate_rooms .subcontents .zlabel.g8 .fieldkey:before { margin: 0 5px 0 0; font-family: var(--font-icon); font-weight: var(--font-weight-normal); text-align: center; content: "\f0fe"; }
.ztemplate_rooms .subcontents .zlabel.g8.fired .fieldvalue { margin: 0 0 10px 0; display: block; }
.ztemplate_rooms .subcontents .zlabel.g8.fired .fieldkey:before { content: "\f146"; }
.ztemplate_rooms .subcontents .payment_policy { margin-top: 5px }
.prepaid_detail { display: flex; align-items: center; margin: 10px 0 0; border-top: 1px dashed var(--black); padding: 10px 0; color: var(--black) }
.prepaid_detail:before { font-family: var(--font-icon); content: '\f51e'; font-weight: var(--font-weight-solid); margin-right: 5px; color: var(--color3); }
.prepaid_detail_amount { font-size: 120%; color: var(--color1); }
.prepaid_detail_date { margin-left: 10px; font-weight: var(--font-weight-medium); text-transform: uppercase; font-size: var(--font-size-xs); border: 1px solid var(--black); padding: 3px }
.canc_policy_label,
.payment_policy_label { text-transform: uppercase; cursor: pointer; font-size: calc(var(--font-size-bs) - 2px) }
.canc_policy_label:before,
.payment_policy_label:before { margin: 0 5px 0 0; font-family: var(--font-icon); font-weight: var(--font-weight-normal); text-align: center; content: "\f0fe"; }
.canc_policy_text,
.payment_policy_text { margin: 5px 0 10px; display: none }
.canc_costs_title {font-weight: var(--font-weight-bold);}
.canc_policy.fired .canc_policy_text,
.payment_policy.fired .payment_policy_text { display: block; font-size: calc(var(--font-size-bs) - 2px); line-height: var(--font-size-bs);}
.canc_policy.fired .canc_policy_label:before,
.payment_policy.fired .payment_policy_label:before { content: '\f146' }
/* prezzo giornaliero tariffa */
/*.ztemplate_rooms .subcontents .elem .zlabel.price_per_day {display: none;}*/
/* Prezzi giornalieri */
.ztemplate_rooms .subcontents .zlabel.zlabelprice { position: relative; display: inline-block; width: auto;}
.zlabel.price_per_day { display: none; position: absolute; top: 35px; left: calc(100% - 20px); background-color: #fff; border: 1px solid var(--color1); z-index: 3; max-height: 356px; overflow-y: auto; overflow-x: hidden;}
.zlabel.price_per_day::-webkit-scrollbar { width: 4px; background-color: var(--color4);}
.zlabel.price_per_day::-webkit-scrollbar-thumb { background-color: var(--color1);}
.zlabel.price_per_day .fieldvalue:before, .zlabel.price_per_day .fieldvalue:after { display: none; }
.zlabel.price_per_day .fieldkey { padding: 10px; text-align: center!important; background-color: var(--color1); color: var(--white)!important;}
.zlabel.price_per_day.fired { display: block; }
.zlabel.price_per_day .day_price { display: flex; align-items: center; margin-bottom: 5px; border-bottom: 1px solid #dedede; padding: 10px;}
.zlabel.price_per_day .day_price:last-of-type { margin-bottom: 0; border-bottom: unset; padding-bottom: 10px;}
.day_price .date { margin-right: 20px; font-size: 70%;}
.day_price .number, .day_price .comma, .day_price .decimal { font-size: 70%; }
.day_price .number:before { margin: 0 2px 0 0; content: "\20ac"; text-transform: uppercase; font-size: 100%; text-align: left; }
.ztemplate_rooms .subcontents .caption-cnt > li { position: relative;}
.ztemplate_rooms .subcontents .zlabelprice { display: inline-block; width: auto;}
.show_prices:after { font-family: var(--font-icon); content: '\f141'; font-size: 20px; margin-left: 10px; cursor: pointer;}
.ztemplate_rooms .subcontents .caption-cnt .caption-alt, .ztemplate_rooms .subcontents .caption-cnt .caption-add { position: relative; }
.ztemplate_rooms .rooms .caption-add { z-index: inherit;}
.smartphone .zlabel.price_per_day { right: inherit; left: 0;}
.smartphone .subcontents .zlabel.price_per_day .fieldkey { color:var(--white); font-size: calc(var(--font-size-bs) - 2px); }
.smartphone .zlabel.price_per_day .day_price { color: var(--color1); font-weight: var(--font-weight-normal);}
.ztemplate_rooms .subcontents .zlabel.g10 .fieldvalue.f30:before {display: none;}

   /* Prodotti e Tariffe - Visualizzazione prezzi e Occupanti*/
   .ztemplate_rooms .subcontents .zlabel.g15,
   .ztemplate_rooms .subcontents .zlabel.g16,
   .ztemplate_rooms .subcontents .zlabel.g23 { margin: 0 5px 10px 5px; color: var(--color2); display: none; }
   .ztemplate_rooms .subcontents .zlabel.g15 .fieldvalue:after,
   .ztemplate_rooms .subcontents .zlabel.g16 .fieldvalue:after,
   .ztemplate_rooms .subcontents .zlabel.g23 .fieldvalue:after { margin: 0 0 0 5px; font-family: var(--font-icon); font-weight: var(--font-weight-normal); text-align: center; font-size: 130%; line-height: 1; content: "\f183"; }
   .ztemplate_rooms .subcontents .zlabelprice,
   .ztemplate_rooms .subcontents .zlabel.g9 { width: 100%; color: var(--color1); font-size: var(--font-size-xs) }
   .ztemplate_rooms .subcontents .zlabel .fieldkey { margin: 0 0 10px 0; font-size: calc(var(--font-size-xs) - 2px); text-transform: uppercase; color: var(--black); }
   .ztemplate_rooms .subcontents .zlabelprice .fieldvalue,
   .ztemplate_rooms .subcontents .zlabel.g9 .fieldvalue,
   .ztemplate_rooms .subcontents .zlabel.g20 .fieldvalue { position: relative; font-size: var(--font-size-bs); display: flex; justify-content: center; text-align: center; align-items: center;}
   .ztemplate_rooms .subcontents .zlabel.g10 .fieldvalue,
   .ztemplate_rooms .subcontents .zlabel.g10 .fieldvalue:before { position: relative; font-size: var(--font-size-sm); display: flex; justify-content: center; text-align: center; }
   .ztemplate_rooms .subcontents .zlabelprice .fieldvalue:before,
   .ztemplate_rooms .subcontents .zlabel.g9 .fieldvalue:before,
   .ztemplate_rooms .subcontents .zlabel.g20 .fieldvalue:before { margin: 0 2px 0 0; content: "\20ac"; text-transform: uppercase; font-size: var(--font-size-bs); text-align: left; }
   .ztemplate_rooms .subcontents .zlabel.g9 { margin: 0 0 5px 0; }
   .ztemplate_rooms .subcontents .zlabel.g9 .number,
   .ztemplate_rooms .subcontents .zlabel.g9 .decimal { text-decoration: line-through; }
   .ztemplate_rooms .subcontents .zlabel.g20 { margin: 5px 0 0 0; padding: 5px; color: var(--grey); 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; justify-content: center; text-align: center;/* flex-direction: column; */}
   .ztemplate_rooms .subcontents .zlabel.g20 .fieldkey,
   .ztemplate_rooms .subcontents .zlabel.g20 .fieldvalue { margin: 0 2px; color: var(--accent1); font-size: var(--font-size-xs); }
   .ztemplate_rooms .subcontents .zlabel.g20 span.comma,
   .ztemplate_rooms .subcontents .zlabel.g20 span.decimal { vertical-align: initial; font-size: 100%; letter-spacing: 0; position: relative; top: initial; }
   /* Step Bar - Purchase flow */
   .step_footer { margin: 0; padding: 15px 20px; width: 100%; position: fixed; bottom: 0; background-color: var(--white); box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); transform: translateY(130%); transition-timing-function: ease-in; transition: 0.2s; z-index: -2; 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; justify-content: flex-end; }
   .step_footer.fired { transition: 0.25s; transition-timing-function: ease-out; transform: translateY(0); opacity: 1; z-index: 999; }
   .step_footer_wrap { position: relative; width: 100%; max-width: 1480px; padding: 0 20px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center }
   /* .step_footer_wrap:before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; height: 30px; content: ''; z-index: -1; background-image: url('../images/icons/credit_cards.svg'); background-repeat: no-repeat; background-size: contain; }
   */
   .pf_step_button { position: relative; transition: .3s; top: 0; order: 2; padding: 20px 40px; display: inline-block; background-color: var(--color1); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-xs); color: var(--white); letter-spacing: 1px; text-align: center; text-transform: uppercase; cursor: pointer; }
   .pf_step_button.disabled { opacity: 0; pointer-events: none; top: 100px; }
   .totals { margin: 0 20px 0 0; }
   .total_price_title { text-transform: uppercase; font-size: var(--font-size-bs); display: flex; align-items: center; order: 2; margin-top: 5px; }
   /* .total_price_title:after { content: ':'; margin-left: 3px }
   */
   .purchase_flow_step.purchase_flow_3_step .ztemplate:not(.subcontents .ztemplate), .services_only .purchase_flow_step .ztemplate:not(.subcontents .ztemplate) { display: flex; height: 100%; margin: 0px auto; padding: 0 15px; max-width: 1570px; margin-top: 20px; }
   
    /* add to cart loader */
    .dot_loading { display: none; position: fixed; z-index: 99999999; width: 100%; height: 100%; background-color: rgba(0,0,0,.7); top: 0; left: 0;}
    .dot_loading.fired { display: block;}
    .dot_loading:before { position: fixed; content: ''; left: 50%;  top: 50%;  margin: -25px 0 0 -25px;  border-bottom: 6px solid var(--color2); border-left: 6px solid var(--color2);  border-right: 6px solid var(--color1); border-top: 6px solid var(--color1);  border-radius: 100%; height: 50px;  width: 50px; animation: rot .8s infinite linear; }


   .total_amount { order: 1; font-size: var(--font-size-lg); color: var(--color1); font-weight: var(--font-weight-medium); display: flex; align-items: center; margin-right: 0 }
   .total_amount span.number { margin: 0; }
   .total_amount span.comma { margin: 0 }
   .total_amount span.decimal { letter-spacing: -0.5px; }
   .total_amount:before { margin: 0 2px 0 0; content: "\20ac"; text-transform: uppercase; text-align: left; }
   .step_footer_wrap .cart_detail_wrapper { position: absolute; z-index: 2; left: 0 }
   .step_footer_wrap #cart_detail { opacity: 0; transition: .4s; max-height: 420px; overflow: auto; box-shadow: 0 0 20px rgb(0 0 0 / 20%); position: absolute; left: 20px; bottom: 30px; width: 420px; background-color: var(--white); z-index: 2; pointer-events: none; transform: scale(0); transform-origin: bottom left; padding-bottom: 10px; }
   .ztemplate .box_heading { display: none; }
   .step_footer_wrap #cart_detail>.box_heading { display: block; color: var(--white); position: sticky; top: 0; left: 0; width: 100%; z-index: 9; padding: 4px 15px; background-color: var(--color1); margin-bottom: -34px; height: 32px }
   .step_footer_wrap #cart_detail::-webkit-scrollbar { width: 4px; background-color: var(--white); }
   .step_footer_wrap #cart_detail::-webkit-scrollbar-thumb { background-color: var(--color1); }
   .step_footer_wrap #cart_detail.fired { opacity: 1; pointer-events: inherit; transform: scale(1); }
   .step_footer_wrap #cart_detail .ztemplate { margin: 0; display: block; }
   .step_footer_wrap #cart_detail .ztemplate .caption { width: 100% }
   .step_footer_wrap #cart_detail .ztemplate .row { margin-left: 0 }
   .step_footer_wrap #cart_detail .elem { margin: 20px 0 0; padding: 0 }
   .step_footer_wrap #cart_detail .elem .zinput.g3 { display: none; }
   .step_footer_wrap #cart_detail .subcontents { display: block; }
   .step_footer_wrap #cart_detail .subcontents .elem { padding: 0; margin: 0; border-bottom: 1px dashed rgba(0, 0, 0, .1) }
   .step_footer_wrap #cart_detail .subcontents .elem .caption { width: 100% }
   .step_footer_wrap #cart_detail .subcontents .elem:nth-child(odd) { background-color: var(--white); }
   .step_footer_wrap #cart_detail .subcontents .elem .caption-cnt:not(.service_title .caption-cnt) { padding: 6px 0px }
   .step_footer_wrap #cart_detail .zlabel.g11 { animation: unset; position: relative; left: 0; top: 0; width: 100%; }
   .step_footer_wrap #cart_detail .zlabel.g11 .subfield { border-bottom: 1px dashed #dedede; padding: 4px 0px; }
   .step_footer_wrap #cart_detail .zlabel.g11 .subfield .fieldvalue { display: flex; align-items: center; color: var(--dark_grey); width: 100%; background-color: transparent }
   .step_footer_wrap #cart_detail .zlabel.g11 .date { order: 2 }
   .step_footer_wrap #cart_detail .zlabel.g11 .quantity { order: 1; }
   .step_footer_wrap #cart_detail .zlabel.g11 .name { order: 3; margin-left: auto; margin-right: 20px; color: var(--black); }
   .step_footer_wrap #cart_detail .zlabel.g11 .price { order: 4; font-size: var(--font-size-bs); color: var(--color1); }
   .step_footer_wrap #cart_detail .zlabel.g11 .price:before { content: '\20ac'; margin-right: 2px }
   .step_footer_wrap #cart_detail .subcontents .caption-cnt .caption-alt { display: none; }
   .step_footer_wrap #cart_detail .ztemplate .title { font-size: var(--font-size-bs); color: var(--black); font-family: var(--sans); font-weight: var(--font-weight-medium); border-bottom: 1px solid var(--lightgrey); padding-bottom: 5px; margin-bottom: 5px; margin-top: 10px; width: 100%; text-transform: uppercase; }
   .step_footer_wrap #cart_detail .subcontents .caption { align-items: center }
   .step_footer_wrap #cart_detail .subcontents .title { width: calc(100% - 60px); order: 2; font-size: var(--font-size-bs); color: var(--black); font-weight: var(--font-weight-medium); font-family: var(--sans); border-bottom: unset; padding-bottom: 0; margin-bottom: 0; margin-top: 0; }
   .step_footer_wrap #cart_detail .subcontents .rate_arrangement { order: 3 }
   .step_footer_wrap #cart_detail .subcontents .ztemplate { box-shadow: unset }
   .step_footer_wrap #cart_detail .subcontents .caption-cnt .caption { padding: 2px 0; margin: 0; display: flex; flex-wrap: wrap; flex-direction: row; align-items: flex-start; row-gap: 5px; }
   .step_footer_wrap #cart_detail .zlabelquantity { font-size: var(--font-size-xs); order: 1 }
   .step_footer_wrap #cart_detail .subcontents .caption-add { padding: 0; margin: 0; display: flex; flex-wrap: nowrap; flex-direction: column; align-items: flex-end; }
   .step_footer_wrap #cart_detail .zlabel.g11 .fieldvalue { display: flex; align-items: center }
   .step_footer_wrap #cart_detail .subcontents .caption-cnt>li { border-right: unset; width: auto; }
   .step_footer_wrap #cart_detail .subcontents .zlabelprice .fieldvalue { font-size: var(--font-size-bs); }
   .step_footer_wrap #cart_detail .subcontents .zlabelprice .fieldvalue:before { font-size: var(--font-size-bs); }
   .step_footer_wrap #cart_detail .service_title .subcontents .caption-cnt .caption { width: 100%; }
   .step_footer_wrap #cart_detail .service_title .subcontents .elem { border-bottom: unset }
   .step_footer_wrap #cart_detail .subcontents .zlabel.g9 { margin: 0 0 5px 0; }
   .step_footer_wrap #cart_detail .subcontents .zlabel.g20 { display: none; }
   .step_footer_wrap #cart_detail .dates { display: flex; padding: 15px 15px 0px 15px }
   .step_footer_wrap #cart_detail .dates:before { font-family: var(--font-icon); content: '\e0d6'; margin-right: 10px; font-weight: var(--font-weight-light); color: var(--color1);}
   .step_footer_wrap #cart_detail .dates > .value:after { font-family: var(--font-icon); content: '\f105'; margin: 0 10px; font-size: 70%; }
   .cart_btn { cursor: pointer; margin-right: 15px; color: var(--color1); position: relative; display: flex; align-items: center; text-transform: uppercase; font-size: var(--font-size-bs); }
   .cart_btn:before { font-family: var(--font-icon); font-size: var(--font-size-sm); color: var(--color3); content: '\e3f2'; position: relative; z-index: 1; margin-right: 10px }
   .step_footer_wrap #cart_detail .close_btn { cursor: pointer; position: sticky; z-index: 9; top: 0; right: 0; left: 100%; border-radius: unset; width: 10%; height: 30px; border: unset; }
   .step_footer_wrap #cart_detail .close_btn:before { width: 20px; height: 1px; background-color: var(--white); transform: rotate(45deg) translateY(-50%); position: absolute; top: 50%; left: calc(50% - 10px); content: ''; }
   .step_footer_wrap #cart_detail .close_btn:after { width: 20px; height: 1px; background-color: var(--white); transform: rotate(-45deg) translateY(-50%); position: absolute; top: 50%; left: calc(50% - 10px); content: ''; }
   .step_footer_total_wrap { margin-left: auto; display: flex; flex-direction: column; margin-right: 60px; align-items: flex-end; }
   .step_footer #total_amount.fired { animation: blink 2s; animation-delay: .5s; }
   .step_footer_wrap #cart_detail .ztemplate .caption-alt { display: none; }
   /* Step Servizi */
   .ztemplate_rooms .ztemplate .services .elem .caption:not(.subcontents .caption):after { position: absolute; z-index: 2; top: 10px; right: 10px; font-size: 180%; transform: scale(0); transition: .4s; color: var(--white); font-family: var(--font-icon); font-weight: var(--font-weight-solid); content: '\f058' }
   .ztemplate_rooms .ztemplate .services .elem.selected .caption:not(.subcontents .caption):after { transform: scale(1); transition-delay: .4s }
   .ztemplate_rooms .ztemplate .services .elem.selected { border: 5px solid var(--color3); }
   .ztemplate_rooms .ztemplate .services .elem:hover .caption-cnt img { filter: blur(5px); transform: scale(1.4) rotate(5deg); opacity: .5; }
   .ztemplate_rooms .ztemplate .services .elem.selected .caption-cnt img { opacity: .5; }
   .ztemplate_rooms .ztemplate .services .subcontents::-webkit-scrollbar { width: 4px; }
   .ztemplate_rooms .ztemplate .services .subcontents::-webkit-scrollbar-thumb { background-color: var(--color1); }
   .ztemplate_rooms .ztemplate .services .subcontents { padding: 10px; display: block; width: 100%; position: fixed; z-index: 9999; width: 600px; left: 50%; top: -100vh;/* bottom: 84px;*/ overflow: auto; background-color: var(--white); transition: .4s; transform: translate(-50%, -50%); }
   .ztemplate_rooms .ztemplate .services .elem.fired .subcontents { top: 50%; min-height: 100px; max-height: 450px;}
   .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt { display: flex; flex-wrap: wrap; width: 100% }
   .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt .caption { border-bottom: 3px solid var(--color1); display: flex; flex-direction: row; align-items: center; width: 100%; margin: 0; padding: 10px 20px; font-size: 100%; background-color: var(--lightgrey); }
   .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt .caption-alt { width: 100%; margin: 0; padding: 0; left: 0 }
   .ztemplate_rooms .ztemplate .services .subcontents .ztemplate { box-shadow: unset }
   .ztemplate_rooms .ztemplate .services .subcontents .elem { background-color: transparent; border: unset; margin: 0; width: 100%; padding: 0 0 15px }
   .ztemplate_rooms .ztemplate .services .subcontents .title { padding-bottom: 5px }
   .ztemplate_rooms .ztemplate .services .subcontents .zimage.g4 { display: none; }
   .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt>li { border: unset }
   .ztemplate_rooms .ztemplate .services .subcontents .product_selection_wrap { display: flex; flex-wrap: wrap; width: 100% }
   .ztemplate_rooms .ztemplate .services .subcontents .selection_date_fields { display: flex; align-items: center; width: 100%; list-style-type: none; justify-content: space-between; padding-left: 0 }
   .ztemplate_rooms .ztemplate .services .subcontents .selection_per_day_wrap { margin-right: 9px }
   .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper .selection_date { transition: .4s }
   .ztemplate_rooms .ztemplate .services .subcontents .price_per_day { font-size: var(--font-size-bs); margin-left: auto; color: var(--color1); padding: 5px 20px; margin-right: 65px; }
   .ztemplate_rooms .ztemplate .services .subcontents .price_per_day .fieldvalue { display: flex; align-items: flex-start; justify-content: flex-start; }
   .ztemplate_rooms .ztemplate .services .subcontents .price_per_day .fieldvalue:before { content: '\20ac'; margin-right: 2px }
   .ztemplate_rooms .ztemplate .services .subcontents .price_per_day .number { margin-right: 2px }
   .ztemplate_rooms .ztemplate .services .subcontents .price_per_day .comma,
   .ztemplate_rooms .ztemplate .services .subcontents .price_per_day .decimal { }
   .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper { transition: .4s; width: 100%; padding-bottom: 5px; padding: 15px 20px; }
   .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper:nth-child(even) { background-color: var(--lightgrey) }
   .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper:hover { }
   .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper:hover .selection_date {  }
   .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper:last-child { border-bottom: unset }
   .ztemplate_rooms .ztemplate .services .subcontents .selection_date .fieldvalue { display: flex; align-items: center }
   .ztemplate_rooms .ztemplate .services .subcontents .selection_date .fieldvalue>div { margin-right: 5px; font-size: var(--font-size-bs) }
   .ztemplate_rooms .ztemplate .services .subcontents .month { display: none }
   .ztemplate_rooms .ztemplate .services .subcontents .selection_per_day_wrap .fieldvalue { display: flex; align-items: center; justify-content: center; }
   .ztemplate_rooms .ztemplate .services .subcontents .ztextarea { padding-right: 0 }
   .ztemplate_rooms .ztemplate .services .subcontents .ztextarea.g2 { cursor: inherit; color: var(--black); }
   .ztemplate_rooms .ztemplate .services .subcontents .caption-alt { position: relative; width: 100%; padding: 10px 5px; list-style-type: none; }
   .ztemplate_rooms .ztemplate .services .subcontents .zlabel.g6 .fieldvalue:before { display: none; }
   .ztemplate_rooms .ztemplate .services .subcontents .zlabel.g6 .fieldvalue { color: var(--black); font-size: var(--font-size-bs) }
   .ztemplate_rooms .ztemplate .services .subcontents .zlabel.g8 { display: none; }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(1) { width: 50%; text-align: left; margin: 0; }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(2) { width: 8% ; text-align: right; margin: 0; }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(3) { width: 22%; text-align: left; margin: 0; }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(4) { width: 20%; text-align: center; margin: 0; }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-alt .selection_date_fields > *:nth-child(1) { width: 50%; text-align: left; margin: 0; }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-alt .selection_date_fields > *:nth-child(2) { width: 30% ; text-align: center; margin: 0; }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-alt .selection_date_fields > *:nth-child(3) { width: 20%; text-align: center; margin: 0; }
   .close_services { display: inline-block; position: absolute; top: 0; right: 0; z-index: 2; width: 40px; height: 40px; cursor: pointer }
   .close_services:before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; font-family: var(--font-icon); font-weight: var(--font-weight-normal); content: '\f00d'; color: var(--color1); font-size: 190%; transform-origin: center; transition: .3s }
   .close_services:hover:before { transform: translate(-50%, -50%) rotate(90deg); }
   .service_info { position: relative; }
   .service_info .ztextarea.g2 { color: var(--white) }
   .ztemplate_rooms .ztemplate .services .subcontents .service_info .title { font-size: 160%; }
   .ztemplate_rooms .subcontents .service_info .ztextarea.g2 .fieldvalue { display: block }
   .ztemplate_rooms .ztemplate .services .service_info .service_desc { padding: 20px; pointer-events: none; }
   .ztemplate_rooms .subcontents .service_desc .zlabel.g6 .fieldvalue { color: var(--grey); font-size: 85% }
   .ztemplate_rooms .subcontents .service_desc .zlabel.g6 .fieldvalue:before { display: none; }
   .ztemplate_rooms .subcontents img { min-width: unset; width: 600px; height: 390px; object-fit: cover; }
   .close_services_btn { cursor: pointer; padding: 20px 40px; background-color: var(--color1); color: var(--white); text-transform: uppercase; text-align: center; position: sticky; bottom: 0; z-index: 2; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-xs); }
   .ztemplate_rooms .ztemplate .services .service_info .service_desc .zlabel.g6 { display: flex; }
   .services_label { display: none; color: var(--color1) }
   .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt .caption .services_label { display: block; }
   .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt .caption .title { width: auto; padding: 0; border: unset; font-size: 100%; color: var(--color1); border-right: 1px solid rgba(255, 255, 255, 0.3); }
   .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption .title { font-family: var(--sans); }
   .services_label.price_label { border-left: 1px solid rgba(255, 255, 255, 0.3); }
   .services_label.qty_label { }
   /* E-Commerce Generic */
   #page.order .side .subcontents .title_wrapper, #page.payment .side .subcontents .title_wrapper { display: flex; flex-direction: column; color: var(--black); }
   #page.order .side .subcontents .title_wrapper .rate_arrangement, #page.payment .side .subcontents .title_wrapper .rate_arrangement { order: 2; }
   #page.order .side .subcontents .title_wrapper .title, #page.payment .side .subcontents .title_wrapper .title { font-family: var(--sans); font-size: var(--font-size-md); color: var(--black); }
   /* E-Commerce - Order */
   body.body_ecommerce_order header #varsimple_booknow { display: none; }
   #page.order { font-size: var(--font-size-bs); }
   #page.order .ztemplate .open_desc_order, #page.payment .ztemplate .open_desc_order { display: none; }
   #page.order #varsimple_edit_search, #page.payment #varsimple_edit_search { padding: 15px 25px 15px 25px; border: none; background-color: var(--color1); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--font-size-xs); color: var(--white); text-transform: uppercase; text-align: center; line-height: 13px; width: 100%; margin-top: 20px; cursor: pointer; }
   #page.order #content, #page.payment #content { margin: 30px auto 70px auto; max-width: calc(var(--w-container) + 200px); }
   #page.order #content .cnt .body,
   #page.order #content .cnt .side { margin: 0 -20px 0 0; padding: 20px; width: 50%; background-color: var(--white); color: var(--color3); }
   #page.order #content .cnt .side { margin: 0; width: 50%; }
   #page.order #cnt_forms { border: 1px solid #dedede }
   #page.order #cnt_forms .form_merge_group { padding: 15px; min-width: unset; float: left; }
   #page.order .transfer_info { font-size: var(--font-size-bs); color: var(--black); display: flex; margin-bottom: 20px; display: flex; align-items: center; }
   #page.order .transfer_info:before { color: var(--black); font-family: var(--font-icon); margin-right: 20px; content: '\f1ba'; font-weight: var(--font-weight-solid); font-size: var(--font-size-sm) }
   #page.order .group_wrapper { float: left; }
   .transfer_date { padding: 15px; color: var(--white); background-color: var(--color1); margin: 0; display: flex; align-items: flex-start; }
   .transfer_date:before { font-family: var(--font-icon); content: '\f0ec'; margin-right: 10px; }
   #page.order .group_wrapper .merge_group { padding: 15px 0; display: flex; flex-wrap: wrap; margin: 0px -15px; }
   #page.order form .caption-fields .group_wrapper .field { width: calc(100% / 2) }
   #page.order form .caption-fields .group_wrapper .field.element_11 {width: 100%;}
   #page.order form .caption-fields .group_wrapper .field.element_12 { width: 100% }
   #page.order form .caption-fields .group_wrapper .field.textarea { width: 100%; }
   .iti { width: 100%; }
   #page.order #content .title:not(.title_wrapper .title),
   #page.order #content .side #bookingform_summary .title { margin: 0 0 10px 0; font-size: var(--font-size-lg); color: var(--color3); }
   #page.order #content .side .title:not(.title_wrapper .title) { font-size: var(--font-size-bs); color: var(--black); text-transform: uppercase; }
   #page.order #content .summary { font-size: var(--font-size-bs); color: var(--black); }
   #page.order #cnt_forms { margin: 20px 0 0 0; padding: 25px; background-color: var(--ice); color: var(--grey); }
   #order_template_wrapper { margin: 20px 0 0 0; padding: 20px; background-color: var(--ice); border: 1px solid #d8d8d8; }
   #order_template_wrapper .row-1 .caption:not(.subcontents .caption) { justify-content: flex-start; align-items: center }
   .ztemplate .open_desc_order { font-size: var(--font-size-xs); }
   .ztemplate .open_desc_order .fieldvalue { display: none; }
   .ztemplate .open_desc_order .fieldvalue p { margin-bottom: 8px; }
   .ztemplate .open_desc_order .fieldvalue.fired { display: block; }
   .ztemplate .open_desc_order .fieldkey { cursor: pointer; color: var(--black); text-transform: uppercase; font-size: var(--font-size-xs); border-bottom: 1px solid var(--grey); padding-bottom: 5px; margin-bottom: 10px; }
   .ztemplate .open_desc_order .fieldkey:before { font-family: var(--font-icon); content: '\f0fe'; margin-right: 3px; }
   .ztemplate .open_desc_order .fieldkey.fired:before { content: '\f146'; }
   #order_template_wrapper .row-1 .caption-alt:not(.subcontents .caption-alt) img { margin: 10px 0; }
   .ztemplate .open_desc_order ul { padding-left: 25px; }
   #order_template_wrapper .row-1 .caption { display: flex; justify-content: space-between; }
   #order_template_wrapper .row-1 .caption .title:not(.subcontents .title) { order: 2; margin-bottom: 0 !important }
   #order_template_wrapper .row-1 .caption-add>div { text-align: right; justify-content: flex-end; }
   #order_template_wrapper .caption-cnt { display: block; color: var(--dark_grey); }
   #order_template_wrapper .room .title { margin: 0; font-size: 130%; color: var(--dark_grey); }
   #order_template_wrapper .rates { }
   #order_template_wrapper .rates .caption-cnt { }
   #order_template_wrapper .rates .title { font-size: 85%; }
   #order_template_wrapper .rates .zlabel.g24 { margin-top: 5px; }
   #order_template_wrapper .rates .zlabel.g24 .fieldvalue:before { content: '\f7b6'; font-family: var(--font-icon); font-weight: var(--font-weight-solid); margin-right: 3px; color: var(--color3); }
   #order_template_wrapper .rates .treatment-room .zlabel.g24 .fieldvalue:before { content: '\f8f7'; }
   #order_template_wrapper .rates .caption-alt { margin-top: 25px }
   #order_template_wrapper .ztemplate .elem { margin-bottom: 20px; }
   #order_template_wrapper .caption-cnt .fieldvalue.f11 { display: flex; align-items: center; margin-bottom: 5px; font-size: 110%; border-bottom: 1px dashed #dedede; padding-bottom: 5px }
   .ztemplate .quantity,
   .zlabelquantity,
   .room_count { display: flex; align-items: center; justify-content: center; font-size: var(--font-size-xs); order: 1; margin-right: 5px; background-color: var(--color1); width: 15px; height: 15px; padding: 12px; text-align: center; color: var(--white); line-height: 20px }
   .ztemplate .quantity:before,
   .zlabelquantity:before,
   .room_count:before { content: 'x' }
   #order_template_wrapper .caption-cnt .fieldvalue.f11 .date { order: 2 }
   #order_template_wrapper .caption-cnt .fieldvalue.f11 .name { order: 3; margin-left: auto; margin-right: 30px }
   #order_template_wrapper .caption-cnt .fieldvalue.f11 .price { order: 4; color: var(--color1); font-size: 120% }
   #order_template_wrapper .caption-cnt .fieldvalue.f11 .price:before { content: '\20ac'; margin-right: 3px }
   #order_template_wrapper .service_title .title { font-size: 130%; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #dedede; }
   #order_template_wrapper .service_title .room_count { display: none; }
   #order_template_wrapper .rates .caption-alt .fieldkey { color: var(--color1); border-bottom: 1px solid #dedede;font-size: calc(var(--font-size-xs) - 0px); padding-bottom: 5px; margin-bottom: 10px }
   #order_template_wrapper .row-2 .rates .caption-alt .fieldkey:not(.details_wrapper .fieldkey) { cursor: pointer; color: var(--black); text-transform: uppercase;font-size: calc(var(--font-size-xs) - 0px); }
   #order_template_wrapper .row-2 .rates .caption-alt .fieldkey:not(.details_wrapper .fieldkey):before { font-family: var(--font-icon); content: '\f0fe'; margin-right: 3px }
   #order_template_wrapper .row-2 .rates .caption-alt .fieldkey.fired:not(.details_wrapper .fieldkey):before { content: '\f146' }
   #order_template_wrapper .title_wrapper .title { }
   .quantity_wrapper { display: flex; align-items: center; margin: 5px 35px 0 0 }
   .quantity_wrapper .zlabelquantity { order: 1 }
   .quantity_wrapper .title { order: 2 }
   #order_template_wrapper .details_wrapper.fired { display: block; color: var(--black) }
   #order_template_wrapper .details_wrapper .zlabel.g6 { display: flex; border-bottom: unset; align-items: center; }
   #order_template_wrapper .details_wrapper .zlabel.g6 .fieldkey { border-bottom: unset; margin: 0; padding: 0 }
   #order_template_wrapper .details_wrapper .zlabel.g6 .fieldkey:after { content: ':'; margin-right: 10px }
   #order_template_wrapper .zlabelprice { font-size: var(--font-size-sm); display: flex; align-items: center; color: var(--color1); }
   #order_template_wrapper .zlabelprice:before,
   #order_template_wrapper .zlabel.g6 .fieldvalue:before,
   #order_template_wrapper .zlabel.g9 .fieldvalue:before,
   #order_template_wrapper .zlabel.g20 .fieldvalue:before { content: '\20ac'; margin-right: 3px }
   #order_template_wrapper .zlabel span.number { margin: 0 1px 0 0; font-size: 100%; }
   #order_template_wrapper .zlabel span.comma { margin: 0; }
   #order_template_wrapper .zlabel span.decimal { }
   #order_template_wrapper .zlabel.g20 { margin: 3px auto 5px; padding: 3px 10px 2px; font-size: var(--font-size-xs); display: inline-flex; align-items: center; text-transform: uppercase; color: var(--white); background-color: var(--color3); }
   #order_template_wrapper .zlabel.g20 .comma,
   #order_template_wrapper .zlabel.g20 .decimal { font-size: 100%; top: 0 }
   #order_template_wrapper .zlabel.g8 span.number,
   #order_template_wrapper .zlabel.g6 .fieldvalue { font-size: var(--font-size-sm); color: var(--black); }
   #order_template_wrapper .zlabel.g9 .fieldvalue { font-size: var(--font-size-bs); color: var(--color1); }
   #order_template_wrapper .zlabel.g9 .number,
   #order_template_wrapper .zlabel.g9 .decimal { text-decoration: line-through; }
   #order_template_wrapper .zlabel.g20 .fieldvalue { display: flex; align-items: center; margin-left: 5px }
   #order_template_wrapper .rates .caption-alt .ztextarea.g2,
   #order_template_wrapper .rates .caption-alt .zlabel.g8 { margin-bottom: 10px }
   #order_template_wrapper .canc_policy { margin-bottom: 5px }
   #total_cost { color: var(--black); margin-left: auto; margin-right: 40px; }
   #total_upfront,
   #page.order #total_cost { display: inline-block; }
   #total_upfront { font-size: var(--font-size-lg); font-weight: var(--font-weight-medium); margin-right: 20px; color: var(--color1); }
   #total_upfront .number:before { content: '\20ac'; margin-right: 2px }
   #total_upfront .comma { margin: 0px 0px 0px 0; }
   #total_upfront .decimal { }
   #total_upfront .key { font-size: var(--font-size-bs); color: var(--black); font-weight: var(--font-weight-normal); }
   .total_wrap { display: flex; align-items: center; margin-top: 10px; border: 1px dashed #dedede; padding: 10px 0px; }
   .total_wrap .total_amount { margin-right: 15px }
   #order_template_wrapper .zinput.g3 { display: none; }
   #bookingform_summary:not(.ecommerce.step #bookingform_summary) .cnt { justify-content: space-between; flex-wrap: wrap; }
   #bookingform_summary .dates { display: flex; align-items: center; }
   #bookingform_summary:not(.ecommerce.step #bookingform_summary) .dates { color: var(--black); font-size: var(--font-size-bs); }
   #bookingform_summary .dates:before { font-family: var(--font-icon); content: '\e0d6'; margin-right: 10px; font-weight: var(--font-weight-light); }
   #bookingform_summary:not(.ecommerce.step #bookingform_summary) .dates:before { color: var(--color3); }
   #bookingform_summary .dates .value:after { font-family: var(--font-icon); content: '\f105'; margin: 0 10px; font-size: 70% }
   #bookingform_summary .dates .value:last-of-type:after { display: none; }
   #bookingform_summary .guests { display: flex; align-items: center; }
   #bookingform_summary:not(.ecommerce.step #bookingform_summary) .guests { color: var(--black); font-size: var(--font-size-bs); }
   #bookingform_summary .guests:before { font-family: var(--font-icon); content: '\f8f7'; margin-right: 10px; font-weight: var(--font-weight-light); }
   #bookingform_summary:not(.ecommerce.step #bookingform_summary) .guests:before { color: var(--color3); }
   .city_tax { margin-top: 10px; padding: 10px; text-align: center; }
   .nights.flex { display: flex; text-transform: capitalize; }
   .nights.flex .value { margin-left: 5px }
   /* Invoice */
   #page.order form .field.element_17 { padding-bottom: 0; width: 100%; color: var(--black); }
   #page.order form .field.element_17 label { display: flex; align-items: baseline;}
   #page.order form .field.element_17 .form_element_title { display: none; }
   #page.order form .caption-fields .invoice .field { width: 100%; }
   #page.order form .caption-fields .invoice .field:nth-of-type(3),
   #page.order form .caption-fields .invoice .field:nth-of-type(4),
   #page.order form .caption-fields .invoice .field:nth-of-type(5) { width: calc(100% / 3); }
   #page.order form .caption-fields .invoice .field:nth-of-type(6),
   #page.order form .caption-fields .invoice .field:nth-of-type(7) { width: calc(100%); }
   .smartphone #page.order form .caption-fields .invoice .field:nth-of-type(3),
   .smartphone #page.order form .caption-fields .invoice .field:nth-of-type(4),
   .smartphone #page.order form .caption-fields .invoice .field:nth-of-type(5),
   .smartphone #page.order form .caption-fields .invoice .field:nth-of-type(6),
   .smartphone #page.order form .caption-fields .invoice .field:nth-of-type(7) { width: 100%; }
   /* Messaggi persuasivi */
   #persuasive_messages .persuasive_message { border: 3px solid var(--color2); }
   #persuasive_messages h1,
   #persuasive_messages h2,
   #persuasive_messages h3,
   #persuasive_messages h4,
   #persuasive_messages h5,
   #persuasive_messages h6 { font-family: var(--serif); color: var(--color1); }
   /* BEI - Cross Hotels */
   .cross_property_wrapper { max-width: 1024px; width: 100%; margin: 30px auto; }
   .cross_property_msg { font-size: var(--font-size-bs); text-align: center; margin-bottom: 30px; padding: 0 20px;}
   .cross_property_element { background-color: var(--white); box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.05); margin-bottom: 40px; }
   .cross_property_element .element-cnt { display: flex; align-items: center; }
   .cross_property_element .photo_wrapper { width: 40%; padding: 15px; }
   .cross_property_element .photo_wrapper img { min-height: 250px; object-fit: cover; }
   .cross_property_element .info_wrapper { padding: 30px 45px 30px 30px; font-size: 110%; width: 60%; }
   .cp_name { font-weight: bold; font-size: 200%; color: var(--color1); }
   .cp_hotel_info { margin-bottom: 15px; font-family: var(--serif);}
   .cp_hotel_info a {color: var(--color1);}
   .cp_address { margin-bottom: 20px; }
   .cp_address:before { font-family: var(--font-icon); content: '\f3c5'; font-weight: var(--font-weight-solid); margin-right: 5px; color: var(--color2); }
   .cp_description { width: 100%; }
   .cp_link { margin-top: 5px; display: inline-block; background-color: var(--color3); font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--white); text-transform: uppercase; text-align: center; line-height: 20px; letter-spacing: 1px; cursor: pointer;}
   .cp_link a { display: inline-block; text-align: center; background-color: var(--color1); color: var(--white); font-weight: var(--font-weight-bold); padding: 15px 20px; text-transform: uppercase; font-size: 100%; }
   .cp_price_ctn { display: flex; align-items: center; justify-content: space-between; border-top: 1px dashed #dedede; padding: 10px 0; margin-top: 10px; }
   .cp_min_price { display: flex; flex-direction: column; }
   .cp_min_price span { font-weight: var(--font-weight-bold); color: var(--color2); font-size: 150%; margin-top: 3px; }
   .cp_min_price span:before { content: '\20ac'; }
   .cp_rating { display: flex; align-items: center; }
   .cp_star { margin-right: 2px; }
   .cp_star:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); content: '\f005'; color: #e9ac24; font-size: var(--font-size-xs) }
   
   /* SMARTPHONE - BE immersivo  */
   .smartphone .rate-group-header { pointer-events: none }
   
   /* BEI - Tariffa rimborsabile */
   .secure_refund .box { max-width: 1100px; margin: 0 auto; }
   .secure_refund .title { text-transform: uppercase; font-weight: var(--font-weight-bold); color: var(--color1); }
   .ztemplate_rooms .secure_refund .caption-cnt { display: flex; flex-wrap: wrap; align-items: stretch; }
   .ztemplate_rooms .secure_refund .caption-alt { padding: 15px 30px; background-color: var(--white); position: relative; width: calc(100% - 290px); display: flex; align-items: center; gap: 30px; }
   .ztemplate_rooms .secure_refund .caption-alt:before { font-family: var(--font-icon); content: '\f2f7'; font-size: 100px; color: var(--color1); font-weight: var(--font-weight-solid) }
   .ztemplate_rooms .secure_refund .caption-add { width: 290px; display: flex; justify-content: center; align-items: center; gap: 30px; background-color: var(--white); padding-right: 30px; position: relative; }
   .ztemplate_rooms .secure_refund .caption-add:before { position: absolute; content: ''; width: 1px; top: 15px; bottom: 15px; background-color: rgba(0, 0, 0, 0.1); left: 0; }
   .ztemplate_rooms .secure_refund .selector_wrapper { display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; font-size: 170%; }
   .ztemplate_rooms .secure_refund .prod_sel_content { border: unset; padding: 0; height: auto; width: auto; background-color: transparent; }
   .ztemplate_rooms .secure_refund :where(.prod_sel_rem, .prod_sel_add):before { font-family: var(--font-icon); font-weight: var(--font-weight-normal); text-align: center; display: flex; font-size: 80%; line-height: 1; cursor: pointer; }
   .ztemplate_rooms .secure_refund .prod_sel_rem:before { content: '\f056'; }
   .ztemplate_rooms .secure_refund .prod_sel_add:before { content: '\f055'; }
   .ztemplate_rooms .secure_refund .caption-alt :where(.prod_sel_rem.disabled, .prod_sel_add.disabled) { opacity: .1; }
   .ztemplate_rooms .secure_refund .caption { width: 100%; margin-bottom: 20px; }
   .ztemplate_rooms .secure_refund .ztextarea.g5 { width: 100%; margin: 0; line-height: 1.3; }
   .insurance .ztextarea a { text-decoration: underline !important; }
   .ztemplate_rooms .secure_refund .ztextarea.g2 { font-size: 100%; margin: 0; }
   .ztemplate_rooms .insurance .ztextarea.g2 ul { column-count: 2; column-gap: 60px; column-rule: 1px solid rgba(0, 0, 0, 0.1); margin: 0; list-style-type: none; padding-left: 0; }
   .insurance .ztextarea.g2 ul { list-style-type: none; padding-left: 0; }
   .insurance .ztextarea.g2 ul li { margin-bottom: 6px; }
   .insurance .ztextarea.g2 ul li:before { font-family: var(--font-icon); content: '\f00c'; margin-right: 8px; font-size: 12px; font-weight: var(--font-weight-solid) }
   .ztemplate_rooms .secure_refund .zlabelprice { font-size: 160%; color: var(--color1); display: flex; align-items: center; }
   .ztemplate_rooms .secure_refund .zlabelprice:before { margin: 0 2px 0 0; content: '\20ac'; text-transform: uppercase; font-size: 100%; text-align: left; }
   .purchase_flow_step .product_selection_wrap .secure_refund .prod_sel_add,
   .purchase_flow_step .product_selection_wrap .secure_refund .prod_sel_rem { display: flex; }
   .ztemplate_rooms .secure_refund .elem { margin: 0; }
   .insurance .caption:not(.ztemplate_rooms .secure_refund .caption) { display: flex; align-items: center; justify-content: space-between; }
   .insurance .caption .title:not(.ztemplate_rooms .secure_refund .title) { margin-bottom: 0 !important; }
   .insurance .ztextarea.g6 { background-color: var(--white); padding: 10px; border: 1px solid rgba(0, 0, 0, .1); line-height: 1.2; }
   @media (max-width: 1441px) {
    .ztemplate_rooms .elem {max-width: calc(100vw - 60px);}
   }

   @media (max-width: 1023px) {
    .ztemplate_rooms .secure_refund .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) { flex-direction: row; }
   .ztemplate_rooms .secure_refund .ztextarea.g2 ul { column-count: 1; column-gap: normal; }
   .ztemplate_rooms .secure_refund .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) .caption-alt { width: calc(100% - 290px); }
    }
   @media (max-width: 820px) {
    .secure_refund { padding-top: 40px; }
   .ztemplate_rooms .secure_refund .step_content_wrapper .caption-cnt:not(.subcontents .caption-cnt) .caption-alt { width: 100%; flex-direction: column; padding: 30px 15px; }
   .ztemplate_rooms .secure_refund .caption-add { width: 100%; padding: 20px; border-top: 1px solid rgba(0, 0, 0, 0.1); }
    }
   .smartphone .ztemplate_rooms .secure_refund .caption { text-align: center; }
   .smartphone .ztemplate_rooms .secure_refund .caption-alt { background-color: var(--white); background-color: #f2f2f2; }
   .smartphone .ztemplate_rooms .secure_refund .caption-alt:before { font-size: 60px; }
   .smartphone .ztemplate_rooms .secure_refund .ztextarea.g2 { font-size: 130%; }
   .smartphone .ztemplate_rooms .secure_refund .caption-add:before { display: none; }
   .smartphone .ztemplate_rooms .secure_refund .caption-add { background-color: var(--color1); padding: 0; gap: 0; }
   .smartphone .ztemplate_rooms .secure_refund .zlabelprice { color: var(--white); width: 50%; justify-content: center; border-right: 1px solid rgba(0, 0, 0, 0.1); padding: 10px 15px; }
   .smartphone .ztemplate_rooms .secure_refund .selector_wrapper { color: var(--white); width: 50%; justify-content: center; padding: 10px 15px; font-size: 210%; }
   /* FINE Tariffa rimborsabie */
   /* BEI CrossBooking */
   .purchase_flow_step.purchase_flow_3_step.crossbooking_step .ztemplate { flex-direction: column; }
   .ztemplate_rooms .crossbooking_step .row-1 .elem:last-of-type { margin-bottom: 0; }
   .crossbooking_box { margin-top: 30px; padding: 0 20px; }
   .crossbooking { padding: 15px 45px; max-width: 1340px; margin: 0 auto 40px; }
   .ztemplate_rooms  .crossbooking_box button.slick-prev { line-height: 0; padding: 0; }
   .ztemplate_rooms .purchase_flow_step.purchase_flow_3_step.crossbooking_step .ztemplate .row-1:not(.subcontents .row) { margin-bottom: 100px; }
   .ecommerce .ztemplate_model_5.carousel_photos .ztemplate .crossbooking .elem .caption-cnt img { height: auto !important; }
   .crossbooking_header { text-align: center; margin-bottom: 30px; }
   .crossbooking_header .info_title { color: var(--color1); font-size: 30px; }
   .crossbooking_header .info_subtitle { margin-top: 10px; }
   .crossbooking_elements { display: flex; grid-gap: 30px; flex-wrap: wrap; box-sizing: border-box; justify-content: flex-start; padding-left: 10px; background-color: var(--white); padding: 15px 30px 15px 40px; position: relative; box-shadow: 0px 0px 30px -12px rgba(0, 0, 0, 0.16); }
   .crossbooking_elements:after { width: 30px; height: 30px; border-radius: 100%; background-color: var(--white); border: 1px solid #dedede; z-index: 1; position: absolute; bottom: 30px; left: 12px; font-family: var(--font-icon); content: '\f058'; text-align: center; line-height: 30px; font-size: 15px; }
   .crossbooking_block { width: 100%; position: relative; padding: 0 0 0 20px; counter-increment: section; margin-bottom: 30px; }
   .crossbooking_block:before { width: 30px; height: 30px; border-radius: 100%; background-color: var(--white); border: 1px solid #dedede; z-index: 1; position: absolute; top: 2px; left: -27px; content: counter(section); text-align: center; line-height: 30px; font-size: 15px; font-weight: var(--font-weight-bold); }
   .crossbooking_block:after { position: absolute; left: -14px; top: 2px; height: calc(100% + 60px); content: ''; border-left: 2px dotted #c7c7c7; }
   .crossbooking_block:last-of-type:after { height: 100%; }
   .crossbooking_block_header { display: flex; align-items: center; margin-bottom: 10px; min-height: 36px; }
   .crossbooking_select .select { display: flex; align-items: center; margin-left: auto; padding: 0; width: 100%; }
   .crossbooking_select form .form_select .current_value { display: flex; align-items: center; cursor: pointer; position: relative; padding: 5px 2px; width: 200px; }
   .crossbooking_select form .form_select { border: 1px solid #dedede; }
   .crossbooking_select form .form_select .current_value:after { position: inherit; margin-left: auto; right: 0; content: ''; top: calc(50% - 2px); width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #555; }
   .crossbooking_select .select:before { font-family: var(--font-icon); content: '\f0ec'; margin-right: 5px; color: var(--color1); }
   .crossbooking_select { margin-left: 40px; min-width: 290px; }
   .crossbooking_select form .form_select { background-color: var(--white); position: relative; padding: 5px; }
   .crossbooking_select .hidden_form_element { color: transparent; opacity: 0; }
   .crossbooking_select form .form_select .elements_list { padding: 0; margin-top: 0; width: 100%; background-color: var(--white); border: 1px solid #dedede; overflow-y: auto; position: absolute; z-index: 99999; left: 0; max-height: 250px; }
   .crossbooking_select form .form_select .elements_list .option { background-color: var(--white); transition: .4s all; padding: 10px; cursor: pointer; }
   .crossbooking_select form .form_select .elements_list .option:hover { background-color: var(--color1); color: var(--white); }
   .crossbooking_select form .form_element_title { margin: 0 15px 0 0; white-space: nowrap; }
   .ztemplate_rooms .crossbooking_elements .elem { margin: 0; padding: 0; width: 100%; }
   .ztemplate_rooms .crossbooking_elements .caption { width: 40%; }
   .ztemplate_rooms .crossbooking_elements .caption-cnt { flex-direction: row; display: flex; align-items: center; }
   .ztemplate_rooms .crossbooking_elements .caption-alt { position: relative; width: 60%; flex-wrap: wrap; max-width: unset; color: var(--grey); padding: 55px; text-align: left; text-transform: inherit; position: relative; z-index: 2;}
   .ztemplate_model_5 .crossbooking_elements .zinput:before,
   .ztemplate_model_5 .crossbooking_elements .zcheckbox .fieldvalue:before { color: var(--color1); }
   .ztemplate_rooms .crossbooking_elements .caption-alt .zcheckbox .fieldvalue,
   .ztemplate_rooms .crossbooking_elements .caption-alt .zinput .fieldvalue { font-size: 100%; text-transform: uppercase; padding: 0; }
   .ztemplate_rooms .crossbooking_elements .caption-alt .zinput { display: inline-flex; }
   .ztemplate_rooms .rooms .crossbooking_elements .caption-alt>.title {}
   .ztemplate_rooms .crossbooking_elements .zoption .fieldvalue { color: #000; }
   .ztemplate_rooms .crossbooking_elements .zinput.g1.text .fieldvalue:before { color: var(--color1); }
   .ztemplate_rooms .crossbooking_elements .zinput.g1.text .fieldvalue { color: #000; }
   .ztemplate_rooms .crossbooking_elements .ztextarea { color: var(--black); width: 100%; margin-bottom: 30px; }
   .crossbooking_dates { font-size: 100%; }
   .crossbooking_dates:before { font-family: var(--font-icon); content: '\e0d6'; margin-right: 5px; color: var(--color1); }
   .crossbooking_footer { margin-bottom: 40px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
   .crossbooking_footer .rate-group-header { display: flex; align-items: center; background-color: var(--color2); padding: 10px; color: var(--white); position: relative; cursor: pointer; }
   .crossbooking_footer .rate-group-header p { margin-bottom: 0; }
   .crossbooking_footer .rate-group-header:before { font-family: var(--font-icon); position: absolute; left: 20px; top: 22px; cursor: pointer; content: "\f0fe"; }
   .crossbooking_footer .rate-group-header.open:before { content: '\f146'; }
   .crossbooking_footer .rate-group-header>div { padding: 10px 20px; border-left: 1px solid rgba(255, 255, 255, 0.3); }
   .crossbooking_footer .rate-group-header .rate-group-title { width: 40%; border-left: unset; padding-left: 40px; text-align: left; }
   .crossbooking_footer .rate-group-cond { width: 40%; max-width: 350px; }
   .crossbooking_footer .rate-group-price { width: 20%; text-align: center; }
   .crossbooking_footer .rate-group-rooms { width: 20%; text-align: center; }
   .crossbooking_footer .rate-group-content { display: flex; overflow: hidden !important; padding: 10px; }
   .crossbooking_footer .rate_details { display: none; }
   .crossbooking_footer .rate-group-content>div { padding: 10px; border-left: 1px solid rgba(0, 0, 0, 0.1); }
   .crossbooking_footer .rate-group-content .rate-group-title-value { width: 40%; border-left: unset; }
   .crossbooking_footer .rate-group-cond-value { width: 40%; line-height: 1.2; max-width: 350px; text-align: left; }
   .crossbooking_footer .rate-group-cond-value ul { padding-left: 20px; }
   .crossbooking_footer .rate-group-price-value { width: 20%; text-align: center; font-size: 155%; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--primary-color) }
   .crossbooking_footer .rate-group-rooms-value { width: 20%; text-align: center; font-size: 125%; display: flex; align-items: center; justify-content: center; }
   .crossbooking_footer .rate-group-rooms-value .selector_wrapper { display: flex; align-items: center; justify-content: center; }
   .crossbooking_footer .rate-group-rooms-value :where(.prod_sel_rem, .prod_sel_add):before { font-family: var(--font-icon); font-weight: var(--regular); text-align: center; font-size: 110%; line-height: 1; cursor: pointer; }
   .crossbooking_footer .rate-group-rooms-value .prod_sel_rem:before { content: '\f056'; }
   .crossbooking_footer .rate-group-rooms-value .prod_sel_add:before { content: '\f055'; }
   .crossbooking_footer .rate-group-cond-value .canc_costs_title {margin: 15px 0 10px; font-weight: var(--font-weight-bold);}
   .crossbooking_footer .rate-group-rooms-value .prod_sel_content { padding: 0; min-width: 40px; width: auto; text-align: center; border: none; background: none; font-size: 135%; line-height: 1; }
   .crossbooking_footer :where(.canc_policy, .payment_policy) { display: flex; align-items: flex-start; flex-direction: column; }
   .crossbooking_footer :where(.canc_policy_label, .payment_policy_label) { display: flex; align-items: flex-start; gap: 0; cursor: pointer; }
   .crossbooking_footer .canc_policy_label:before,
   .crossbooking_footer .payment_policy_label:before { font-family: var(--font-icon); font-weight: var(--regular); content: "\f0fe"; font-size: var(--caption); font-weight: var(--medium);}
   .crossbooking_footer .canc_policy.fired .canc_policy_label:before,
   .crossbooking_footer .payment_policy.fired .payment_policy_label:before { content: "\f146"; }
   .crossbooking_footer :where(.canc_policy_text, .payment_policy_text) { display: none; }
   .crossbooking_footer .canc_policy.fired .canc_policy_text,
   .crossbooking_footer .payment_policy.fired .payment_policy_text { display: block; }
   .crossbooking_footer .payment_policy_label {}
   /* .crossbooking_footer .rate-group-rooms-value :where(.prod_sel_rem.disabled, .prod_sel_add.disabled) { opacity: .1; }
   */
   .crossbooking_footer .rate-group-rooms-value .prod_sel_add.disabled:before,
   .crossbooking_footer .rate-group-rooms-value .product_selection_wrap .prod_sel_rem.disabled:before { opacity: 0.1; }
   .crossbooking_footer .rate-group-content .title { font-size: 120%; color: var(--color1); margin-bottom: 10px; text-transform: uppercase; text-align: left; }
   .crossbooking_footer .rate-group-content .rate_arrangement { display: flex; align-items: center; font-weight: var(--medium); font-size: var(--caption); }
   .crossbooking_footer .rate-group-content .rate_arrangement:before { }
   .ztemplate_rooms .crossbooking_footer .rate_arrangement.g24 .fieldvalue:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); margin-right: 5px; }
   .crossbooking_footer .rate-group-cond-value .zlabel.g8 .fieldkey { display: none; }
   .crossbooking_footer .rate-group-cond-value .zlabel.g8 .fieldvalue { display: flex; flex-direction: column; gap: 10px; }
   #order_template_wrapper .row-1 .caption:not(.subcontents .caption) { flex-wrap: wrap; }
   #order_template_wrapper .cross_booking_dates .fieldvalue { gap: 10px; }
   #order_template_wrapper .cross_booking_dates { padding-left: 0; }
   .cross_booking_dates { width: 100%; order: 9; padding-left: 0px; }
   .cross_booking_dates .fieldvalue { display: flex; flex-wrap: wrap; padding: 5px 0; gap: 10px; }
   .cross_booking_dates .fieldvalue>div { width: auto; }
   .cross_booking_dates .dates { display: flex; align-items: center; gap: 10px; padding: 0 !important;}
   .cross_booking_dates .dates:before { font-family: var(--font-icon); content: '\e0d6'; color: var(--color1); }
   .cross_booking_dates .dates .value:first-of-type:after { font-family: var(--font-icon); content: '\f105'; font-size: 70%; margin: 0 0 0 10px !important; }
   .cross_booking_dates .nights { display: flex; align-items: center; gap: 5px; padding-left: 50px; margin-top: 10px; }
   .cross_booking_dates :where(.dates, .nights) { padding: 4px 0; }
   #cart_summary_wrapper .cross_booking_dates .dates { margin: 0; }
   #cart_summary_wrapper .cross_booking_dates .fieldvalue { padding: 0; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .row-1 .caption:not(.subcontents .caption),
   :is(#cart_summary_wrapper, #order_template_wrapper) .row-1 .caption:not(.subcontents .caption) { display: flex; flex-wrap: wrap; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .title { width: 100%; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .dates { display: flex; align-items: center; gap: 10px; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .dates:before { font-family: var(--font-icon); content: '\e0d6'; color: var(--black); }
   :is(#cart_summary_wrapper, #order_template_wrapper) .cross_booking_dates .dates:before { margin-right: 0; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .dates .value:first-of-type:after { font-family: var(--font-icon); content: '\f178'; color: var(--black); margin-left: 10px; font-size: var(--caption-s); }
   :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .zlabel.g19 { width: 100%; margin-top: 5px; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .ztemplate.purchase_summary .row-1 .rooms .caption .zlabel.g19 .fieldvalue { display: flex; align-items: center; gap: 10px; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .cross_booking_dates .nights { display: flex; align-items: center; gap: 2px; margin-top: 0; padding-left: 0; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .cross_booking_dates .nights:before { content: '('; }
   :is(#cart_summary_wrapper, #order_template_wrapper) .cross_booking_dates .nights:after { content: ')'; }
   @media (max-width: 1023px) {
    .crossbooking_footer :where(.rate-group-cond, .rate-group-price, .rate-group-rooms) { display: none; }
   .crossbooking_footer .rate-group-header .rate-group-title { width: 100%; }
   .crossbooking_footer .rate-group-content { display: flex !important; }
   .ztemplate_rooms .crossbooking_elements .caption { width: 100%; }
   .ztemplate_rooms .crossbooking_elements .caption-alt { width: 100%; left: 0; padding: 30px; }
   .crossbooking_select { margin-left: auto; }
    }
   @media (max-width: 768px) {
    .crossbooking_block_header { position: relative; flex-wrap: wrap; }
   .crossbooking_select { margin-left: 0; width: 100%; margin-top: 10px; }
   .crossbooking_select form .form_select { width: 100%; }
   .crossbooking_select form { margin-left: 0; }
   .crossbooking_select form .form_select .current_value { width: 100%; }
    }
   .smartphone .ztemplate_rooms .crossbooking_elements .caption-alt { background-color: var(--color1); padding: 15px; }
   .smartphone .crossbooking_block { padding-left: 0px; z-index: 1; margin-bottom: 0; }
   .smartphone .crossbooking { padding: 0; }
   .smartphone .crossbooking_header { padding: 0 15px; }
   .smartphone .crossbooking_block:last-of-type { padding-bottom: 40px; margin-bottom: 20px; }
   .smartphone .crossbooking_footer .rate-group-content .rate-group-title-value { width: 50%; }
   .smartphone .crossbooking_footer .rate-group-cond-value { width: 50%; display: flex; align-items: center; }
   .smartphone .crossbooking_footer .rate-group-content { flex-wrap: wrap; margin: 0 10px; background-color: var(--white); box-shadow: 0px 9px 23px -8px rgba(0, 0, 0, 0.77); padding: 10px 0; }
   .smartphone .crossbooking_footer .rate-group-price-value { width: 50%; background-color: var(--color1); color: var(--white); }
   .smartphone .crossbooking_footer .rate-group-rooms-value { width: 50%; background-color: var(--color1); color: var(--white); }
   .smartphone .crossbooking_block:before { left: 0; right: 0; margin: 0 auto; font-size: 25px; line-height: 50px; width: 50px; height: 50px; color: var(--color2); }
   .smartphone .crossbooking_block:after { left: 0; right: 0; margin: 0 auto; width: 1px; z-index: -1; }
   .smartphone .crossbooking_elements { padding: 15px 10px 80px; }
   .smartphone .crossbooking_block_header { background-color: var(--color1); color: var(--white); padding: 10px; align-items: center; margin-top: 80px; margin-bottom: 0; flex-direction: column; align-items: flex-start; padding-top: 12px; border-top-left-radius: 3px; border-top-right-radius: 3px; }
   .smartphone .crossbooking_dates:before { color: var(--white); }
   .smartphone .crossbooking_block_rooms { }
   .smartphone .crossbooking_select { position: inherit; left: 0; right: inherit; top: inherit; margin-left: 0; padding: 10px 0 0; margin: 10px 0; width: 100%; padding-right: 0; border-top: 1px solid #dedede; background-color: transparent; }
   .smartphone .crossbooking_select form { margin-left: 0; }
   .smartphone .crossbooking_select form .form_select .current_value:after { margin-left: auto; }
   .smartphone .crossbooking_select form .form_select { color: var(--color1); width: 100%; }
   .smartphone .crossbooking_block:last-of-type:after { height: calc(100% + 60px); }
   .smartphone .crossbooking_footer { margin-top: 0; }
   .smartphone .crossbooking_elements:after { left: 0; bottom: 9px; right: 0; margin: 0 auto; font-size: 25px; line-height: 50px; width: 50px; height: 50px; color: var(--color2); }
   .smartphone .crossbooking_footer .rate-group-header { background-color: var(--white); color: var(--color1); text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 10px; }
   .smartphone .crossbooking_footer .rate-group-header.open:before { display: none; }
   .smartphone .crossbooking_select .select:before { color: var(--white); }
   .smartphone .ztemplate_rooms .crossbooking_elements .caption-alt .zcheckbox .fieldvalue,
   .smartphone .ztemplate_rooms .crossbooking_elements .caption-alt .zinput .fieldvalue { font-size: 100%; margin-bottom: 0; }
   .smartphone .crossbooking_footer .payment_policy_label,
   .smartphone .crossbooking_footer .canc_policy_label { font-size: 70% !important; }
   .smartphone :is(#cart_summary_wrapper, #order_template_wrapper) .cross_booking_dates .nights { padding-left: 0; width: auto; }
   .smartphone .ztemplate_rooms .rooms .crossbooking_elements .caption-alt>.title { color: var(--white); }
   .smartphone .ztemplate_rooms .crossbooking_elements .caption-alt .zinput { margin-bottom: 10px; }
   .smartphone .ztemplate_rooms .crossbooking_elements .elem { overflow: hidden; }
   .smartphone .ztemplate_rooms .crossbooking_elements .caption-cnt { border-top-left-radius: unset; border-top-right-radius: unset; }
   .smartphone .prepaid_detail { flex-wrap: wrap; }
   .smartphone .cross_booking_dates { padding-left: 10px; }
   .smartphone .ztemplate_rooms .purchase_flow_step.purchase_flow_3_step.crossbooking_step .ztemplate .row-1:not(.subcontents .row) { margin-bottom: 0; }
   /* FINE - BEI CrossBooking */
   
/* ENGAGEMENT PLATFORM */
html { min-height: 100vh;}
.body_ecommerce_engagement #slideshow,
.body_ecommerce_engagement #slideshow .elem {height: unset;}
body.body_ecommerce_engagement .slideshow_cnt { margin: 0; }
body.body_ecommerce_engagement #page.ecommerce { padding-top: 120px; }
body.body_ecommerce_engagement .header_newsletter { display: none; }
/* .body_ecommerce_engagement header, .body_ecommerce_engagement footer, .body_ecommerce_engagement #slideshow, .body_ecommerce_engagement .slideshow-cnt, .body_ecommerce_engagement .slideshow_cnt { display: none!important;} */
.body_ecommerce_engagement #hero.hero-alt {margin-bottom: 0px;}
.body_ecommerce_engagement { height: 100%; overflow: auto;}
.body_ecommerce_engagement:before { /* position: absolute; content: ''; z-index: -1; background-color: #dedede; height: 100%; top: 50%; left: 0; width: 100%; */}
/* #page.engagement { font-size: 110%; padding: 0; max-width: 860px; min-height: unset; margin: 200px auto; background-color: var(--white); box-shadow: 0px 9px 11px 0px rgba(0,0,0,0.15); border: 10px solid #f6f6f6; position: relative;} */
#page.engagement:after { width: 0; height: 0; content: ''; position: absolute; z-index: 1; top: 0; right: 0; border-style: solid; border-width: 0 90px 90px 0; border-color: transparent var(--color1); }
#page.engagement:before { position: absolute; top: 14px; right: 14px; font-family: var(--font-icon); content: '\f06b'; color: var(--white); z-index: 2; font-size: 25px; }
.engagement_header { margin: 0 auto; padding: 45px 30px 15px; text-align: center; max-width: 968px;}
.ibe_offers_wrapper { margin: 0 auto; max-width: 968px; } 
.engagement_header > div { margin-bottom: 10px; line-height: 1.2; text-align: center; }
.engagement_header > div > div { margin-bottom: 10px;}
.engagement_greeting { font-family: var(--sans); font-size: var(--size-medium); font-weight: var(--font-weight-bold);}
.engagement_header :where( .engagement_user, .engagement_expire):before { margin-right: 5px; font-family: var(--font-icon); font-size: 120%; } 
.engagement_user { margin: 15px 30px 0 0; position: relative; display: inline-block; flex-direction: column; gap: 20px; color: var(--color1);}
.engagement_header .engagement_user:before { content: '\f007'; }
.engagement_header .engagement_expire:before { content: '\f334'; }
.engagement_expire { display: inline-block; color: var(--color1); }
.unlock_offer { max-width: 900px; margin: 0px auto; background-color: var(--iti-hover-color); padding: 60px 40px; text-align: center; position: relative; margin-bottom: 40px;}
.unlock_offer_msg { font-family: var(--sans); font-size: var(--size-base); font-weight: var(--font-weight-bold); padding: 0 30px; line-height: var(--l-height);}
#unlock_offer_form { margin-top: 15px; display: flex; align-items: center; justify-content: center;}
#unlock_offer_email { width: 50%; background-color: var(--white); border: none; border-bottom: 1px solid var(--black); padding: 10px 20px; font-size: var(--size-mini);}
#unlock_offer_form input[type="submit"] { padding: 10px 20px; text-transform: uppercase; background-color: var(--color1); color: var(--white); font-size: var(--size-mini); letter-spacing: 2px; }
.engagement_multi { margin: 0 auto; padding: 30px; border-top: 1px dashed #dedede;}
.engagement_multi_info { margin-bottom: 15px; text-align: center;}
.engagement_multi_info .title { font-family: var(--sans); font-size: var(--size-medium); font-weight: var(--font-weight-bold); padding: 0 30px; line-height: var(--l-height);}
.engagement_offers { margin-top: 30px; display: flex; flex-direction: column; gap: 30px;}
.engagement_offer { border: 1px solid #ebebeb; overflow: hidden; text-align: left; display: flex; flex-wrap: wrap; align-items: center;}
.engagement_offer .search_info { padding: 15px; color: var(--white); width: 100%; background-color: var(--color1); font-weight: var(--font-weight-medium); display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid #ebebeb; order: 1;}
.engagement_offer .search_info .option { font-family: var(--sans); font-size: 1.5rem;}
.engagement_offer .search_info .hotel_name {display: flex; font-family: var(--sans); font-weight: var(--font-weight-bold); color: var(--color1); font-size: 1.5rem; text-transform: uppercase; margin-right: auto; margin-left: 25px;}
.engagement_offer .search_info .hotel_name:before { font-family: var(--font-icon); content: "\f3c5"; font-size: 80%; font-weight: var(--font-weight-solid);  margin-right: 10px;}
.engagement_offer .search_info .stay_period .key { display: none; }
.engagement_offer .search_info .stay_period .value { display: flex; align-items: center; gap: 10px; }
.engagement_offer .stay_period .from:before { font-family: var(--font-icon); content: "\f133"; }
.engagement_offer .stay_period .from:after { font-family: var(--font-icon); content: "\f054"; font-size: calc(var(--size-base)* .6);}
.engagement_offer .stay_period :where(.from, .nights) {     display: flex; align-items: center; gap: 5px; }
.engagement_offer .stay_period .nights:before { font-family: var(--font-icon); content: "\f186"; }

/* Con Template Camere */
.engagement_offer:has(.ztemplate) .ztemplate { display: block; }
.engagement_offer:has(.ztemplate) .rooms { padding: 0; justify-content: center; gap: 15px; }
#page.engagement .engagement_offer:has(.ztemplate) .rooms > .elem { margin: 0 0 20px; width: 100%; box-shadow: none; min-height: inherit; cursor: initial; }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt { padding: 0; position: inherit; display: flex; flex-direction: row; align-items: flex-start; height: auto; background-color: var(--light_secondary-alt); }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption { padding: 0; position: relative; left: inherit; top: inherit; bottom: inherit; z-index: inherit; width: 25%; overflow: hidden; }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt { padding: 0 20px 20px; width: 75%; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .zoption.g15 { display: flex; align-items: center; gap: 5px; margin-right: 20px; text-transform: uppercase; font-weight: var(--bold); }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .zoption.g15:before { font-family: var(--font-icon); content: "\f3c5"; color: var(--color1); font-size: 110%;}
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .zinput.g6 { display: flex; align-items: center; gap: 5px; margin-right: 20px; }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .zinput.g6:before { font-family: var(--font-icon); content: "\f31d"; color: var(--color1); font-size: var(--size-base); font-weight: var(--font-weight-solid);}
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .zinput.g6:after {content: 'mq';}
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .zinput.g6 .fieldkey { display: none; }


.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .title { margin-top: 10px; font-family: var(--serif); text-transform: capitalize; font-size: var(--font-size-lg); width: 100%; color: var(--color1); }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .ztextarea { width: 100%; text-transform: initial; }
.engagement_offer:has(.ztemplate) .rooms .room_photo { width: 100%; height: 100%; }
.engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption .room_photo img { height: 100%; min-width: 100%; width: 100%;}
.engagement_offer:has(.ztemplate) .rooms .room_photo .fieldvalue:before { display: none; }
.engagement_offer:has(.ztemplate) .rooms .room_name { font-size: calc(var(--size-base) * 1.5); pointer-events: none; font-family: var(--sans); }
.room_more_details { margin-top: 20px; cursor: pointer; color: var(--color1); text-transform: uppercase; text-align: left; line-height: 1; border-bottom: 1px solid var(--color1); }

#page.ecommerce.engagement .engagement_offer .open_desc_order .fieldkey {display: none;}
#page.ecommerce.engagement .engagement_offer .open_desc_order .fieldvalue {display: block;}

.search_info { padding: 0 0 15px; margin-bottom: 15px; border-bottom: 1px solid #dedede;}
.room_count_string { margin-bottom: 10px; padding: 0 20px; color: var(--color1); width: 50%; order: 2;}
.room_count_string:before {font-family: var(--font-icon); content: '\f06b'; margin-right: 5px; }
.offer_occ_per_room { padding: 0 20px; background-color: var(--white); width: 100%; order: 4; text-transform: uppercase; }
.offer_occ { padding: 30px 0 10px 0; margin-bottom: 10px; display: flex; align-items: center; gap: 5px; border-bottom: 1px dashed #dedede;}
.offer_occ:last-of-type { margin-bottom: 0; padding-bottom: 0; border-bottom: unset; }
.offer_occ:before { font-family: var(--font-icon); content: '\f8f7'; }
.engagement_offer .starting_from { order: 3; margin: 0 0 0 auto; padding: 0 20px; display: flex; flex-direction: row; align-items: center; gap: 5px; }
.engagement_offer .starting_from span { font-size: 25px; color: var(--color1);}
.engagement_offer .starting_from span.number:before { content: '\20ac'; margin-right: 3px;}
.view_offer_link { margin: 0 20px 20px; padding: 15px; background-color: var(--color1); display: inline-block; margin-top: 15px; text-transform: uppercase; color: var(--white); width: 100%; order: 5; text-align: center; letter-spacing: 2px; text-decoration: none;}
.refuse_offer { padding: 30px; text-align: center; border-top: 1px dashed #dedede; max-width: 920px; margin: 0 auto;}
.refuse_offer_title { margin-bottom: 20px; font-family: var(--sans); font-size: var(--size-base); font-weight: var(--font-weight-bold); padding: 0 30px; line-height: var(--l-height);}
#refuse_offer_reason { padding: 15px; width: 100%; border: 1px solid #dedede; resize: none;}
.refuse_offer_btn { cursor: pointer; background-color: var(--color1); padding: 15px; color: var(--white); text-transform: uppercase; margin-top: 15px; letter-spacing: 2px; }
/* engagement mode ON */
#page.engagement_mode { min-height: unset!important; }
.engagement_mode .purchase_flow_step.purchase_flow_3_step .ztemplate:not(.subcontents .ztemplate) { margin-top: 30px;}
/* .engagement_mode .ztemplate_rooms .elem.first { margin-top: 30px;} */
.engagement_mode .ztemplate_rooms.list { padding-bottom: 0;}
.engagement_mode .engagement_header { padding: 15px; max-width: 920px; margin: 0 auto;}
.engagement_mode .engagement_greeting { font-size: 20px;}
.engagement_mode .engagement_description { font-size: var(--size-base);}
.engagement_mode .engagement_header .engagement_expire { display: none;}
.engagement_mode .engagement_user { display: none;}
.accomodation_info { margin: 0 auto 30px; text-align: center; position: relative;}
.accomodation_info.selected {  padding: 15px; background-color: var(--white); border: 2px solid var(--color1); overflow: hidden;}
.accomodation_info .occupancy { font-size: 18px; font-weight: var(--font-weight-bold); margin-bottom: 15px; padding: 10px; background-color: var(--color3);}
.accomodation_info .occupancy:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f8f7"; margin-right: 5px; }
.accomodation_info .info_msg { font-size: 18px; line-height: 1.2; padding: 15px; /* background-color: #f6f6f6; border: 1px solid #dedede; */ width: auto; display: inline-block;}
.accomodation_info .info_msg:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f05a"; margin-right: 5px;}
/* .accomodation_info:before { content: counter(section); position: absolute; top: 50%; left: -60px; transform: translateY(-50%); z-index: 2; width: 50px; height: 50px; font-size: 60px;  font-weight: var(--font-weight-bold); color: var(--color1); opacity: .3; } */
.selected_option_info .caption { box-shadow: unset!important;}
.selected_option_info { margin-bottom: 0; display: flex; flex-wrap: wrap; align-items: center;}
.selected_option_info .selected_rate_ctn .caption-cnt { display: flex; align-items: center; position: relative!important; flex-direction: row!important;}
.selected_option_info .selected_rate_ctn .caption { width: 60%!important;}
.selected_option_info .selected_rate_ctn .caption-cnt .caption-alt { display: none; padding: 15px!important; width: 40%!important;}

.selected_option_info .selected_rate_ctn .caption-cnt .condition_detail .fieldkey { cursor: pointer; color: var(--grey); margin: 0; display: flex; align-items: center; gap: 5px; text-transform: capitalize;}
.selected_option_info .selected_rate_ctn .caption-cnt .condition_detail .fieldkey:before {font-family: var(--font-icon); content: '\f0fe';}


.selected_option_info { text-align: left;}
.selected_option_info .toggle_open { display: none;}
.selected_room_name { font-weight: var(--font-weight-bold); font-size: 190%; color: var(--color2); margin-bottom: 10px; width: calc(100% - 290px);}
.selected_room_price { margin-left: auto; display: flex; width: 290px; text-align: center; font-size: 30px; color: var(--color1);}
.selected_room_price .number:before { content: '\20ac'; margin-right: 3px;}
.selected_room_price .decimal, .selected_room_price .comma { vertical-align: super; letter-spacing: -0.5px; position: relative; }
.selected_room_name:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f058"; margin-right: 10px;}
.selected_option_info .title { font-size: 120%; color: var(--color1); width: 100%; text-align: left; margin-top: 15px;}
.selected_option_info .rate_arrangement { display: flex; gap: 5px; }
.selected_option_info .rate_arrangement:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid);}
.selected_option_info .selected_rate_ctn[treatment="treatment-breakfast"] .rate_arrangement.g24:before { content: '\f7b6';}
.selected_option_info .selected_rate_ctn[treatment="treatment-room"] .rate_arrangement.g24:before { content: '\f236';}
.selected_option_info .selected_rate_ctn[treatment="treatment-half"] .rate_arrangement.g24:before { content: '\f2e6';}
.selected_option_info .selected_rate_ctn[treatment="treatment-full"] .rate_arrangement.g24:before { content: '\f2e6';}
.selected_option_info .selected_rate_ctn[treatment="treatment-all"] .rate_arrangement.g24:before { content: '\f561';}
.selected_option_info .caption .zlabel.g25 { display: flex; gap: 5px; margin: 5px auto 10px; flex-wrap: wrap;}
.selected_option_info .caption .zlabel.g25 .fieldkey { color: var(--color1);}
.selected_option_info .caption .zlabel.g25 .fieldkey:after { content: ':'; }
.selected_option_info .rate_details .fieldkey { cursor: pointer; color: var(--grey); font-size: 100%; width: 100%; text-align: left; display: flex; gap: 5px; }
.selected_option_info .rate_details .fieldkey:before { font-family: var(--font-icon); font-weight: var(--font-weight-regular); content: "\f0fe";}
.selected_option_info .rate_details.fired .fieldkey:before { content: '\f146';}
.selected_option_info .rate_details .fieldvalue { display: none; font-size: var(--size-base);}
.selected_option_info .rate_details.fired .fieldvalue { margin: 5px 0 10px 0; display: block; border-top: 1px solid var(--dark-grey); padding-top: 5px;}
.selected_option_info .caption-cnt { align-items: center!important;}
.selected_option_info .caption-alt {  background-color: #f7f7f7; position: initial!important; bottom: unset!important; top: unset!important; left: unset!important; right: unset!important; line-height: 1.2; width: auto; background-color: transparent; padding: 0 40px;}
.selected_option_info .caption-alt .upfront { margin-bottom: 10px; color: var(--color1);}
.selected_option_info .caption-alt .upfront .fieldvalue { font-size: 20px;}
.selected_option_info .caption-alt .upfront .number:before {  content: '\20ac'; }
.selected_option_info .caption-add { position: initial!important; bottom: unset!important; top: unset!important; left: unset!important; right: unset!important; padding-right: 40px;}
.selected_option_info .caption-add .zlabel { display: none!important;}
.selected_option_info .caption-add .zlabel.zlabelprice { display: none!important; /* gap: 2px; align-items: center; font-size: 30px; color: var(--color1); */}
.selected_option_info .caption-add .zlabel.zlabelprice:before { content: '\20ac'; position: relative; top: 2px;}
.selected_rate_ctn { width: 100%;}
.selected_rate_ctn > .caption-cnt { padding: 15px; }
.remove_eng_selection { position: absolute; z-index: 2; top: 0; right: 0; font-size: 0; width: 40px; height: 40px; background-color: transparent; line-height: 40px; text-align: center; cursor: pointer;}
.remove_eng_selection:before {font-family: var(--font-icon); content: '\f00d'; color: var(--white); font-size: 25px; z-index: 2; position: relative;}
.remove_eng_selection:after { width: 0; height: 0; content: ''; position: absolute; z-index: 1; top: 0; right: 0; border-style: solid; border-width: 0 70px 70px 0; border-color: transparent var(--color1); }
/* Engagement Media */
.engagement_media { text-align: center; padding-top: 30px; margin-top: 40px;}
.engagement_media > div { max-width: calc(var(--container2) - 60px); margin: 0 auto 90px; padding: 50px 30px 30px; background-color: #f6f6f6; box-shadow: 0 14px 15px -11px rgba(0,0,0,0.1); position: relative; border-top: 5px solid var(--color1);}
.engagement_media > div:before { font-family: var(--font-icon); font-weight: 900; font-size: 25px; color: var(--white); position: absolute; top: -30px; left: 0; right: 0; margin: 0 auto; z-index: 2; width: 60px; height: 60px; line-height: 60px; text-align: center; background-color: var(--color1);}
.engagement_video:before { content: '\f03d';}
.engagement_spotify:before { content: '\f001';}
.engagement_attachments:before { content: '\f07c';}
.engagement_video { background-color: #f6f6f6; }
.engagement_video iframe { width: 100%; height: 517px; box-shadow: 0px 9px 11px 0px rgba(0,0,0,0.15); padding: 10px;}
.engagement_video .video_wrapper { max-width: 920px; margin: 0 auto 30px; }
.spotify_hint {  display: flex; flex-direction: column; gap: 20px; align-items: center; line-height: 1.2; font-size: 100%;}
.spotify_hint:after { display: none; background-color: var(--color2); width: 40px; height: 40px; border-radius: 100%; line-height: 40px; text-align: center; font-family: var(--font-icon); content: '\f6a8'; color: var(--white); cursor: pointer; font-size: 20px; }
.spotify_wrapper { width: 100%; text-align: left;}
.spotify_wrapper iframe { width: 100%; height: 400px; margin-top: 30px;}
.spotify_wrapper.fired { display: block;}
.spotify_wrapper .trigger_close { display: none;}
.engagement_attachments { max-width: 920px; margin: 30px auto; padding: 15px; background-color: #f6f6f6;}
.attachments_wrapper .trigger_close:before { display: none;}
.trigger_close:before { font-family: var(--font-icon); content: '\f057'; font-weight: 900; cursor: pointer; font-size: 20px; color: var(--color2); }
.engagement_video .trigger_close { display: none;}
.video_hint, .attachments_hint { font-size: 25px; margin-bottom: 30px;}
.engagement_attachments .attachment { text-align: left; padding: 10px; margin-bottom: 10px; border: 1px dashed #dedede;}
.engagement_attachments .attachment a { color: var(--color1); font-size: 18px;}
.engagement_attachments .attachment a:before { font-family: var(--font-icon); content: '\f019'; margin-right: 5px; }

/* Modifica Engagement Platform solo per i siti che utilizzano questo template */
.engagement_mode .ztemplate_rooms .elem:not(.subcontents .elem) { margin: 20px auto 70px; }
.engagement_mode .ztemplate_rooms .caption-alt { width: 50%; bottom: 0; }
#page_error .message .buttons .ok_btn {background-color: var(--color1); color: var(--white); padding: 15px 25px;}


/* Dettaglio Camera - Per Engagement */
#page.engagement .engagement_offers .template_detail_wrapper.opened { position: fixed; left: 0; right: 0; top: 0; bottom: 0; height: 100vh; z-index: 999999; background-color: var(--white); display: flex; justify-content: flex-end; }
#page.engagement .engagement_offers .template_detail_wrapper .content_detail_wrapper { width: 100%;}
#page.engagement .engagement_offers .template_detail_wrapper .content_detail_wrapper .ztemplate { padding: 0; display: block;}
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .elem { margin: 0; background: none; }
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption-cnt { padding: 0; width: 100%; height: 100vh; max-height: 100vh; position: inherit; flex-direction: row; display: flex; align-items: flex-start; }
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .tns-outer {  margin: 0; padding:0; width: 70%; max-width: 70%; position: relative; }
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .box { padding: 0;}
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption { display: block;}
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption-alt { margin: 0; padding:30px; width: 30%; background-color: var(--light_secondary-alt); max-height: 100vh; display: flex; gap: 15px; overflow: hidden; overflow-y: auto; }
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption-alt::-webkit-scrollbar { width: 4px; background-color: var(--secondary);}
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption-alt::-webkit-scrollbar-thumb {  background-color: var(--grey);}
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption-alt::-webkit-scrollbar-track { margin: 0; }
#page.engagement .engagement_offers .template_detail_wrapper .room_detail img { max-width: 100%;min-width: unset;height:100vh;object-fit: cover; transform: unset;}
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .elem:hover img { transform: unset;}
#page.engagement .engagement_offers .template_detail_wrapper .room_detail .room_amenities { width: auto; }
#page.engagement .engagement_offers .template_detail_wrapper .ztemplate .ztextarea.g2 { font-size: 120%; }
#page.engagement .engagement_offers .template_detail_wrapper .ztemplate .open_desc_order .fieldkey { display: none; }
#page.engagement .engagement_offers .template_detail_wrapper .ztemplate .open_desc_order .fieldvalue { padding: 0; display: block; position: initial; box-shadow: unset; background-color: var(--light_secondary-alt); }
#page.engagement .engagement_offers .g5 { margin-top: 20px; padding-top: 20px; width: 100%; border-top: 1px solid var(--color1); }
#page.engagement .engagement_offers .g5 .fieldkey { font-weight: var(--font-weight-bold); font-size: var(--size-base); width: 100%; margin-bottom: 10px; }
#page.engagement .engagement_offers .g5 .fieldvalue { margin-bottom: 10px; display: flex; align-items: center; text-transform: none; font-size: var(--size-base); text-align: center; gap: 5px;}
#page.engagement .engagement_offers .g5 .fieldvalue:before {font-family: var(--font-icon); color: var(--color1); content: '\f105'; }

/* modifica amienities camere */
#page.engagement .zcheckbox.g8 .fieldkey { margin-bottom: 15px; text-transform: initial; font-family: var(--serif); font-size:calc(var(--size-base) + 10px); color: var(--color1); }
#page.engagement .zcheckbox.g8 .fieldvalue:before { margin-right: 5px; font-family: var(--font-icon); font-size: 18px; color: var(--color1); font-weight: var(--font-weight-light); padding: 25px 0;}
#page.engagement .zcheckbox.g8 .fieldvalue:before {content: '\f00c';}


/* TNS elements */
#page.engagement .tns-controls { position: absolute; top: 0; bottom: 0; width: 100%; height: 100%;}
#page.engagement .tns-controls button { z-index: 11; position: absolute; top: 0; bottom: 0; width: 10%; height: 100%; background-color: transparent; border: none; font-size: 0; }
#page.engagement .tns-controls button[data-controls="prev"] { left: 0; right: initial; background: linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%); text-align: left; }
#page.engagement .tns-controls button[data-controls="next"] { left: initial; right: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%); text-align: right; }
#page.engagement .tns-controls button[data-controls="next"]:before, .tns-controls button[data-controls="prev"]:before { font-family: var(--font-icon); font-weight: var(--light); font-size: 36px; color: var(--white); }
#page.engagement .tns-controls button[data-controls="next"]:before { padding: 0 20px 0 0; content: "\f105"; }
#page.engagement .tns-controls button[data-controls="prev"]:before { padding: 0 0 0 20px; content: "\f104"; }
#page.engagement .template_detail_wrapper.opened .close_detail:before { content: '\e59b'; font-family: var(--font-icon); color: var(--color1); font-size: 28px; font-weight: var(--font-weight-solid); cursor: pointer; position: fixed; top: 15px; right: 15px; z-index: 1; }


@media (max-width: 960px) {
    .selected_option_info .selected_rate_ctn .caption-cnt { flex-direction: column!important; padding: 15px;}
    .selected_option_info .caption-alt { padding: 30px 0!important; border-left: unset; border-top: 1px solid #dedede;}
    .accomodation_info { margin: 0 auto 15px;}
    #page.engagement .engagement_offers .template_detail_wrapper .close_detail { position: relative; z-index: 12; }
    #pf_1_step_1 .template_detail_wrapper .room_detail .caption-cnt, #page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption-cnt { flex-direction: column; height: auto; max-height: inherit; }
    #pf_1_step_1 .template_detail_wrapper .room_detail .tns-outer, #page.engagement .engagement_offers .template_detail_wrapper .room_detail .tns-outer { width: 100%; max-width: 100%; height: 250px; }
    #pf_1_step_1 .template_detail_wrapper .room_detail img, #page.engagement .engagement_offers .template_detail_wrapper .room_detail img { height: 250px;  }
    #pf_1_step_1 .template_detail_wrapper .room_detail .caption-alt, #page.engagement .engagement_offers .template_detail_wrapper .room_detail .caption-alt { padding: 20px; width: 100%; max-height: calc(100dvh - 250px); }
    .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption img { height: 195px; object-fit: cover; }
    #page.engagement .engagement_offers .template_detail_wrapper.opened { align-items: flex-start; }
    /* template con Camere */
    .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt { flex-direction: column;}
    .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption { width: 100%;}
    .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt { padding: 10px 0; width: 100%; gap: 10px;}
    .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption .room_photo img { height: 150px;}
    .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt :where(.room_size, .room_occupancy, .room_animals, .room_view) { flex-direction: row; flex-wrap: nowrap;}
    .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt :where(.room_size, .room_occupancy, .room_animals, .room_view) .fieldkey { width: auto;}
    .smartphone .engagement_offer:has(.ztemplate) .rooms .room_name { padding: 0; background-color: transparent; position: inherit; color: var(--grey); font-size: calc(var(--size-base) * 1.7);}
   /* Tariffe */
   .engagement_mode .rate-group .rate-group-content { padding: 10px 10px 0 10px;}
   .smartphone .engagement_mode .rate-group .rate-group-content { padding: 0;}
   /* Engagement Media */
   .engagement_media :where(.spotify_hint, .video_hint, .attachments_hint) { font-size: calc(var(--size-base) * 1.2);}
   /* .engagement_media > div { padding: 10px;} */
   /* .engagement_media > div:before { width: 40px; height: 40px; line-height: 40px; font-size: calc(var(--size-base) * 1.3); top: -20px;} */
   .engagement_attachments .attachments_wrapper { margin: 0 0 20px 0; flex-direction: column; gap: 5px;}
   .engagement_attachments .attachment { font-size: calc(var(--size-base) * 1.1); }
   /* Camere Selezionate*/
   .selected_room_name { font-size: calc(var(--size-base) * 1.2); gap: 3px;}
   .selected_room_price { font-size: calc(var(--size-base) * 1.2); display: none; }
   .selected_room_name:before { font-size: var(--size-base);}
   .accomodation_info.selected:first-child { margin: 10px 0 0 0;}
}
@media (max-width: 767px) {
    .selected_room_name { width: 100%; font-size: 25px;}
    .selected_room_price { width: 100%; margin-left: 0; text-align: left; margin-bottom: 20px; font-size: 20px;}
    .engagement_video iframe { height: auto;}
    #unlock_offer_form { flex-direction: column;}
    #unlock_offer_email { width: 100%;}
}
.smartphone.body_ecommerce_engagement #page { padding: 0; }
.smartphone .accomodation_info .info_msg { font-size: 100%;}
.smartphone #page.engagement { margin: 0 auto;}
.smartphone .engagement_multi { padding: 10px;}
.smartphone .engagement_greeting { font-size: 20px;}
.smartphone .engagement_multi_info .title,
.smartphone .refuse_offer_title { font-size: 18px;}
.smartphone #page.engagement_mode .heading { padding-top: 20px;}
.smartphone .engagement_mode .engagement_expire { margin-top: 8px; text-align: center;}
.smartphone .selected_option_info .caption-alt { background-color: transparent!important;}
.smartphone .selected_option_info .selected_rate_ctn .caption-cnt .caption-alt { padding: 10px 0!important;}
.smartphone .engagement_media { margin-top: 15px; padding: 0 15px;}
.smartphone .engagement_media > div { padding: 50px 15px 15px; border-radius: 5px;}
.smartphone .engagement_media > div:before { border-radius: 100%; font-size: 20px;}
.smartphone .selected_option_info .selected_rate_ctn .caption,
.smartphone .selected_option_info .selected_rate_ctn .caption-cnt .caption-alt { width: 100%!important;}
.smartphone .room_count_string { width: 100%; text-align: center; color: var(--black); }
.smartphone .engagement_offer .starting_from { margin: 0 auto; }
.smartphone .offer_occ_per_room { padding: 0; }
.smartphone #page.engagement .engagement_offer:has(.ztemplate) .rooms > .elem { padding: 15px; border-bottom: 1px solid var(--ice); }
.smartphone #page.engagement .engagement_offer:has(.ztemplate) .rooms > .elem:last-of-type { padding-bottom: 0; border-bottom: unset; }
.smartphone .offer_occ { margin: 20px 0 0 0; padding: 10px 0 0px 0; border-bottom: unset; border-top: 1px dashed #dedede; justify-content: center; }
.smartphone .engagement_offer .search_info .option { font-size: var(--size-base); }
.smartphone #page.engagement .engagement_offers .template_detail_wrapper .room_detail .elem { padding: 0; }
.smartphone .template_detail_wrapper.opened .close_detail:before { color: var(--white); }
body.smartphone.body_ecommerce_engagement #page.ecommerce { padding-top: 0; }
.smartphone .engagement_offer:has(.ztemplate) .rooms > .elem > .caption-cnt > .caption-alt .ztextarea { font-size: var(--font-size-bs); }
.smartphone #page.engagement .template_detail_wrapper.opened .close_detail:before { color: var(--white); }

/* FINE ENGAGEMENT PLATFORM */
   
   /* Fasce orarie - Servizi */
   .ztemplate .selection_time { display: flex; align-items: center; gap: 3px; margin-left: 10px;}
   .ztemplate .selection_time select { border: 1px solid #dedede; border-radius: 3px; background-color: #f6f6f6; padding: 3px;}
   .ztemplate .selection_time select:focus { outline:none;}
   .ztemplate .selection_time:before, .ztemplate .time:before { font-family: var(--font-icon); content: '\f017';}
   .ztemplate .time { order: 3; margin-left: 5px; display: flex; align-items: center; gap: 3px;}
   .ztemplate .time:before { font-size: 90%;}
   .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper.has_time:hover .selection_date { padding-left: 0;}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper.has_time { position: relative; padding: 15px 20px;}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper.has_time .selection_date { position: relative; top: -10px;}
   .smartphone .ztemplate .selection_time { position: absolute; bottom: 10px; left: 10px; gap: 2px;}
   .smartphone .ztemplate .selection_time select { padding: 0; border: unset;}
   .smartphone .ztemplate .selection_time:before { font-size: 90%; }
   
   /* CSS Takyon */
   .takyon-scripts-target-info .takyon-info-box { width: auto; align-items: flex-start; background-color: #fff; padding: 15px; border: 1px solid #dedede; margin-bottom: 15px; }
   img.takyon-logo-little { min-width: unset !important; width: auto; height: auto !important; max-width: 50px; }
   .takyon-scripts-target-info .takyon-info-box::after { display: none !important; }
   .takyon-logo { min-width: unset !important; width: auto !important; height: 60px !important; }
   .ztemplate_rooms .rates .caption-alt { z-index: auto; }
   .takyon-scripts-target-info .takyon-info-box p { white-space: normal !important; line-height: 1; }
   .smartphone .takyon-scripts-target-info :where(.takyon-row-1, .takyon-row-2) { flex-wrap: wrap; justify-content: flex-start; }   
   
   /* smartphone */
   
   .smartphone .ztemplate_rooms .caption-cnt {display: flex; flex-direction: column;}
   .smartphone .ecommerce .ztemplate_rooms .caption-cnt .tns-outer {width: 100%}
   .smartphone .ztemplate_rooms .caption-alt {width: 100%; margin-left: 0px; padding: 0px}
   .smartphone .ecommerce .ztemplate_rooms .caption-cnt .caption {width: 90vw;}
   .smartphone .ztemplate_rooms .caption-alt .zsimplebutton,.smartphone .ztemplate_rooms .caption-alt .g15 {width: 100%}
   .smartphone .ztemplate_rooms .rooms .caption-alt>.zsimplebutton { padding: 10px 20px; font-size: var(--font-size-bs); }
   
   .smartphone .ztemplate_rooms .subcontents .rate-group-header.open > div {display: none;}
   .smartphone .ztemplate_rooms .subcontents .rate-group-header.open > .rate-group-title {display: block; width: 100%}
   .smartphone .zlabel.price_per_day .fieldkey { background-color: var(--color3); }
   .smartphone .ztemplate_rooms .subcontents .caption-cnt > li {width: 100%; border-top: 1px solid rgba(0, 0, 0, 0.1); margin: 0px; padding: 20px 15px; border-right: 0px}
   .smartphone .ztemplate_rooms .subcontents .caption-cnt .caption-3, .smartphone .ztemplate_rooms .subcontents .caption-cnt .caption-4 {background-color: var(--color1); border-top:0px; color: var(--white)}
   .smartphone .ztemplate_rooms .subcontents .caption-cnt .caption-4 {padding-top: 0px}
   .smartphone .ztemplate_rooms .subcontents .zlabelprice, .smartphone .ztemplate_rooms .subcontents .zlabel.g9 {color: var(--white)}
   .smartphone .ztemplate_rooms .subcontents .elem .zlabel.g10 {font-weight: var(--font-weight-bold); font-size: var(--font-size-lg);}
   .smartphone .ztemplate_rooms .subcontents .product_selection_wrap .prod_sel_content  {color: var(--white)}
   .smartphone .ztemplate_rooms .subcontents .zlabel.g25 {display: flex; flex-direction: column; align-items: flex-start;}
   .smartphone .step_footer_wrap #cart_detail .dates {font-size: 14px;}
   .smartphone .purchase_flow_step .ztemplate:not(.subcontents .ztemplate),
   .smartphone .services_only .purchase_flow_step .ztemplate:not(.subcontents .ztemplate) {flex-direction: column;}
   
   .smartphone .cart_btn {margin-bottom: 15px; margin-left: 20px}
   .smartphone .step_footer_wrap {flex-wrap: wrap; padding: 0}
   .smartphone .step_footer_wrap .step_footer_total_wrap {margin-right: 0px; margin-bottom: 10px;}
   .smartphone .step_footer_wrap #varsimple_cart_detail_btn {display: none;}
   .smartphone .step_footer_wrap .total_price_title {font-size: var(--font-size-xs);}
   .smartphone .step_footer_wrap input {width: 100%}
   
   .smartphone .step_footer_wrap #cart_detail {bottom: 75px; left: 0px; width: 350px}
   .smartphone .step_footer_wrap #cart_detail .subcontents .caption-cnt>li {background-color: var(--white);}
   .smartphone .step_footer_wrap #cart_detail .zlabelprice .fieldvalue, .smartphone .step_footer_wrap #cart_detail .zlabel.g9 .fieldvalue { color: var(--color1); justify-content: flex-end;}
   .smartphone .step_footer_wrap #cart_detail .ztemplate .title {border: 0px}
   
   .smartphone .purchase_flow_step.purchase_flow_3_step .ztemplate:not(.subcontents .ztemplate),
   .smartphone .services_only .purchase_flow_step .ztemplate:not(.subcontents .ztemplate) {flex-direction: column; width: 100%}
   .smartphone .ztemplate_rooms.list .template_filter { width: calc(100% - 10px); left: 5px; margin-bottom: 15px; }
   .smartphone .ztemplate_rooms .ztemplate .services .elem {width: 100%; margin: 0px; max-width: 100%;}
   .smartphone .ztemplate_rooms .ztemplate .services .elem .caption-cnt:not(.subcontents .caption-cnt) {max-height: 320px;}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents {max-width:95%; padding: 35px 10px 11px;}
   .smartphone .ztemplate_rooms .ztemplate .services .elem.fired .subcontents {top: 50%; bottom: 20px;}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt {font-size: var(--font-size-xs);}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .selection_date .fieldvalue>div {font-size: var(--font-size-xs);}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .selection_date .fieldvalue .day_name {display: none;}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper {padding: 10px}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .caption-cnt .caption {padding: 10px; font-size: var(--font-size-bs);}
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(1) { width: 40%; text-align: left; margin: 0; }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(2) { width: 8% ; text-align: right; margin: 0; }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(3) { width: 27%; text-align: left; margin: 0; }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(4) { width: 22%; text-align: center; margin: 0; }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-alt .selection_date_fields > *:nth-child(1) { width: 40%; text-align: left; margin: 0; }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-alt .selection_date_fields > *:nth-child(2) { width: 35% ; text-align: center; margin: 0; }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-alt .selection_date_fields > *:nth-child(3) { width: 22%; text-align: center; margin: 0; }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-alt .selection_date_fields > *:nth-child(3) .prod_sel_content { color: var(--black) }
   .smartphone .ztemplate_rooms .ztemplate .services .subcontents .rate .caption-cnt .caption > *:nth-child(4) #varsimple_services_qty_label {margin-left: 15px}
   
   
   
   .smartphone #page.ecommerce.step .cnt.summary {display: flex; flex-direction: column;}
   
   .smartphone #page.ecommerce.order .cnt {display: flex; flex-direction: column-reverse;}
   .smartphone #page.ecommerce.payment .cnt {display: flex; flex-direction: column-reverse;}
   .smartphone #page.order #content .cnt .body,
   .smartphone #page.order #content .cnt .side,
   .smartphone #page.payment #content .cnt .body,
   .smartphone #page.payment #content .cnt .side {width: 100%;}
   .smartphone.body_ecommerce_order #bookingform_summary,
   .smartphone.body_ecommerce_payment #bookingform_summary {height: auto; overflow: hidden;}
   
   .smartphone #cnt_forms form .caption-fields .field {width: 100%}
   .smartphone #order_template_wrapper {padding: 10px 0px}
   .smartphone #page.order #cnt_forms {padding: 10px}
   .smartphone #total_cost {margin-left: 0px; text-align: center;}
   .smartphone #total_upfront {text-align: center;}
   .smartphone .total_wrap {justify-content: center;}
   .smartphone #page.order .total_wrap .total_amount {margin-right: 0px;}
   
   body.smartphone.body_ecommerce_step #booking:has(#bei),
   body.smartphone.body_ecommerce_order #booking:has(#bei),
   body.smartphone.body_ecommerce_payment #booking:has(#bei) {top:50%}
   
   body.smartphone.body_ecommerce_step header .booking_btn .wrap_content,
   body.smartphone.body_ecommerce_order header .booking_btn .wrap_content,
   body.smartphone.body_ecommerce_payment header .booking_btn .wrap_content,
   body.smartphone.body_ecommerce_thank_you header .booking_btn .wrap_content {display: none;}
   
   /* FIX */
   #page.ecommerce .template16 .container-fluid {padding-left: 0px; padding-right: 0px;}
   #page.ecommerce .intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-3 .selected-flag { height: 35px !important;/* background-color: var(--lightgrey);*/ border: 1px solid var(--dark_grey); border-bottom: none;}
   #page.ecommerce .intl-tel-input .selected-flag .iti-arrow {border-top: 4px solid var(--dark_grey);}
   .smartphone #page.ecommerce .intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-3 .selected-flag {height: 32px !important;}
   .smartphone .ztemplate_rooms .subcontents .rate-group-header.open { background-color: var(--color3); border-top: white 2px solid; padding: 6px 0px; font-size: var(--font-size-bs);}
   .form_select.html_select {position: relative;}
   .smartphone .ztemplate_rooms .subcontents .rate-group-header.open:before {display: none;}
   .smartphone .ztemplate_rooms .subcontents .rate-group-header .rate-group-title { padding: 0px 20px; line-height: 1.5; text-align: center; }
   .smartphone .ztemplate_rooms .subcontents .rate-group-content .elem .caption-1 .title {padding-top: 10px;}
   /*
   .privacy_field:has([required]) .show_privacy:after{content: '*'}
   */
   .privacy_field a {text-decoration: underline !important; text-decoration-thickness: 1px !important;}

   .smartphone .ztemplate_rooms .subcontents .zlabel.g20 .fieldkey,
   .smartphone .ztemplate_rooms .subcontents .zlabel.g20 .fieldvalue {color: var(--white);}
   .smartphone .cross_property_element .element-cnt {flex-direction: column;}
   .smartphone .cross_property_element .element-cnt > * {width: 100%;}
   .smartphone #order_template_wrapper .row-1 .caption {flex-direction: column;}
   .smartphone #order_template_wrapper .caption-1 .caption-3 {text-align: right;}
   .smartphone #order_template_wrapper .zlabel.g20 { }
   .smartphone :is(#cart_summary_wrapper, #order_template_wrapper) .row-1 .caption:not(.subcontents .caption), :is(#cart_summary_wrapper, #order_template_wrapper) .row-1 .caption:not(.subcontents .caption) {flex-direction: row;}
   .smartphone #order_template_wrapper .service_title .caption:not(.subcontents .caption) .title:before {font-size: var(--font-size-bs);}
   .smartphone #page.order #content .side .title:not(.title_wrapper .title) {font-size: var(--font-size-bs); display: block; text-transform: uppercase; padding-top: 3px;}
   .smartphone #page.payment #content .side .title:not(.title_wrapper .title) {font-size: var(--font-size-bs); display: block; text-transform: uppercase; padding-top: 3px;}
   .smartphone #page.payment #content .title:not(.title_wrapper .title),
   .smartphone #page.payment #content .side #bookingform_summary .title {text-align: center;}
   .smartphone #page.order #content .side .title:not(.title_wrapper .title) #varsimple_yourbookings {text-transform: none;}
   .smartphone #page.payment #content .side .title:not(.title_wrapper .title) #varsimple_yourbookings {text-transform: none;}
   #page.order #content .side .title:not(.title_wrapper .title) #varsimple_yourbookings {text-transform: none;}
   #page.payment #content .side .title:not(.title_wrapper .title) #varsimple_yourbookings {text-transform: none;}
   .smartphone .ztemplate_rooms .subcontents .product_selection_wrap span:before { color: var(--white); }
   .desktop .edit_search .summary_title {display: none;}
   #page.ecommerce .heading .summary {display: none;}

   body.smartphone.body_ecommerce_step #booking.fired,
   body.smartphone.body_ecommerce_order #booking.fired,
   body.smartphone.body_ecommerce_payment #booking.fired,
   body.smartphone.body_ecommerce_thankyou #booking.fired {z-index: 99999;}

   .smartphone .ecommerce .ztemplate_rooms button.slick-prev {padding: 0;}
   .smartphone .ecommerce .ztemplate_rooms .g6 {width: 100%; margin: 0;}
   .smartphone .ecommerce .ztemplate_rooms .elem {max-width: calc(100%);}
   .smartphone .ecommerce .ztemplate_rooms .caption-alt {row-gap: 5px;}
   .smartphone .step_footer_wrap #cart_detail .subcontents .caption-cnt .caption {flex-direction: row;}
   .smartphone .close_services_btn { position: absolute; bottom: 10px; width: calc(100% - 20px); font-size: var(--font-size-bs); }
   .smartphone #order_template_wrapper .ztemplate .elem {margin-bottom: 0px;}
   .smartphone .ztemplate_rooms .services .subcontents .product_selection_wrap span:before {color: var(--color1); font-size: 16px;}
   .smartphone .ztemplate_rooms .ztemplate .services .elem .caption-alt:not(.subcontents .caption-alt) {bottom: -90px;}

/* Edit Reservation */
.ibe_search_btn { cursor: pointer;}
.ibe_search_box {background-color: #fff; color: #000; padding: 20px; margin: 0 auto; position: absolute; z-index: 9999; top: 0; left: 0; right: 0; box-shadow: 0 0 10px rgb(0 0 0 / 30%); text-align: left; max-width: 766px; display: none;}
.ibe_search_box form {background: whitesmoke; padding: 20px;}
.ibe_search_box_close { cursor: pointer; position: absolute; top: 4px; right: 10px; font-size: 21px; background: white; padding: 10px 15px; font-size: 0;}
.ibe_search_box_close:before { font-family: var(--font-icon); content: '\f00d'; color: #000; font-size: 20px;}
.ibe_search_wrapper { padding: 15px 25px;}
.ibe_search_wrapper.fired .ibe_search_box {display: block;}
.ibe_search_box_title { text-align: center; font-size: 22px; margin-bottom: 15px; color: #373737;}
.ibe_search_box form { display: flex; flex-direction: row!important; flex-wrap: wrap; }
.ibe_search_box form .field, #booking .ibe_search_box form .field.text { width: 50%; margin: 0; padding: 0 15px 20px 15px;}
.ibe_search_box form .field input { padding: 10px; width: 100%; text-align: left; line-height: 1; border: 1px solid #dedede; text-transform: inherit!important;}
#booking .ibe_search_box .form_element_title, .ibe_search_box .form_element_title, #booking .ibe_search_box .form_element_title.text { color: #373737; font-size: 10px;}
.ibe_search_loading .fa-spin, .edit_reservation_loading .fa-spin { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 99999; color: #fff; font-size: 50px;}
.ibe_search_loading:before, .edit_reservation_loading:before  { position: fixed; content: ''; top: 0; left: 0; width: 100%; height: 100%; z-index: 9; background-color: rgba(0,0,0,.8);}
#page.thankyou.edit_reservation .side #order_template_wrapper { text-align: left;}
.edit_reservation .side { margin-top: 30px;}
.edit_reservation .side #bookingform_summary .title { margin: 0 0 15px 0; padding-bottom: 15px; border-bottom: 1px solid #dedede; font-size: 190%; color: #575757;}
.edit_reservation .section_text { display: none;}
.edit_reservation .reservation_code { display: block;}
.edit_reservation .section_big_link, .edit_reservation .btn { display: none;}
.edit_reservation #order_template_wrapper .row-1 .caption { flex-wrap: wrap; align-items: center; margin-top: 15px; margin-bottom: 10px;}
.edit_reservation #order_template_wrapper .row-1 .caption .title_wrapper { width: 100%;}
.edit_reservation .rate_arrangement { font-size: 18px;}
.delete_reservation_info { background-color: #fff; margin-bottom: 15px; width: 100%; font-size: 16px;}
.delete_reservation_info .fieldvalue { display: flex; align-items: center;}
.delete_reservation_info .fieldvalue:before { font-family: var(--font-icon); content: '\f05a'; margin-right: 8px; }
.delete_reservation { background-color: #ef5f3e; padding: 15px 25px; font-size: 12px; color: #fff; text-transform: uppercase; cursor: pointer;}
.delete_reservation .fieldkey { display: flex; align-items: center;}
.delete_reservation .fieldkey:before { font-family: var(--font-icon); content: '\f2ed'; margin-right: 10px;}
.delete_reservation .fieldvalue { display: none;}
.edit_reservation #bookingform_summary .summary { font-size: 15px;}
.edit_reservation #order_template_wrapper .ztemplate .elem { position: relative;}
.edit_reservation #order_template_wrapper .ztemplate .elem.odd { padding-top: 20px;}
#page_error .message .buttons { display: flex; align-items: center; justify-content: center; margin-top: 20px;}
#page_error .message .buttons > div { padding: 15px 25px; color: #373737; text-transform: uppercase; cursor: pointer; margin: 0 5px; border: 2px solid #373737;}
#booking .ibe_search_box input[type="submit"], .ibe_search_box input[type="submit"] { font-size: 12px;}
.edit_reservation #order_template_wrapper .row-2 .rates .caption-alt .fieldkey:not(.details_wrapper .fieldkey) { font-size: 12px;}
.edit_reservation .canc_policy_label, .edit_reservation .payment_policy_label { font-size: 12px;}
.edit_reservation .canc_costs {padding-top: 5px;}
.edit_reservation #order_template_wrapper .zlabelprice {padding-top: 10px;}
.edit_reservation #order_template_wrapper .rates .caption-alt .ztextarea.g2, .edit_reservation #order_template_wrapper .rates .caption-alt .zlabel.g8 { font-size: var(--font-size-bs) !important;}
#page.thankyou.edit_reservation #content p {margin: 0; font-size: var(--font-size-bs)}
.smartphone .delete_reservation { width: 100%; margin-bottom: 15px;}
.smartphone .ibe_search_box form { flex-direction: column!important;}
.smartphone .ibe_search_box form .field, .smartphone #booking .ibe_search_box form .field.text { width: 100%; border-bottom: unset;}
.smartphone .ibe_search_wrapper .ibe_search_box { height: 100%;}
.smartphone .edit_reservation #order_template_wrapper {padding: 10px;}
.smartphone .delete_reservation .fieldkey { display: flex; align-items: center; justify-content: center; }
.smartphone .edit_reservation #order_template_wrapper .row-1 .caption { align-items: flex-start; }
.smartphone .edit_reservation .total_wrap { justify-content: center; padding: 10px; }
.smartphone .edit_reservation #total_cost {margin: 0;}
.smartphone #page.thankyou.edit_reservation #content {margin-top: 0px;}
.smartphone .pf_step_button { font-size: var(--font-size-bs); }
.smartphone .ztemplate_rooms .subcontents .ztextarea { font-size: var(--font-size-bs); }
.smartphone #bookingform_summary:not(.ecommerce.step #bookingform_summary) .dates,
.smartphone #bookingform_summary:not(.ecommerce.step #bookingform_summary) .guests { font-size: var(--font-size-bs); }
.smartphone #bookingform_summary:not(.ecommerce.step #bookingform_summary) .guests:before,
.smartphone #bookingform_summary:not(.ecommerce.step #bookingform_summary) .dates:before { color: var(--color3); }
.smartphone .pf_step_button { background-color: var(--color3); }
.smartphone #order_template_wrapper .rates .caption-alt .fieldkey { font-size: var(--font-size-bs); }
.smartphone #cnt_forms form .caption-fields .field input[type="phone"] { font-size: var(--font-size-bs); }

/* FIX */
.canc_costs { display: none!important; }
.canc_policy_text ul { padding-left: 15px; list-style-type: disc; }
.smartphone .ztemplate_rooms .subcontents .ztextarea.g2 .fieldkey,
.smartphone .ztemplate_rooms .subcontents .zlabel .fieldkey { font-size: var(--font-size-xs); }