
input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { opacity:0.9; }
.clear { clear: both; }
.overflow { overflow: hidden; }
.documents, .videos { margin: 20px auto 40px auto; }
.documents .document { margin: 10px; padding: 0  10px 10px 10px; display: block; clear:both; border-bottom: 1px solid #D5D5D5; overflow:hidden; }
.documents .document a { color: var(--secondary-color)}
.documents .document a:before { margin:0px 10px 0px 0px !important; font-family: var(--font-family-ico); font-weight: var(--font-weight-solid); content: '\f56d'; color: var(--primary-color)}
.documents .document .document_size { 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; }
form .caption-fields .form.checkbox label { display: flex; align-items: center;}

#page_error { display: flex; position: fixed; top: 0px; left: 0px; width: 100%; height: 100vh; background-color: rgba(0,0,0,0.75); justify-content: center; align-items: center; z-index: 5000; }
#page_error .cnt-message { background-color: #FFFFFF; padding: 80px; position: relative; top: 50%; left: 50%; transform: translate(-50%); max-width: 820px; text-align: center; }
#page_error .cnt-message .close { position: absolute; top: 10px; right: 10px; cursor: pointer; }
#page_error.none { display: none; }

body { position: relative;}
h1, h2, h3, h4, h5, h6 { margin: 0px; }
* { outline: none; }

/* Da qui specifico */
.pointer { position: absolute; transform-origin: left top; z-index: 9991; width: 120px; height: 120px; background-color: transparent; border: 1px solid var(--primary-color); border-radius: 50%; opacity: .3; transition: .10s; top: 50%; left: 50%; pointer-events: none;}

/* 4guest_landing */
.fourguest_landing .booking_model_1 { opacity: 1; position: relative; background-color: #fff; pointer-events: inherit; z-index: 1;}
.fourguest_landing .booking_cnt { margin: 0 auto;}
.fourguest_landing .offers_btn { margin-right: 15px;}


/* BANDO  */
#bando { padding: 30px 15px}
#bando .container { text-align: center;}
#bando img { width: 100%; max-width: 520px}

/* Messaggi persuasivi */
#persuasive_messages { right: inherit; left: 15px;}
#persuasive_messages .persuasive_message { border: 1px solid var(--primary-color);}
#persuasive_messages h1, #persuasive_messages h2, #persuasive_messages h3, #persuasive_messages h4, #persuasive_messages h5, #persuasive_messages h6 { color: var(--primary-color)}
.persuasive_message .close_message { color: var(--secondary-color)}

header.scrolled #menu_btn .bar, header.noslide #menu_btn .bar { background-color: var(--secondary-color);}
header .col.logo { display: inline-flex; justify-content: center; transition: .3s; opacity: 0; transform: scale(0); pointer-events: none;}
header.scrolled .col.logo, header.noslide .col.logo { opacity: 1; transform: scale(1); pointer-events: inherit;}
header.scrolled, header.noslide { background-color: var(--white); -webkit-box-shadow: 0px 10px 14px -1px rgb(0 0 0 / 8%); box-shadow: 0px 10px 14px -1px rgb(0 0 0 / 8%); }
header.scrolled .col a, header.noslide .col a { color: var(--primary-color); }
header.scrolled .phone a:before, header.noslide .phone a:before, header.scrolled .socialnet a:before, header.noslide .socialnet a:before, header.scrolled .offers_btn a:before, header.noslide .offers_btn a:before, header.scrolled #language_btn:after, header.noslide #language_btn:after { color: var(--secondary-color);}
header.scrolled #language_btn, header.noslide #language_btn { color: var(--primary-color); }
header.scrolled #language a { color: var(--white);}
#language ul { margin: 0}
#language { display: block; position: absolute; top: 0; left: 0; width: 100%; z-index: -1; opacity: 0; pointer-events: none; background-color: var(--secondary-color); padding: 4px 2px; font-size: var(--font-size-mini); transition: .3s}
#language.fired { opacity: 1; top: 100%; pointer-events: inherit; z-index: 1}
#language a { padding-left: 5px}
.booking_btn { cursor: pointer;}
header .col.logo img { max-height: 90px; }

/* Menu */
header #menu_btn.fired .bar { background-color: var(--white)}
header #menu_btn.fired .bar.first { transform: rotate(45deg); top: 50%}
header #menu_btn.fired .bar.central { width: 120%; opacity: 0}
header #menu_btn.fired .bar.last { transform: rotate(-45deg); width: 100%; top: 50%}
header.toggled .phone, header.toggled .social_cnt { display: none;}
.menu_model_1 { display: flex; position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: -1; opacity: 0; pointer-events: none; background-color: var(--custom-color2); color: var(--white); font-size: var(--font-size-medium); text-transform: uppercase; transition: .3s}
body.riviera .menu_model_1 { background-color: var(--primary-color); }
body.maladroxia .menu_model_1 { background-color: var(--primary-color); }
body.portopino .menu_model_1 { background-color: var(--primary-color); }
.menu_model_1:after { content: ''; background-image: url('../images/bg/bg_menu.jpg'); background-size: cover; background-repeat: no-repeat; width: calc(100% - 320px); height: 100%; }
body.carbonia .menu_model_1:after { background-image: url('../images/bg/bg_menu_carbonia.jpg?v=2'); }
body.riviera .menu_model_1:after { background-image: url('../images/bg/bg_menu_riviera.jpg?v=2'); }
body.maladroxia .menu_model_1:after { background-image: url('../images/bg/bg_menu_maladroxia.jpg?v=2'); }
body.portopino .menu_model_1:after { background-image: url('../images/bg/bg_menu_portopino.jpg?v=2'); }
body.portopino header.scrolled #menu_btn.fired .bar, body.portopino header.noslide #menu_btn.fired .bar { background-color: var(--white); }

.menu_logo { position: absolute; top: 60px; right: 60px; z-index: 2}
.menu_logo img { max-width: 120px; }
.menu_model_1.fired { opacity: 1; z-index: 1; pointer-events: inherit;}
.menu_model_1 .nav { padding: 50px 0 0; }
.menu_model_1 .nav > li { margin-bottom: 10px; padding-left: 60px; position: relative}
.menu_model_1 .nav > li:before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 0; height: 2px; background-color: var(--primary-color); content: ''; transition: .3s}
.menu_model_1 .nav > li:hover:before { width: 30px}
.menu_model_1 .nav > li a { display: inline-block;}
.menu_model_1 .nav > li:hover a { color: var(--custom-color1);}
body.riviera .menu_model_1 .nav > li:hover a { color: var(--custom-color3);}
body.maladroxia .menu_model_1 .nav > li:hover a { color: var(--custom-color3);}
body.portopino .menu_model_1 .nav > li:hover a { color: var(--custom-color3);}
.menu_cnt { position: relative; width: 320px; height: 100%}

/* Booking */
.booking_model_1 { display: block; position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: -1; opacity: 0; pointer-events: none; background-color: rgba(0,0,0,.8); transition: .3s }
.booking_model_1.fired { opacity: 1; z-index: 1; pointer-events: inherit;}
.booking_cnt { max-width: 990px; border-bottom: 10px solid var(--primary-color); margin-top: 120px; position: relative; z-index: 2}
.booking_model_1 .form_cnt { background-color: var(--white); padding: 25px; margin-top: 15px}
.form_cnt .section_top { text-transform: uppercase; display: flex; justify-content: space-between; border-bottom: 1px solid var(--grey); padding-bottom: 25px; margin-bottom: 25px}
.advantage h2, .secure_payment  { color: var(--secondary-color); font-size: var(--font-size-medium); }
.booking_model_1 form .caption-fields .field .form_element_title { position: relative; z-index: 2 }
form .caption-fields .field .form_element_title { color: var(--primary-color); font-size: var(--font-size-little); text-transform: inherit; }
.booking_model_1 form .caption-fields { color: var(--secondary-color); display: flex; flex-wrap: wrap; align-items: flex-start;}
.booking_model_1 form .caption-fields .form.field.date .date_from_html, .booking_model_1 form .caption-fields .form.field.date .date_from_html .month_name_tiny { border: unset}
.booking_model_1 form .caption-fields .form.field.date .date_from_html:after { display: none;}
.booking_model_1 form .caption-fields .form.field.date .date_from_html > div { padding: 10px 0 10px 5px; font-size: var(--font-size-little)}
.booking_model_1 form .caption-fields .form.field.date .date_from_html .day { font-size: var(--font-size-extra); padding: 0;}
.booking_model_1 form .caption-fields .form.field.date .date_from_html { align-items: flex-start; position: relative; top: -20px; z-index: 1; width: 100%}
.booking_model_1 form .caption-fields .form.field.date .date_from_html:before { content: ''; position: absolute; width: 100%; height: calc(100% + 40px); z-index: -1; left: 25px; bottom: 0; background-color: var(--grey-lgt)}
.booking_model_1 form .caption-fields .field { width: auto; margin: 0 30px 15px 0}
.booking_model_1 form .caption-fields .field.select { margin-right: 50px}
form .caption-fields .form .hidden_form_element { display: none;}
.booking_model_1 form .caption-fields .field.date { width: 25%}
.en .booking_model_1 form .caption-fields .field.date { width: 22%}
.booking_model_1 form .caption-fields .field.element_7 { display: none;}
.booking_model_1 form .caption-fields .form.field.select .form_select { background-color: unset; font-size: var(--font-size-extra); padding: 0; color: var(--secondary-color); position: relative; border: unset}
.add_selector:before, .remove_selector:before { font-family: var(--font-family-ico); font-weight: var(--font-weight-solid); font-size: var(--font-size-little); cursor: pointer; position: absolute; z-index: 1}
.add_selector.disabled:before, .remove_selector.disabled:before { opacity: .3}
.add_selector:before { content: '\f055'; left: calc(100% + 20px); top: 5px;}
.remove_selector:before { content: '\f056'; left: calc(100% + 20px); top: 35px;}
.booking_model_1 form .caption-fields .form.field.select .form_select .current_value:after { display: none;}
.booking_model_1 form .caption-fields .form.field.select .form_select .current_value { padding: 0; position: relative; z-index: 0; pointer-events: none;}
.booking_model_1 form .caption-fields .form.field.select .form_select .current_value:before { content: ''; position: absolute; width: 50px; height: calc(100% + 40px); z-index: -1; right: -30px; bottom: 0; background-color: var(--grey-lgt)}
.booking_model_1 form .caption-fields .form { float: none;}
.booking_model_1 form .caption-fields .field input { border: unset; background-color: var(--grey-lgt); width: calc(100% + 25px);}
.booking_model_1 form .caption-fields .field.text { width: 25%; margin-bottom: 0; padding-bottom: 0}
.booking_model_1 form .caption-fields .field.text input { height: 43px}
form .caption-fields input[type="submit"] { cursor: pointer; background-color: var(--primary-color); font-family: var(--font-family-sanserif); font-size: var(--font-size-little); margin: 24px 15px 0}
.edit_reservation { margin-top: 35px}
.edit_reservation a{ font-size: var(--font-size-mini); color: var(--primary-color)}

/* Elementi comuni */
.ztemplate .zsimplebutton a { background-color: var(--custom-color2); text-transform: uppercase; padding: 10px 30px; color: var(--white); margin-top: 30px; display: inline-block;}
.ztemplate .zlink a { background-color: var(--custom-color1); text-transform: uppercase; padding: 10px 30px; color: var(--white); margin-top: 30px; display: inline-block;}
.slick-arrow { font-size: 0; width: 40px; height: 40px; border-radius: 100%; border: 2px solid var(--secondary-color); color: var(--secondary-color); background-color: transparent; transition: .3s; cursor: pointer}
.slick-arrow:hover { background-color: var(--secondary-color); color: var(--white);}
.slick-arrow:before { font-family: var(--font-family-ico); font-weight: var(--font-weight-light); font-size: var(--font-size-little); text-align: center; line-height: 35px;}
.slick-prev:before { content: '\f104';}
.slick-next:before { content: '\f105';}
.text_center { text-align: center;}

/* Form contatti */
.form_cnt { clear: both;}
.form_cnt .form_radio { display: flex;}
.form_cnt .form_radio .radio { margin-right: 15px;}
form .caption-fields .form.radio .form_radio .radio .rad:before { background-color: var(--primary-color);}
form .caption-fields .field input, form .caption-fields .field.textarea textarea, form .caption-fields .form.field.select .form_select{ border: unset; border-bottom: 2px solid var(--secondary-color); font-family: var(--font-family-sanserif); }
form .caption-fields .field.textarea { clear: both;}
form .caption-fields .field.select select { position: relative;}
form .caption-fields .field.select select:after { position: absolute; font-family: var(--font-family-ico); font-weight: var(--font-weight-solid); content: '\f0d7'; color: var(--secondary-color)}
form .caption-fields .form.field.select .form_select .elements_list { background-color: var(--primary-color); color: var(--white); font-size: var(--font-size-little); z-index: 9}
form .caption-fields .form.field.select .form_select .elements_list .option { margin: 0 0 10px; padding: 5px; transition: .3s}
form .caption-fields .form.field.select .form_select .elements_list .option:hover { background-color: rgba(255,255,255,.3)}
form #showprivacy .privacy_field { padding-left: 15px}
form #showprivacy p.privacy.flag { margin-bottom: 0;}
#showprivacy .privacy_field .privacy_field_val { margin: 0 5px 0 0;}
form .caption-fields .form.field.select .form_select .elements_list::-webkit-scrollbar-track,
.modal::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); background-color: var(--secondary-color); }
form .caption-fields .form.field.select .form_select .elements_list::-webkit-scrollbar,
.modal::-webkit-scrollbar { width: 12px; background-color: transparent; }
form .caption-fields .form.field.select .form_select .elements_list::-webkit-scrollbar-thumb,
.modal::-webkit-scrollbar-thumb { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); background-color: var(--primary-color); }
form .form_messages .message p { margin-bottom: 0;}
body.maladroxia form#form_23 .form-title { display: block; margin-bottom: 15px;}

