
/* Animazioni */
@keyframes fill_btn {
	0% { left: -50px; width: 30px; height: 1px; bottom: 9px }
	50% { left: -30px; right: -30px; width: calc(100% + 60px); height: 1px; bottom: 9px }
	100% { left: -30px; right: -30px; width: calc(100% + 60px); height: 50px; bottom: -15px }
  }
  @keyframes line_btn {
	0% { left: -30px; right: -30px; width: calc(100% + 60px); height: 50px; bottom: -15px }
	50% { left: -30px; right: -30px; width: calc(100% + 60px); height: 1px; bottom: 9px }
	100% { left: -50px; width: 30px; height: 1px; bottom: 9px }
  }

  button { outline: none; }

  .text_dyn a, .text_dyn a:hover, .text_dyn a:focus, .text_dyn a:visited { color:var(--color1); text-decoration: underline !important; text-decoration-thickness: 1px !important;}
  .text_dyn .accordion a, .text_dyn .accordion a:hover, .text_dyn .accordion a:focus, .text_dyn .accordion a:visited { color:#3c3c3c; }
  input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { opacity:0.9; }
  #slideshow img { min-width: 100%; }
  #slideshow .slick-dots {position: absolute;}
  .clear { clear: both; }
  .overflow { overflow: hidden; }
  .documents, .videos { margin: 20px auto 40px auto; }
  .documents { margin: 40px 0 0 0; background-color: #F9F7F7; padding: 20px; font-size: 14px; }
  .documents .document { margin: 10px; padding: 0  10px 10px 10px; display: block; clear:both; }
  .documents .document a { color: var(--white); border: 2px solid var(--color1); padding: 10px; background-color: var(--color1)}
  .documents .document a:before { margin:0px 10px 0px 0px !important; font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 14px; content: "\f1c1"; }
  .documents { display: flex; border-top: 10px solid var(--color1); flex-wrap: wrap}

  .documents .document .document_size { float:right; color: #D5D5D5; display: none; }
  ul.cnt { margin:0; padding:0; display:flex; list-style: none; -ms-box-orient: horizontal; -webkit-align-items: stretch; }
  ul.cnt li.half { width:50%; }
  .cnt { 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; justify-content: center; }
  form .caption-fields .field input[type="phone"]::-webkit-input-placeholder { opacity: 0.1; }
  form .caption-fields .field input[type="phone"]::-moz-placeholder { opacity: 0.1; }
  form .caption-fields .field input[type="phone"]::-ms-input-placeholder { opacity: 0.1; }
  form .caption-fields .field input[type="phone"]::-moz-placeholder { opacity: 0.1; }
  form .caption-fields .field input[type="phone"]::placeholder { opacity: 0.1; }
  /* Da qui specifico */
  b, strong { color: #353535 }

  /* video home */
  .video-background { position: relative; padding-bottom: 56.25%; /* 16:9 */ height: 0;}
  .video-background iframe { width: 100%; position: absolute; height: 100%; left: 0; top: 0; z-index: 2; pointer-events: none; }
  body.home.video_in_slide #slideshow { opacity: 0; height: 0 }
  body.home .slideshow_cnt { max-height: 85vh; background-color: #19332f; overflow: hidden;}
  #sound {padding: 10px;font-family: var(--sans); font-weight: var(--font-weight-normal);color: var(--white);font-size: 15px;letter-spacing: 0;text-align: right;position: absolute;bottom: 40px;right: 40px;z-index: 10;/* background: rgba(0, 68, 126, 0.6); *//* border-radius: 10px; *//* animation: pulse-alt 2s infinite; */cursor: pointer;}
  #sound .varsimple {padding: 0 65px 0 0;position: relative;display: inline-block;line-height: 30px;text-transform: uppercase;}
  #sound .varsimple:after {font-family: var(--font-icon); font-weight: var(--font-weight-light);font-size: 22px;color: var(--white);position: absolute;right: 0;top: -10px;background: var(--color3);border-radius: 100%;line-height: 50px;width: 50px;height: 50px;text-align: center;animation: pulse-alt 2s infinite;}
  #sound #varsimple_sound_off { display: none; }
  #sound #varsimple_sound_on:after { content: "\f028"; }
  #sound #varsimple_sound_off:after { content: "\f2e2"; }

  /* label lingue  */
  .language_cnt { text-align: center; position: relative; }
  .language_cnt #language_btn { cursor: pointer; display: flex; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 15px; color: var(--white); text-transform: uppercase; text-align: center; line-height: 1; align-items: center; justify-content: center; }
  .language_cnt #language_btn:after { font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 14px; color: var(--white); text-transform: lowercase; text-align: center; line-height: 1; content: "\f0d7"; margin-left: 4px}
  .language_cnt #language { background-color: var(--color3); text-align: center; z-index: 2; position: absolute; left: 0; right: 0; top: calc(100% + 10px); bottom: 0px; }
  .language_cnt #language li { float: none; text-align: center; }
  .language_cnt #language li.active {display: none;}
  .language_cnt #language li a { display: inline-block; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 13px; padding: 3px; color: var(--white); text-transform: uppercase; text-align: center; line-height: 1; }
  .language_cnt { margin: 0 20px; width: 50px }
  .language_cnt #language { bottom: inherit; width: 100%; z-index: -1; opacity: 0; transition: .3s }
  .language_cnt #language.fired { opacity: 1; z-index: 2 }
  .language_cnt #language ul { margin: 0; padding: 5px 0 }
  header.scrolled .language_cnt #language_btn { color: var(--white) }
  header.scrolled .language_cnt #language_btn:after { color: var(--color3) }



  /* infosplash */
  #infosplash #infosplash_content { border: 10px solid var(--color2); }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .title a { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 22px; color: var(--color3); text-align: left; line-height: 1; letter-spacing: 0; }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea { font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 16px; color: var(--dark_grey); text-align: left; line-height: 28px; letter-spacing: 1px; }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton a,
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .zlink a { display: inline-block; background-color: var(--color3); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 15px; color: var(--white); text-transform: uppercase; text-align: center; line-height: 20px; letter-spacing: 1px; }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .title { display: inline-block; font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 22px; color: var(--color3); text-align: left; line-height: 1; letter-spacing: 0; }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea.g2 { font-family: var(--serif); font-weight: var(--font-weight-normal); color: var(--color3); margin-bottom: 5px}
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt { padding: 25px }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .title { display: block; border-bottom: 1px solid var(--color3); margin-bottom: 5px }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt { text-align: center; }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .ztextarea { text-align: center; }
  #infosplash .ztemplate .row .box .elem .caption-cnt .caption-alt .title { text-align: center; }
  #infosplash .ztemplate .row .box-2 .elem .caption-cnt .caption-3 {display: none;}


  /* messaggi persuasivi */
  .persuasive_message h1, .persuasive_message h2, .persuasive_message h3, .persuasive_message h4, .persuasive_message h5, .persuasive_message h6 { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 22px; color: var(--color1); text-align: left; line-height: 1; letter-spacing: 0; margin-bottom: 0; margin-top: 0; }
  .persuasive_message p { font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 16px; color: var(--dark_grey); text-align: left; line-height: 28px; letter-spacing: 1px; }

  #page.showcase #page_name { text-align: center; }



  /* home alert */
  header.scrolled .header_alert { display: none; }
  body.body_alert #menu_open.fired { top: 163px; }
  body.body_alert header.scrolled { margin-top: 0 }
  body.body_alert .menu_open { padding-top: 215px }

  /* header */

  header.scrolled { background-color: var(--white); padding: 0 30px; align-items: center; box-shadow: 0px 0px 10px 0px #00000017;}
  header.scrolled.section_hidden {box-shadow: none;}
  header.scrolled .head_logo { height: 90px; }
  body:not(.home) header.scrolled .head_logo img { max-height: unset; }
  header.scrolled .head_logo img { transform: scale(.8);/* filter: invert(1);*/ height: -webkit-fill-available;}

  header.scrolled .section_menu_btn span {color: var(--black);}
  header.scrolled .language_cnt #language_btn {color: var(--black);}
  header.scrolled .section_quicklinks .mail_btn a:before {color: var(--color1);}
  header.scrolled .section_quicklinks .phone_btn a:before {color: var(--color1);}
  header.scrolled .section_quicklinks .social a:before {color: var(--color1);}
  header.scrolled .head_logo img {filter: unset;}

  /* body:not(.home) header { background-color: var(--color2); padding: 15px 30px; align-items: center; } */




  /* Menu */
  .menu_open { display: block; padding-top: 160px; transition: .3s; left: -500px }
  .menu_open.fired { left: 0 }
  .menu_open ul li { display: table; margin-bottom: 15px }
  .menu_open ul li a {padding-left: 40px}
  .menu_open ul li:before { transition: .3s; width: 0 }
  .menu_open ul li:hover:before {width: 100%}
  .dark_layer { transition: .3s; opacity: 0 }
  .dark_layer.fired { z-index: 997; opacity: 1 }

  /* Booking engine */
  .booking_logo { text-align: center; }
  .booking_logo img {max-height: 150px;}
  .booking_open { display: block; transition: .4s; opacity: 0; padding-top: 37px }
  .booking_open.fired { z-index: 997; opacity: 1; }
  .booking_open .section_text { margin: 30px auto 15px}
  .booking-form form .caption-fields {padding: 30px; position: relative; text-align: left;}
  .booking-form form .caption-fields input[type="submit"] {padding: 15px 25px; margin: 30px auto 0; clear: both;}
  .booking-form form .caption-fields .date .date_from_html .day { float: left; background-color: var(--white); padding-right: 10px; color: var(--color1) }
  .booking-form form .caption-fields .date .date_from_html .month_name_tiny {display: inline-block; color: var(--color1); }
  .booking-form form .caption-fields .date .date_from_html .year {line-height: 15px; padding-top: 2px; background-color: var(--color3); }
  .booking-form form .caption-fields .select .html_select .current_value {color: var(--color3); }
  .booking_open .booking_footer > div {margin: 15px}
  .booking_open .booking_footer > div a:before { margin-right: 7px }
  .booking-form form .caption-fields .select .html_select .elements_list {bottom: inherit; padding: 10px}
  .booking-form form .caption-fields .select .html_select .elements_list .option { margin: 10px 0 }
  .booking-form form .caption-fields .select .html_select .elements_list .option:first-of-type,
  .booking-form form .caption-fields .select .html_select .elements_list .option:nth-of-type(2) { display: none; }
  .booking-form form .caption-fields .select_wrap.child_age {display: none; padding: 10px 15px 0;}
  .booking-form form .caption-fields .select_wrap.child_age.show {display: inline-block!important;}
  .booking-form form .caption-fields .child_age_cnt.fired { background-color: #f7f7f7;  border: 1px solid #968980; text-align: center; position: relative;}
  .booking-form form .caption-fields .text.element_41 { position: absolute; top: 30px; right: 15px }
  .booking-form form .caption-fields .text.element_41 input[type=text]{ width: 200px; background-image: url('../images/icons/gift.svg'); background-repeat: no-repeat; background-position: 95% center; padding: 10px 30px 10px 10px }
  .booking-form form .caption-fields .child_age_cnt:before { font-family: var(--font-icon); font-weight: var(--font-weight-light); font-size: 28px; color: var(--white); background-color: #968980; text-transform: lowercase; text-align: left; line-height: 28px; letter-spacing: 0; content: "\f1ae"; position: absolute; left: 0; width: 76px; height: 76px; line-height: 76px; text-align: center; display: none; }
  .booking-form form .caption-fields .child_age_cnt.fired:before{display: block;}
  .booking_open .booking_footer .mail a { color: var(--color3) }
  .booking_open .booking_footer .mail a:before { color: var(--color3) }
  .booking_open .booking_footer .tel a { color: var(--color3) }
  .booking_open .booking_footer .tel a:before { color: var(--color3) }

  /* booking open */

  .booking-form { display: inline-block; text-align: center; }
  .booking-form .section_link_edit_reservation { text-align: left; }
  .booking-form .section_link_edit_reservation a { display: block; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: var(--size-base); color: #A4A4A4; text-align: left; line-height: 20px; letter-spacing: 0; }
  .booking-form .section_link_edit_reservation a:before { font-family: var(--font-icon); font-weight: var(--font-weight-normal); font-size: var(--size-base); color: #A4A4A4; text-transform: lowercase; text-align: left; line-height: 20px; letter-spacing: 0; position: relative; content: "\f0e2"; }
  .booking-form .section_text { display: inline-block; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 18px; color: #554B4B; text-align: center; line-height: 20px; letter-spacing: 0; position: relative; }
  .booking-form .section_text:before { text-align: left; z-index: 170; position: absolute; left: -20px; top: 0; bottom: 0px; content: ''; }
  .booking-form form { text-align: center; }
  .booking-form form .caption-fields { background-color: var(--white); text-align: center; box-shadow: 0 53px 40px -30px rgba(0,0,0,0.12); }
  .booking-form form .caption-fields .date { float: none; display: inline-block; text-align: center; }
  .booking-form form .caption-fields .date .form_element_title { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--size-base); color: var(--grey); text-transform: uppercase; text-align: left; line-height: 1; letter-spacing: 0; }
  .booking-form form .caption-fields .date .date_from_html { text-align: center; cursor: pointer; }
  .booking-form form .caption-fields .date .date_from_html .day { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 50px; text-transform: lowercase; text-align: center; line-height: 45px; letter-spacing: 0; }
  .booking-form form .caption-fields .date .date_from_html .month_name_tiny { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--size-base); text-transform: uppercase; text-align: center; line-height: 20px; letter-spacing: 1px; }
  .booking-form form .caption-fields .date .date_from_html .year { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--font-size-bs); color: var(--white); text-transform: lowercase; text-align: center; line-height: 20px; letter-spacing: 0; }
  .booking-form form .caption-fields .select { float: none; display: inline-block; text-align: center; }
  .booking-form form .caption-fields .select .form_element_title { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--size-base); color: var(--color4); text-transform: uppercase; text-align: center; line-height: 1; letter-spacing: 0; }
  .booking-form form .caption-fields .b_mask_guests .select .form_element_title sup { display: none; }
  .booking-form form .caption-fields .select .html_select { text-align: center; position: relative; display: flex; align-items: center; justify-content: center;}
  .booking-form form .caption-fields .select .html_select .current_value { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 50px; color: var(--color1); text-transform: lowercase; text-align: center; line-height: 45px; letter-spacing: 0; cursor: pointer; }
  .booking-form form .caption-fields .select .html_select .elements_list { width: 100%; text-align: center; z-index: 106; position: absolute; left: 0; right: 0; top: 100%; bottom: 0px; }
  .booking-form form .caption-fields .select .html_select .elements_list .option { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 22px; color: var(--white); text-transform: lowercase; text-align: center; line-height: 22px; letter-spacing: 0; cursor: pointer; }
  .booking-form form .caption-fields .text { float: none; display: inline-block; text-align: left; width: 100% }
  .booking-form form .caption-fields .text .form_element_title { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--size-base); color: var(--grey); text-transform: uppercase; text-align: center; line-height: 1; letter-spacing: 0; }
  .booking-form form .caption-fields .text input[type=text] { background-color: #F7F7F7; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 18px; color: #858585; text-align: left; line-height: 1; letter-spacing: 0; position: relative; }
  .booking-form form .caption-fields .text input[type=text]:before { text-align: left; z-index: 56; position: absolute; right: 13px; bottom: 12px; }
  .booking-form form .caption-fields input[type="submit"] { float: none; background-color: var(--color3); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 15px; color: var(--white); text-transform: uppercase; text-align: center; line-height: 20px; letter-spacing: 1px; margin: 0px 15px; }
  .booking_open { width: 100%; height: 100%; background-color: var(--white); text-align: center; z-index: -1; position: fixed; left: 0; right: -2px; top: 0; bottom: 0px; }
  .booking_open .section_text { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--font-size-lg); color: var(--color3); text-align: center; line-height: 1.2; letter-spacing: 0; }
  .booking_open .booking_footer { justify-content: center; display: flex; text-align: left; align-items: center; }
  .booking_open .booking_footer .mail { text-align: left; }
  .booking_open .booking_footer .mail a { display: inline-block; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 13px; color: #302D2D; text-transform: lowercase; text-align: left; line-height: 18px; letter-spacing: 0.93px; }
  .booking_open .booking_footer .mail a:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 12px; color: #302D2D; text-transform: lowercase; text-align: left; line-height: 28px; letter-spacing: 0; content: "\f0e0"; }
  .booking_open .booking_footer .tel { text-align: left; }
  .booking_open .booking_footer .tel a { display: inline-block; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 13px; color: #302D2D; text-transform: lowercase; text-align: left; line-height: 18px; letter-spacing: 0.93px; }
  .booking_open .booking_footer .tel a:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 12px; color: #302D2D; text-transform: lowercase; text-align: left; line-height: 28px; letter-spacing: 0; content: "\f095"; }
  .booking-form form .caption-fields .guests_wrapper .group_wrapper .merge_group .form.field.select { display: flex; align-items: center; justify-content: space-between; width: 100%; }

  /* BEI */
  .booking-form .nobei { max-width: 450px; }
  .booking-form .nobei form .caption-fields .add_btn:before { margin: 0 10px; font-family: var(--font-icon); content: "\f055"; color: var(--color4); font-size: 100%; font-weight: var(--font-weight-normal); cursor: pointer; }
  .booking-form .nobei form .caption-fields .rem_btn:before {margin: 0 10px; font-family: var(--font-icon); content: "\f056"; color: var(--color4); font-size: 100%; font-weight: var(--font-weight-normal); cursor: pointer;}
  .booking-form .nobei form .caption-fields .select.element_7 {display: block;}
  .booking-form .nobei form .caption-fields .select.element_7,
  .booking-form .nobei form .caption-fields .select.element_8,
  .booking-form .nobei form .caption-fields .select.element_9 {width: 33%;}

  .booking-form .pf_sf { max-width: 450px; }
  .booking-form form .caption-fields input.input-20 {cursor: pointer;}
  .booking-form form .caption-fields .guests_wrapper.fired { position: fixed; top: 50%; left: 50%; background-color: var(--white); box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.12); width: 480px; transform: translate(-50%, -50%); padding: 25px; }
  .booking-form form .caption-fields .guests_wrapper {display: none;}
  .booking-form form .caption-fields .guests_wrapper.fired {display: block; z-index: 100;}
  #booking {display: flex; flex-direction: column; justify-content: center; align-items: center;}
  .booking-form form .caption-fields .guests_wrapper .guests_desc {font-weight: var(--font-weight-normal); font-size: 22px; text-align: center; line-height: 1; letter-spacing: 0; margin-bottom: 10px;}
  .booking-form form .caption-fields .guests_wrapper .group_wrapper .merge_group { display: flex; flex-wrap: wrap; align-items: center; position: relative;}
  .booking-form form .caption-fields .guests_wrapper .group_wrapper .merge_group > * {width: 100%}
  .booking-form form .caption-fields .guests_wrapper .group_wrapper .merge_group .form.field {width: 33.3333%; padding: 20px 0px;}
  .booking-form form .caption-fields .guests_wrapper .group_wrapper .merge_group .group_title {font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 22px; color: var(--white); text-align: center; line-height: 1; letter-spacing: 0; padding: 10px 15px; background-color: var(--color1); text-align: left;}
  .booking-form form .caption-fields .guests_wrapper .add_btn:before {margin: 0 10px; font-family: var(--font-icon); content: "\f055"; color:var(--color4); font-size: 100%; font-weight: var(--font-weight-normal); cursor: pointer;}
  .booking-form form .caption-fields .guests_wrapper .rem_btn:before {margin: 0 10px; font-family: var(--font-icon); content: "\f056"; color: var(--color4); font-size: 100%; font-weight: var(--font-weight-normal); cursor: pointer;}
  .booking-form form .caption-fields .guests_wrapper .form_merge_rem_button {text-align: right; margin: 10px 0px;  color: var(--white); text-transform: uppercase; cursor: pointer; position: absolute; top: 4px; right: 15px;  font-weight: var(--font-weight-medium);}
  .booking-form form .caption-fields .guests_wrapper .form_merge_rem_button:before {margin: 0 5px; font-family: var(--font-icon); content: "\f056"; color: var(--white); font-size: 100%; font-weight: var(--font-weight-normal); cursor: pointer;}
  .booking-form form .caption-fields .guests_wrapper .form_merge_add_button {text-align: left; padding: 10px 0px; border-top: var(--color4) 1px solid; color: var(--color4); text-transform: uppercase; cursor: pointer; font-weight: var(--font-weight-medium);}
  .booking-form form .caption-fields .guests_wrapper .form_merge_add_button:before {margin: 0 5px; font-family: var(--font-icon); content: "\f055"; color: var(--color4); font-size: 100%; font-weight: var(--font-weight-normal); cursor: pointer;}
  .booking-form form .merge_group:not(:last-child) .form_merge_rem_button, .booking-form form .merge_group:first-child .form_merge_rem_button { display: none; }
  .booking-form form .caption-fields .guests_wrapper .form_select .elements_list {display: none !important;}
  .booking-form form .caption-fields .guests_wrapper .guests_wrapper_ok { background-color: var(--color3); padding: 20px 0px; text-transform: uppercase; cursor: pointer; color: var(--white); }
  #overlay_booking {display: none;}
  #overlay_booking.fired { display: block; position: fixed; background-color: var(--alpha-black); z-index: 1; width: 100%; height: 100%; top: 0; left: 0; }

  .booking-form .ibe_search_wrapper {margin-top: 10px;}
  .booking-form .ibe_search_wrapper .ibe_search_btn {cursor: pointer; color: var(--dark_grey);}
  .booking-form .ibe_search_wrapper .ibe_search_box {display: none;}
  .booking-form .ibe_search_wrapper.fired .ibe_search_box { position: fixed; top: 50%; left: 50%; background-color: var(--white); box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.12); width: 480px; transform: translate(-50%, -50%); padding: 25px; display: flex; z-index: 100; flex-direction: column;}
  .booking-form .ibe_search_wrapper .ibe_search_box_title {font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: 22px; color: var(--color3); text-align: center; line-height: 1; letter-spacing: 0; margin-bottom: 10px;}
  .booking-form .ibe_search_wrapper .ibe_search_box_close {position: absolute; top: 15px; right: 15px; font-size: 0px;}
  .booking-form .ibe_search_wrapper .ibe_search_box_close:before {font-family: var(--font-icon); content: "\f00d"; color: var(--color1); cursor: pointer; font-size: var(--size-base);}
  .booking-form .ibe_search_wrapper form .text .form_element_title { font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--size-base); color: var(--grey); text-align: center; line-height: 1; letter-spacing: 0; margin: 10px 0px; width: 100%}
  .booking-form .ibe_search_wrapper form .text input[type=text], .booking-form .ibe_search_wrapper form .text input[type=email] { border: 1px solid rgba(30, 79, 118, 0.09782014860139861); background-color: var(--white); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 18px; color: #858585; text-align: left; line-height: 1; letter-spacing: 0; position: relative; width: 100%; padding: 10px;}
  .booking-form .ibe_search_wrapper form input[type=submit] { background-color: var(--color1); padding: 15px 15px; text-transform: uppercase; cursor: pointer; color: var(--white); width: 100%; text-align: center; margin-top: 15px;}

  /* wrap_content */
  .wrap_content {max-width: 960px; margin: 0 auto; padding: 0 15px; position: relative;}
  .wrap_content_big { max-width: 1199px; margin: 0 auto; position: relative; padding: 0 20px}
  .wrap_content_small {max-width: 440px; margin: 0 auto; position: relative;}
  .wrap_content_right {width: 75%; display: inline-block; position: relative;}
  .vertical_title { transform: rotate(-90deg) translateX(-50%); position: absolute; z-index: 2; text-transform: uppercase; }
  .wrap_content.has_submenu .section_text .text_dyn { width: calc(100%); padding-right: 20px }
  .wrap_content.has_submenu .section_text .text_dyn.g3 .f3 h3 {font-family: var(--serif); color: var(--color1) !important; margin: 15px 0px;}
  .wrap_content.has_submenu .section_text .text_dyn.g3 .f3 h3 strong {font-family: var(--serif); color: var(--color1) !important;}
  #page .section_text .text_dyn.g3 .f3 h2 {font-family: var(--serif); color: var(--color1) !important; margin: 25px 0px;}
  #page .section_text .text_dyn.g3 .f3 h2 strong {font-family: var(--serif); color: var(--color1) !important;}
  .wrap_content.offers.has_submenu .section_wrap { width: calc(100% - 320px); padding-right: 60px }
  .wrap_content_medium { width: calc(50vw + 30px); margin: 0 auto; padding: 0 20px;}
  /* Submenu */
  /* Nasconde solo il link o testo dell'elemento <li> che contiene una lista interna */
  .submenu #tree li:has(> ul) > a, .submenu #tree li:has(> ul) > span { display: none; }

  #page .wrap_content {max-width: 1440px}

  /* google maps */
  .f3 iframe { border: 3px solid var(--color1)!important; margin-top: 40px; width: 100%; padding: 10px; }

  /* intro */
  .section_intro .vertical_title { left: -390px; top: 0 }
  .section_intro {  }
  .section_intro .section_tips { left: 0px; padding: 30px; bottom: 0px; position: relative; }
  .section_intro .section_tips ul {list-style-type: none;}
  .section_intro .section_tips ul li::before { content: "\2022";  color: var(--color3); font-weight: bold; display: inline-block; width: 25px; font-size: 25px;  margin-left: -1em;  }

  /* stile condiviso */
  .line_btn .zsimplebutton, .line_btn .section_link { padding-left: 50px; margin-top: 30px }
  .slick-dots li { margin: 0 3px }
  .slick-prev:before { background-image: url('../images/icons/left.png?v=2'); background-repeat: no-repeat;  }
  .slick-next:before { background-image: url('../images/icons/right.png?v=2'); background-repeat: no-repeat;}
  .section_text p {margin-bottom: 15px}
  .slick-prev:before { background-image: url('../images/icons/left.png?v=2'); background-repeat: no-repeat;  }
  .slick-next:before { background-image: url('../images/icons/right.png?v=2'); background-repeat: no-repeat;}
  .line_btn .zsimplebutton a:before, .line_btn .section_link a:before { z-index: -1!important; animation: line_btn .4s ease-in; animation-fill-mode: forwards; }
  .line_btn .zsimplebutton a:hover:before, .line_btn .section_link a:hover:before { animation: fill_btn .4s ease-in; animation-fill-mode: forwards; }
  .line_btn .zsimplebutton a, .line_btn .section_link a { transition-delay: .4s; transition: .4s; z-index: 1 }
  .line_btn .zsimplebutton a:hover, .line_btn .section_link a:hover { color: var(--white)!important; }


  /* ztemplate_model_1 */
  .ztemplate_model_1 {padding-top: 60px}
  .ztemplate_model_1 .row .box .elem .caption-cnt .caption-alt { padding: 40px }
  .ztemplate_model_1 .row .box .elem .caption-cnt .caption-alt .ztextarea.g2 {margin-bottom: 1em; font-size: var(--font-size-lg);}

  /* Offerte home */
  .section_offers { margin-top: 100px; margin-bottom: 150px;}
  .section_offers .section_caption { margin: 0 0 30px 30px }
  .section_offers .section_text {padding-left: 25px}
  #template21 .g8,
  #template21 .g10,
  #template21 .g11 {display: none;}
  .section_offers #template21 .g17,
  .section_offers #template21 .g12,
  .section_offers #template21 .g6 {display: none;}


  /* ztemplate_model_2 */
  .ztemplate_model_2 .row .box .elem .caption-cnt .caption-alt {padding: 30px; border-top: 10px solid var(--color3); }

  /* ztemplate_model_3 */
  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .zsimplebutton a {padding: 15px 30px; margin-top: 30px}
  .ztemplate_model_3 .row .box .elem {margin: 0 15px; width: 4%; opacity: .15; transition: .4s; max-width: 1000px; }
  .ztemplate_model_3 .row .box .elem.slick-center { opacity: 1 }
  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt { opacity: 0; transition: .4s }
  .ztemplate_model_3 .row .box .elem.slick-center .caption-cnt .caption-alt { opacity:1 }
  .ztemplate_model_3 .slick-prev:before { left: inherit;  }
  .ztemplate_model_3 .slick-next:before { left: inherit;  }
  .ztemplate_model_3 .row .box {padding-top: 40px}
  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .zinput .fieldkey { margin-left: 8px }
  .ztemplate_model_3 .row .box .elem .caption-cnt .caption { background-color: #000 }
  .ztemplate_model_3 .row .box .elem .caption-cnt .caption img {opacity: .7; min-width: 1000px;}
  .ztemplate_model_3 .row .box .elem { min-width: 1000px; }

  /* Section rooms */
  .section_rooms .wrap_content .vertical_title { transform: rotate(-90deg) translateX(0); left: -370px }
  .section_rooms .ztemplate_model_4 .row .box .elem .caption-cnt { padding: 30px;}
  /* ztemplate_model_4 */
  .ztemplate_model_4 .row .box .elem .caption-cnt { padding: 15px }

  /* Section restaurtant */
  .section_restaurant {margin-top: 250px; margin-bottom: 100px}
  .section_restaurant .wrap_content .vertical_title { transform: rotate(-90deg) translateX(40%); left: calc(100% + 60px); /* right: -370px */ width: 60% ; bottom: -140px;}
  .section_restaurant .section_logo { background-color: #F6F5F5; width: calc(50% + 80px); padding: 40px 0px; text-align: center; position: relative; top: 80px; right: -40px; z-index: -1; }



  /* ztemplate_model_5 */
  .ztemplate_model_5 .row .box .elem .caption-cnt .caption { padding: 40px; top: 0px; position: relative; }
  .ztemplate_model_5 .row .box .elem .caption-cnt .caption .ztextarea.g2 {margin-bottom: 1em}

  /* Section wellness */
  .section_wellness .vertical_title { left: -280px; top: 0 }

  /* ztemplate_model_6 */
  .ztemplate_model_6 .slick-prev { position: absolute; right: 200px; z-index: 2 }
  .ztemplate_model_6 .slick-next { position: absolute; right: 35px; z-index: 2 }
  .ztemplate_model_6 .slick-prev:before { left: inherit; right: 0; top: 0; bottom: inherit;  }
  .ztemplate_model_6 .slick-next:before { left: inherit; right: 0; top: 0; bottom: inherit;  }
  .ztemplate_model_6 .row .box .elem .caption-cnt .caption-alt {padding: 30px; border-top: 10px solid var(--color3); }
  .ztemplate_model_6 .row .box .elem { transition: 1s; opacity: 0 }
  .ztemplate_model_6 .row .box .elem.slick-active { opacity: 1 }
  .ztemplate_model_6 .slick-dots { position: absolute; bottom: 30px; left: 100px; text-align: left; z-index: 2; }
  .ztemplate_model_6 .slick-dots li.slick-active { text-align: left; }
  .ztemplate_model_6 .slick-dots li.slick-active button { width: 7px; height: 7px; border-radius: 6px; background-color: var(--color3); text-align: left; }
  .ztemplate_model_6 .slick-dots li { text-align: left; }
  .ztemplate_model_6 .slick-dots li button { width: 7px; height: 7px; border-radius: 6px; background-color: var(--color3); text-align: left; }


  /* Section experience */
  .section_experience {margin-top: 120px}
  .section_experience .vertical_title { left: -220px; top: 0 }
  .section_experience .section_intro {max-width: 100%; background-image: none;}
  .section_experience .section_title {margin-bottom: 1em}

  /* ztemplate model 7 */
  .ztemplate_model_7 {margin-top: 80px}
  .ztemplate_model_7:before { width: calc(100% + 60px); left: -30px; top: -40px; }
  .ztemplate_model_7 .row .box .slick-list {padding-bottom: 30px}
  .ztemplate_model_7 .row .box .elem {margin: 0 10px; transition: .4s}
  .ztemplate_model_7 .row .box .elem .caption-cnt {overflow: hidden;}
  .ztemplate_model_7 .row .box .elem .caption-cnt .caption {width: 100%}
  .ztemplate_model_7 .row .box .elem .caption-cnt .caption-alt .zsimplebutton a {padding: 15px}
  .ztemplate_model_7 .row .box .elem .caption-cnt .caption:before {background-color: transparent;}
  .ztemplate_model_7 .row .box .elem .caption-cnt .caption-alt {transition: .4s}
  .ztemplate_model_7 .row .box .elem:hover .caption-cnt .caption-alt {bottom: 0; z-index: 10;}
  .ztemplate_model_7 .row .box .elem .caption-cnt .caption-alt .title {padding: 0 15px; margin-bottom: 15px;}
  .ztemplate_model_7 .row .box .elem.fired { transform: translateY(30px); }


  /* footer */
  footer {margin-top: 60px; padding: 30px 0 0}
  footer .wrap_content_big { display: flex; align-items: center; justify-content: center; padding: 0 15px }
  footer .section_first .section_text { border-bottom: 1px solid var(--white); padding-bottom: 10px; margin-bottom: 5px }
  footer .section_first > div a:before {margin-right: 7px}
  .social {width: 100%; text-align: center; }
  .social .varscript { text-align: center; }
  .socialnet { display: inline-block; margin: 10px }
  footer .credits { padding-bottom: 10px;}
  footer .credits a:before {margin-right: 7px}
  footer .section_last .credits a:before { display: none; }
  footer .credits { text-align: center; width: 100%;}
  footer .credits a { display: inline-block; font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 13px; color: var(--white); text-transform: uppercase; text-align: left; line-height: 18px; letter-spacing: 0.93px; }
  footer .credits a:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 12px; color: var(--white); text-transform: lowercase; text-align: left; line-height: 28px; letter-spacing: 0; content: "\f004"; }
  footer .whatsapp_btn a:before { font-family: var(--font-icon-alt); font-weight: var(--font-weight-normal); font-size: 15px; color: var(--white); text-transform: lowercase; text-align: left; line-height: 28px; letter-spacing: 0; content: "\f232"; }
  footer .whatsapp_btn a { text-transform: capitalize;}
  footer .social i { font-style: normal}

  .link_credits {/* position: absolute; left: 0; z-index: 1;*/ border-bottom: 0!important }
  .privacy_cnt { max-width: 1199px; margin: 0 auto; position: relative; }

  footer .footer_bottom { padding: 10px 15px; margin-top: 25px }
  footer .section_central .logo { filter: brightness(5); }
  footer .section_central .logo img { max-height: 190px; filter: brightness(0) invert(1); }
  footer .section_link .borded img { padding: 2px; background-color: var(--white); border-radius: 5px; margin: 10px 5px 0px 0px; border-width: 0px !important; }



  /* form contatti */
  .form_cnt {margin: 60px 0 120px}
  .form_cnt form .caption-fields { padding-bottom: 30px }
  .form_cnt form .caption-fields input[type="submit"] {padding: 15px 30px}
  .intl-tel-input .selected-flag .iti-arrow { border-top: 4px solid var(--white); }
  .intl-tel-input.allow-dropdown .flag-container:hover .selected-flag { background-color: #968980 }
  .form_cnt form .caption-fields #showprivacy .show_privacy a { display: inline-block; }
  form #showprivacy .privacy_field { padding-left: 16px; padding-right: 10px }
  form #showprivacy .privacy_field label { display: flex;align-items: flex-start; }
  #showprivacy .privacy_field .privacy_field_val { margin-right: 5px; margin-top: 5px }
  form .newsletter label { display: flex;align-items: flex-start; font-size: var(--size-base); line-height: 1.5 !important; }
  form .newsletter input[type="checkbox"] { margin: 6px 6px 0px 1px; float: left; }
  form .privacy_field, form textarea.cnt_privacy { margin: 0; padding: 0 }
  form #showprivacy p.privacy.flag {display: none;}
  form .newsletter {margin: 0 auto}
  .form_cnt form .caption-fields .phone .selected-flag { background-color: var(--color1) }
  .form_cnt form .caption-fields .textarea textarea { padding: 15px }
  .form_cnt form .form_messages .message { padding: 40px 15px; line-height: 1 }
  .form_cnt form .form_messages .message p { margin-bottom: 0 }
  .form_cnt form .caption-fields #showprivacy .privacy { display: block; padding-top: 0 }
  .form_cnt form .caption-fields #showprivacy .privacy label { display: inline-flex;align-items: center; }
  .newsletter_cnt .form_cnt form .caption-fields .text { width: calc(100% / 3)}
  .intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-3 .selected-flag {height: 39px;}
  .intl-tel-input .flag-container {padding: 0px;}


  .form_cnt.form_cnt_privacy form .caption-fields input[type="submit"] { clear: both; }

  /* ztemplate model 8 */
  .ztemplate_model_8 .row .box {max-width: 1440px; margin: 0 auto; display: flex; flex-wrap: wrap;}
  .ztemplate_model_8 .row .box .elem { width: calc(50% - 30px); margin: 15px }
  /* .ztemplate_model_8 .row .box .elem:nth-child(3) { width: 100% } */
  /* .ztemplate_model_8 .row .box .elem:nth-child(3) .caption-cnt .caption img {max-height: 490px; object-fit: cover; object-position: center;} */
  .ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt { width: calc(100% - 60px); padding: 30px }
  .ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt .zsimplebutton { transform: translateY(-50%); top: calc( 50% - 35px);  margin-right:15px;}
  .ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt .zinput .fieldkey { margin-right: 6px }
  .ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt .title a { max-width: calc(100% - 120px); }

  /* Camera */
  #page .slideshow_cnt { padding: 0; background-color: var(--white) }
  #page .slideshow_cnt #slideshow img { height: calc(50vh); object-fit: cover; opacity: 1 }
  #page .slideshow_cnt:before {display: none;}
  #page.room .section_size {padding-top: 40px}
   #page.room .section_size .zinput { display: flex; gap: 7px; align-items: center; justify-content: center; }
  #page.room .section_size:before {margin: 0 auto}
  #page.room .section_content { }
  .section_content .section_summary {margin: 15px 0 20px;}
  #page .section_content .section_summary .top_seo { margin: 0; font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--font-size-sm); color: var(--color3); text-align: left; line-height: 1; letter-spacing: 0;  }
  .next_room { margin-top: 90px; position: relative; }
  .section_amenities { border-top: 10px solid var(--color3); margin-top: 60px}
  .section_amenities .first, .section_amenities .last { padding: 30px; width: 50%; }
  .section_amenities .first { text-align: right; padding: 30px}
  .section_amenities .last { background-color: #eaeaea; padding: 30px ; width: 100%;}
  .section_amenities .zcheckbox { display: inline-block; width: 100%; display: flex; flex-wrap: wrap;}
  .section_amenities .zcheckbox .fieldkey {margin-bottom: 15px; width: 100%;}
  .section_amenities .zcheckbox .fieldvalue { border-bottom: 1px solid #d0cfcf; width: 50%; }
  .section_amenities .wrap_content_medium { display: flex; justify-content: center;}


  /* Gallery */
  .section_gallery { text-align: right; margin-top: 60px }
  .section_gallery .gallery_wrap { width: 85%; display: inline-block; position: relative; }
  .section_gallery .gallery ul li {margin: 0 15px}
  .section_gallery .gallery_wrap .vertical_title { left: -160px; top: 0 }
  .gallery .slick-next:before { right: inherit; left: 180px }

  /* ztemplate model 9 */
  .ztemplate_model_9 .row .box .elem .caption-cnt .caption-alt { padding: 30px; min-width: 320px }
  .ztemplate_model_9 .row .box .elem .caption-cnt .caption img { height: 550px; object-fit: cover; }
  .ztemplate_model_9 .row .box .elem .caption-cnt .caption {width: auto;}

  /* next room */
  .next_room .vertical_title { background-color: var(--white); padding: 50px 0; text-align: center; width: 560px; transform: rotate(-90deg) translateX(-200px); top: 0; right: calc(80% - 120px); }

  /* Vetrina */

  /* ztemplate model 10 */
  .ztemplate_model_10 .row .box {max-width: 1440px; margin: 0 auto; display: flex; flex-wrap: wrap;}
  .ztemplate_model_10 .row .box .elem { width: calc(50% - 30px); margin: 15px }
  .ztemplate_model_10 .row .box .elem .caption-cnt .caption-alt { width: calc(100% - 60px); padding: 30px }
  .ztemplate_model_10 .row .box .elem .caption-cnt .caption-alt .title {margin-bottom: 15px;}


  /* ztemplate model 11 */
  .ztemplate_model_11 .row .box {max-width: 1440px; margin: 0 auto; display: flex; flex-wrap: wrap;}
  .ztemplate_model_11 .row .box .elem .caption-cnt .caption-alt { width: calc(100% - 60px); padding: 30px }
  .ztemplate_model_11 .row .box .elem .caption-cnt {display: flex !important;}


  /* ztemplate model 12 */
  .ztemplate_model_12 .row .box {max-width: 1440px; margin: 0 auto; display: flex; flex-wrap: wrap;}
  .ztemplate_model_12 .row .box .elem { width: calc(50% - 30px); margin: 15px }
  .ztemplate_model_12 .row .box .elem .caption-cnt .caption-alt { width: calc(100% - 60px); padding: 30px; border-top: 10px solid var(--color3) }
  #template12 .row .box .elem .caption-cnt .caption-alt .title {margin-top: 0}

  /* ztemplate model 13 */
  .ztemplate_model_13 .row .box {max-width: 1440px; margin: 0 auto; display: flex; flex-wrap: wrap;}
  .ztemplate_model_13 .row .box .elem { width: calc(33.333% - 30px); margin: 15px }
  .ztemplate_model_13 .row .box .elem .caption-cnt .caption-alt { padding: 30px }
  .ztemplate_model_13 .row .box .elem .caption-cnt .caption .zsimplebutton a {padding: 15px 30px}

  /* Album */
  .album { width: calc(50% - 30px); margin: 15px }
  .album .album_title { width: calc(100% - 60px); padding: 30px; border-top: 10px solid var(--color3); margin: 0 auto }
  .album a .album_title:before { margin-right: 10px }
  .album_media {margin-top: 30px}
  .album_media img {margin: 7px; width: calc(33.333% - 17px);}
  #page .section_link a {padding: 15px 30px; margin-top: 30px}


  .booking-form form .caption-fields .text.element_12 {   }
  .booking-form form .caption-fields { display: flex; flex-direction: row; flex-wrap: wrap; }
  .booking-form form .caption-fields > * {width: 100%}
  .booking-form form .caption-fields > .date {width: 50%;}
  .booking-form .caption-fields-grp-1 { display: flex; flex-wrap: wrap; justify-content: center; }
  .booking-form form .caption-fields .select.element_7 { display: none; }
  .booking-form form .caption-fields .text.element_14 { margin-top: 20px; }
  .booking-form form .caption-fields .text.element_14 .form_element_title { text-align: center; }
  .booking-form form .caption-fields .text.element_13 input[type=text]{/* width: 200px; */background-image: url('../images/icons/gift.svg'); background-repeat: no-repeat; background-position: 95% center; padding: 10px 30px 10px 10px }


  /* submenu camere */
  .room_submenu .submenu_title { display: none; }
  .room_submenu .submenu #tree > li { display: inline-block; margin: 7px;}
  .room_submenu .submenu #tree { text-align: center; margin-top: 0; margin-bottom: 40px; background-color: var(--color1);  }
  .room_submenu .submenu #tree > li#tree-item-32 { display: none; }
  .room_submenu .submenu #tree > li > a { text-transform: uppercase; color: #ffdb87}
  .room_submenu .submenu #tree > li > span { text-transform: uppercase; color: var(--white) }


  #varsimple_offerta_text_description { font-size: 22px; }
  #varlink_offer_return_back-cnt a { font-size: 16px; text-transform: unset; font-family: var(--sans); font-weight: var(--font-weight-normal); color: var(--dark_grey); }
  .vertical_title { transform: rotate(-90deg) translateX(-100%); transform-origin: left; left: -120px }
  .section_intro .vertical_title { left: -120px; top: 40px }
  .section_rooms .wrap_content .vertical_title { top: -40px }
  .section_wellness .vertical_title { left: -70px }
  .section_experience .vertical_title { left: -120px }
  .section_rooms .wrap_content .vertical_title {transform: rotate(-90deg) translateX(0); left: -120px; transform-origin: left;}
  .wrap_content_right { width: 100%; left: calc(50% - 960px / 2); }
  .section_wellness .wrap_content_right { width: 100%; left: calc(50% - 960px / 2); }
  .section_wellness .wrap_content_right .ztemplate_model_6 { width: calc(50% + 960px / 2);}
  .section_gallery .gallery_wrap .vertical_title { left: -70px; top: 50px }
  .next_room .vertical_title { right: calc(85% - 970px / 2); left: unset; top: 287px }
  .ztemplate_model_6 .row .box .elem .caption-cnt .caption img { max-height: 700px; object-fit: cover; }

  #page .section_link.tal { text-align: left; }
  .section_price .zinput { display: flex; align-items: center; }
  .section_price .zinput .fieldvalue { margin-left: 10px; padding: 0 10px; background-color: #c9c7a6; color: var(--white); }
  .section_availability { font-size: 14px; margin-top: 20px; display: flex; align-items: center; }
  .section_availability .zinput { display: inline-flex;}
  .section_availability .fieldkey { margin-right: 5px}

  /* newsletter */
  .newsletter_cnt { display: flex; justify-content: center; background-color: var(--color2)33; width: calc(50vw + 30px); margin: 80px auto 80px auto; padding: 30px; flex-direction: column; }
  .newsletter_cnt .form_cnt { background-color: unset; margin: 0px; }
  .newsletter_cnt .form .form-title  { display: block; margin-bottom: 15px; font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--font-size-lg); color: var(--color3); text-align: left; letter-spacing: 0; width: 100%; text-align: center; }
  .newsletter_cnt .form_cnt .caption-fields { background-color: unset; box-shadow: unset; padding-bottom: 10px; }
  .newsletter_cnt #showprivacy .privacy_field .privacy_field_val { margin-top: 7px; }
  .newsletter_cnt form #showprivacy .privacy_field label { align-content: flex-start; align-items: flex-start; }
  .newsletter_cnt .form_cnt form .form_messages {  }
  .newsletter_cnt .form_cnt form .form_messages .message { color: var(--color3); background-color: unset; }
  .newsletter_cnt .form_cnt form .caption-fields .select { width: 50%}
  .newsletter_cnt .form_cnt form .caption-fields .select .html_select .current_value { text-align: left;padding: 8px; font-size: 20px; text-transform: inherit; position: relative;}
  .newsletter_cnt .form_cnt form .caption-fields .select .html_select .current_value:after { width: 53px; height: 48px; background-color: #F7F7F7; font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 22px; color: #968980; text-transform: lowercase; text-align: center; line-height: 48px; letter-spacing: 0; content: "\f0d7"; position: absolute; right: 0; top: 0; z-index: 2}
  .newsletter_cnt form .caption-fields .form.field.select .form_select .elements_list { background-color: rgb(55, 85, 65); padding: 5px; bottom: inherit; width: 100%; height: 400px; overflow: scroll;}
  .newsletter_cnt .form_cnt form .caption-fields .select .html_select .elements_list .option { padding: 5px; text-align: left; font-size: 18px}
  .newsletter_cnt .form .date_from_html .month_name_tiny {display: block; margin: 0 15px}
  .newsletter_cnt .form_cnt form .caption-fields .date .date_from_html .year {margin-right: auto}
  .newsletter_cnt .form .date_from_html  { padding-left: 15px}
  .newsletter_cnt  .form_cnt form .caption-fields .element_8, .newsletter_cnt  .form_cnt form .caption-fields .element_9, .newsletter_cnt  .form_cnt form .caption-fields .element_-2 { width: calc(100% / 3)}
  .form_cnt form .caption-fields #showprivacy .privacy label input { margin-top: 0}
  .form_cnt form .caption-fields #showprivacy .show_privacy a { color: var(--color1);  text-decoration: underline !important; text-decoration-thickness: 1px !important;}
  form .newsletter label p { margin-bottom: 0; line-height: 1.5; }

  /* privacy */
  .privacy_cnt { display: flex; justify-content: center; align-items: center; align-content: center; padding: 20px; flex-wrap: wrap; flex-direction: column; gap: 10px; }
  .privacy_cnt a { margin: 0px; }
  #varlink_user_privacy {}
  #varlink_pet_privacy {}
  .privacy_cnt a {color: var(--white) !important; text-transform: uppercase !important; font-weight: var(--font-weight-bold) !important; font-size: 12px !important; letter-spacing: 2px; background-color: transparent !important; border: none !important; box-shadow: none !important;}

  /* page error */
  #page_error .cnt-message { display: flex; position: fixed; width: 50%; z-index: 999; background-color: var(--white); left: 25%; top: 25%; padding: 40px; font-size: 16px; line-height: 20px; text-align: center; justify-content: center; color: #385541; }
  #page_error .cnt-message .caption .close { position: absolute; top: 10px; right: 10px; }
  /* Configurazione per RWD */

  @media (max-width: 1420px) {


  }


  @media (max-width: 1439px) {
	  .ztemplate_model_6 .row .box .elem .caption-cnt .caption-alt {max-width: 550px}
	  .newsletter_cnt { width: 90%; margin: 60px 0px 0px 0px; }
	  footer { margin-top: 0px; }
    .wrap_content {max-width: 880px;}
    header .section_menu_btn span {display: none;}
    .ztemplate_model_3 .row .box .elem .caption-cnt .caption img {opacity: .7; min-width: 800px;}
    .ztemplate_model_3 .row .box .elem { min-width: 800px; }
  }

  @media (max-width: 1240px) {
	  .ztemplate_model_6 .slick-prev {top: -30px!important; right: 100%}
	  .ztemplate_model_6 .slick-next {top: -30px!important; right: calc(100% - 150px)}
  }


  @media (max-width: 1199px) {

	  .wrap_content {max-width: 760px}
	  .ztemplate_model_3 .row .box .elem {width: 3%}
	  .ztemplate_model_5 { top: -30px }
	  .section_restaurant .wrap_content .vertical_title {right: -340px}
	  .section_intro .section_tips { bottom: -200px }
	  .section_offers {margin-top: 270px}
	  .ztemplate_model_7 .row .box .elem.fired { transform: unset; }

	  footer .section_central {width: 25%}
	  footer .section_first { padding-right: 30px; width: 35% }
	  footer .section_last { padding-left: 30px; width: 35% }
	  .section_rooms .wrap_content .vertical_title { top: 50px }


  }

  @media (max-width: 1024px){
	  .slideshow_cnt .section_caption .section_text h2 {font-size: 28px}
	  .slideshow_cnt .section_caption .section_text p {font-size: 20px}
	  .slideshow_cnt .section_caption {bottom: 60px}
	  .slideshow_cnt .scroll_btn {bottom: 0}
	  .slideshow_cnt .scroll_btn:before {font-size: 26px}
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .title a {font-size: 32px}
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .zinput .fieldvalue {font-size: 18px}
	  .section_experience .vertical_title {left: -190px; text-align: center;}
  }

  @media (max-width: 1023px){
	  .ztemplate_model_8 .row .box .elem {width: 100%}
	  .ztemplate_model_8 .row .box .elem:nth-child(3) .caption-cnt .caption img {max-height: unset; object-fit: contain;}

	  #page .section_content .main_content .col_cnt .sx { width: 100%; }
	  #page .section_content .main_content .col_cnt .dx { width: 100%; margin-top: 40px; }

	  #page.page_offer .section_content .main_content .col_cnt .sx { text-align: left; }
	  #page.page_offer .section_content .main_content .col_cnt .dx { text-align: left; }



  }

  @media (max-width: 960px){
	  .section_offers .section_title { font-size: 32px }
	  .vertical_title {transform: unset!important; left: 0!important; margin: 20px 0; position: relative!important; font-size: 32px;}
	  .section_rooms .wrap_content .vertical_title { margin-bottom: 0 }
	  .section_restaurant .wrap_content .vertical_title {display: none;}
	  .ztemplate_model_1 { padding-top: 0 }
	  .wrap_content_right {width: 100%}
	  .section_wellness .vertical_title { margin: 40px 0 15px 40px; }
	  .section_intro .section_tips { position: relative;bottom: 0; left: 0; margin: 30px 0; width: 100% }
	  .section_offers {margin-top: 60px}
	  header .section_quicklinks > div a:before { font-size: 18px!important; line-height: 18px!important; }
	  header .section_quicklinks > div {margin: 10px 5px}
	  .ztemplate_model_6 .slick-prev {top: -30px!important; right: 150px}
	  .ztemplate_model_6 .slick-next {top: -30px!important; right: 15px}
	  .section_intro .vertical_title { top: 0; margin-bottom: 15px }
	  .section_rooms .wrap_content .vertical_title { top: 0 }
	  .wrap_content_right { left: 0 }
    .section_wellness .wrap_content_right { left: 0 }
    .section_wellness .wrap_content_right .ztemplate_model_6 {width: 100%;}
	  .next_room .vertical_title { top: 0; padding: 0 }
  }

  @media(max-width: 820px){
	  .ztemplate_model_7:before {width: 100%; left: 0; }
	  .ztemplate_model_7 .slick-dots {right: 15px}
	  .section_experience .section_intro {}
	  .ztemplate_model_7:before {top: -10px}
	  .ztemplate_model_7 .slick-dots {top: -40px}
  }

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

  @media (max-width: 768px) {

	  header .head_logo img { transform: scale(.5) translateY(-110px); filter: unset;}
	  .ztemplate_model_1 .row .box .elem .caption-cnt .caption {display: none;}
	  .ztemplate_model_1 .row .box .elem .caption-cnt .caption-alt {width: 100%; padding: 0}
	  .section_intro .vertical_title { padding: 0; margin-bottom: 15px }
	  .section_offers .section_text {padding-left: 0}
	  .ztemplate_model_3 .row .box .elem { width: 100%; opacity: 1 }
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt {opacity: 1}
	  .ztemplate_model_4 .row .box .elem .caption-cnt .caption {flex-direction: column;}
	  .ztemplate_model_4 .row .box .elem .caption-cnt .caption .ztextarea {width: 100%}
	  .ztemplate_model_5 .row .box .elem .caption-cnt {flex-direction: column;}
	  .ztemplate_model_5 .row .box .elem .caption-cnt .caption {width: 100%; top: unset;}
	  .section_restaurant .section_logo { width: 100%; padding: 40px 0px; text-align: center; position: relative; top: unset; right: unset; z-index: 0; }
	  .section_restaurant .section_logo img { width: 100%; height: auto; max-height: 25vh; }
	  footer .wrap_content_big {flex-direction: column;}
	  footer .section_central {order: 1; width: 100%}
	  footer .section_first {order: 2; width: 100%; padding: 15px; text-align: center;}
	  footer .section_last { order: 3; width: 100%; padding: 15px }
	  footer .section_first h2 {text-align: center;}
	  footer .section_first > div a {text-align: center!important;}
	  footer .section_last .credits {text-align: center; border-bottom: none;}
	  body.home { padding-top: 120px }
	  .newsletter_cnt .form_cnt form .caption-fields .element_8, .newsletter_cnt .form_cnt form .caption-fields .element_9, .newsletter_cnt .form_cnt form .caption-fields .element_-2 { width: 100%}
	  .newsletter_cnt .form_cnt form .caption-fields .text { width: 100%}






  }

  @media (max-width: 768px) {
    .ztemplate_model_3 .row .box .elem .caption-cnt .caption img { min-width: unset;}
    .ztemplate_model_3 .row .box .elem { min-width: unset; }

	  .header_alert { position: fixed; top: 0; width: 100% }
	  body.body_alert header { margin-top: 36px }
	  .header_alert a { font-size: 10px }
	  body.body_alert .menu_open { padding-top: 150px }
	  .menu_open { left: -100%; width: 100% }
	  .menu_open.fired { left: 0 }

	  .vertical_title {font-size: 30px}


	  #page .section_intro { flex-direction: column; }
	  #page .section_intro > div { width: 100%!important; padding: 0 25px 25px; }

	  .ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt .zsimplebutton { position: relative; transform: unset; top: 0; right: 0; padding-left: 50px;  }
		.ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt {padding: 15px 15px 30px; width: calc(100% - 30px)}
		.ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt .title a { max-width: 100% }
	  .ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt {min-height: unset;}

		header .section_quicklinks { margin-left: 15px }
		header .section_menu_btn span {display: none;}
		header, header.scrolled, body:not(.home) header { background-color: var(--white); padding: 0 15px; align-items: center; height: 90px; }
		header .head_logo img, header.scrolled .head_logo img { transform: scale(0.7) translateY(-20px); max-width: 215px; height: 100px; width: auto; margin-top: 10px; }
		header .head_logo {width: 100%}
		header .head_logo {height: 90px; position: absolute; z-index: 1; left: 0; right: 0; margin: 0 auto;}
		header .section_quicklinks { position: absolute; left: calc(100vw - 140px); margin-right: 0px; margin-left: 0px; }
		header .section_quicklinks > div a:before { font-size: 22px !important; }
		header .section_quicklinks > div { margin: 10px 0px 10px 20px; }
		header .section_quicklinks > div.mail_btn {}
		header .section_quicklinks > div.offers_btn { display: none; }
	  body, body.home {padding-top: 140px}
	  header .booking_section { position: absolute;top: 90px; left: 0; width: 100%; text-align: center; }
	  header .booking_btn .wrap_content {padding: 0; width: 100%}
	  header .booking_section .booking_btn {width: 100%; text-align: center;}
	  header .section_menu_btn { position: relative; z-index: 2}
	  .language_cnt { width: auto;}

    header .section_menu_btn span {color: var(--black);}
    header .language_cnt #language_btn {color: var(--black);}
    header .section_quicklinks .mail_btn a:before {color: var(--color1);}
    header .section_quicklinks .phone_btn a:before {color: var(--color1);}
    header .section_quicklinks .social a:before {color: var(--color1);}
    header .head_logo img {filter: unset;}

	  .menu_open { padding-top: 150px }


	  .ztemplate_model_2 .row .box .elem .caption-cnt .caption-alt { left: 0; top: 0; max-width: unset; }

	  .slideshow_cnt .scroll_btn {display: none;}
	  .slideshow_cnt .section_caption {left: 15px; bottom: 25px}
	  .slideshow_cnt .section_caption .section_text h2 {font-size: 18px}
	  .slideshow_cnt .section_caption .section_text p {font-size: 16px}
	  .slideshow_cnt #slideshow .slick-dots li.slick-active button,
	  .slideshow_cnt #slideshow .slick-dots li button {width: 7px; height: 7px}
	  .slideshow_cnt #slideshow .slick-dots {left: 0; right: 0; bottom: 10px; text-align: center;}
    #booking {justify-content: flex-start;}
	  .booking_logo {display: none;}
	  .booking_open {padding-top: 140px}
	  .booking_open .section_text { margin: 0px }
	  .booking-form form .caption-fields {min-width: unset;}
	  .booking-form form .caption-fields .text.element_41 {position: relative; top: 0; right: 0; width: 100%}
	  .booking-form form .caption-fields .text.element_41 input[type=text] {width: 100%}
	  .booking-form form .caption-fields .date {width: calc(50% - 2px)}
	  .booking-form form .caption-fields .select .html_select .current_value {font-size: 30px}
	  .booking-form form .caption-fields .child_age_cnt.fired {margin-bottom: 20px}
	  .booking-form form .caption-fields input[type="submit"] {margin-top: 0}
	  .booking_open .booking_footer {flex-direction: column; margin-top: 15px}
	  .booking_open .booking_footer > div {margin: 5px}
	  .booking-form form .caption-fields .select {width: calc(50% - 2px)}
	  .booking-form form .caption-fields .select_wrap.child_age.show { width: 50px; padding: 10px 0 0}
	  .booking-form form .caption-fields .child_age_cnt {padding-left: 70px}

	  .ztemplate_model_3 .slick-prev:before, .ztemplate_model_3 .slick-next:before { top: inherit; bottom: -40px }
	  .ztemplate_model_3 .slick-next:before {right: 15px}
	  .ztemplate_model_3 .slick-prev:before { left: 15px }
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .title a {font-size: 32px}
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .zinput .fieldvalue {font-size: 14px}
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .zinput .fieldkey {font-size: 14px}
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt .title { margin-bottom: 5px }
	  .ztemplate_model_3 .row .box .elem .caption-cnt .caption-alt {left: 15px; bottom: 15px}
	  .ztemplate_model_3 {margin-bottom: 80px}

	  .ztemplate_model_6 .row .box .elem .caption-cnt .caption-alt {left: 0; top: 0; max-width: unset;}
	  .ztemplate_model_6 .slick-dots { bottom: 0px; }
	  .section_wellness .vertical_title { margin: 40px 0 15px 15px; padding-left: 0 }

	  .ztemplate_model_5 { top: 0 }
	  .ztemplate_model_5 .row .box .elem .caption-cnt .caption {padding: 15px; order: 2}
	  .ztemplate_model_5 .row .box .elem .caption-cnt .caption-alt { order: 1; width: 100% }
	  .section_restaurant {margin-top: 60px; margin-bottom: 60px}
	  .ztemplate_model_5 .row .box .elem .caption-cnt .caption .ztextarea.g2 {margin-top: 15px}

	  #page #page_name { margin-top: 15px }
	  #page { padding-top: 0 }
	  #page .slideshow_cnt { padding: 15px }
	  #page .slideshow_cnt #slideshow img {height: auto;}
	  #page #page_name { }
	  .section_content .section_summary {font-size: 18px; text-align: center;}
	  .wrap_content.has_submenu .section_text {flex-direction: column;}
	  .wrap_content.offers.has_submenu .section_wrap {width: 100%!important}
	  .wrap_content.has_submenu .side_submenu {width: 100%}

	  #page.room .section_content {padding: 15px}

	  .ztemplate_model_10 .row .box .elem {width: 100%}
	  .ztemplate_model_10 .row .box .elem .caption-cnt .caption-alt { min-height: unset; width: calc(100% - 30px) }
	  .ztemplate_model_11 .row .box .elem {width: 100%}
	  .ztemplate_model_11 .row .box .elem .caption-cnt .caption-alt {min-height: unset; width: calc(100% - 30px)}
	  .ztemplate_model_12 .row .box .elem {width: 100%}
	  .ztemplate_model_12 .row .box .elem .caption-cnt .caption-alt {min-height: unset; width: calc(100% - 30px)}

	  .line_btn .zsimplebutton a:before, .line_btn .zlink a:before, .section_link a:before {display: none; }
	  .line_btn .zsimplebutton a, .line_btn .zlink a, .section_link a { background-color: var(--color3); padding: 15px 30px; color: var(--white)!important }
	  .line_btn .zsimplebutton, .line_btn .section_link {padding-left: 0}

	  .section_amenities {flex-direction: column;}
	  .section_amenities .first, .section_amenities .last { width: 100% }
	  .section_amenities .first {text-align: left;}
	  .section_amenities .zcheckbox {width: 100%}

	  footer .section_central .logo img { width: 200px }
	  body:not(.home) header .head_logo img,
	  body.noslide header .head_logo img,
	  body.page_not_found header .head_logo img {transform: scale(0.7) translateY(-20px); max-width: 215px; height: 100px; width: auto; margin-top: 10px;}
    body.smartphone header .head_logo img { margin-top: 4px;}
	  .menu_open.fired {z-index: 1}
	  .wrap_content.has_submenu .section_text .wrap { width: 100%; padding-right: 15px }
	  body:not(.home) .slideshow_cnt { margin-top: 0px; }
	  body.noslide #page .section_top,
	  body.page_not_found #page .section_top { margin-top: 30px }
	  .form_cnt form .caption-fields #showprivacy .show_privacy a {display: inline; line-height: 1}
	  .form_cnt form .caption-fields #showprivacy .show_privacy p { line-height: 1 }
	  .form_cnt form .caption-fields #showprivacy .show_privacy {line-height: 1}
	  form #showprivacy .privacy_field label { align-items: flex-start; }
	  .form_cnt form .caption-fields .email {width: 100%}
	  .form_cnt form .caption-fields .phone {width: 100%}
	  .ztemplate_model_8 .row .box .elem .caption-cnt .caption-alt .zsimplebutton {padding-left: 0}

	  .wrap_content.offers.has_submenu .section_text .text {padding-right: 15px}
	  .wrap_content.has_submenu .section_text .text_dyn {padding-right: 0}
	  .showcase #container_name { font-size: 25px }
	  .form_cnt form .caption-fields .text { width: 100% }
	  form #showprivacy .privacy_field label { display: block; }
	  #showprivacy .privacy_field .privacy_field_val {margin-right: 2px}
	  .form_cnt form .caption-fields #showprivacy .show_privacy, .form_cnt form .caption-fields #showprivacy .show_privacy a {letter-spacing: 0}
	  form .newsletter label {}
	  form .newsletter {margin-top: 15px}
	  .section_rooms .wrap_content .vertical_title { padding: 0 15px }
    .newsletter_cnt { width: 100%; margin: 60px 0px 0px 0px; }

  }

  @media (max-width: 767px){
	  footer .credits.link_credits { position: relative; padding-bottom: 0 ; width: 100%; text-align: center;}
	  footer .section_last {  text-align: center; }
	  footer .section_last .credits { display: flex; flex-direction: column; justify-content: center; align-items: center; }
	  .privacy_cnt { flex-wrap: wrap; }
	  #sound .varsimple { font-size: 0}
	  #sound { left: 10px; bottom: 0px; padding: 0; text-align: left}
	  #sound .varsimple:after { right: inherit;left: 0; font-size: 11px; width: 30px; height: 30px; line-height: 30px}
	  .section_offers .section_caption { margin-left: 0;}
	  .wrap_content_big { padding: 0 15px;}
	  .ztemplate_model_2 .row .box .elem .caption-cnt .caption-alt { padding: 15px;}
	  .section_offers { margin: 90px 0;}
	  .section_rooms { margin-top: 60px; display: flex; flex-direction: column; }
	  .section_rooms .wrap_content { order: 1; }
	  .section_rooms .ztemplate_model_3 { order: 2; }
	  .section_rooms .ztemplate_model_3 .row .box { padding-top: 0; }
	  .section_rooms .ztemplate_model_4 { display: none; }
	  .section_rooms .wrap_content .vertical_title { padding: 0; margin: 0 0 15px 0}
    .section_restaurant { margin-top: 0; }
	  .section_restaurant .wrap_content .vertical_title { display: block; order: 1; padding: 0; margin: 0 0 15px 0; }
	  .section_restaurant .ztemplate_model_5 { display: flex; flex-direction: column;}
	  .section_restaurant .ztemplate_model_5 .ztemplate { order: 2; }
	  .wrap_content_medium { width: 100%; padding: 0; }
	  .section_amenities .wrap_content_medium { flex-direction: column; }
	  .section_gallery .gallery_wrap .vertical_title { top: 0; }
	  .language_cnt { margin: 0 0 0 20px; }
	  body.body_alert header.alert_fix { margin-top: 0;}
	  #page .section_content ul { padding-left: 0;}
	  .ztemplate_model_12 .ztemplate { padding: 0!important; }
	  .ztemplate_model_12 .row .box .elem .caption-cnt .caption-alt { padding: 15px;}
	  .wrap_content.offers.has_submenu .section_wrap { padding-right: 0; }
	  .section_price .zinput { justify-content: center; }
	  .section_availability { justify-content: center; margin-top: 5px; }
	  #page .section_top { margin-top: 15px; }
	  #page .section_content ul { text-align: center;}
	  .wrap_content.has_submenu .section_text .wrap { padding: 0; }
	  .documents { padding: 10px 0; }
	  .documents .document { padding: 0; width: 100%; }
	  .documents .document a { display: block;}
	  .wrap_content.has_submenu .side_submenu { margin-top: 30px; }
    img.left, img.tight { margin: 0 0 20px!important; }
    #page .section_content .section_summary .top_seo { text-align: center; }
    #page .section_intro .section_first .top_seo { margin-bottom: 30px; margin-top: 15px; }
  }

  @media (max-width: 640px){
	  .section_gallery {margin-top: 0}
	  .section_gallery .gallery_wrap {width: 100%}
	  .section_gallery .gallery_wrap .vertical_title {text-align: center; padding-left: 0}
	  /*
	  .section_gallery .gallery ul li {display: inline-block; width: calc(100% - 20px); margin: 10px}
	  */
	  .section_gallery .gallery ul li {display: inline-block; margin: 10px}
	  .next_room { margin-top: 0 }
	  .next_room .vertical_title { width: 100%; margin: 0; padding: 30px 0 15px; }
	  .ztemplate_model_9 .row .box .elem .caption-cnt {flex-direction: column;}
	  .ztemplate_model_9 .row .box .elem .caption-cnt .caption img {height: auto;}
	  .ztemplate_model_9 .row .box .elem .caption-cnt .caption-alt {padding: 0}

	  .ztemplate_model_6 .slick-prev {top: 100%!important; right: inherit; left: 15px}
	  .ztemplate_model_6 .slick-next {top: 100%!important; right: 20px}
	  .section_content { text-align: center; }
	  .section_content .side_submenu .submenu_title {text-align: center;}
	  .section_content .side_submenu {text-align: center;}
	  .booking-form form .caption-fields .text.element_13 input[type=text] { width: 320px }
	  .booking-form form .caption-fields .date .form_element_title {text-align: center;}
	  .booking-form form .caption-fields input[type="submit"] {width: 100%}
	  .booking-form form .caption-fields .text .form_element_title {text-align: center;}

	  .section_intro .section_tips { padding: 0 15px 15px }
	  #page #page_name { text-align: center; padding: 0 }

  }

  /* iPad landscape | Kindle landscape width: 1024px */
  @media (min-width: 980px) and (max-width: 1199px) { }

  /* Large Desktop */
  @media (min-width: 1200px) { }
  @media (min-width: 1680px) { }

   /* Regole per display ad alta densitÃƒÂ  */
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5),
  only screen and (-o-min-device-pixel-ratio: 3/2),
  only screen and (min--moz-device-pixel-ratio: 1.5),
  only screen and (min-device-pixel-ratio: 1.5) {
  }

  /* FIX */
  .page.showcase .section_summary #container_summary p:has(:not(strong)) { text-transform: none; font-size: 18px; margin-top: 20px; line-height: 22px; font-family: var(--sans); }
  footer .footer_bottom .wrap_content_big {max-width: 100%; padding: 5px 15px;}

  .smartphone header.section_hidden .section_menu_btn, .smartphone header.section_hidden .head_logo {opacity: 1; visibility: visible;}
  .smartphone header.section_hidden,.smartphone header.scrolled.section_hidden {background-color: var(--color2) !important;}

  .smartphone .booking-form form .caption-fields .guests_wrapper.fired, .smartphone .booking-form .ibe_search_wrapper.fired .ibe_search_box {width: 380px;}
  .smartphone .booking-form form .caption-fields .select .form_element_title {font-size: calc(var(--size-base) - 4px);}
  .smartphone .template_calendar.cal-open {padding: 20px;}

  .smartphone .gallery .slick-next:before {left: inherit; right: 20px;}
  .smartphone .gallery .slick-prev:before {left: 20px;}
  .smartphone .ztemplate_model_2 #template21 .row .box .elem .caption-cnt .caption img {max-height: 300px;}
  /*
  .ztemplate_model_7 .row .box .elem:not(:has(ul > li > a)) {display: none;}
  */
  #page.page_offer .g8.offer_ex_id {display: none;}
  #page.room .section_amenities .first:not(:has(div)) {width:0%; padding:0px}

  .newsletter_cnt .close_news {display: none;}
  .body_home .header_newsletter {display: none;}
  .header_newsletter {width: 100%; padding: 50px 0px; background-color: #3855421e; display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 100px}
  .header_newsletter #varsimple_newsletter_intro { display: block; margin-bottom: 15px; font-family: var(--serif); font-weight: var(--font-weight-normal); font-size: var(--font-size-lg); color: var(--color3); text-align: left; letter-spacing: 0; width: 100%; text-align: center; }
  .header_newsletter #varsimple_newsletter_button { width: fit-content; background-color: var(--color3); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 15px; color: var(--white); text-transform: uppercase; text-align: center; line-height: 20px; letter-spacing: 1px; padding: 15px 30px; cursor: pointer;}
  .body_home .newsletter_cnt {display: block;}
  body:not(.body_home) .newsletter_cnt {display: none;}
  body:not(.body_home) .close_news {display: block;}
  body:not(.body_home) .close_news:before {position: absolute ; font-family: var(--font-icon); content: '\f00d'; margin-right: 10px; top: 25px; right: 25px; font-size: var(--font-size-sm); cursor: pointer; color: var(--color1);}
  body:not(.body_home) footer {margin-top: 0px;}
  body:not(.body_home) .newsletter_cnt.fired { display: block; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: var(--white); z-index: 9999; padding: 40px;margin:0; overflow: hidden; }

  .smartphone .ztemplate_model_9 .row .box .elem .caption-cnt .caption-alt .title {text-align: center; margin-top: 25px;}
  .smartphone .ztemplate_model_9 .row .box .elem .caption-cnt .caption-alt .zsimplebutton {text-align: center;}

  .ztemplate_model_2 #template21 .row .box .elem .caption-cnt .caption img {max-height: 630px; object-fit: cover; height: revert-layer;}
body.body_camera .section_content .section_text .g3 .fieldkey.f3 {display: none;}
.section_intro {margin-bottom: 50px;}

.back_to_rooms {display: flex; justify-content: center; margin-top: 50px; margin-bottom: 50px;}
.back_to_rooms #varlink_back_to_rooms-cnt{width: fit-content; background-color: var(--color3); font-family: var(--sans); font-weight: var(--font-weight-normal); font-size: 15px; text-transform: uppercase; text-align: center; line-height: 20px; letter-spacing: 1px; padding: 15px 30px; cursor: pointer;}
.back_to_rooms #varlink_back_to_rooms-cnt a { color: var(--white) !important;}

#page_error .cnt-message {display: flex; position: fixed; width: auto; z-index: 999; background-color: transparent; left: 50%; top: 25%; padding: 40px; font-size: 16px; line-height: 20px; text-align: center; justify-content: center; color: #385541; transform: translate(-50%, 0); min-width: 300px;}
#page_error .cnt-message .caption .close {right: unset;}
#top_seo {padding-bottom:15px}
.smartphone .section_intro {margin-bottom: 20px;}
.smartphone #page .section_content .f3 ul {text-align: left !important; padding-left: 30px !important;}
.smartphone .ztemplate_model_6 .slick-dots {left: 25px}
.smartphone .ztemplate_model_6 .row .box .elem .caption-cnt .caption-alt {box-shadow: none;}
.social .socialnet.facebook a:before { font-family: var(--font-icon-alt); font-weight: var(--font-weight-normal); font-size: 20px; content: "\f082"; color:var(--white) }
.social .socialnet.instagram a:before { font-family: var(--font-icon-alt); font-weight: var(--font-weight-normal); font-size: 20px; content: "\f16d"; color:var(--white) }

/* gallery 2 fix */

#page .gallery.no-carousel ul {display: flex; justify-content: center;}
#page .gallery_wrap:has(.no-carousel) .vertical_title {left: 20%;}
@media (max-width: 1440px){
  #page .gallery_wrap:has(.no-carousel) .vertical_title {left: 10%;}
}
#page .gallery_wrap:has(.no-carousel) {width: 100%;}


#page.gallery-explode .gallery ul {flex-wrap: wrap; gap: 15px; padding: 0px;}
#page.gallery-explode .gallery ul li { width: calc(calc(100% / 3) - 10px); margin: 0;}
@media (max-width: 1200px){
  #page.gallery-explode .gallery ul li { width: calc(calc(100% / 2) - 10px); margin: 0;}
}
@media (max-width: 769px){
  #page.gallery-explode .gallery ul li { width: calc(calc(100% / 1) - 10px); margin: 0;}
}

.ztemplate_model_7 .row .box .elem .caption-cnt .caption:before {background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #0000003b 100%); transition: 0.3s;}
.ztemplate_model_7 .row .box .elem:hover .caption-cnt .caption:before {background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000000 100%); transition: 0.3s;}
.ztemplate_model_7 .row .box .elem .caption-cnt .caption-alt {z-index: 3;}
.slick-dots li.slick-active button {opacity: 0.5;}
.smartphone .ztemplate_model_7 .row .box .elem .caption-cnt .caption-alt {bottom: 0; z-index: 10;}
.smartphone .ztemplate_model_7 .row .box .elem .caption-cnt .caption:before { background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000000 100%); transition: 0.3s; }
.smartphone .header_newsletter {margin-top: 20px;}
/* temporaneo
#language {display: none;}
.language_cnt #language_btn:after {display: none;}
.language_cnt #language_btn {cursor: unset;}
*/

body:not(.body_home) header { background-color: var(--white); padding: 15px 30px; align-items: center; box-shadow: 0px 0px 10px 0px #00000017;}
body:not(.body_home) header.section_hidden {box-shadow: none;}
body:not(.body_home) header .head_logo { height: 90px; }
body:not(.body_home) header .head_logo img { transform: scale(.8);/* filter: invert(1);*/ height: -webkit-fill-available;}
body:not(.body_home) header .section_menu_btn span {color: var(--black);}
body:not(.body_home) header .language_cnt #language_btn {color: var(--black)}
body:not(.body_home) header .language_cnt #language_btn:after {color: var(--color3)}
body:not(.body_home) header .section_quicklinks .mail_btn a:before {color: var(--color1);}
body:not(.body_home) header .section_quicklinks .phone_btn a:before {color: var(--color1);}
body:not(.body_home) header .section_quicklinks .social a:before {color: var(--color1);}
body:not(.body_home) header .head_logo img {filter: unset;}


/* modifica amienities camere */
.section_amenities {border: none; background-color: transparent;}
.section_amenities .last {background-color: #f9f9f9; border: 1px solid var(--color1);}
.section_amenities .wrap_content_medium {width: 100%; max-width: 1200px; padding: 0 30px;}
.section_amenities .zcheckbox {column-gap: 20px; row-gap: 15px; justify-content: center;}
.section_amenities .zcheckbox .fieldkey {text-align: center;}
.section_amenities .zcheckbox .fieldvalue {border: none; width: calc(100% / 7 - 20px); font-size: calc(var(--font-size-xs) + 2px); line-height: 1.2; text-align: center; display: flex; flex-direction: column; align-items: center;}
.section_amenities .zcheckbox .fieldvalue:before {font-family: var(--font-icon); font-size: 32px; color: var(--color1); font-weight: var(--font-weight-light); padding: 25px 0;}
.section_amenities .zcheckbox .fieldvalue.v13:before {content: '\f8f4';}
.section_amenities .zcheckbox .fieldvalue.v14:before {content: '\e026';}
.section_amenities .zcheckbox .fieldvalue.v15:before {content: '\e002';}
.section_amenities .zcheckbox .fieldvalue.v16:before {content: '\e13f';}
.section_amenities .zcheckbox .fieldvalue.v17:before {content: '\e136';}
.section_amenities .zcheckbox .fieldvalue.v33:before {content: '\f553';}
.section_amenities .zcheckbox .fieldvalue.v34:before {content: '\f26c';}
.section_amenities .zcheckbox .fieldvalue.v35:before {content: '\f8f4';}
.section_amenities .zcheckbox .fieldvalue.v36:before {content: '\f2cc';}
.section_amenities .zcheckbox .fieldvalue.v37:before {content: '\f72e';}
.section_amenities .zcheckbox .fieldvalue.v38:before {content: '\e06b';}
.section_amenities .zcheckbox .fieldvalue.v39:before {content: '\f7b6';}
.section_amenities .zcheckbox .fieldvalue.v40:before {content: '\e002';}
.section_amenities .zcheckbox .fieldvalue.v41:before {content: '\e51a';}
.section_amenities .zcheckbox .fieldvalue.v42:before {content: '\e4c4';}
.section_amenities .zcheckbox .fieldvalue.v43:before {content: '\f7e2';}
.section_amenities .zcheckbox .fieldvalue.v48:before {content: '\f561';}
.section_amenities .zcheckbox .fieldvalue.v47:before {content: ''; margin-top: 15px; background-image: url(../images/icons/ferro_stiro.svg); background-repeat: no-repeat; background-size: contain; height: auto; width: 40px;}
.section_amenities .zcheckbox .fieldvalue.v45:before {content: '\f898';}
.section_amenities .zcheckbox .fieldvalue.v46:before {content: '\f4b8';}
.section_amenities .zcheckbox .fieldvalue.v44:before {content: '\e136';}
.section_amenities .zcheckbox .fieldvalue.v50:before {content: '\e490';}
.section_amenities .zcheckbox .fieldvalue.v51:before {content: '\e02b';}
.section_amenities .zcheckbox .fieldvalue.v52:before {content: '\f134';}
.section_amenities .zcheckbox .fieldvalue.v53:before {content: '\f2cc';} 
.section_amenities .zcheckbox .fieldvalue.v54:before {content: ''; margin-top: 15px; background-image: url(../images/icons/grill-hot-light-full_blue.svg); background-repeat: no-repeat; background-size: contain; height: auto; width: 40px;} 
.section_amenities .zcheckbox .fieldvalue.v55:before {content: '\f7d8';}
.section_amenities .zcheckbox .fieldvalue.v56:before { content: '\f1eb'; }
.section_amenities .zcheckbox .fieldvalue.v57:before { content: '\e1eb'; }
.section_amenities .zcheckbox .fieldvalue.v58:before { content: '\f5e7'; }
.section_amenities .zcheckbox .fieldvalue.v59:before { content: '\f287'; font-family: var(--font-icon-alt); }


.smartphone .section_amenities .zcheckbox .fieldvalue {width: calc(100% / 2 - 20px);}

/* fix offerte */
.page_offer .offer_details { display: flex; gap: 5px; flex-direction: column; }
.page_offer .offer_details .fieldvalue.f12 {display: none;}
.page_offer .offer_details .offer_validity:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 15px; color: var(--color3); text-transform: lowercase; text-align: left; line-height: 14px; letter-spacing: 0; content: "\f073"; margin-right: 5px; position: relative; top: -2px }
.page_offer .offer_details .offer_minstay .fieldkey:before { font-family: var(--font-icon); font-weight: var(--font-weight-solid); font-size: 15px; color: var(--color3); text-transform: lowercase; text-align: left; line-height: 14px; letter-spacing: 0; content: "\f8f7"; margin-right: 5px; position: relative; top: -2px }
.page_offer .offer_details .offer_minstay {display: flex; align-items: center;}
.page_offer .offer_details .fieldkey.f12 {display: none;}

/* fix menu desktop */
header:has(.menu_btn.fired) .section_menu_btn span {color: var(--white) !important;}
header:has(.menu_btn.fired) #language_btn {color: var(--white) !important;}
header:has(.menu_btn.fired) #language_btn:after {color: var(--white) !important;}
header:has(.menu_btn.fired) .section_quicklinks a:before {color: var(--white) !important;}

.smartphone #page .section_content .ztemplate_model_11 .row .box .elem ul.caption-cnt {padding-left: 0px !important;}
.smartphone #page.gallery-explode .gallery ul {padding-left: 0px !important;}
.smartphone .submenu #tree > li {display: flex; margin: 5px 0;}
.page_offer .offer_btn {text-align: center;}
.smartphone .menu_open ul li a { font-size: var(--font-size-xl); }
