
#page.ecommerce .heading {padding: 50px 0px; text-align: center; width: 100%;}
#page.ecommerce .heading .title {margin: 0; padding: 0; font-family: var(--font-family-1); font-size: var(--font-size-xl); color: var(--black); letter-spacing: 0; line-height: 44px; text-transform: uppercase;}
#page.ecommerce .heading .summary {margin: 0; padding: 0; font-family: var(--font-family-2); font-size: var(--font-size-sm); color: var(--black); letter-spacing: 0; line-height: 44px;}
#booking #close_bei:before {display: none;}
body.body_ecommerce_step #booking,
body.body_ecommerce_order #booking,
body.body_ecommerce_payment #booking,
body.body_ecommerce_thank_you #booking { display: none;}
body.body_ecommerce_step #booking.fired,
body.body_ecommerce_order #booking.fired,
body.body_ecommerce_payment #booking.fired,
body.body_ecommerce_thankyou #booking.fired { display: block; z-index: 9999; top: 50% !important; left: 50%; transform: translate(-50%, -50%); position: fixed;}
body.body_ecommerce_step #booking.fired #close_bei:before,
body.body_ecommerce_order #booking.fired #close_bei:before,
body.body_ecommerce_payment #booking.fired #close_bei:before,
body.body_ecommerce_thank_you #booking.fired #close_bei:before {display: block; position: absolute ; font-family: var(--icon); content: '\f00d'; margin-right: 10px; top: 10px; right: 0; font-size: 22px; cursor: pointer;}
body.body_ecommerce_step #overlay_mask.fired,
body.body_ecommerce_order #overlay_mask.fired,
body.body_ecommerce_payment #overlay_mask.fired,
body.body_ecommerce_thank_you #overlay_mask.fired {display: none;}
body.smartphone.body_ecommerce_step #overlay_mask.fired,
body.smartphone.body_ecommerce_order #overlay_mask.fired,
body.smartphone.body_ecommerce_payment #overlay_mask.fired,
body.smartphone.body_ecommerce_thank_you #overlay_mask.fired {display: block;}
body.body_ecommerce_step .book_scroll.scrolled,
body.body_ecommerce_order .book_scroll.scrolled,
body.body_ecommerce_payment .book_scroll.scrolled,
body.body_ecommerce_thank_you .book_scroll.scrolled {display: none !important;}

body.body_ecommerce_step header .cnt .dx .book_scroll,
body.body_ecommerce_order header .cnt .dx .book_scroll,
body.body_ecommerce_payment header .cnt .dx .book_scroll,
body.body_ecommerce_thank_you header .cnt .dx .book_scroll { display: none;}

body.body_ecommerce_step #bei,
body.body_ecommerce_order #bei,
body.body_ecommerce_payment #bei {display: block !important;}
body.body_ecommerce_step #varsimple_bookopen,
body.body_ecommerce_order #varsimple_bookopen,
body.body_ecommerce_payment #varsimple_bookopen {display: none !important;}

#page.ecommerce .row {margin-left: unset; margin-right: unset}

/* OPEN CLOSE BOOKING */
body.home #varsimple_bookopen {display: none;}
body:not(.home) #varsimple_bookopen { padding: 20px 0px; text-align: center; font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); color: var(--white); background-color: var(--color4);margin: 20px -20px -20px -20px; cursor: pointer;}
body:not(.home) #varsimple_bookopen.open {display: none;}
body:not(.home) #bei {display: none;}
body:not(.home) #bei.open {display: block;}
.smartphone #varsimple_bookopen {display: none !important;}
body.smartphone #bei {display: block;}

#__xpay_overlay_content {margin-top: 200px !important;}

