.dot_loading:before { position: fixed; content: ''; left: 50%;  top: 50%;  margin: -25px 0 0 -25px;  border-bottom: 6px solid var(--color3); border-left: 6px solid var(--color3);  border-right: 6px solid var(--color1); border-top: 6px solid var(--color1);  border-radius: 100%; height: 50px;  width: 50px; animation: rot .8s infinite linear; }


/* Home welcome */
#welcome .ztemplate .row .box .elem .caption-cnt .caption-alt { padding-top: 70px; }
#welcome .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea :where(h2, h3) { color: var(--dark-color5); font-family: var(--font-family-1); }
#welcome .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea h2 { margin-bottom: 0; font-size: var(--font-size-xxl); }
#welcome .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea h3 { margin-top: 0; font-size: 3rem; }
#welcome .ztemplate .row .box .elem .caption-cnt .zsimplebutton a { border-color: var(--color3); color: var(--color3); }
#welcome .ztemplate .row .box .elem .caption-cnt .zsimplebutton a:after { color: var(--color3); }
#welcome .ztemplate .row .box .elem .caption-cnt .varlink a { padding: 10px 15px; border: 1px solid var(--color4); font-family: var(--font-family-2); font-weight: var(--font-weight-bold); font-size: var(--font-size-xs); border-color: var(--color3); color: var(--color3); letter-spacing: 2px; text-transform: uppercase; display: inline-block; margin-top: 20px; }
#welcome .ztemplate .row .box .elem .caption-cnt .varlink a:after {     content: "\f061"; padding: 0 0 0 15px; font-family: var(--icon); font-weight: var(--font-weight-light); font-size: var(--font-size-xs); color: var(--color3); letter-spacing: 0; text-align: right; }



/* Box home */
#box-home { background-color: var(--light-color2); }
#box-home .ztemplate .row .box .elem .caption-cnt .caption-alt .title a { font-weight: var(--font-weight-bold); font-size: var(--font-size-xl); }
#box-home .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea h3 { margin-top: 0; font-family: var(--font-family-1); text-transform: uppercase; color: var(--color4); font-weight: var(--font-weight-bold); font-size: var(--font-size-sm); }
#box-home .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea h3 p { margin-top: 15px; }

/* Comune tutti i template */
.ztemplate .row .box .elem .caption-cnt .zsimplebutton a,
body.body_pagina_vetrina #box-mice .ztemplate .row .box .elem .caption-cnt .zsimplebutton a, 
body.body_pagina_vetrina_alt #box-mice .ztemplate .row .box .elem .caption-cnt .zsimplebutton a,
#box-mice .ztemplate .row .box .elem .caption-cnt .zsimplebutton a { border-color: var(--color3); color: var(--color3); }
.ztemplate .row .box .elem .caption-cnt .zsimplebutton a:after,
#box-mice .ztemplate .row .box .elem .caption-cnt .zsimplebutton a:after { color: var(--color3); }
#box-mice .ztemplate .row .box .elem .caption-cnt { background-color: var(--light-color2); }
#box-mice .ztemplate .row .box .elem .caption-cnt .caption-alt .title a { color: var(--dark-color5); font-weight: var(--font-weight-bold); }
body.body_pagina_vetrina_alt #content .body .sx .text_dyn { padding-top: 0; }


/* Plus icon */
#plus { background-color: var(--midle-color3); }
.plus_icon img { /* filter: brightness(0); */ height: 60px; width: auto; object-fit: contain; }

/* Pagina Special */
.body_pagina_special #page #content .body .sx .text_dyn .f3 img.right { width: auto; }
.body_pagina_special #page #content .body .sx img { width: auto; max-height: 400px; }
.body_pagina_special #content .body .sx .text_dyn .fieldvalue { margin-bottom: 40px; display: flex; align-items: flex-start; gap: 30px; }
.body_pagina_special #content .body .sx .text_dyn .fieldvalue.odd { flex-direction: row-reverse; }

