
/* Viewport Booking Engine Immersivo */

/* overlay */
.overlay { background-color: rgba(0,0,0,.8); position: fixed; top: 0; left: 0; width: 100%; opacity: 0; height: 100%; pointer-events: none; transition: .3s;}
.overlay.fired{ opacity: 1; z-index: 9992 }
.ecommerce .ztemplate_model_7 { margin-top: 0;}

/* Pagina offerta */
.offer_info .offer_start { display: none;}
.offer_info .offer_minstay { margin: 15px 0 10px; font-size: 120%;}
.offer_minstay .fieldkey:before { font-family: var(--font-icon); content: '\f755'; margin-right: 6px; font-weight: var(--font-weight-solid); color: var(--primary);}
.offers_validity:before { font-family: var(--font-icon); content: '\f073'; margin-right: 3px; color: var(--primary);}
.offers_validity { font-size: 120%;}

/* Step Footer */
.step_footer { opacity: 0;}
body.step_footer_show { padding-bottom: 84px}

/* Custome headefr in base allo stile del sito */
.heading { margin: 20px 0 60px;}
.heading .summary { margin: 0 0 10px 0; font-family: var(--font-1); font-size: 1.2em; }
.heading .title { margin: 0 0 15px 0; font-family: var(--font-1); font-size: 5em; color: var(--secondary); text-transform: uppercase; line-height: 1; }

/* Step */
#bookingform_summary .dates { display: flex; align-items: center; color: var(--white)}
#bookingform_summary .dates:before { font-family: var(--font-icon); content: '\f073'; margin-right: 10px; }
#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; color: var(--white)}
#bookingform_summary .guests:before { font-family: var(--font-icon); content: '\f236'; margin-right: 10px; }
#bookingform_summary .engagement_expire { color: var(--white)}
#page.ecommerce .heading .title { font-size: 3em;}

/* Modifica ricerca */
.sticky_element { position: sticky; top: 290px; z-index: 9; transition: .4s;}
body.header_scrolled .sticky_element { top: 170px; }
.edit_search { font-size: 120%; margin-top: 0; background-color: var(--primary); padding: 15px; width: 100%; max-width: 420px; text-align: left; border-bottom: 5px solid var(--primary-alt);}
.edit_search.fixed { position: fixed; z-index: 99; top: 119px; left: 0; width: 100%; }
.edit_search .summary_title { color: var(--white); font-weight: var(--bold); margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid var(--white);}
.edit_search .summary { align-items: center; flex-direction: column;}
.edit_search .dates { margin: 10px 0; width: 100%; }
.edit_search .guests { margin-bottom: 30px; width: 100%;}
.edit_search .varsimple { font-family: var(--font-1); cursor: pointer; padding: 15px 25px; border: 1px solid var(--white); background-color: var(--white); text-transform: uppercase; color: var(--grey); font-size: 80%; width: 100%; text-align: center;}
.edit_search .varsimple:before { font-family: var(--font-icon); content: '\f044'; margin-right: 5px; color: var(--secondary);}


/* BE Immersivo > Step */
#template15 .template_filters { display: none;}
.col.results { width: calc(100% - 420px); }
.ecommerce .ztemplate_model_7 { width: 100%; display: flex; align-items: flex-start; max-width: 1600px; margin: 0 auto; padding: 0 30px; }
.ecommerce .ztemplate_model_7 .caption-add .title { color: var(--white); font-size: var(--font-size-extra); position: absolute; top: -40px }
.ecommerce .ztemplate_model_7 .zlabel.g10 { font-size: var(--font-size-mini); margin-right: 15px;}
.ecommerce .ztemplate_model_7 .zlabel.g10 .fieldkey { position: relative; text-align: right; color: var(--grey); top: 2px;}
.ecommerce .ztemplate_model_7 .zlabel.g10 .fieldvalue { font-size: var(--font-size-medium); display: flex; align-items: center; justify-content: flex-end; font-weight: var(--bold); color: var(--primary);}
.ecommerce .ztemplate_model_7 .zlabel.g10 .fieldvalue:before { content: '\20ac'; margin-right: 3px; }
.ecommerce .ztemplate_model_7 .elem .caption-cnt img{ min-width: unset; }
.ecommerce .ztemplate_model_7.carousel_photos .slick-arrow { position: absolute; top: 0; z-index: 2; width: 45px; height: 45px; background-color: var(--primary); }
.ecommerce .ztemplate_model_7.carousel_photos .slick-arrow:before { color: var(--white); }
.ecommerce .ztemplate_model_7.carousel_photos .slick-prev { left: 0; }
.ecommerce .ztemplate_model_7.carousel_photos .slick-next { left: 45px; background-color: rgba(40,87,103,.75); }