/* Error landing */
.not_found .section_page_message { margin: 90px auto 200px; max-width: 920px; padding: 40px; border-bottom: 5px solid var(--color1); background-color: #f8f8f8;}
.section_big_link { margin-top: 40px; }
.section_big_link a { border: 2px solid var(--color1); padding: 10px 15px; text-transform: uppercase; font-family: var(--sans); font-weight: var(--font-weight-bold); font-size: 85%;}

/* Error message */
#page_error { position: fixed; width: 100%; height: 100%; background-color: rgba(0,0,0,.7); z-index: 99999999; top: 0; padding-top: 200px;}
#page_error .cnt-message { display: flex; align-items: center; justify-content: center; text-align: center;}
#page_error .caption {text-align: right;}
#page_error .message { background-color: var(--white); color: var(--black); padding: 25px; font-size: var(--font-size-bs); border: 3px solid var(--color4);}
#page_error .close { color: var(--white); margin-bottom: 10px; cursor: pointer; font-size: var(--font-size-bs);}

/* BEI Immersivo */

/*IMPORTANTE - START*/
#pf_2_sf .element_7 {display: none;}
#pf_2_sf .element_20 {display: none;}
#template8 .caption-3 {display: none;}
#template8 .fieldvalue.f10, #page.offer .fieldvalue.f10 {display: none;}
#template8 .fieldkey.f10, #page.offer .fieldkey.f10 {display: none;}
/*IMPORTANTE - END*/

#pf_4_sf .cal-closed { display: none; } /* calendario Servizi */
#pf_4_sf .template_calendar { top: inherit;}

.ztemplate_rooms .purchase_flow_step.purchase_flow_3_step .ztemplate .row:not(.subcontents .row) { margin-left: 0}

/* Layer Background */
.layer {background-color: rgba(0,0,0,.8); position: fixed; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; z-index: -1; transition: .7s}
.layer.fired { opacity: 1; z-index: 997 }


/* Step Footer */
.step_footer { opacity: 0;}
body.step_footer_show { padding-bottom: 84px!important}

/* Step */
#bookingform_summary .dates { display: flex; align-items: center; color: var(--black)}
#bookingform_summary .dates:before { font-family: var(--icon); content: '\e0d6'; margin-right: 10px; }
#bookingform_summary .dates .value:after { font-family: var(--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(--black)}
#bookingform_summary .guests:before { font-family: var(--icon); content: '\f8f7'; margin-right: 10px; }

.sticky_element { position: sticky; top: 115px; z-index: 95; }
.edit_search { margin-top: 0; background-color: var(--lightgrey); padding: 20px; font-size: var(--font-size-bs);}
.edit_search.fixed { position: fixed; z-index: 99; top: 119px; left: 0; width: 100%; }
.edit_search .summary_title { text-align: center; color: var(--black); font-weight: var(--font-weight-medium); margin-bottom: 15px; line-height: 1.2;}
.edit_search .summary { align-items: center}
.edit_search .dates, .edit_search .guests { margin-right: 30px}
.edit_search .varsimple { cursor: pointer; padding: 10px 20px 10px 20px; border: 1px solid var(--black); background-color: var(--white); text-transform: uppercase; color: var(--black); font-size: 80%}
.edit_search .varsimple:before { font-family: var(--icon); content: '\f044'; margin-right: 5px; font-weight: var(--font-weight-regular);}

/* Step servizi */
.purchase_flow_step .template_filter { position: relative; z-index: 2; left: 15px; padding: 15px; background-color: var(--white); display: block; width: 290px; 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: 0px auto; padding: 0 15px; max-width: 1570px; margin-top: 20px;}
.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(--black); font-weight: var(--font-weight-medium); margin-bottom: 30px}
.template_filters .filter_checkbox .hidden_form_element { display: none;}
.template_filters .filter_checkbox .filter_key { display: flex; align-items: center; color: var(--white); text-align: left; margin-bottom: 20px; background-color: var(--black);}
.template_filters .filter_checkbox .filter_key:before { color: var(--white); font-family: var(--icon); content: '\e0ad'; 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(--black); 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(--black); transition: .3s;}
.template_filters .form_checkbox .checkbox.checked:before { background-color: var(--black); border-color: var(--black); }
.template_filters .form_checkbox .checkbox.checked:after { left: calc(100% - 17px); background-color: var(--white)}