/* pagine interne */
body.body_pagina_alt #content .body .sx .text_dyn.g3 h3:has(strong) { padding-bottom: 0; }
#container-cnt #container_name, #container-cnt #page_name { font-weight: var(--font-weight-bold); color: var(--dark-color5); }
body.body_pagina_notop #container-cnt { text-align: left; }
body.body_pagina_notop #top_seo:after { margin-left: 0; }
#content .head { background-color: var(--light-color1); }

/* Pagina Camera */
#room #page_name,
.section-info .intro { font-weight: var(--font-weight-bold); color: var(--dark-color5); }
#rooms-cnt.associated .section-info { background-color: var(--light-color2); }
.body_camera #content .head { background-color: var(--light-color1); }
 

/* Vetrine */
body.body_pagina_vetrina #box-mice .ztemplate .row .box .elem .caption-cnt .caption-alt .title a,
#showcase .ztemplate .row .box .elem .caption-cnt .caption-alt .title a { font-weight: var(--font-weight-bold); color: var(--dark-color5);}
body.body_pagina_vetrina #box-mice .ztemplate .row .box .elem .caption-cnt,
#showcase .ztemplate .row .box .elem .caption-cnt { background-color: var(--light-color2); }
#rooms-cnt .ztemplate .row .box .elem .caption-cnt .caption-alt .title a { font-weight: var(--font-weight-bold); }

/* Form */
.iti { width: 100%; }
#form-cnt form .caption-fields .field input,
#form-cnt form .caption-fields .field.textarea textarea,
#privacy #content .cnt .container .email input { background-color: var(--light-color2); }
#form-cnt form input[type="submit"] { background-color: var(--color4); }


/* Footer */
footer.inv { background-color: var(--color1); color: var(--color4);}
footer.inv .cnt .col .varsimple,
footer.inv .cnt .col .vareditor,
footer.inv a { color: var(--color4); }
footer .cnt .col .varsimple { font-family: var(--font-family-1); font-weight: var(--font-weight-bold); }

/* Offerte */
#offers .ztemplate .row .box .elem .caption-cnt .caption { padding: 15px; background-color: var(--alpha-color2); top: 50%; bottom: unset; left: 0; right: 0; transform: translateY(-50%); }

/* ------- BEI ------- */
.sticky_element { top: 130px; }
#booking #bei form .calendar_header { background-color: var(--color3); }
#booking #bei form .template_calendar.fired .confirm_btn { background-color: var(--color4); }
#booking #bei form .calendar_wrapper .fc-day.sel-first,
#booking #bei form .calendar_wrapper .fc-day.sel-last,
#booking #bei form .calendar_wrapper .fc-day:hover,
.selection_preview, #booking #bei form .calendar_wrapper .fc-day.selected.sel-first,
.selection_preview, #booking #bei form .calendar_wrapper .fc-day.selected.sel-last { background-color: var(--color3); color: var(--white); }
.selection_preview, #booking #bei form .calendar_wrapper .fc-day.selected { background-color: var(--color3_alt); color: var(--white); }
.calendar_wrapper .fc-calendar .fc-head { background-color: var(--color2); color: var(--color4); }
#booking #bei form .calendar_wrapper .oob { background-color: var(--iti-hover-color); }

/* Risultati camere */
.ztemplate_rooms .zlabel.g12 { color: var(--color3); }
.ztemplate_rooms .rooms .caption-alt { background-color: var(--light-color1); }
.ztemplate_rooms .rooms .caption-alt>.title { color: var(--color4); font-weight: var(--font-weight-bold); }
.ztemplate_rooms .rooms .caption-alt>.zsimplebutton { background-color: var(--color2); color: var(--color4);}
.ztemplate_rooms .zlabel.g15 .fieldvalue,
.ztemplate_rooms .subcontents .zlabelprice, .ztemplate_rooms .subcontents .zlabel.g9 { color: var(--color3); }
.ztemplate_rooms .subcontents .zlabel.g20 .fieldkey { color: var(--black); }
.ztemplate_rooms .subcontents .elem:nth-child(odd) { background-color: var(--light-color1); }
.ztemplate_rooms .subcontents .ztextarea.g2 .fieldvalue { line-height: 1.2; }
.ztemplate_rooms .subcontents .ztextarea.g2 .fieldvalue p { margin-bottom: 10px; }
.ztemplate_rooms .subcontents .ztextarea.g2 .fieldvalue ul { list-style-type: disc; }
.ztemplate_rooms .subcontents .title { color: var(--color3)!important;  }
.ztemplate_rooms .subcontents .product_selection_wrap { color: var(--color3); }
.pf_step_button { background-color: var(--color2); color: var(--color4);}
.step_footer_wrap #cart_detail>.box_heading { background-color: var(--color3); }
.ztemplate .quantity, .zlabelquantity, .room_count { background-color: var(--color3_alt); }
.cart_btn:before { color: var(--color3); }
.total_amount { color: var(--color3); }