/* Custom */
.ecommerce .ztemplate_model_7 .title { display: block; font-family: var(--font-1); font-size: 30px; color: var(--primary); text-align: left; line-height: 1.5; letter-spacing: 0; }
.ecommerce .ztemplate_model_7 .elem { width: 100%; background-color: var(--light_secondary-alt); margin: 0 0 30px;}
.ecommerce .ztemplate_model_7 .caption-cnt:not(.subcontents .caption-cnt) { display: flex; flex-wrap: wrap; align-items: flex-start; }
.ecommerce .ztemplate_model_7 .caption { width: 50%;}
.ecommerce .ztemplate_model_7 .caption-alt { width: 50%; padding: 15px 30px; text-align: left; }
.ecommerce .ztemplate_model_7 .caption-add { padding: 25px 15px 15px 25px; position: absolute; bottom: 0; right: 0; z-index: 1; display: flex; align-items: center; justify-content: flex-end;}
.ecommerce .ztemplate_model_7 .zsimplebutton { cursor: pointer; background-color: var(--primary); font-family: var(--font-1); font-size: 110%; color: var(--white); text-transform: uppercase; text-align: left; line-height: 1; padding: 10px 30px 15px 30px; position: relative;}
.ecommerce .ztemplate_model_7 .zsimplebutton:before { width: 100%; height: 5px; display: block; background-color: var(--primary-alt); text-align: left; z-index: 105; position: absolute; left: 0px; right: 0px; top: unset; bottom: 0px; content: '';}
.ecommerce .ztemplate_model_7 .zsimplebutton:after { transition: 0.3s ease-out; width: 0px; height: 5px; display: block; background-color: var(--black10); text-align: left; z-index: 115; position: absolute; left: 50%; right: unset; top: unset; bottom: 0px; content: '';}
.ecommerce .ztemplate_model_7 .zsimplebutton:hover:after { width: 100%; left: 0;}

.ecommerce .ztemplate_model_7 .zlabel.g12 { clear: both; padding-top: 15px; font-size: 115%; color: var(--color1); text-align: left; position: relative; /* -webkit-animation:shake-horizontal 6s linear infinite;animation:shake-horizontal 6s linear infinite */ }
.ecommerce .ztemplate_model_7 .zlabel.g12 .fieldvalue { padding: 10px; position: relative; background-color: var(--light_green); display: flex; align-items: center; }
.ecommerce .ztemplate_model_7 .zlabel.g12 .fieldvalue:before { font-family: var(--font-icon); content: '\f0a1'; font-weight: var(--font-weight-solid); font-size: 120%; margin-right: 10px; }

.ecommerce .ztemplate_model_7 .z_cnt_2 { margin-top: 0;}
.ztemplate .open_desc_order { font-size: 100%!important; position: relative; }
.ztemplate .open_desc_order .fieldvalue { display: none; position: absolute; z-index: 3; top: 20px; left: -5px; font-size: 110%; line-height: 1.3; background-color: var(--white); padding: 15px; -webkit-box-shadow: 0px 20px 26px -4px rgba(0,0,0,0.3); box-shadow: 0px 20px 26px -4px rgba(0,0,0,0.3);}
.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(--grey); text-transform: uppercase; font-size: 90%; border-bottom: 1px solid #dedede;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; border: 5px solid var(--white);}
.ztemplate .open_desc_order ul { padding-left: 25px;}
/* nasconde chiave bnelle pagine interne delle camere del sito */
.body_camera .open_desc_order .fieldkey { display: none;}