/* Gallery */
.page_gallery { position: relative; z-index: 1; text-align: center; padding-top: 30px}
.page_gallery:before { position: absolute; content: ''; background-color: var(--primary-color); height: 50%; width: 100%; top: 0; left: 0; z-index: -1}
.desktop .page_gallery:after { position: absolute; content: ''; width: 320px; height: 547px; background-image: url('../images/bg/bg_element.svg?v=2'); background-repeat: no-repeat; top: 0; right: 0; z-index: -1}
.page_gallery .title_model_1 { color: var(--white); margin-bottom: 90px}
.page_gallery .slick-arrow { position: absolute; z-index: 1}
.page_gallery .gallery { overflow: visible;}
.page_gallery .slick-prev { left: -60px; top: calc(50%)}
.page_gallery .slick-next { left: -60px; top: calc(50% + 50px)}
.page_gallery .gallery ul li { margin: 0 15px}
.wallgallery img { padding: 5px}

/* ztemplate_model_2 */
.ztemplate_model_2 { max-width: 1290px; margin: 60px auto }
.ztemplate_model_2 .title a { text-transform: uppercase; color: var(--secondary-color); font-size: var(--font-size-medium); display: inline-block; margin-bottom: 15px}
.ztemplate_model_2 .elem { margin: 0 20px}
.ztemplate_model_2 .caption-cnt { position: relative; color: var(--white);}
.ztemplate_model_2 .caption-add { position: absolute; z-index: 2; left: 0; bottom: -90px; opacity: 0; width: 100%; background-color: rgba(0,0,0,.5); border-bottom: 10px solid var(--primary-color); padding: 25px 15px 15px 25px; transition: .3s}
.ztemplate_model_2 .elem:hover .caption-add { bottom: 0; opacity: 1}
.ztemplate_model_2 .zsimplebutton a { position: absolute; top: -30px; right: 15px; margin: 0; z-index: 2}
.ztemplate_model_2 .slick-arrow { position: absolute; z-index: 1; left: calc(100% + 30px); }
.ztemplate_model_2 .slick-prev { top: 60px; }
.ztemplate_model_2 .slick-next { top: 110px; }
.ztemplate_model_2.fullwidth { padding: 0}
.ztemplate_model_2.fullwidth .elem { margin: 0 0 90px; overflow: hidden;}