/* Risultati servizi */
.ztemplate_rooms .ztemplate .services .caption .zlabel.g5 { background-color: var(--color3_alt); color: var(--white); }
.ztemplate_rooms .ztemplate .services .subcontents .caption-cnt .caption { background-color: var(--color3); }
.close_services_btn { background-color: var(--color2); color: var(--color4); }
.ztemplate_rooms .ztemplate .services .subcontents .selector_wrapper:nth-child(even) { background-color: var(--light-color1); }
.ztemplate_rooms .ztemplate .services .elem.selected { border-color: var(--dark-color5); }
.ztemplate_rooms .ztemplate .services .elem .caption:not(.subcontents .caption):after { color: var(--dark-color5); }

/* Order */
#page.order #varsimple_edit_search, #page.payment #varsimple_edit_search { background-color: var(--color3); color: var(--white);}
#total_upfront { color: var(--color3); }
#cnt_forms form .caption-fields .field .form_element_title,
#cnt_forms form .caption-fields .field.select .form_element_title,
#cnt_forms form .caption-fields .field.textarea .form_element_title { color: var(--color3); }
form .form_select.autocomplete_select input,
form .form_select.autocomplete_select .option { cursor: pointer; }
#cnt_forms form input[type="submit"] { background-color: var(--color3); }
#order_template_wrapper .rates .caption-alt .ztextarea.g2 { line-height: 1.2; }
#order_template_wrapper .rates .caption-alt .ztextarea.g2 p { margin-bottom: 10px; }
#order_template_wrapper .rates .caption-alt .ztextarea.g2 ul { list-style-type: disc; }
#order_template_wrapper .caption-cnt .fieldvalue.f11 .price { color: var(--color3); font-weight: var(--font-weight-medium); }
#page.order #content .side .title:not(.title_wrapper .title),
#order_template_wrapper .service_title .caption:not(.subcontents .caption) .title:before { font-size: 100%; }
#order_template_wrapper .zlabelprice { color: var(--color3); font-weight: var(--font-weight-medium); }
#order_template_wrapper .row-1 .caption:not(.subcontents .caption) { align-items: center; }
.canc_policy_text, .payment_policy_text { line-height: 1.2; }
#cnt_forms form .caption-fields .field input, #cnt_forms form .caption-fields .field.textarea textarea { background-color: var(--light-color2); }
#privacy #content .cnt .container input[type="submit"] { background-color: var(--color4); }

/* RWD */

@media(max-width: 1023px){
    .body_pagina_special #content .body .sx .text_dyn .fieldvalue,
    .body_pagina_special #content .body .sx .text_dyn .fieldvalue.odd { flex-direction: column; gap: 15px; margin-bottom: 60px; }
    .body_pagina_special #page #content .body .sx img,
    .body_pagina_special #page #content .body .sx .text_dyn .f3 img.right,
    .body_pagina_special #page #content .body .sx .text_dyn .f3 img.left { padding: 0!important; margin: 0!important; max-height: unset; width: 100%; }
}