/* Camwera / Offerta non trovata */
.offer_not_found { padding: 60px 30px 30px; background-color: var(--primary-alt2); text-align: center; margin: 0 0 30px 30px; font-size: 150%; color: var(--white);}
.offer_not_found:before { font-family: var(--font-icon); content: '\f848'; font-size: 150%; margin-right: 10px; transform: translateX(-50%); z-index: 2; color: var(--white); font-weight:var(--solid) }


/* Step servizi */
.purchase_flow_step .template_filter { position: relative; z-index: 2; left: 15px; padding: 15px; background-color: var(--white); display: block; width: 100%; box-shadow: 0 15px 22px 0 rgb(0 0 0 / 15%) }
.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: 0 auto 90px; padding: 0 0 0 30px; width: 100%; flex-wrap: wrap;}
.purchase_flow_step.purchase_flow_3_step .ztemplate .row:not(.subcontents .row),
.services_only .purchase_flow_step .ztemplate .row:not(.subcontents .row) { /* margin-left: 20px; */ width: 100%}
.template_filter.filter_checkbox { position: sticky; top: 150px; left: 0;}
.template_filters { text-transform: uppercase; color: var(--grey); font-weight: var(--bold); margin-bottom: 30px; width: 100%;}
.template_filters .filter_checkbox .hidden_form_element { display: none;}
.template_filters .filter_checkbox .filter_key { display: none; align-items: center; color: var(--white); text-align: left; margin-bottom: 20px; background-color: var(--secondary); padding: 5px; }
.template_filters .filter_checkbox .filter_key:before { color: var(--white); font-family: var(--font-icon); content: '\f0b0'; font-size: 100%; margin-right: 5px}
.template_filters .form_checkbox { display: flex; flex-direction: column; justify-content: center; margin: 0 auto; cursor: pointer;}
.template_filters .form_checkbox .checkbox { margin: 0 0 10px 0; padding-bottom: 10px; border-bottom: 1px dashed #dedede; position: relative; padding-right: 5px; text-align: left;}
.template_filters .form_checkbox .checkbox .value { padding-right: 30px}
.template_filters .form_checkbox .checkbox:before { content: ''; width: 30px; height: 20px; border-radius: 100px; position: absolute; z-index: 1; left: calc(100% - 30px); top: -3px; border: 2px solid var(--secondary); transition: .6s;}
.template_filters .form_checkbox .checkbox:after { content: ''; width: 14px; height: 14px; border-radius: 100px; position: absolute; z-index: 1; left: calc(100% - 26.5px); top: 0; background-color: var(--secondary); transition: .3s;}
.template_filters .form_checkbox .checkbox.checked:before { background-color: var(--secondary); border-color: var(--secondary); }
.template_filters .form_checkbox .checkbox.checked:after { left: calc(100% - 14px); background-color: var(--white)}

.ztemplate_rooms .ztemplate .services { display: flex; flex-wrap: wrap;}
.ztemplate_rooms .ztemplate .services .elem { width: calc(50% - 20px); margin: 10px; transition: .4s; border: 8px solid var(--grey-lgt);}
.ztemplate_rooms .ztemplate .services .elem .caption { width: 100%}
.ztemplate_rooms .ztemplate .services .elem .caption-alt:not(.subcontents .caption-alt) { width: 100%; padding: 20px; left: 0; top: inherit; flex-direction: column; text-align: left; background-color: var(--light_secondary-alt); color: var(--grey); transition: .3s}
.ztemplate_rooms .ztemplate .services .elem:hover .caption-alt:not(.subcontents .caption-alt) { bottom: 0}
.ztemplate_rooms .ztemplate .services .elem .caption-cnt:not(.subcontents .caption-cnt) { background-color: #000; overflow: hidden;}
.ztemplate_rooms .ztemplate .services .elem .caption-cnt img { min-width: unset; width: 100%; height: 290px; object-fit: cover; transition: .6s; opacity: .8}
.ztemplate_rooms .ztemplate .services .caption .zlabel.g5 { position: absolute!important; z-index: 3; top: 20px; left: 20px; background-color: var(--primary); color: var(--white); padding: 10px; font-weight: var(--bold); text-transform: uppercase}
.ztemplate_rooms .ztemplate .services .title { font-size: 140%; margin-bottom: 20px;}
.ztemplate_rooms .ztemplate .services .title:after { margin-top: 0;}
.ztemplate_rooms .ztemplate .services .ztextarea { text-transform: initial; font-size: 110%; margin-bottom: 20px; display: none;}
.ztemplate_rooms .ztemplate .services .subcontents { display: none;}
.ztemplate_rooms .ztemplate .services .caption-alt .zlabel.g6 { border-top: 1px dashed; margin-top: 10px; padding-top: 10px; font-size: 130%; display: flex; align-items: center}
.ztemplate_rooms .ztemplate .services .caption-alt .zlabel.g6:before { font-family: var(--font-icon); content: '\f05a'; margin-right: 5px}
.ztemplate_rooms .ztemplate .services .caption-alt:not(.subcontents .caption-alt) .zlabel.g6 { display: none;}
.ztemplate_rooms .ztemplate .services .elem .caption .zimage { overflow: hidden}
.ztemplate_rooms .ztemplate .services .zlabel.g8:not(.subcontents .zlabel.g8) {  background-color: var(--secondary); color: var(--white); text-transform: uppercase; text-align: center; padding: 15px; cursor: pointer;}
.add_service { font-family: var(--font-1); }
.close_services_btn { font-family: var(--font-1); }

.services-form { display: none; position: fixed; top: 190px; left: 0; right: 0; margin: 0 auto; z-index: 9999}
.services-form.fired { display: block;}
.services-form #cnt_forms { position: relative; padding-top: 40px}
.services-form .close_btn { cursor: pointer; position: absolute; z-index: 2; top: 0; right: 0; left: inherit; border-radius: unset; width: 30px; height: 30px; border: unset; background-color: var(--secondary);}
.services-form .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: '';}
.services-form .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: '';}
.services-form .close_btn:hover { background-color: var(--secondary); }
.services-form #cnt_forms form .form_element_title { font-size: 85%}
.services-form .pf_form form .field.select .form_element_title, .services-form .pf_form form .field.text .form_element_title { font-size: 71%!important} /* fix */
.services-form .pf_form form .date_from_html, .services-form .pf_form form .form_select { font-size: 100%} /* fix */