.ztemplate_rooms .ztemplate .services { display: flex; flex-wrap: wrap; justify-content: center;}
.ztemplate_rooms .ztemplate .services .elem { width: calc(100% / 3 - 20px); margin: 10px; border: 5px solid transparent; transition: .4s; }
.ztemplate_rooms .ztemplate .services .elem .caption { width: 100%}
.ztemplate_rooms .ztemplate .services .elem .caption-alt:not(.subcontents .caption-alt) { width: 100%; position: absolute; padding: 20px; left: 0px; bottom: -80px; background-color:var(--alpha-black); color: var(--white); transition: .3s}
.ztemplate_rooms .ztemplate .services .elem:hover .caption-alt:not(.subcontents .caption-alt) { bottom: 0}
.ztemplate_rooms .ztemplate .services .elem .caption-alt:not(.subcontents .caption-alt) .g2 {display: none;}
.ztemplate_rooms .ztemplate .services .elem .caption-alt:not(.subcontents .caption-alt) .title {margin-bottom: 15px; text-transform: uppercase;}
.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: 540px; 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(--black); color: var(--lightgrey); padding: 10px; font-weight: var(--font-weight-medium); text-transform: uppercase}
.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(--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) { color: var(--black); text-transform: uppercase; text-align: center; cursor: pointer;padding: 20px 40px; background-color: var(--white); font-family: var(--font-family-2); font-weight: var(--font-weight-bold); font-size: var(--font-size-xs); letter-spacing: 1px;}

.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(--color2);}
.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(--color2); }
.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 */


/* Order */
#order_template_wrapper .details_wrapper { display: none; font-size: 100%; background-color: var(--white); padding: 15px; margin: 15px 0; border: 1px solid #dedede}
/* 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: var(--font-size-sm); display: flex; align-items: flex-start; color: var(--black);}
#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; }
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .price .comma { margin: 0;}
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .price .decimal {}
#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(--black); font-family: var(--icon); content: '\f0fe'; margin-right: 3px; font-size: var(--font-size-sm);position: relative; 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 */