/* ztemplate_model_4 */
.ztemplate_model_4 { margin-top: 150px}
.ztemplate_model_4 .caption-cnt { display: flex;}
.ztemplate_model_4 .caption { width: 50%; padding: 30px}
.ztemplate_model_4 .caption .ztextarea p { margin-bottom: 0}
.ztemplate_model_4 .title a{ font-size: var(--font-size-big); color: var(--secondary-color); text-transform: uppercase; margin-bottom: 10px; display: inline-block;}
.ztemplate_model_4 .caption-alt { position: relative;}

/* Video */
.play_video_btn { position: absolute; z-index: 2; transform: translate( calc(50% + 140px), calc(-150% - 60px) ); width: 120px; height: 120px; border-radius: 100%; background-color: var(--primary-color); cursor: pointer; text-align: center; line-height: 120px;}
.play_video_btn:before { font-family: var(--font-family-ico); font-weight: var(--font-weight-solid); content: '\f144'; font-size: 110px; color: var(--white);}
.play_video_btn .varsimple { color: var(--white); text-transform: uppercase; transform: translateY(-70px); font-size: var(--font-size-little);}

.allianz_insurance { display: flex; align-items: flex-start; flex-direction: column; border-top: 1px solid var(--grey); padding-top: 15px; margin-top: 30px}
.allianz_insurance .vareditor { max-width: 270px}
.allianz_insurance a { text-transform: uppercase; color: var(--primary-color); }
.allianz_insurance:before { content: url('../images/logos/refoundable.me.svg?v=2'); position: relative; margin-right: 15px}
#varlink_allianz_banner-cnt { font-size: 0}
header .allianz_insurance { border: unset; padding: 0; margin: 0; display: none;}
#varlink_allianz_banner-cnt a:before { content: url('../images/logos/refoundable_me_IT.svg?v=2'); position: relative; width: 170px; height: 42px; margin-right: 15px}
body.en #varlink_allianz_banner-cnt a:before { content: url('../images/logos/refoundable_me_EN.svg?v=2'); }
body.fr #varlink_allianz_banner-cnt a:before { content: url('../images/logos/refoundable_me_FR.svg?v=2'); }
body.de #varlink_allianz_banner-cnt a:before { content: url('../images/logos/refoundable_me_DE.svg?v=2'); }