.filters_wrapper { padding: 0 10px 0 40px; }
.show_filters_btn { padding: 7px 0; color:var(--white); cursor:pointer; text-transform: uppercase; text-align: left; padding: 10px; background-color: var(--primary); margin-bottom: 15px; }
.show_filters_btn:after { margin: 0 0 0 5px; font-family: var(--font-icon); content:"\f0b0" }
.filters_container { display: none; padding: 10px; }
.filters_wrapper.fired .filters_container { display: block;}


/* Order */
#page.order #content .cnt { max-width: 1600px; margin: 0 auto; }
#order_template_wrapper .details_wrapper { display: none; font-size: 100%; background-color: var(--white); padding: 15px; margin: 15px 0; border: 1px solid #dedede}
body.noslide.body_ecommerce_order, body.noslide.body_ecommerce_payment { padding-top: 97px;}
body.noslide.body_ecommerce_order .ecommerce.order, body.noslide.body_ecommerce_payment .ecommerce, body.noslide.body_ecommerce_thank_you .ecommerce { padding-top: 60px;}
.body_ecommerce_order form .caption-fields .field input, .body_ecommerce_order form .caption-fields .field.textarea textarea, .body_ecommerce_order form .caption-fields .form.field.select .form_select .current_value{ background-color: var(--white);}
#page.order .heading { padding: 0 15px;}
.body_ecommerce_order header .middlebar .booking_btn {/* display: none;*/}
#page.order .ztemplate .open_desc_order .fieldvalue { position: relative; top: 0; box-shadow: unset; -webkit-box-shadow: unset; margin-bottom: 10px;}
/* CSS per subtotale in order */
#order_template_wrapper .service_title .caption:not(.subcontents .caption) { display: flex; align-items: flex-start; border-bottom: 1px solid #dedede;}
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .price { margin-left: auto; font-size: 130%; display: flex; align-items: flex-start; color: var(--primary); font-weight: var(--bold);}
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .price:before { content: '\20ac'; margin-right: 3px; }
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .price .number { margin: 0 1px 0 0; font-size: 100%; }
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .price .comma { margin: 0; vertical-align: super; font-size: 55%; position: relative; top: 4px;}
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .price .decimal { vertical-align: super; font-size: 70%; position: relative; top: 3px;}
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .title { border-bottom: unset; cursor: pointer; padding-right: 15px; display: flex; align-items: flex-start;}
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .title:before { color: var(--grey); font-family: var(--font-icon); content: '\f0fe'; margin-right: 3px; font-size: 60%; font-weight: var(--regular); position: relative; top: 5px; margin-right: 5px;}
#order_template_wrapper .service_title .elem.fired .caption:not(.subcontents .caption) .title:before { content: '\f146';}
#order_template_wrapper .service_title .subcontents { display: none; padding-top: 5px;}
#order_template_wrapper .service_title .elem.fired .subcontents { display: block; }
/* FINE - CSS per subtotale in order */