/* Payment */
.no_payment_info { margin: 10px 0; padding: 15px; border: 1px solid var(--color2); color: var(--black);}
.no_payment_info:before { font-family: var(--icon); color: var(--black); 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 {  margin: 0 0 10px 0; font-size: var(--font-size-lg);}
#page.payment #content .side .title:not(.title_wrapper .title) { font-size: var(--font-size-md); color: var(--black); display: flex; align-items: center;}
#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(--color1); }
.product .total:before { content: '\20ac'; }
.product .prod_qty { font-size: 70%; border-radius: 100%; order: 1; margin-right: 5px; background-color: var(--color1); 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(--ice); }
#page.payment #content { margin: 30px auto 70px auto; padding-bottom: 60px}
#page.payment #content .cnt .body,
#page.payment #content .cnt .side { margin: 0 -20px 0 0; padding: 20px; width: 50%; background-color: var(--white); color: var(--black); font-size: var(--font-size-bs);}
#page.payment #content .cnt .side { margin: 0; width: 50%; }
.payment.corner .caption { padding: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(--color2);}
.payment.corner input { padding: 8px; width: 100%; margin-top: 5px; border: 1px solid #dedede}
#xpay-card { height: calc(var(--font-size-bs) + 22px); display: flex; align-items: center; }
#nexi-payment-form {margin: 0 -10px}
#nexi-payment-form .Bricks, .Bricks>* {font-size: var(--font-size-bs);}
#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 0px}
#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 { clear: both; padding: 15px; width: calc(100% - 20px); margin: 20px 10px; text-transform: uppercase; color: var(--white); background-color: var(--black); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold);}
.bank_transfer_payment input#bank_transfer_payment {margin: 20px 0px;}
.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(--color2); 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 0}
.info_test_payment .info_key { font-weight: var(--font-weight-medium); text-transform: uppercase; margin-right: 15px}
.info_test_payment .info_key:before { font-family: var(--icon); content: '\f09d'; margin-right: 5px; font-weight: var(--font-weight-solid)}

/* PAYMENT METHODS */
.payment_title { text-transform: uppercase; font-weight: var(--font-weight-bold); margin-bottom: 15px;}
.caption.cards .payment_title:before { font-family: var(--icon); color: var(--black); content: '\f09d'; margin-right: 5px;}
.caption.bank_transfer .payment_title:before { font-family: var(--icon); color: var(--black); 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(--color2);} */
#syspay_payment { padding: 15px 25px 15px 25px; border: unset; background-color: var(--color4); color: var(--white); text-transform: uppercase; font-weight: var(--font-weight-bold); font-size: var(--font-size-xs); }

/* thankyou page */
#page.thankyou .title { color: var(--white);}
#page.thankyou { min-height: calc(100vh - 532px); text-align: center; margin-bottom: 90px;}
#page.thankyou #content { font-size: var(--font-size-bs); box-shadow: 0 2px 6px 0 rgba(0,0,0,0.05);  max-width: var(--w-container); margin: -30px auto 0; background-color: var(--white); padding: 60px 30px 30px; position: relative; overflow: visible; margin-top: 110px}
#page.thankyou #content:before { font-family: var(--icon); content: '\e390'; position: absolute; top: -40px; font-size: 220%; left: 50%; transform: translateX(-50%); z-index: 2; color: var(--white); background-color: var(--black); width: 80px; height: 80px; border-radius: 100%; line-height: 80px; font-weight:var(--font-weight-solid) }
#page.thankyou #content .section_text {margin-top: 25px}
#page.thankyou #content p { margin: 10px; font-size: var(--font-size-sm); }
#page.thankyou .btn .varlink a {margin: 10px 5px 0 5px; padding: 20px 25px; width: calc(100% - 10px); display: inline-block; background-color: var(--black); font-family: var(--font-family-2); font-weight: var(--font-weight-bold); font-size: var(--font-size-xs); color: #FFFFFF; letter-spacing: 1px; text-align: center; text-transform: uppercase; border: none}

/* BEI Offers */
.ztemplate_offers .zimage { background-color: var(--black); }
.ztemplate_offers .elem .caption-cnt img { height: 370px; object-fit: cover; opacity: .8; transition: .4s; position: relative; left: 0; }
.ztemplate_offers .fieldkey.f11, #page.offer .fieldkey.f11 { display: none;}
.ztemplate_offers .zinput.g11 .fieldkey { align-items: center; color: var(--color1); margin-top: 10px; background-color: var(--ice); color: var(--color1); padding: 7px}
.ztemplate_offers .zinput.g11 .fieldkey:before { font-family: var(--icon); content: '\f755'; margin-right: 6px; font-weight: var(--font-weight-solid)}
.ztemplate_offers .zinput.g11 .fieldvalue { display: none;}
.ztemplate_offers .zlabel.g16 { color: var(--color1); margin-bottom: 10px; padding-bottom: 5px; border-bottom: 1px solid #dedede; display: flex; align-items: center}
.ztemplate_offers .zlabel.g16:before { font-family: var(--icon); content: '\e0d6'; margin-right: 3px}
.ztemplate_offers.ztemplate_floated .caption-add { display: none;}
.ztemplate_offers .zsimplebutton, .ztemplate_offers .zlink { display: inline-block; margin-top: 20px; font-size: 100%; }
.ztemplate_offers .ztextarea { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;  }
.ztemplate_offers .ztextarea .fieldvalue { background-color: var(--color3); width: 50%; height: 100%; padding: 20px; overflow: auto; position: relative; left: 100%; transition: .4s;}
.ztemplate_offers .ztextarea .fieldvalue::-webkit-scrollbar { width: 4px; }
.ztemplate_offers .ztextarea .fieldvalue::-webkit-scrollbar-thumb { background-color: var(--color1);}
.ztemplate_offers .elem:hover .ztextarea .fieldvalue { left: 50%}
.ztemplate_offers .elem .caption-cnt .zimage { overflow: hidden;}
.ztemplate_offers .elem:hover .caption-cnt img { left: -50%; opacity: .4}
/* BE no results */

/* Nessuna disponibilitÃ  */
body.no_results .cart_btn { display: none;}
body.no_results .edit_search {}
.pf_no_results {  font-size: 150%; color: var(--color4); margin-bottom: 90px; text-align: center; box-shadow: 0 2px 6px 0 rgba(0,0,0,0.05);  max-width: 640px; margin: 90px auto; border-top: 5px solid var(--color4); padding: 60px 30px 30px; position: relative; overflow: visible; line-height: 30px;}
.pf_no_results:before { font-family: var(--icon); content: '\e46e'; position: absolute; top: -40px; font-size: 180%; left: 50%; transform: translateX(-50%); z-index: 2; color: var(--white); background-color: var(--color4); width: 80px; height: 80px; border-radius: 100%; line-height: 80px; font-weight:var(--font-weight-light); padding-left: 7px;}
body.no_results .total_amount { display: none; }

/* Risultati con offerte non trovate */
.offer_not_found { font-size: 150%; color: var(--black);}
.offer_not_found { text-align: center; box-shadow: 0 2px 6px 0 rgba(0,0,0,0.05);  max-width: 640px; margin: 60px auto 0; border-top: 5px solid var(--lightgrey); padding: 60px 30px 30px; position: relative; overflow: visible}
.offer_not_found:before { font-family: var(--icon); content: '\f848'; position: absolute; top: -40px; font-size: 150%; left: 50%; transform: translateX(-50%); z-index: 2; color: var(--white); background-color: var(--lightgrey); width: 80px; height: 80px; border-radius: 100%; line-height: 80px; font-weight:var(--font-weight-solid) }

.desktop #varsimple_reservation_mobile {display: none;}
.smartphone .edit_search .summary_title {width: 100%}
.smartphone #varsimple_reservation_mobile {padding: 10px 25px; display: inline-block; background-color: var(--black); font-family: var(--font-family-2); font-weight: var(--font-weight-bold); font-size: var(--font-size-xs); color: var(--white); letter-spacing: 1px; text-align: center; text-transform: uppercase; cursor: pointer; width: 100%}
.smartphone #page.ecommerce .heading  {padding: 10px 20px;}
.smartphone #page.ecommerce .heading .summary { line-height: 26px;}

.smartphone .sticky_element {position: fixed; top: 65px; z-index: 95; width: 100%;}
.smartphone #bookingform_summary {height: 75px; overflow: hidden;}
.smartphone #bookingform_summary.open {height: auto; overflow: auto;}
.smartphone #bookingform_summary #varsimple_reservation_mobile:before {font-family: var(--icon); content: '\f0fe'; margin-right: 5px; font-weight: var(--font-weight-regular);}
.smartphone #bookingform_summary.open #varsimple_reservation_mobile:before {font-family: var(--icon); content: '\f146'; margin-right: 5px; font-weight: var(--font-weight-regular);}

.smartphone #bookingform_summary #vareditor_available_rooms {display: none;}
.smartphone #bookingform_summary, .smartphone #bookingform_summary .summary.cnt {display: flex; flex-direction: column !important; align-items: center; width: 100%}
.smartphone #bookingform_summary .dates, .smartphone #bookingform_summary #varsimple_edit_search, .smartphone #bookingform_summary .guests {width: 100%; justify-content: center; text-align: center; margin: 10px 0px;}
.smartphone.body_ecommerce_step #page {margin-top: 100px;}
.smartphone.body_ecommerce_order #page,
.smartphone.body_ecommerce_payment #page {margin-top: 50px;}
.smartphone.body_ecommerce_step .down,
.smartphone.body_ecommerce_order .down,
.smartphone.body_ecommerce_payment .down,
.smartphone.body_ecommerce_thank_you .down {display: none;}

.smartphone #booking #bei .b_mask.fired .guests_wrapper {max-width: 375px;}
.smartphone #booking #bei .b_mask .form_merge_group .form_merge_add_button {padding: 15px 0px}
.smartphone #booking #bei .b_mask .guests_wrapper_ok {margin-top: 10px}
.smartphone #booking #bei .ibe_search_wrapper.fired {max-width: 375px;}
.smartphone .fc-calendar .fc-row > div {float: left; border-radius: 0; height: 100%; width: calc(100% / 7)}
.smartphone .fc-calendar .fc-row > div > span.fc-weekday {display: none;}
.smartphone #booking #bei form .calendar_wrapper .fc-day { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; }
.smartphone #booking #bei form .calendar_wrapper .day-content {font-size: 8px;}
.smartphone .fc-calendar .fc-row > div:empty {height: 50px;}
.smartphone #page.thankyou #content { box-shadow: none;}
.smartphone #nexi-payment-form > div { width: calc(100% - 20px); float: left; margin: 7px 10px 10px}
.smartphone #nexi-payment-form .nexi-owner-name,.smartphone #nexi-payment-form .nexi-owner-surname,.smartphone #nexi-payment-form .nexi-owner-email { width: calc(100% - 20px); float: left; margin: 10px}