/* ztemplate_model_6 */
.ztemplate_model_6 .caption-cnt { position: relative;}
.ztemplate_model_6 .caption-alt { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); left: 20%; padding: 30px; background-color: rgba(255,255,255,.4)}
.ztemplate_model_6 .title a { text-transform: uppercase; color: var(--secondary-color); font-size: var(--font-size-big); }
.ztemplate_model_6 .ztextarea { text-transform: uppercase; font-size: var(--font-size-little); }

/* ztemplate_model_7 */
.ztemplate_model_7 { margin-bottom: 150px}
.ztemplate_model_7 .ztemplate { display: flex; justify-content: center; align-items: flex-start;}
.ztemplate_model_7 .box { display: flex; flex-wrap: wrap; max-width: 1040px; margin: 90px auto; justify-content: flex-end;}
.ztemplate_model_7 .row-1 { max-width: 720px}
.ztemplate_model_7 .elem { margin: 20px 20px 0}
.ztemplate_model_7 .caption-cnt { position: relative;}
.ztemplate_model_7 .row-1 .caption-alt { position: absolute; z-index: 1}
.ztemplate_model_7 .caption-add { width: 320px; height: 320px; display: flex; flex-direction: column; justify-content: flex-end; padding: 15px; color: var(--white); position: relative; z-index: 2; overflow: hidden;}
.ztemplate_model_7 .title { padding: 15px}
.ztemplate_model_7 .title a { color: var(--secondary-color); font-size: var(--font-size-medium); text-transform: uppercase; }
.ztemplate_model_7 .zsimplebutton, .ztemplate_model_7 .ztextarea { position: relative; z-index: 2}
.ztemplate_model_7 .elem.c28 .caption-add { background-color: var(--green);}
.desktop .ztemplate_model_7 .elem .caption-add:before { transition: .3s}
.desktop .ztemplate_model_7 .elem:hover .caption-add:before { transform: scale(1.2); transform-origin: center}
.ztemplate_model_7 .elem.c28 .caption-add:before { content: url('../images/bg/natura.svg'); position: absolute; left: 0; bottom: 0; z-index: 1;}
.ztemplate_model_7 .elem.c29 .caption-add { background-color: var(--red-lgt);}
.ztemplate_model_7 .elem.c29 .caption-add:before { content: url('../images/bg/sport.svg'); position: absolute; left: 0; bottom: 0; z-index: 1}
.ztemplate_model_7 .elem.c45 .caption-add { background-color: var(--gold-lgt);}
.ztemplate_model_7 .elem.c45 .caption-add:before { content: url('../images/bg/cultura.svg'); position: absolute; left: 0; bottom: 0; z-index: 1}
.ztemplate_model_7 .elem.c46 .caption-add { background-color: var(--blue-lgt);}
.ztemplate_model_7 .elem.c46 .caption-add:before { content: url('../images/bg/mare.svg'); position: absolute; left: 0; bottom: 0; z-index: 1}
.ztemplate_model_7 .elem.c28 .zsimplebutton a { background-color: var(--custom-color2)}
.ztemplate_model_7 .elem.c29 .zsimplebutton a { background-color: var(--custom-color2)}
.ztemplate_model_7 .elem.c45 .zsimplebutton a { background-color: var(--custom-color2)}
.ztemplate_model_7 .elem.c46 .zsimplebutton a { background-color: var(--custom-color2)}
.ztemplate_model_7 .row-2 .title { color: var(--secondary-color); font-size: var(--font-size-big); text-transform: uppercase; padding: 0}
.ztemplate_model_7 .row-2 .ztextarea { text-transform: uppercase}
.ztemplate_model_7 .row-2 .caption { height: 320px; width: 320px; padding: 30px 0 0 30px; display: flex; flex-direction: column; justify-content: flex-end; margin-top: 58px}
.ztemplate_model_7 .row-2 .box { position: relative;}
.ztemplate_model_7 .row-2 .box:after { position: absolute; content: ''; width: 320px; height: 547px; background-image: url('../images/bg/bg_element.svg?v=2'); background-repeat: no-repeat; top: calc(100% + 78px); left: 50px}
.ztemplate_model_7.fullwidth { margin-top: -50px}
.ztemplate_model_7.fullwidth .box { max-width: unset; margin: 0 auto; justify-content: center;}
.ztemplate_model_7.fullwidth .row-1 { max-width: unset}
.ztemplate_model_7.fullwidth .elem { margin-top: 0}