/*  Smartphone */
.smartphone #welcome .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea h2 { font-size: var(--font-size-lg); }
.smartphone #welcome .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea h3 { font-size: var(--font-size-sm); }
.smartphone #box-home .ztemplate .row .box .elem .caption-cnt .caption-alt .title, .smartphone #box-home .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea h3 { margin-bottom: 0; }
.smartphone #box-home .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea p { margin-top: 15px; }
.smartphone #page .heading .title { line-height: 1.3; }
.smartphone #page #welcome .ztemplate .row .box .elem .caption-cnt .caption-alt { padding-top: 15px; }
.smartphone #welcome .ztemplate .row .box .elem .caption-cnt .caption-alt .title { color: var(--color4); }
.smartphone #showcase #container-cnt { padding: 30px 15px; }
.smartphone #rooms-cnt .ztemplate .row .box .elem .caption-cnt .caption-add img { min-height: 380px; object-fit: cover; }
body.smartphone #pre-plus { padding: 30px 15px; }
.smartphone #box-mice .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea,
body.smartphone #box-mice .ztemplate .row .box .elem .caption-cnt .caption-alt { text-align: left; }
body.smartphone #container-cnt { padding: 20px 0; }
.smartphone #showcase #container-cnt #container_summary { align-items: flex-start; }
.smartphone.body_showcase #container-cnt #container_summary strong { padding: 10px 0; }
.smartphone.body_showcase #container-cnt #container_summary ul { padding-left: 15px; }
.smartphone #container-cnt #container_summary *:not(script) { width: 100%; text-align: center; justify-content: center; }
body.smartphone.body_pagina_alt #container-cnt { margin-bottom: 15px; }

/* Smarphone BEI */
.smartphone .ztemplate_rooms .elem { margin: 0 auto 35px; }
.smartphone .purchase_flow_step.purchase_flow_3_step .ztemplate:not(.subcontents .ztemplate), .smartphone .services_only .purchase_flow_step .ztemplate:not(.subcontents .ztemplate) { margin-top: 0; }
.smartphone .ztemplate_rooms .caption-alt { padding: 20px 15px 15px; }
.smartphone .ztemplate_rooms .zlabel.g12 { margin-bottom: 10px; }
.smartphone .ztemplate_rooms .rooms .caption-alt>.title { line-height: 1.3; }
.smartphone .ztemplate_rooms .g6 { margin: 0; }
.smartphone #page.ecommerce .heading .title { margin-bottom: 10px; }
.smartphone .ztemplate_rooms .ztextarea { margin-bottom: 10px; }
.smartphone .ztemplate_rooms .rooms .caption-alt>.zsimplebutton { width: 100%; }
.smartphone .ztemplate_rooms .subcontents .product_selection_wrap span:before { font-size: 180%; }
.smartphone .step_footer_wrap #cart_detail .zlabelprice .fieldvalue, .smartphone .step_footer_wrap #cart_detail .zlabel.g9 .fieldvalue { color: var(--color3); font-weight: var(--font-weight-medium); }
.smartphone .ztemplate_rooms .subcontents .elem .zlabel.g10 { font-weight: var(--font-weight-medium); }
.smartphone .ztemplate_rooms .subcontents .caption-cnt .caption-3, .smartphone .ztemplate_rooms .subcontents .caption-cnt .caption-4 { background-color: var(--color3); }
.smartphone #order_template_wrapper .row-1 .caption:not(.subcontents .caption) { align-items: flex-start; gap: 5px; }
.smartphone .payment.corner input, .smartphone #syspay_payment { font-size: 80%; }
/* .smartphone .ztemplate_rooms .subcontents .product_selection_wrap { color: var(--white); } */
.smartphone .purchase_flow_step .product_selection_wrap .prod_sel_add, 
.smartphone .purchase_flow_step .product_selection_wrap .prod_sel_rem { color: var(--white); }
.smartphone .ztemplate_rooms .ztemplate .services .subcontents .prod_sel_add,
.smartphone .ztemplate_rooms .ztemplate .services .subcontents .prod_sel_rem { color: var(--color3); }
.smartphone .close_services_btn { margin-top: 15px; }
.smartphone .ztemplate_rooms .ztemplate .services .elem.fired .subcontents { min-height: fit-content; height: calc(100vh - 160px); }
.smartphone form .caption-fields .form.checkbox label input[type="checkbox"],
.smartphone #showprivacy .privacy_field .privacy_field_val { padding: 0; width: 15px; }