/* immagine e Descrizione in order */
.ztemplate .open_desc_order { font-size: 100%!important;}
.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(--grey); text-transform: uppercase; font-size: 90%; border-bottom: 1px solid #dedede;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) .zimage { margin-bottom: 10px; border: 5px solid var(--white);}

/* Payment */
#page.payment #content .cnt { max-width: 1600px; margin: 0 auto; }
#page.payment .ztemplate .open_desc_order .fieldvalue { position: relative; top: 0; box-shadow: unset; -webkit-box-shadow: unset; margin-bottom: 10px;}
.no_payment_info { margin: 10px 0; padding: 15px; border: 1px solid var(--primary); color: var(--primary);}
.no_payment_info:before { font-family: var(--font-icon); color: var(--secondary); content: '\f05a'; margin-right: 5px }
#page.payment #content .title:not(.title_wrapper .title) { margin: 0 0 5px 0; font-size: 160%; }
#page.payment #content .title:not(.title_wrapper .title), #page.payment #content .side #bookingform_summary .title { font-size: 190%}
#page.payment #content .side .title:not(.title_wrapper .title) { font-size: 150%; color: var(--secondary);}
#page.payment #content .summary { font-size: 105%; }
#page.payment #order_summary { margin: 60px auto; font-size: 130%}
#page.payment #order_summary .caption { text-align: center; max-width: 640px; margin: 0 auto}
.product { display: flex; align-items: center; margin-bottom: 5px; padding-bottom: 5px; border-bottom: 1px dashed #dedede}
.product .total { margin-left: auto; order: 3; color: var(--primary); }
.product .total:before { content: '\20ac'; }
.product .prod_qty { font-size: 70%; border-radius: 100%; order: 1; margin-right: 5px; background-color: var(--primary); width: 20px; height: 20px; display: flex; justify-content: center; text-align: center; color: var(--white); line-height: 20px;}
.product .prod_qty:before { content: 'x';}
.product .product_name { order: 2; }
#page.payment { background-color: var(--grey-lgt); }
#page.payment #content { margin: 30px auto 70px auto; padding-bottom: 60px}
#page.payment #content .cnt .body,
#page.payment #content .cnt .side { margin: 0 50px 0 0; padding: 20px; width: 55%; background-color: var(--white); color: var(--secondary);}
#page.payment #content .cnt .side { margin: 0; width: 45%; }
.payment.corner .caption { background-color: var(--grey-lgt); background-color: var(--alpha_grey); padding: 10px 10px 20px; margin-bottom: 20px; border: 1px solid #d8d8d8}
.stripe_payment { max-width: unset!important;}
#stripe_payment { padding: 15px; width: calc(100% - 20px); margin: 20px auto 0; text-transform: uppercase; color: var(--white); background-color: var(--secondary);}
.payment.corner input { padding: 8px; width: 100%; margin-top: 5px; border: 1px solid #dedede}
.payment.corner form { margin-left: 0;}
.payment.corner { text-align: left;}
#nexi-payment-form .nexi-owner-name, #nexi-payment-form .nexi-owner-surname, #nexi-payment-form .nexi-owner-email { width: calc(50% - 20px); float: left; margin: 10px}
#nexi-payment-form .nexi-owner-email { margin-bottom: 25px}
#nexi-payment-form > div { width: calc(50% - 20px); float: left; margin: 7px 10px 0}
#xpay-card { margin-top: 5px; padding: 8px 8px 3px; background-color: var(--white); border: 1px solid #dedede}
#pagaBtn, .bank_transfer_payment input#bank_transfer_payment { font-family: var(--font-1); clear: both; padding: 15px; width: 100%; margin: 15px auto 0; display: block; text-transform: uppercase; color: var(--white); background-color: var(--secondary); border: unset;}
.bank_transfer_payment > div { padding: 0}
.bank_transfer_payment > div p { margin-bottom: 10px; color: var(--grey); font-size: 100%}
#xpay-card-errors { color: var(--secondary); font-size: 90%}
.nexi_loading { text-align: center}
.info_test_payment { padding: 10px; border: 1px dashed #cddc39; display: flex; align-items: center; background-color: #f7ffa4; margin: 10px; text-align: center; justify-content: center;}
.info_test_payment .info_key { font-weight: var(--bold); text-transform: uppercase; margin-right: 15px}
.info_test_payment .info_key:before { font-family: var(--font-icon); content: '\f09d'; margin-right: 5px; font-weight: var(--solid)}
.payment.corner .syspay_payment input { background-color: var(--primary); color: var(--white); font-family: var(--font-1); font-size: 110%; border-bottom: 5px solid var(--primary-alt);}

/* PAYMENT METHODS */
.payment_title { text-transform: uppercase; font-weight: var(--bold); margin-bottom: 15px;}
.caption.cards .payment_title:before { font-family: var(--font-icon); color: var(--primary); content: '\f09d'; margin-right: 5px;}
.caption.bank_transfer .payment_title:before { font-family: var(--font-icon); color: var(--primary); content: '\e528'; margin-right: 5px;}
/* .payment.corner input { clear: both; padding: 15px; width: 100%; margin: 20px auto 0; text-transform: uppercase; color: var(--white); background-color: var(--primary);} */


/* thankyou page */
#page.thankyou .title { color: var(--secondary); font-size: 3em;}
#page.thankyou { min-height: calc(100vh - 532px); text-align: center; margin-bottom: 90px;}
#page.thankyou #content { font-size: 120%; box-shadow: 0 2px 6px 0 rgba(0,0,0,0.05);  max-width: 640px; margin: -30px auto 0; background-color: var(--white); padding: 60px 30px 30px; position: relative; overflow: visible; border-top: 15px solid var(--secondary);}
#page.thankyou #content:before { font-family: var(--font-icon); content: '\f274'; position: absolute; top: -40px; font-size: 220%; left: 50%; transform: translateX(-50%); z-index: 2; color: var(--white); background-color: var(--secondary); width: 80px; height: 80px; line-height: 80px; font-weight:var(--solid) }
#page.thankyou #content p { margin-bottom: 15px; }
#page.thankyou .btn .varlink a { font-size: 70%}
#page.thankyou .heading { margin-bottom: 100px;}

/* Errore durante fase di ordine */
.body_order_landing .section_page_message { text-align: center;}
.body_order_landing #page { min-height: calc(100vh - 830px);}

/* Nessuna disponibilità */
body.no_results .cart_btn { display: none;}
body.no_results .edit_search { padding-bottom: 60px; max-width: unset; width: 100%;}
.pf_no_results {  font-size: 150%; color: var(--primary); margin-bottom: 90px; text-align: center; box-shadow: 0 2px 6px 0 rgba(0,0,0,0.05);  max-width: 720px; margin: 0 auto; border-top: 15px solid var(--primary); padding: 60px 30px 30px; position: relative; overflow: visible}
.pf_no_results:before { font-family: var(--font-icon); content: '\e46e'; position: absolute; top: -40px; font-size: 180%; left: 50%; transform: translateX(-50%); z-index: 2; color: var(--white); background-color: var(--primary); width: 80px; height: 80px; line-height: 80px; font-weight:var(--light) }
body.no_results .total_amount { display: none; }
body.body_ecommerce_step.no_results .col.results { width: 100%;}
body.body_ecommerce_step.no_results .ecommerce .ztemplate_model_7 { flex-direction: column-reverse; align-items: center; max-width: 720px; margin-top: 60px;}
body.body_ecommerce_step.no_results #bookingform_summary .guests,
body.body_ecommerce_step.no_results #bookingform_summary .dates { justify-content: center;}
body.body_ecommerce_step.no_results .edit_search .summary_title { text-align: center;}



/* FINE Booking Engine Immersivo */

@media (max-width: 1190px){
    .edit_search { top: 80px;}
}



@media (max-width: 1340px){
    .ztemplate_rooms .ztemplate .services .elem { width: calc(50% - 20px)}
    .purchase_flow_step .template_filter { width: 250px; }
    .template_filters .filter_checkbox .filter_key { font-size: 100%; }
    .template_filters .form_checkbox .checkbox .value { font-size: 85%; }
    .edit_search { max-width: 320px;}
    .col.results { width: calc(100% - 320px);}


}

@media (max-width: 1190px) {
    .ecommerce .ztemplate_model_7 { flex-direction: column; padding: 0;}
    .edit_search { max-width: unset; margin-bottom: 15px;}
    .edit_search .summary { flex-direction: row; align-items: center;}
    .edit_search .guests { margin-bottom: 0;}
    .edit_search .summary_title { text-align: center;}
    .col.results { width: 100%;}
    body.header_scrolled .sticky_element { top: 144px;}
    .offer_not_found { margin: 0 0 15px 0; }
    .purchase_flow_step.purchase_flow_3_step .ztemplate:not(.subcontents .ztemplate), .services_only .purchase_flow_step .ztemplate:not(.subcontents .ztemplate) { padding-left: 0;}
    #page.ecommerce { padding: 0 10px; }

}

@media (max-width: 1023px){
    .ztemplate_rooms .ztemplate .services .elem { width: calc(100% - 20px)}

}

@media (max-width: 768px){
    .purchase_flow_step.purchase_flow_3_step .ztemplate:not(.subcontents .ztemplate) { flex-direction: column; margin-top: 15px; }
    .purchase_flow_step .template_filter { width: 100%}
    .purchase_flow_step.purchase_flow_3_step .ztemplate .row:not(.subcontents .row) { margin-left: 0; }
    #bookingform_summary .cnt { display: block;}
    #bookingform_summary .dates, #bookingform_summary .guests { justify-content: center; margin-bottom: 15px; }
    .edit_search .summary { text-align: center; }
    .booking_model_1.immersive_be form .guests_wrapper .form_select { width: 85px;}
}

/* Fix altezze */

@media (max-height: 1024px){
	.edit_search { padding: 15px;}
}

@media (max-height: 920px){
	.edit_search .summary_title { display: none;}
}

/* Smartphone */
.smartphone.bei .booking_btn { display: none;}
.smartphone header { z-index: 9991; }
body.smartphone.noslide.body_ecommerce_order, body.smartphone.noslide.body_ecommerce_payment { padding-top: 66px;}
.smartphone .edit_search { top: -26px;}
.smartphone .filters_wrapper { padding: 0; }
.smartphone #page.order .heading { margin-bottom: 0;}
.smartphone #page.order #content .cnt .side #bookingform_summary,
.smartphone #page.payment #content .cnt .side #bookingform_summary  { background-color: var(--alpha_grey); border: 1px solid #d8d8d8; padding: 10px; }
.smartphone .offer_not_found.none { display: none; }
.smartphone .offer_not_found { display: flex; flex-direction: column; align-items: center; padding: 30px; }
.smartphone .offer_not_found:before { margin: 0 0 10px; transform: unset; }
.smartphone.header_scrolled .sticky_element { position: initial; }
.smartphone #page.thankyou .heading { margin-bottom: 0;}
.smartphone.body_ecommerce_payment .heading { margin-bottom: 0;}
.smartphone.body_ecommerce_payment #page.payment #content .cnt .body { margin-top: 0;}
.smartphone #page.thankyou .title { color: var(--primary);}
.smartphone #page.ecommerce .heading .title { font-size: 2em;}