/* Footer */
footer { text-align: center; text-transform: uppercase; margin-top: 90px; clear: both;}
.footer_row { display: flex; align-items: center; justify-content: center; color: var(--secondary-color); margin: 15px auto 0; padding: 0 15px}
.footer_row.contacts { text-transform: initial}
.footer_row .icon { margin: 15px 20px}
.address .varsimple:before { content: '\f3c5'; }
.fax a:before { content: '\f1ac'; }
.mail a:before { content: '\f0e0'; }
.footer_row.bottom {  border-top: 10px solid var(--grey-lgt); padding-top: 15px}
.footer_row.company { font-size: calc( var(--font-size-mini) - 4px );}
.footer_row.company a { text-decoration: underline;}
.partners { color: var(--secondary-color); font-size: var(--font-size-medium); text-align: left; display: flex; justify-content: center; align-items: flex-end; background-color: var(--grey-lgt); padding: 60px 15px}
.partners h2 { font-size: var(--font-size-base)}
.partner_cnt { display: flex; align-items: center; margin-left: 40px}
.partner_cnt .elem { margin: 15px 20px}
.partner_cnt .elem img { height: 95px;}
footer .credits { background-color: var(--secondary-color); padding: 10px 15px; color: var(--white); font-size: calc( var(--font-size-mini) - 2px ); text-transform: initial}
footer .credits p { margin-bottom: 0}
footer .credits .wrap_cnt { display: flex; justify-content: space-between; align-items: center;}
#vareditor_meeting_badge { position: relative; padding-left: 100px}
#vareditor_meeting_badge:before { content: url('../images/logos/meeting_badge.png'); width: 80px; height: 80px; position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); left: 0}
footer .privacy_cnt a { margin: 0 10px}
#bando .varlink a { text-decoration: underline!important;}
.logo_footer { width: 100%; max-width: 120px; height: auto; }

/* Modal */
.modal:not(.modal_dialog) { padding: 15px; top: 0; left: 0; background-color: rgba(0,0,0,.8); width: 100%; height: 100%; z-index: -1; opacity: 0; align-items: center; flex-direction: column; pointer-events: none; transition: .3s}
.modal.fired {display: flex; position: fixed; opacity: 1; z-index: 9999; pointer-events: inherit;}
.close_btn { text-align: right;}
.close_btn > div:before { content: '\f057'; color: var(--white); cursor: pointer; margin: 0}
.modal_cnt { width: 100%; max-width: 920px; margin-top: 90px}
.modal_cnt .modal_content { background-color: var(--white); padding: 30px; border-bottom: 10px solid var(--primary-color); margin-top: 15px}
.modal_cnt .modal_content h2 { color: var(--secondary-color); font-size: var(--font-size-medium); margin-bottom: 30px}
.modal_video .modal_cnt .modal_content { background-color: transparent; border: unset; padding: 0}
.modal_video .modal_cnt { max-width: 1240px;}
/* language */
#language_btn { cursor: pointer; }

header { }

/* Login agenzie */
.ibe_login_btn { padding: 10px 15px; border: 1px solid var(--primary-color); cursor: pointer; }
.ibe_login_btn:before { margin-right: 4px; font-family: var(--font-family-ico); content: '\f007'; font-weight: var(--font-weight-solid); }
.ibe_login_el_title { text-align: left; }
.ibe_login_el { margin-bottom: 15px; }
.ibe_login_el input { padding: 10px; width: 100%; border: unset; border-bottom: 2px solid var(--secondary-color); font-family: var(--font-family-sanserif); background-color: #f9f9f9; font-size: 18px; color: #000;}
.ibe_login_submit { padding: 15px 25px 15px 25px; margin: 24px 0 0; background-color: var(--primary-color); font-family: var(--font-family-sanserif); font-size: var(--font-size-little); cursor: pointer; color: #fff;}
.ibe_logout_section { margin-left: 30px; display: flex; align-items: center;  }
.ibe_login_user { text-transform: initial; }
.ibe_login_user:before { margin-right: 4px; font-family: var(--font-family-ico); content: '\f007'; font-weight: var(--font-weight-solid); }
.ibe_logout_btn:after { margin-left: 4px; font-family: var(--font-family-ico); content: '\f08b'; font-weight: var(--font-weight-solid); }
.ibe_logout_btn { margin-left: 15px; padding: 10px 15px; border: 1px solid var(--primary-color); cursor: pointer; }



/* Smartphone */
.smartphone .menu_model_1:after { display: none;}
.smartphone .menu_logo { top: 20px; right: 20px; filter: brightness(0) invert(1);}
.smartphone footer { padding-bottom: 46px}
.smartphone .form_cnt .section_top { flex-direction: column; align-items: center; text-align: center;}
.smartphone .form_cnt form .caption-fields { padding: 0 10px}
.smartphone .form_cnt form .caption-fields .form { padding: 0 0 20px 0; }
.smartphone .booking_model_1 form .caption-fields .field.date { margin-right: 10px}
.smartphone form .caption-fields input[type="submit"] { width: 100%; margin: 20px auto 0; -webkit-appearance: none; -webkit-border-radius:0;  border-radius:0;}
.smartphone .booking_model_1 form .caption-fields .field input { width: 100%}
.smartphone .booking_model_1 form .caption-fields { text-align: center; padding: 0}
.smartphone .booking_model_1 .form_cnt form .caption-fields .form { padding: 0 15px 20px 15px; }
.smartphone .booking_model_1 form .caption-fields .field.text { width: 100%; margin: 0 0 20px; padding: 0;}
.smartphone .edit_reservation { width: 100%}
.smartphone .ztemplate_model_2 .title a { text-align: center; display: block;}
.smartphone .page_gallery { margin-bottom: 150px}
.smartphone .page_gallery .title_model_1 { margin-bottom: 20px}
.smartphone .page_gallery .slick-arrow { top: calc(100% + 15px);}
.smartphone .page_gallery .slick-prev { left: calc(50% - 40px)}
.smartphone .page_gallery .slick-next { left: calc(50% + 10px)}
.smartphone .amenities { padding: 30px 15px}
.smartphone .amenities ul { flex-direction: column;}
.smartphone .amenities ul li { width: 100%}
.smartphone .page .intro { padding: 30px 0}
.smartphone .nextroom { padding: 0 15px}
.smartphone .nextroom .title_model_1 { text-align: center;}
.smartphone .starred_amenities, .smartphone .starred_amenities .zcheckbox { align-items: flex-start;}
.smartphone .starred_amenities { flex-wrap: wrap;}
.smartphone .ztemplate_model_6 { text-align: center;}
.smartphone .ztemplate_model_6 .title a, .smartphone .ztemplate_model_7 .row-2 .title, .smartphone .ztemplate_model_4 .title a { font-size: var(--font-size-medium);  }
.smartphone .ztemplate_model_2 .caption-add { transition: unset}
.smartphone .ztemplate_model_7 { margin-bottom: 60px}
.smartphone .ztemplate_model_3 { margin-bottom: 150px}
.smartphone .ztemplate_model_3 .slick-arrow { top: calc(100% + 15px);}
.smartphone .ztemplate_model_3 .slick-prev { left: calc(50% - 40px)}
.smartphone .ztemplate_model_3 .slick-next { left: calc(50% + 10px)}
.smartphone .play_video_btn { top: 50%; left: 50%; transform: translate(-50%, -50%) scale(.5);}
.smartphone .tripadvisor_tc { left: 0}



/* Configurazione per RWD */
/* Generic Mobile Devic Tablet */

/* Per altezze */
@media (max-height: 899px){
	.modal { overflow: auto;}
	.booking_cnt { margin-top: 20px}
	.menu_model_1 { font-size: var(--font-size-little); }
}
@media (max-height: 680px){
	.menu_model_1 { font-size: var(--font-size-mini); }
}

@media (max-width: 1599px){
	.ztemplate_model_3.showcase .giftbox .elem { width: calc((100% / 3) - 30px) }
}


@media (min-width: 1441px) {
	.container { width: 1440px; }
}

@media (max-width: 1439px) {
		.page_gallery .wrap_cnt { padding-left: 90px}
}

@media (max-width: 1390px){
	.ztemplate_model_2 .title a { font-size: calc(var(--font-size-medium) - 5px )}
	.ztemplate_model_2 { padding: 0 90px}
}

@media (max-width: 1290px){
	.ztemplate_model_5 .caption-alt, .starred_amenities, .starred_amenities .zcheckbox { font-size: calc(var(--font-size-mini) - 4px ) }
	.ztemplate_model_5 .zinput:before, .ztemplate_model_5 .zcheckbox .fieldvalue:before, .starred_amenities .zinput:before, .starred_amenities .zcheckbox .fieldvalue:before { font-size: var(--font-size-little); }
	.ztemplate_model_5 .zcheckbox .fieldvalue, .ztemplate_model_5 .zinput, .starred_amenities .zcheckbox .fieldvalue { margin: 0 10px}
	.ztemplate_model_5 .title a { font-size: var(--font-size-big); top: -20px}
	.ztemplate_model_5 .ztextarea { font-size: var(--font-size-little); }
	.menu_model_1 { font-size: var(--font-size-little);}
	.menu_model_1 .nav { padding-top: 60px}
	#slideshow .caption h3 { font-size: var(--font-size-medium);}
}

@media (max-width: 1190px){
	.menu_model_1 { font-size: calc( var(--font-size-little) - 4px);}
	.menu_logo { width: 100px}
	.page .intro { padding-top: 30px}
	body.noslide { padding-top: 100px}
	.ztemplate_model_7 .ztemplate { flex-direction: column; align-items: center}
	.ztemplate_model_7 .ztemplate .row-2 { order: 1}
	.ztemplate_model_7 .ztemplate .row-1 { order: 2}
	.ztemplate_model_7 .row-2 .box:after { display: none;}
	.ztemplate_model_7 .box { margin: 0 auto; justify-content: center;}
	.ztemplate_model_7 .row-2 .caption { padding: 0; width: 100%; height: auto; text-align: center;}
	.ztemplate_model_3.showcase .giftbox .elem { width: calc((100% / 2) - 30px) }
	#varlink_allianz_banner-cnt { display: none;}

}

@media (max-width: 1049px){
	header .phone a, header .offers_btn a { font-size: 0}

}

@media (max-width: 1023px){
	.slideshow_cnt .logo_cnt { transform-origin: center; transform: translateY(-50%) translateX(-50%) scale(.6);}
	.ztemplate_model_3 .wrap_cnt { text-align: center}
	.ztemplate_model_3 .ztemplate { padding-left: 90px}
	.ztemplate_model_4 .caption-cnt { flex-direction: column;}
	.ztemplate_model_4 .caption { order: 2; width: 100%}
	.ztemplate_model_4 .caption-alt { order: 1}
	.ztemplate_model_4 { padding: 0 15px}
	.ztemplate_model_5 { width: calc(100% - 30px);}
	.title_model_1, .title_model_1 h1 { font-size: var(--font-size-medium);}
	.slick-dots button { width: 30px}
	#slideshow .slick-dots { left: 0; width: 100%}
	.room_intro { flex-direction: column;}
	.starred_amenities { margin-left: 0}
	.ztemplate_model_2 .caption-add { bottom: 0; opacity: 1}
	.booking_model_1 form .caption-fields .field.date { width: calc(50% - 30px);}
	.en .booking_model_1 form .caption-fields .field.date { width: calc(50% - 30px);}
	.album {width: calc((100% / 2) - 30px)}

}

@media (max-width: 979px) {
	.text_desc.has_submenu { flex-direction: column;}
	.has_submenu .desc_cnt { width: 100%; padding-right: 0}
	.section_submenu { width: 100%; margin-top: 60px}
	.ztemplate_model_3.showcase .elem { width: calc((100% / 2) - 30px); }
}

/* Generic Mobile Devic Phone */
@media (max-width: 480px) { }
@media (max-width: 767px) {
	.ztemplate_model_3.showcase .box { flex-direction: column;}
	.ztemplate_model_3.showcase .elem,
	.ztemplate_model_3.showcase .giftbox .elem { width: 100%; margin: 0 0 60px}
	form .caption-fields .field { width: 100%}
	.footer_row, .partners, footer .credits .wrap_cnt, .partner_cnt, #vareditor_meeting_badge { flex-direction: column; text-align: center; align-items: center;}
	.partners { padding: 30px 15px}
	.partner_cnt { margin: 0}
	#vareditor_meeting_badge { padding-left: 0}
	#vareditor_meeting_badge:before { position: relative; top: 0}
	.booking_model_1 form .caption-fields .field.date { width: 100%; margin-right: 20px}
	.en .booking_model_1 form .caption-fields .field.date { width: 100%; margin-right: 20px}
	.booking_model_1 form .caption-fields .field.select { width: calc(33.333% - 50px);}
	.en .booking_model_1 form .caption-fields .field.select { width: 100%;}
	.booking_model_1 form .caption-fields .form.field.select .form_select .current_value:before { width: 100%}
	.booking_model_1 form .caption-fields .field.text { width: calc(100% - 30px); }
	.album {width: 100%; margin: 0 0 60px}
	.album img { width: 100%}
	.page_gallery .wrap_cnt { padding-left: 0}
	body { padding-bottom: 40px}
	.page .text_desc img.left { width: 100%; margin-right: 0!important;}
}



/* Stile personalizzato Portopino */
body.portopino .footer_row { color: var(--primary-color); }
body.portopino .ztemplate_model_2 .title a { color: var(--primary-color); }
body.portopino .title_model_1, .title_model_1 h1 { color: var(--primary-color); }
body.portopino .ztemplate_model_3 .title a { color: var(--primary-color); }
body.portopino .ztemplate_model_4 .title a { color: var(--primary-color); }
body.portopino .ztemplate_model_7 .title a { color: var(--primary-color); }
body.portopino .partners { color: var(--primary-color); }
body.portopino header.scrolled #menu_btn .bar, body.portopino header.noslide #menu_btn .bar { background-color: var(--primary-color); }
body.portopino .booking_model_1 form .caption-fields { color: var(--grey);}

body.portopino .footer_row.company { color: var(--grey);}
body.portopino footer .credits .wrap_cnt { justify-content: center;}


body.portopino form .form_messages .message { background-color: var(--primary-color);}
/* fix per lingua perché attivo solo italiano */
body.portopino.desktop header { min-height: 95px;}
body.portopino.smartphone .edit_search .varsimple { margin-top: 35px;}
/* body.portopino .language_cnt { display: none;}
body.portopino .booking_btn { margin-right: 0;} */

/* Stile personalizzato Riviera */
body.riviera footer .credits .wrap_cnt { justify-content: center;}

/* Fix smatrphone */
.smartphone .menu_logo img { max-width: 70px; }
