@keyframes slide_in_top{
	0% { opacity: 0; top: 0; left: 0; }
	100% {opacity: 1; top: -20px; left: -20px}
}

@keyframes slide_in_bottom{
	0% { opacity: 0; bottom: 0; right: 0; }
	100% {opacity: 1; bottom: -20px; right: -20px}
}

a { -webkit-transition: all .6s; -moz-transition: all .6s; -o-transition: all .6s; transition: all .6s; }
.text_dyn a, .text_dyn a:hover, .text_dyn a:focus, .text_dyn a:visited { color:#5DB59A; }
.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%; }
.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 { }
.documents .document a:before { margin:0px 10px 0px 0px !important; float:left; }
.documents .document .document_size { float:right; color: #D5D5D5; }
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 */

/* Nascondo il pulsante offerte (quando non ci sono offerte attive) */
header .quick_btns .offers_btn { display: none; }

body { font-family: "BrandonText-Light"; }

/* 404 */
#page.not_found {margin-top: 130px; height: 100vh}

p {margin-bottom: 15px}
.section_link a, .section_btn, .section_btn_link a {padding: 15px 25px}

header {bottom: unset;}

/* Pulsante menu */
header #menu_btn .bars .bar.central {top: calc(50% - 1px)}
header #menu_btn {flex-direction: column;}
header #menu_btn span { color: #fff; margin-top: 5px }

/* logo */
header .section_first #cntlogo { margin: 0 30px }
header .section_first #cntlogo img {height: auto;}

/* language */
#language_btn { cursor: pointer; }
header .language_cnt #language {bottom: unset;}
header .section_first .language_cnt #language_btn {transition: .3s}
header .section_first .language_cnt #language_btn:after {margin-left: 10px; transition: .3s}
header .section_first .language_cnt #language_btn.fired { background-color: #DEEAF7 }
header .section_first .language_cnt #language_btn.fired:after {transform: rotate(180deg);}
header .section_first .language_cnt #language {bottom: unset; top: 0; transition: .3s; z-index: -1}
header .section_first .language_cnt #language.fired {top: 100%; z-index: 2}
header .section_first .language_cnt #language li {margin-bottom: 10px}
header .section_first .language_cnt #language {padding: 0 10px}

/* Quick btns */
header .quick_btns > div { margin: 0 15px }
header .quick_btns *:before { margin-right: 10px }
header .section_last .call_btn a { font-size: 0 }

/* Booking btn */
header .booking_btn {padding: 0 25px; min-width: 190px}
header .booking_btn:before {margin-right: 10px}

/* Booking */
#booking_open {justify-content: center; z-index: -1; opacity: 0; transform: scale(1.4); transition: .3s}
#booking_open.fired { z-index: 99; opacity: 1; transform: scale(1); }
.form .date_from_html .month_name_tiny { display: block; }
#booking_open .booking_wrap .booking-form {margin: 0 auto}
#booking_open .booking_wrap .booking-form form .caption-fields {padding-top: 15px}
#booking_open .booking_wrap .booking-form form .caption-fields .field.element_12 {display: none;}
#booking_open .booking_wrap .booking-form form .caption-fields .date .date_from_html > div { margin: 0 7px; }
#booking_open .booking_wrap .booking-form .close_booking:before { background-color: transparent; width: 0; height: 0; border-style: solid; border-width: 0 70px 70px 0; border-color: transparent #1E4F76 transparent transparent; line-height: 0px; _border-color: #000000 #1E4F76 #000000 #000000; _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000'); }
#booking_open .booking_wrap .booking-form .close_booking { height: 70px; width: 70px; cursor: pointer; right: -15px }
#booking_open .booking_wrap .booking-form form .caption-fields .form.field.select .form_select .remove_selector,
#booking_open .booking_wrap .booking-form form .caption-fields .form.field.select .form_select .add_selector {display: block!important;}
#booking_open .booking_wrap .booking-form form .caption-fields .form.field.select.element_7 { display: none; }
#booking_open .booking_wrap .booking-form form .caption-fields .group_cnt_left { display: inline-flex; flex-wrap: wrap; max-width: 470px }
#booking_open .booking_wrap .booking-form form .caption-fields .group_cnt_right {display: inline-flex;  flex-direction: column; width: 340px; border-left: 1px solid #dedede; padding-left: 40px; }
#booking_open .booking_wrap .booking-form form .caption-fields .text input[type=text] {max-width: 230px}
#booking_open .booking_wrap .booking-form form .caption-fields .form { padding: 0 10px 20px 10px }
#booking_open .booking_wrap .booking-form form .caption-fields .date {}
#booking_open .booking_wrap .booking-form form .caption-fields input[type="submit"] { margin-top: 25px; height: 48px; max-width: 230px }
#booking_open .booking_wrap .booking-form .section_link_edit_reservation {margin-top: 15px}
#booking_open .booking_wrap .booking-form .section_link_edit_reservation { display: none; }
#booking_open .booking_wrap .booking-form .section_link_edit_reservation a:before {margin-right: 7px}
#booking_open .booking_wrap .booking-form form .caption-fields .text input[type=text] { background: #F7F7F7 url('../images/icons/gift_bol.svg') no-repeat scroll 7px 17px; padding-right:40px; background-position: 95%; border: 1px solid #F7F7F7; text-transform: inherit; }
#booking_open .booking_wrap #top {margin-bottom: 30px}



/* Menu */
#menu_open { padding: 120px 0 0 0px; transition: .3s; left: -500px; overflow: hidden; }
#menu_open:after { position: absolute; right: 0; content: ''; top: 0; width: 15px; height: 100%; background-color: #fff; z-index: 2 }
#menu_open.fired { left: 0 }
#menu_open .nav {padding-left: 100px}
#menu_open .nav:before { transform: rotate(-90deg); left: -15px; top: 50px; }
#menu_open .section_menu_bottom {padding-left: 100px}
#menu_open .section_menu_bottom .section_link a {padding: 0}
.dark_layer {transition: .3s; opacity: 0; position: absolute;}
.dark_layer.fired{z-index: 9; opacity: 1; position: fixed;}
.dark_layer.fired.zfired { z-index: 9998; }
header .section_first #menu_btn {transition: .3s}
header .section_first #menu_btn.fired { background-color: #fff }
header .section_first #menu_btn .bars .bar { transition: .3s }
header .section_first #menu_btn.fired .bars .bar { background-color: #1E4F76!important }
header .section_first #menu_btn.fired .bars .bar.central { opacity: 0 }
header .section_first #menu_btn.fired .bars .bar.first { transform: rotate(45deg);  top: 50% }
header .section_first #menu_btn.fired .bars .bar.last { transform: rotate(-45deg);  top: 50% }
#menu_open .nav li a {transition: .3s; transition-delay: .1s; position: relative; display: inline-block;}
#menu_open .nav li a:after {transition: .3s; height: 1px; width: 500px; left: 500px; top: calc(50% + 1px); position: absolute; content: ''; background-color: #64C298  }
#menu_open .nav li:hover a { color: #64C298 }
#menu_open .nav li:hover a:after { left: calc(100% + 15px); }
#menu_open .section_menu_bottom .section_social {margin: 15px 0; text-align: left;}
#menu_open .section_menu_bottom .section_social .socialnet{ display: inline-block; margin: 7px}
#menu_open .section_menu_bottom .section_link {margin-top: 25px}
#menu_open .section_menu_bottom .section_text { margin-top: 30px }
#menu_open .section_menu_bottom .section_text p {margin-bottom: 0}


/* Slideshow */
#slideshow_cnt .logo_big {margin: 0 auto; padding: 60px 0; bottom: unset; top: calc(50% - 90px)}
#slideshow_cnt .logo_big:before {opacity: 0; z-index: -1; background-image: url(../images/bg/top_left.svg); background-repeat: no-repeat; animation: slide_in_top .6s; animation-fill-mode: forwards; animation-delay: 1.5s}
#slideshow_cnt .logo_big:after {opacity: 0; z-index: -1; background-image: url(../images/bg/top_left.svg); background-repeat: no-repeat; transform: rotate(180deg); animation: slide_in_bottom .6s; animation-fill-mode: forwards; animation-delay: 1.5s}
#slideshow_cnt {margin-top: 90px}
#slideshow_cnt #slideshow .slick-dots {padding: 15px 40px}
#slideshow_cnt #slideshow .slick-dots li button {background-color: transparent; transition: .3s}
#slideshow_cnt #slideshow .slick-dots li {margin: 0 4px}

/* Scroll down */
#slideshow_cnt .scroll:after, #slideshow_cnt .scroll:before { margin: 0 auto }

/* Intro */
.section_intro { background-image: url(../images/bg/beach_bg.jpg); background-repeat: no-repeat; background-position: top; background-size: cover; margin-top: 40px; }
.section_intro .section_text {margin: 15px 0 0}

/* Video */
.section_intro .section_video_cnt { margin-top: 40px; background-image: url(../images/bg/palms_bg.png); background-repeat: no-repeat; min-height: 620px; background-position: center;}
.section_intro .section_video_cnt .play_btn:after {padding-left: 5px; margin-left: 10px}
.section_intro .section_video_cnt .section_preview {margin: 0 auto; background-color: #000; background-image: url(../images/bg/video_cover.jpg); background-repeat: no-repeat; background-size: cover;}
.section_intro .section_video_cnt .section_preview .videos { opacity: 0; transition: .3s }
.section_intro .section_video_cnt .section_preview .videos.fired { opacity: 1 }

/* Offerte homepage */
.section_offers .section_cnt .section_first {padding-left: 100px}
.section_offers .section_cnt .ztemplate_model_1 {width: 70%}
.section_offers {padding-bottom: 60px}
.section_allianz { margin-top: 30px }

/* Modal popup vantaggi */
.section_modal_popup { transition: .3s; opacity: 0; z-index: -1 }
.section_modal_popup.fired { z-index: 9999; opacity: 1 }
.section_modal_popup .modal_wrap .modal_cnt .close_modal:before { background-color: transparent; width: 0; height: 0; border-style: solid; border-width: 0 70px 70px 0; border-color: transparent #1E4F76 transparent transparent; line-height: 0px; _border-color: #000000 #1E4F76 #000000 #000000; _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000'); }
.section_modal_popup .modal_wrap .modal_cnt .close_modal { height: 70px; width: 70px; cursor: pointer; top: 0px; right: 0px;  }
.section_modal_popup.advantages .modal_cnt { background-image: url('../images/bg/gift_bg.svg'); background-position: left bottom; background-repeat: no-repeat; }
.section_modal_popup .modal_cnt { max-width: 600px; padding: 90px 70px }
.section_modal_popup .section_text {padding-left: 100px}
.section_modal_popup .modal_wrap .modal_cnt .section_link {padding-left: 130px}

/* ztemplate_model_1 */
.ztemplate_model_1 .ztemplate .row .box .elem { margin: 0 15px 30px; width: calc(33.333% - 30px); display: inline-block; }
.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt {padding: 20px 20px 60px 20px; top: 0; transition: .3s}
.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt .title { width: calc(100% - 120px);}
.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton {margin: 0; bottom: -34px; position: absolute; transition: .4s; left: 0; right: 0;}
.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton a {padding: 15px}
.ztemplate_model_1 .ztemplate .row .box .elem:hover .caption-cnt .caption-alt .zsimplebutton {bottom: 0}
.ztemplate_model_1 .ztemplate .row .box .elem:hover .caption-cnt .caption-alt {top: -40px;}
.ztemplate_model_1 .ztemplate .row .box .slick-track {margin-left: 0}
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabelprice.g6 {height: 60px; top: -40px}

/* Flusso */
.z_pf .ztemplate .row .box .elem .caption-cnt .caption img { cursor: pointer; }
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabelprice.g6 .fieldkey {display: none;}
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.even input.zselection { position: relative; background-color: #1E4F76; font-family: "BrandonText-Bold"; font-size: 14px; color: #FFFFFF; text-transform: uppercase; text-align: center; line-height: 1; letter-spacing: 0; position: relative; cursor: pointer; padding: 15px 30px;}
.product_selection_wrap {position: relative;}
.icon_added_to_cart {position: absolute; right: -20px}
#cart {position: relative; width: 90px; height: 90px; }
#cart a{ width: 90px; height: 90px; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; background-color: #1d4f76 }
#cart #cart_detail { display: none; position: absolute; z-index: 2; top: 100%; left: 0; flex-wrap: wrap; width: 320px; flex-direction: column; background-color: #1c4f76; padding: 15px; color: #fff;}
#cart.opened #cart_detail {display: flex;}
#cart .icon-shopping-cart:before {color: #fff; font-size: 22px}
#cart .qty { background-color: #64c198; width: 20px; height: 20px; border-radius: 100%; text-align: center; line-height: 20px; color: #fff; position: relative; left: 15px}
#cart #cart_detail .product {display: flex; margin-bottom: 10px; align-items: center;}
#cart #cart_detail .product > div { margin-right: 7px }
#cart #cart_detail .product .prod_amount:before {content: '€';}
#cart #cart_detail .product .prod_qty {order: 1}
#cart #cart_detail .product .prod_qty:after { content: 'x' }
#cart #cart_detail .product .product_name {order: 2; font-size: 13px; width: 60%}
#cart #cart_detail .product .prod_amount {order: 3; width: 40%; text-align: right; margin-right: 10px}
#cart #cart_detail .product .remove_product {order: 4; margin-right: 0}
#cart #cart_detail .product .remove_product:before { font-family: "FontAwesome5Pro-Light"; font-size: 12px; color: #FFFFFF; text-transform: lowercase; text-align: left; line-height: 1; letter-spacing: 0; content: "\f2ed"; cursor: pointer;}
#cart #cart_detail .total_amount { border-top: 1px solid #fff; padding-top: 10px; text-align: right; }
#cart #cart_detail .total_amount .value {font-family: "BrandonText-Bold"; font-size: 15px;}
#cart #cart_detail .total_amount .value:before {content: '€';}
#cart #cart_detail .go_to_cart a { display: block; width: 100%; height: auto; margin-top: 10px; background-color: #64c198; font-family: "BrandonText-Bold"; font-size: 14px; color: #FFFFFF; text-transform: uppercase; text-align: center; line-height: 1; letter-spacing: 0; padding: 15px 30px; }

/* Calendario flusso */
.fc-calendar .fc-head { background-color: #1d4f76 }
.fc-calendar .fc-row > div.fc-today { background-color: #fff; border: 1px solid #64c198; }
.fc-calendar .fc-row > div > span.fc-date { color: #1d4f76; font-family: "BrandonText-Bold";  }
.fc-calendar .fc-row > div.fc-today > span.fc-date {color: #1d4f76}
.fc-calendar .fc-row > div.empty-p { cursor: default; background: repeating-linear-gradient(-45deg, rgb(255, 255, 255), rgb(255, 255, 255) 3px, rgb(235, 235, 235) 3px, rgb(235, 235, 235) 4px); }
.fc-calendar .fc-row > div:not(.empty-p) { background-color: #64C298 }
.fc-calendar .fc-row > div:not(.empty-p) > span.fc-date {color: #fff}
.fc-calendar .fc-row > div:not(.empty-p).selected { background-color: #1d4f76 }
.fc-calendar .fc-row > div .tc-f-availability { display: none; }
.template_calendar { margin-bottom: 30px }
.calendar_header { padding: 15px; background-color: #fff }
.fc-calendar .fc-row > div { border-right: 2px solid #fff; }
.fc-calendar .fc-row {border-bottom: 2px solid #fff; }
.fc-calendar .fc-body { border: 2px solid #fff;}
.template_calendar { max-width: 390px; margin: 30px auto 60px }


/* ztemplate_model_2 */
.ztemplate_model_2 .ztemplate .row .box .elem {padding-bottom: 90px}
.ztemplate_model_2 .ztemplate .row .box .elem .caption-cnt .caption .title a {padding-left: 40px}
.ztemplate_model_2 .ztemplate .row .box .elem .caption-cnt .caption .title a:after {padding: 28px 35px; margin-left: 40px}
.ztemplate_model_2 .ztemplate .row .box .elem:hover .caption-cnt .caption .title a { background-color: #64C298; color: #fff }
.ztemplate_model_2 .ztemplate .row .box .elem .caption-cnt .caption .title a:after { transition: .4s }
.ztemplate_model_2 .ztemplate .row .box .elem:hover .caption-cnt .caption .title a:after { background-color: #53A480; }
.ztemplate_model_2 .ztemplate .slick-dots {position: absolute; top: 100%; left: 0; right: 0}
.ztemplate_model_2 .ztemplate .slick-dots li {margin: 0 3px}

/* Camere Home */
.section_rooms { padding: 200px 15px 200px 100px; background-color: #e9f3fa; background-image: url('../images/bg/rooms_bg.jpg'); background-repeat: no-repeat; background-position: right; background-size: contain; margin-top: -100px;  }
.section_rooms .section_link {margin-top: 30px}
.section_rooms .section_cnt {max-width: 1440px; margin: 0 auto}
.section_rooms .section_text { text-transform: inherit; }
.section_rooms .section_title {margin-bottom: 20px}

/* ztemplate_model_3 */
.ztemplate_model_3 .section_cnt { max-width: 1440px; margin: 0 auto }
.ztemplate_model_3 .ztemplate .row .box .elem  { margin-left: -240px; margin-right: 240px }
.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption {background-color: #000}
.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption img { opacity: .2; transition: .3s }
.ztemplate_model_3 .ztemplate .row .box .elem.slick-active .caption-cnt .caption img {  opacity: 1 }
.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption-alt {padding: 30px}
.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton a {padding: 15px 25px}
.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton {margin-top: 30px}
.ztemplate_model_3 .ztemplate .slick-next { top: calc(50% - 80px); }
.ztemplate_model_3 .ztemplate .slick-prev { top: calc(50% - 20px); }

/* ztemplate_model_4 */
.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption {width: 60%; padding: 30px 260px 30px 30px}
.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption-alt {width: 40%; margin-left: -240px}
.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption .zsimplebutton a { padding: 15px 25px }
.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption .zsimplebutton {margin-top: 30px}

/* footer */
footer .section_top .section_centre {max-width: 320px; margin: 0 auto}
footer .section_top .section_centre .section_social {margin: 40px auto;}
footer .section_top .section_centre .section_social .socialnet{ display: inline-block; margin: 7px}
footer .section_top .section_centre .footer_logo {padding: 30px}
footer .section_top,footer .section_bottom  {padding: 10px 100px}
footer .section_bottom .section_credits:before {margin-right: 7px}
footer p { margin-bottom: 0 }

footer .fondo_europeo_cnt { display: flex; justify-content: center; align-content: center; align-items: center; padding: 20px 0px; border-bottom: 1px solid #dedede}
footer .fondo_europeo_cnt:last-of-type { border-bottom: unset}
footer .fondo_europeo_cnt .text_cnt { width: 30%; text-align: center; }
footer .fondo_europeo_cnt .text_cnt a { font-family: "BrandonText-Bold"; margin-bottom: 20px; }
footer .fondo_europeo_cnt .text_cnt .vareditor { cursor: pointer; }
footer .fondo_europeo_cnt .img_cnt { width: 30%; text-align: center; }
footer .fondo_europeo_cnt .img_cnt img { cursor: pointer; }
footer .fondo_europeo_cnt.nolink .text_cnt .vareditor, footer .fondo_europeo_cnt.nolink .img_cnt img { cursor: default; }
footer .fondo_europeo_cnt.nolink .text_cnt .vareditor strong { font-family: "BrandonText-Bold"; }


/* Vetrina */
#page.showcase {padding-top: 120px}
#page.showcase .section_intro .section_title {text-transform: inherit;}
#container_name {margin-top: 0}
#page.showcase .section_intro { max-width: 670px; margin: 0 auto 30px; background-image: unset; }
#page.showcase .section_content {margin-bottom: 90px; padding: 0 15px; background-color: #fff}


/* ztemplate_model_5 */
.ztemplate_model_5 .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton {margin-top: 30px}
.ztemplate_model_5 .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton a {padding: 15px 25px}
.ztemplate_model_5 .ztemplate .row .box .elem .caption-cnt .caption-alt {padding: 30px; position: relative; left: -30px; top: -30px; max-width: 460px}
.ztemplate_model_5 .ztemplate .row .box .elem .caption-cnt {align-items: flex-start;}
.ztemplate_model_5 .ztemplate .row .box .elem {margin-bottom: 90px}
.ztemplate_model_5 .ztemplate .row .box .elem.odd .caption-cnt .caption-alt {order: 1; left: inherit; right: -30px}
.ztemplate_model_5 .ztemplate .row .box .elem.odd .caption-cnt .caption {order: 2}

/* Pagina interna */
img.left {margin: 0px 30px 30px 0px !important}
body.noslide.desktop #page { padding-top: 90px; }
#page {}
#page .section_intro {padding: 30px 0}
#page .section_intro .section_title {text-transform: inherit;}
#page_name {margin-top: 0}
#page .section_intro { background-image: unset; }
#page .section_content { padding: 30px 0 }
#page .section_gallery { padding-top: 14px; margin: 30px 0 }
#page .section_gallery .gallery .slick-prev {left: calc(50% - 56px);}
#page .section_gallery .gallery .slick-next {left: calc(50% + 8px);}
#page .section_link {margin-top: 30px}
#page .section_content .container.has_submenu { display: flex; align-items: baseline; }
#page .section_content .container.has_submenu .box {padding: 0 15px; width: 100%}
.submenu_cnt {min-width: 320px; overflow: hidden;}
.submenu_cnt .section_title {padding: 15px}
.submenu_cnt .submenu li.active span:after { left: calc(100% + 10px); bottom: unset; top: 50%; }
.submenu_cnt .submenu {padding: 0 15px}
.submenu_cnt .submenu li a {transition: .3s; transition-delay: .1s; position: relative; display: inline-block;}
.submenu_cnt .submenu li a:after {transition: .3s; height: 1px; width: 500px; left: 500px; top: calc(50% + 1px); position: absolute; content: ''; background-color: #64C298  }
.submenu_cnt .submenu li:hover a { color: #64C298 }
.submenu_cnt .submenu li:hover a:after { left: calc(100% + 15px); }
.submenu #tree > li {line-height: 30px}
#page .text_dyn div { overflow: hidden; }
#page.page_fondo_europeo .text_dyn { display: flex; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; justify-content: flex-start; }
#page.page_fondo_europeo .text_dyn .fieldvalue { width: 100%; }
#page.page_fondo_europeo .text_dyn .fieldvalue.n0 { display: flex; justify-content: center; align-items: center; align-content: center; flex-direction: column; width: 50%; text-align: center; }
#page.page_fondo_europeo .text_dyn .fieldvalue.n0 img { max-width: 320px; }
#page.page_fondo_europeo .text_dyn .fieldvalue.n1 { width: 50%; text-align: center; }
#page.page_fondo_europeo .text_dyn .fieldvalue.n2 { margin-top: 20px; }
#page.page_fondo_europeo .text_dyn .fieldvalue img.left { margin: 0 20px 20px 20px !important; }
#page .section_content strong { font-family: "BrandonText-Bold"; }

/* contact form */
.form_cnt {clear: both;}
.form_cnt form .caption-fields input[type="submit"] {padding: 15px 35px}
.form_cnt form .caption-fields { padding: 15px 0 10px }
.form_cnt form .caption-fields .date {max-width: 240px}
.form_cnt form .caption-fields .form.field.date .date_from_html {padding-left: 10px}
.intl-tel-input.allow-dropdown .flag-container:hover .selected-flag {background-color: #1E4F76}
.intl-tel-input .selected-flag .iti-arrow {border-top: 4px solid #fff;}
.form_cnt form .form_messages .message {padding: 25px}
.form_cnt form .caption-fields #showprivacy .show_privacy {display: inline;}
.form_cnt form .caption-fields #showprivacy .privacy_field .privacy_field_val { margin-right: 5px }
.form_cnt form .caption-fields #showprivacy {padding-left: 15px}
.form_cnt form .caption-fields #showprivacy .show_privacy a {display: inline-block; font-weight: bold; text-decoration: underline;}
.form_cnt form .caption-fields .textarea textarea {padding: 10px}
.form_cnt form .caption-fields .form.textview { font-family: "BrandonText-Bold"; font-size: 16px; color: #1E4F76; text-align: left; line-height: 17px; letter-spacing: 0; }
.form_cnt form .caption-fields .merge_group { padding-top: 20px; margin-top: 20px; position: relative; }
.form_cnt form .caption-fields .merge_group:after { content: ''; display: block; position: absolute; bottom: 0px; left: 10px; width: calc(100% - 20px); margin: 0 auto; height: 0px; border-top: 1px solid #1E4F76; }
.form_cnt form .caption-fields .merge_group.item_0:before { content: ''; display: block; position: absolute; top: 0px; left: 10px;; width: calc(100% - 20px); margin: 0 auto; height: 0px; border-top: 1px solid #1E4F76; }
.form_cnt form .caption-fields .form_merge_rem_button,
.form_cnt form .caption-fields .form_merge_add_button { float: none; background-color: #1E4F76; font-family: "BrandonText-Bold"; font-size: 14px; color: #FFFFFF; text-transform: uppercase; text-align: center; line-height: 1; letter-spacing: 0; padding: 15px 25px; display: inline-block; cursor: pointer; }
.form_cnt form .caption-fields .form_merge_add_button { float: right; margin: 20px 15px 0px 0px; }
.form_cnt form .caption-fields .form_merge_rem_button { float: right; margin: -5px 15px 0px 0px; }
.form_cnt form .caption-fields .form_merge_rem_button.none,
.form_cnt form .caption-fields .form_merge_add_button.nome { display: none; }

/* Fix Form checkin */
.form_cnt form .caption-fields .text.element_8 { width: 33.333% }
.form_cnt form .caption-fields .text.element_10 { width: 33.333% }
.form_cnt form .caption-fields .text.element_29 {width: 33.333%}
.form_cnt form .caption-fields .select .form_element_title {text-align: left;}
.form_cnt form .caption-fields .text.element_20 { width: 33.333% }
.form_cnt form .caption-fields .text.element_27 {width: 33.333%}
.form_cnt form .caption-fields .select.element_24 {width: 33.333%}
.form_cnt form .caption-fields .select.element_24 select {      border: 1px solid rgba(30, 79, 118, 0.09782014860139861); width: 100%; padding: 10px; line-height: 20px; cursor: pointer;}
.form_cnt form .caption-fields .text.element_12 { width: 100% }
.form_cnt form .caption-fields .text.element_13 { width: 100% }
.form_cnt form .caption-fields .text.element_14 { width: 33.333% }
.form_cnt form .caption-fields .text.element_15 { width: 33.333% }
.form_cnt form .caption-fields .text.element_16 { width: 33.333% }
.form_cnt form .caption-fields #showprivacy .privacy label {display: inline-flex;align-items: center;}

/* Album */
.album { margin: 15px; width: calc(33.333% - 30px); }
.album a .album_title {padding: 15px}
.album a .album_title:before {margin-right: 20px}
.album a .album_title:after {margin-left: 20px}

#page.album_page {padding-top: 90px}
#page.album_page img { float: left; margin: 15px; width: calc(33.333% - 30px);}

/* Videos */
.section_video_cnt { max-width: 1440px; margin: 30px auto;}
.section_video_cnt .videos { display: flex; /* justify-content: center; */ flex-wrap: wrap;}
.section_video_cnt .videos .video {width: 100%; padding: 15px}

/* Camera interna */
#page.room .section_intro {padding: 40px 0 0}
#page.room .section_intro .image_cnt {background-color: transparent;}
#page.room .section_content { padding: 60px 0 35px 100px }
#page.room .section_content .content_left {padding-right: 90px}
.gallery ul {padding-bottom: 25px}
.gallery ul li { margin: 0 7px }
#page.room .section_other_rooms {margin: 60px 0}
#page.room .section_other_rooms .section_title {margin-bottom: 30px}
.section_modal_popup.modal_form .modal_cnt { padding: 60px 40px 15px }
.section_modal_popup.modal_form .modal_cnt .form_cnt form .caption-fields { box-shadow: none; }
.section_modal_popup.modal_form .modal_cnt .form_cnt form .caption-fields .date {max-width: inherit;}
.section_modal_popup.modal_form .modal_cnt .form_cnt form .caption-fields .select {width: 100%}
.section_modal_popup.modal_form .modal_cnt .form_cnt form .caption-fields .select .form_element_title {text-align: left;}
.section_modal_popup.modal_form .modal_cnt .form_cnt form .caption-fields .form.select select { width: 100%; border: 1px solid rgba(30, 79, 118, 0.09782014860139861); padding: 10px }

/* .ztemplate_model_6 */
.ztemplate_model_6 .ztemplate .row .box .elem {margin: 0 7px}
.ztemplate_model_6 .slick-dots li {margin: 0 3px}
.ztemplate_model_6 .ztemplate .row .box .elem .caption-cnt .caption-alt .title a:after {margin-left: 7px}

/* Pagina offerta */
#page.offer { padding-top: 95px }
.offer_image img.left { float: none!important; }
#page .section_top_content { margin-bottom: 30px }
#page .section_top_content .container .section_price {padding: 30px;}
#page .section_top_content .container .section_price .price {margin-bottom: 25px}

#page.offer_page .section_price { width: 50%; text-align: left; }
#page.offer_page .section_price .section_text { font-family: "BrandonText-Regular"; font-size: 20px; color: #0D2C45; text-align: left; line-height: 25px; letter-spacing: 0; }
#page.offer_page .section_price .price { text-align: left; }
#page.offer_page .section_price .price .fieldkey { font-family: "BrandonText-Regular"; font-size: 15px; color: #E3405E; text-transform: lowercase; text-align: left; line-height: 15px; letter-spacing: 0; }
#page.offer_page .section_price .price .fieldvalue { font-family: "BrandonText-Bold"; font-size: 28px; color: #E3405E; text-transform: lowercase; text-align: left; line-height: 28px; letter-spacing: 0; }
#page.offer_page .section_price .section_link { text-align: left; }
#page.offer_page .section_price .section_link a { display: inline-block; background-color: #64C298; font-family: "BrandonText-Bold"; font-size: 14px; color: #FFFFFF; text-transform: uppercase; text-align: center; line-height: 1; letter-spacing: 0; }
#page.offer_page .section_intro .section_price { display: flex; align-items: center; justify-content: center; width: 100%}
#page.offer_page .section_intro .section_price .section_link { margin: 0}
#page.offer_page .section_intro .section_price .price { margin-right: 30px}



/* Vetrina Servizi */
.ztemplate_model_2.showcase .ztemplate .row .box .elem { float: left; margin: 15px; width: calc(50% - 30px); }

/* Infosplash */
#infosplash #infosplash_container .infosplash_wrapper .ztemplate .row .box .caption-cnt .caption-alt { padding: 15px }
#infosplash #infosplash_container .infosplash_wrapper .ztemplate .row .box .caption-cnt .caption-alt .zsimplebutton a {padding: 15px 25px; margin-top: 30px}
#infosplash #infosplash_container .infosplash_wrapper .close:before { background-color: transparent; width: 0; height: 0; border-style: solid; border-width: 0 70px 70px 0; border-color: transparent #1E4F76 transparent transparent; line-height: 0px; _border-color: #000000 #1E4F76 #000000 #000000; _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000'); }
#infosplash #infosplash_container .infosplash_wrapper .close { height: 70px; width: 70px; cursor: pointer; right: 0 }


/* flusso di acquisto */
.form_cnt.pf_form form .caption-fields {display: flex; justify-content: center; margin: 0 15px 30px}
.form_cnt.pf_form form .caption-fields .date {width: auto; max-width: unset;}
.form_cnt form .caption-fields .date .date_from_html .time_html { padding-right: 10px }
.form_cnt form .caption-fields .date .date_from_html .time_html:before {width: auto; padding: 0 5px 0 15px;}
.form_cnt.pf_form form .caption-fields .date .date_from_html .month_name_tiny { padding: 0 5px }

.ztemplate_model_1.z_pf .ztemplate .row .box .elem:hover .caption-cnt .caption-alt { top: 0!important }
.ztemplate_model_1.z_pf .ztemplate .row .box .elem .caption-cnt .caption-alt { box-shadow: unset; }
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.even .zsimplebutton {padding: 15px 30px}
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.even {padding: 15px}
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.even > div {margin: 0 15px}
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.even .zselection .prod_sel_content { margin: 0 10px; height: 35px }
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last .ztextarea.g3 {padding-top: 15px}
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last { position: fixed; left: 0; right: 0; margin: 0 auto; top: 90px; width: 100%; max-height: 540px; overflow-y: scroll; z-index: -1; opacity: 0; max-width: 720px; padding: 0 20px 30px; transition: .4s }
/* debug    .z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last {position: relative; z-index: 1; opacity: 1} */
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last.fired { z-index: 999; opacity: 1 }
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last .slick-dots { background-color: rgba(0, 0, 0, 0.3781702898550725); text-align: center; z-index: 2; position: absolute; left: 0; right: 0; bottom: 0; padding: 15px 40px;}
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last .slick-dots li { width: 13px; height: 13px; border: 2px solid #FFFFFF; border-radius: 6.5px; text-align: left; cursor: pointer; margin: 0 4px }
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last .slick-dots li.slick-active { width: 13px; height: 13px; border: 2px solid #FFFFFF; border-radius: 6.5px; background-color: #FFFFFF; text-align: left; cursor: pointer; }
.z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last img { height: auto!important }



.ztemplate_model_1.z_pf .ztemplate .row .box {display: flex; width: 100%; flex-wrap: wrap;}
.ztemplate_model_1 .ztemplate .row .box .elem.slick-slide {margin: 0}
.z_pf .step_footer .pf_step_button { padding: 20px 40px }
.z_pf .step_footer {padding: 30px; z-index: 8}
#total_amount {margin-right: 30px}
.z_pf #total_amount .value:before {margin-right: 5px}

/* Carrello */
#last_search.date {margin-bottom: 15px}
#last_search.date .caption { background-color: transparent }
#last_search.date .caption .key { margin-bottom: 0px }
#last_search.date .caption .value:before {  padding: 0; margin-right: 5px; }
#page.cart_page { padding-top: 120px }
#cart_template_wrapper {position: relative;}
.template_loading { position: absolute; left: 0; right: 0; top: calc(50% - 31px); }
#cart_template_wrapper .ztemplate .row .box .elem {margin-bottom: 10px}
#cart_template_wrapper .ztemplate .row .box .elem:last-of-type { margin-bottom: 40px }
#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice .fieldvalue .decimal,
#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice .fieldvalue .comma { font-size: 18px }
#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt {padding: 15px}
#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zselection .prod_sel_content {width: 50px; margin: 0 10px}
#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice {margin: -12px 45px 0}
#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption .zlabelquantity {display: none;}
#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice .fieldvalue:before {margin-right: 5px}
#go_pay #total_amount .value:before {margin-right: 5px}
#go_pay .secure_payment { padding: 15px 15px 15px 45px; margin-right: 60px }
#go_pay .secure_payment:before { background-image: url('../images/icons/shield_blue.svg'); background-repeat: no-repeat; width: 23px; height: 50px; background-position: center center; left: 15px }
.empty_msg {padding: 20px}
#go_pay { padding: 30px }
#go_pay #order_page_link a { padding: 20px 40px }


/* Order Page */
#page.order_page { padding-top: 120px }
#page.order_page #order_cnt {display: flex; margin-bottom: 60px; align-items: flex-start;}
#page.order_page #order_cnt #personal_data { width: 50% }
#order_summary_cnt {width: 50%; margin-left: 45px; background-color: #fff; padding: 15px; box-shadow: 0 122px 44px -90px rgba(0,0,0,0.27); }
#order_template_wrapper .ztemplate .row .box .elem {margin-bottom: 10px;}
#order_template_wrapper .ztemplate .row .box .elem .caption-cnt {padding: 15px; border-top: 10px solid #65C298}
#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice .fieldvalue .decimal,
#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice .fieldvalue .comma { font-size: 18px }
#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption .ztextarea {display: none;}
#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .product_selection_wrap {display: none;}
#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption .zlabelquantity:before {margin-right: 5px}
.order_page #total_wrap #total_amount .value .decimal,
.order_page #total_wrap #total_amount .value .comma { font-size: 18px }
.order_page #total_wrap #total_amount .value {align-items: baseline;}
.order_page #total_wrap #total_amount .value:before { margin-right: 5px }
#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice .fieldvalue:before { margin-right: 5px }
.order_page #total_wrap #total_amount {margin-right: 15px}
.order_page #total_wrap .section_title {margin-right: 15px}

/* Thankyou Page */
#page.thank_you_cnt #thank_you_message { padding: 15px }
#page.thank_you_cnt { padding-top: 120px; padding-bottom: 60px }
#page.thank_you_cnt #bottom_buttons { display: flex;align-items: center; justify-content: center; margin-top: 30px }
#page.thank_you_cnt .section_link {margin: 0 15px}
#order_summary .caption { }
#order_summary .caption .product {border-bottom: 1px solid rgba(30, 79, 118, 0.2); padding-bottom: 15px; padding: 15px}
#order_summary .caption .product .total .prod_qty {margin-right: 35px}
#order_summary .caption .product .total .total:before {margin-right: 5px}
#order_summary .caption .product .total .prod_qty:before {margin-right: 5px}
#order_summary_cnt.centered {width: 100%; max-width: 640px; margin: 0 auto}
#order_summary #total_wrap #total_amount .value:before {margin-right: 5px}
#order_summary #total_wrap .section_title {margin-right: 15px}
#order_summary #total_wrap {padding: 15px; border-top: 10px solid #65c298;}
#tnx #order_summary_cnt {padding: 30px}
#order_summary_cnt .order_summary_title { margin-bottom: 30px }
#order_summary #total_wrap #total_amount {margin-right: 0}
#tnx {padding-bottom: 90px}

/* Payment */
#page.payment_page #order_summary_cnt {padding: 30px}
#page.payment_page {padding-top: 120px}
.paypal_payment { margin: 60px auto; position: relative; }
.paypal_payment #paypal_payment {padding: 20px 35px; transition: .3s}
.paypal_loading {position: absolute; top: calc(50% - 12px); left: 0; right: 0; color: #fff}
.paypal_payment #paypal_payment.fired { color: transparent; }

/* NEXI Payment + fix */

/* Nexi */
.nexi_payment input { width: 100%; padding: 10px; border: 1px solid #ebe5d8!important; margin-bottom: 10px; margin-top: 5px; border-radius: 4px }
.nexi_payment .nexi-owner-name,
.nexi_payment .nexi-owner-surname { width: calc(50% - 5px); float: left; color: #fff }
.nexi_payment .nexi-owner-name { margin-right: 5px }
.nexi_payment .nexi-owner-surname { position: relative;right: -5px}
#__xpay_card_frame { border: 1px solid #ebe5d8!important; padding: 10px!important; height: 40px!important; background-color: #fff!important; border-radius: 4px }
#nexi-payment-form button#pagaBtn { margin: 20px 0 0 0; display: inline-block; border: 1px solid #64c298; border-radius: 3px; background-color: #64c298; font-family: "BrandonText-Regular"; font-size: 13px; color: #fff; text-transform: uppercase; text-align: left; line-height: 1; letter-spacing: 0; position: relative; padding: 10px 40px; }
.caption.nexi {max-width: 580px; margin: 30px 0; background: #1e4f76; padding: 15px; border-radius: 0; margin: 60px auto; box-shadow: 0 122px 44px -90px rgba(0,0,0,0.27);}
#xpay-card-errors {color: red; font-size: 11px; background-color: #fff;}
#xpay-card { margin-top: 5px }
@media (max-width: 480px){ .nexi_payment .nexi-owner-name, .nexi_payment .nexi-owner-surname{ width: calc(100% - 5px); float: none; } .nexi_payment .nexi-owner-surname{ right: 0; } #payment_method .paypal { width: 100%; margin-bottom: 5px } #payment_method{ flex-direction: column; width: 100% } }
.btn-orange {display: none;}
#__xpay_overlay { padding: 30px 15px }
.fa-spin {color: #fff}
.nexi-owner-email, #nexi-payment-form { color: #fff }
.nexi_payment input, .input-container input { color: #0D2C45 }


/* Configurazione per RWD */

@media (max-width: 1520px){
	.section_offers .section_cnt .section_first .section_link,
	.section_offers .section_cnt .section_first .section_btn {display: block; margin-bottom: 10px}
}
@media (max-width: 1330px){
	.ztemplate_model_3 .ztemplate .row .box .elem { margin-left: -140px; margin-right: 140px;}
	.ztemplate_model_3 .ztemplate .slick-next,
	.ztemplate_model_3 .ztemplate .slick-prev {right: 255px}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption-alt {margin-left: -140px}
}
@media (max-width: 1190px){
	.ztemplate_model_3 .ztemplate .row .box .elem { margin-left: -40px; margin-right: 40px;}
	.ztemplate_model_3 .ztemplate .slick-next,
	.ztemplate_model_3 .ztemplate .slick-prev {right: 55px}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption-alt {margin-left: -40px}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption {padding: 25px 40px}

	.ztemplate_model_1 .ztemplate .row .box .elem {width: calc(50% - 30px)}

	#page.order_page #order_cnt {flex-direction: column;}
	#page.order_page #order_cnt #personal_data {margin: 0 auto; width: 690px; order: 2}
	#order_summary_cnt {width: 720px; margin: 0 auto 30px; order: 1}

}
@media (max-width: 1047px){
	.section_offers .section_cnt {flex-direction: column;}
	.section_offers .section_cnt .section_first {width: 100%; margin-bottom: 60px}
	.section_offers .section_cnt .section_first .section_link,
	.section_offers .section_cnt .section_first .section_btn { display: inline-block; }
	.section_offers .section_cnt .ztemplate_model_1  { width: 100% }
	.ztemplate_model_1 .slick-next {left: calc(100% - 40px)}
	.ztemplate_model_1 .slick-prev{left: calc(100% - 80px)}
	.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt .zinput.g5 {height: 50px; top: -30px}
	.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt .title {width: 100%}
}

@media (max-width: 991px){
	#page .text_dyn div {overflow: inherit;}
}


@media (max-width: 960px){
	.section_intro .section_video_cnt .section_preview { width: calc(100% - 120px); }
	header .quick_btns .contacts_btn a,
	header .quick_btns .offers_btn a,
	header .quick_btns .whatsapp_btn a {font-size: 0}
	#slideshow_cnt .logo_big {display: none;}
}

@media (max-width: 867px){
	.ztemplate_model_3 .ztemplate .row .box .elem { margin-left: 0; margin-right: 0;}
	.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption,
	.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption-alt { width: 50% }
	.ztemplate_model_3 .ztemplate .slick-next {top: -60px; right: 15px}
	.ztemplate_model_3 .ztemplate .slick-prev {top: -60px; right: 75px}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption-alt {margin-left: 0}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption,
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption-alt { width: 50% }
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption {padding: 25px}
	header .section_first #cntlogo {margin: 0 0 0 15px}
	header .section_first .language_cnt {width: 60px}
	header .booking_btn {min-width: 170px}
	header .section_last .call_btn a {background-color: transparent; box-shadow: inherit; width: 60px}
	#cart, #cart a {width: 60px}
	#cart .qty {left: 10px}
	footer .section_top {flex-direction: column;}
	footer .section_top .section_centre {order: 1; width: 100%}
	footer .section_top .section_last {order: 2; width: 100%; margin: 30px 0}
	footer .section_top .section_first {order: 3; width: 100%}
	footer .section_top .section_last .section_text {text-align: center;}
	footer .section_top .section_first .section_title {text-align: center;}
	footer .section_top .section_first .section_text {text-align: center;}
	footer .section_top .section_first .section_company { text-align: center; }
	footer .section_bottom {flex-direction: column;}
	footer .section_bottom .section_privacy {width: 100%; text-align: center;}
	footer .section_bottom .section_credits {width: 100%; text-align: center; justify-content: center;}
	footer .section_top, footer .section_bottom {padding: 15px}
	.album {width: calc(50% - 30px)}


}

@media (max-width: 767px){
	header { background-color: rgba(241, 247, 251, 1) }
	#slideshow_cnt .scroll {display: none;}
	.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt {flex-direction: column;}
	.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption,
	.ztemplate_model_3 .ztemplate .row .box .elem .caption-cnt .caption-alt {width: 100%}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt {flex-direction: column;}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption {width: 100%; order: 2}
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption-alt {width: 100%; order: 1}
	/* header .quick_btns {display: none;} */
	header .quick_btns .contacts_btn { display: none;}
	header .quick_btns .offers_btn a { display: none;}
	header .quick_btns > div {margin: 0}
	header .section_last .booking_btn:before {display: none;}
	header .booking_btn {min-width: 90px; padding: 0}
	.section_intro .section_title { font-size: 22px }
	.section_intro .section_video_cnt {background-size: contain; background-position-y: 30%;}
	header .section_first {width: calc(100% - 80px);}
	header .section_first #cntlogo { margin: 0 15px }
	header .section_last .booking_btn { position: absolute; top: 90px; left: 0; width: 100%; height: 40px; }
	#booking_open.fired {overflow-y: scroll;}
	#booking_open .booking_wrap .booking-form form .caption-fields .group_cnt_left {display: block;}
	#booking_open .booking_wrap .booking-form form .caption-fields .form.field.select {max-width: 220px}
	#booking_open .booking_wrap .booking-form form .caption-fields .form.field.select .form_select .current_value {width: 123px}
	#booking_open .booking_wrap .booking-form form .caption-fields .date .form_element_title {text-align: center;}
	#booking_open .booking_wrap .booking-form form .caption-fields .text .form_element_title {text-align: center;}
	#booking_open .booking_wrap .booking-form form .caption-fields .group_cnt_right {width: 100%; padding-left: 0; align-items: center;}
	#booking_open .booking_wrap .booking-form form .caption-fields .text input[type=text] { max-width: 200px }
	#booking_open .booking_wrap .booking-form form .caption-fields input[type="submit"] {width: 200px}
	#menu_open { padding-top: 70px }
	#menu_open .nav {padding-left: 90px}
	#menu_open .nav li a {font-size: 18px; line-height: 30px}

	.section_intro .section_video_cnt .section_preview { width: 100%; height: auto; }
	.section_intro .section_video_cnt .section_preview .play_btn {font-size: 0; left: 0; right: 0; justify-content: center; top: 0; height: 100%}
	.section_intro .section_video_cnt .play_btn:after {padding: 0; margin: 0}
	.section_intro {padding: 0 15px;}
	#slideshow_cnt { margin-top: 130px }
	.section_intro .section_video_cnt {min-height: inherit;}
	.section_offers .section_cnt .section_first {padding-left: 0; text-align: center;}
	.section_offers .section_cnt .section_first .section_title {text-align: center;}
	.section_offers .section_cnt .section_first .section_text {text-align: center;}
	.section_offers .section_cnt .section_first .section_link, .section_offers .section_cnt .section_first .section_btn {width: 100%}
	.section_rooms { margin-top: 0; padding: 15px }
	.section_rooms .section_title {text-align: center;}
	#page .section_content .container.has_submenu {display: block;}
	#page .section_intro {padding: 30px 0 15px}
	.submenu_cnt {min-width: inherit; margin-top: 30px}
	.submenu_cnt .section_title {font-size: 18px}
	#page .section_intro .section_title #page_name,
	.showcase .section_intro .section_title #container_name,
	#page.room .section_intro .intro_left .section_title #page_name,
	#page.room .section_other_rooms .section_title,
	.section_rooms .section_title,
	.ztemplate_model_4 .ztemplate .row .box .elem .caption-cnt .caption .title a,
	.section_offers .section_cnt .section_first .section_title {font-size: 28px; line-height: 28px}
	#page.room .section_intro .intro_left .section_btn_link a,
	#page.room .section_intro .intro_left .section_link a { font-size: 12px }
	.showcase {padding-top: 140px}
	.showcase .section_intro {margin: 0 auto 30px}
	.ztemplate_model_5 .ztemplate .row .box .elem .caption-cnt {flex-direction: column;}
	.ztemplate_model_5 .ztemplate .row .box .elem .caption-cnt .caption {width: 100%}
	.ztemplate_model_5 .ztemplate .row .box .elem .caption-cnt .caption-alt {width: 100%; top: 0; left: 0}
	.ztemplate_model_5 .ztemplate .row .box .elem.odd .caption-cnt .caption {order: 1}
	.ztemplate_model_5 .ztemplate .row .box .elem.odd .caption-cnt .caption-alt { order: 2; right: 0 }
	.ztemplate_model_5 .ztemplate .row .box .elem {margin-bottom: 30px}
	#page.room .section_intro {flex-direction: column; padding: 0}
	#page.room .section_intro .intro_left {width: 100%; order: 2; padding: 0 15px}
	#page.room .section_intro .image_cnt { order: 1 }
	#page.room .section_content {padding: 15px; display: block; margin-top: 30px}
	#page.room .section_content .content_left {padding: 0; width: 100%}
	#page.room .section_content .gallery {width: 100%}
	.gallery ul li {margin: 7px; float: left; width: calc(50% - 14px);}
	.ztemplate_model_1 .ztemplate .row .box .elem {width: 100%; margin: 0 0 30px}
	.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt {min-height: inherit!important;}
	.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt .zsimplebutton {bottom: 0!important}
	.ztemplate_model_1 .ztemplate .row .box .elem .caption-cnt .caption-alt {top: 0!important}
	#page .section_top_content .container {display: block; padding: 0}
	#page .section_top_content .container .offer_image {width: 100%}
	#page .section_top_content .container .section_price {padding: 0 15px; width: 100%}
	#page.offer {margin-top: 130px}
	.ztemplate_model_2.showcase {padding-top: 0}
	.ztemplate_model_2.showcase .ztemplate .row .box .elem {width: 100%; margin: 0}
	.form_cnt form .caption-fields .field {width: 100%!important}
	.album {width: calc(100% - 30px)}
	#page.album_page { padding-top: 130px }
	#menu_open.fired {overflow-y: scroll;}
	#menu_open:after {display: none;}
	.ztemplate_model_2 .ztemplate .row .box .elem .caption-cnt .caption .title a { font-size: 16px }
	#slideshow_cnt #slideshow .slick-dots {text-align: center; position: relative; background-color: #1c4f76; padding: 7px; height: 33px}
	.ztemplate_model_2 .ztemplate .row .box .elem .caption-cnt .caption { padding: 10px 5px 0; }
	.ztemplate_model_2 .ztemplate {padding: 0 20px 10px}
	.ztemplate_model_2 .ztemplate .slick-dots { top: inherit; bottom: 15px }

	.section_video_cnt .videos {flex-direction: column;}
	.section_video_cnt .videos .video {width: 100%;}

	.form_cnt.pf_form form .caption-fields {flex-direction: column; margin: 0 0 30px}
	.z_pf #total_amount .value, .z_pf #total_amount .value:before {font-size: 20px}
	.z_pf .step_footer {padding: 0 0 0 30px; justify-content: space-between;}
	#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt {flex-direction: column; align-items: baseline;}
	#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt {margin-top: 25px; width: 100%; justify-content: space-between;}
	#go_pay {flex-direction: column; padding: 15px}
	#cart_template_wrapper .ztemplate .row .box .elem {position: relative; margin-bottom: 25px}
	#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .remove_product { position: absolute; top: -10px; right: -10px; background-color: #E3405E; width: 30px; height: 30px; border-radius: 100%; }
	#cart_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .remove_product:before { color: #fff; font-size: 16px; line-height: 30px }
	#go_pay .secure_payment {margin-right: 0}
	#go_pay #total_amount {margin: 0 0 20px}

	#page.order_page #order_cnt #personal_data {width: calc(100% - 30px)}
	#order_summary_cnt {width: 100%}
	#order_template_wrapper .ztemplate .row .box .elem .caption-cnt,
	#order_summary .caption .product {flex-direction: column; align-items: baseline;}
	#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt,
	#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption-alt .zlabeltotalprice {width: 100%; align-items: flex-end;}
	#order_template_wrapper .ztemplate .row .box .elem .caption-cnt .caption {margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #64C298; width: 100%}
	#order_summary .caption .product .total {width: 100%; justify-content: space-between; margin-top: 10px}

	#cart #cart_detail {right: 0; left: inherit;}

	/* Calendario responsive */
	.fc-calendar .fc-row, .ie9 .fc-calendar .fc-row > div, .fc-calendar .fc-row > div { height: 20%}
	.fc-calendar .fc-row > div { float: left; width: calc(100%/7.001) }
	.fc-calendar .fc-head { display: flex; }
	.fc-calendar .fc-row > div > span.fc-weekday {display: none;}
	.fc-calendar .fc-row > div > span.fc-date { position: absolute; font-size: 20px; line-height: 20px; font-weight: 700; bottom: 5px; right: 0; left: 0; width: 100%; text-align: center; }

	.form_cnt form .caption-fields .date.element_17,
	.form_cnt form .caption-fields .date.element_18,
	.form_cnt form .caption-fields .text.element_8,
	.form_cnt form .caption-fields .text.element_21,
	.form_cnt form .caption-fields .text.element_26,
	.form_cnt form .caption-fields .text.element_15 {width: 100%; max-width: unset;}

	body.noslide #page.page_fondo_europeo { padding-top: 120px; }
	#page.page_fondo_europeo .text_dyn .fieldvalue { width: 100%; }
	#page.page_fondo_europeo .text_dyn .fieldvalue.n0 { width: 100%; }
	#page.page_fondo_europeo .text_dyn .fieldvalue.n0 img { max-width: 320px; }
	#page.page_fondo_europeo .text_dyn .fieldvalue.n1 { width: 100%; }
	#page.page_fondo_europeo .text_dyn .fieldvalue.n2 { margin-top: 20px; }

	footer .fondo_europeo_cnt { flex-wrap: wrap; }
	footer .fondo_europeo_cnt .text_cnt { width: 100%; }
	footer .fondo_europeo_cnt .img_cnt { width: 100%; margin-top: 20px; }

	#page .section_intro .section_text { padding: 0 15px}

}

@media (max-width: 600px) {
	.section_modal_popup .section_text {padding-left: 0}
	.section_modal_popup .modal_cnt {background-image: none; padding: 60px 15px 15px;}
	.section_modal_popup .modal_wrap .modal_cnt .section_title {font-size: 22px; line-height: 25px}

}

@media (max-height: 768px){
	#booking_open .booking_wrap #top {display: none;}
	#booking_open {align-items: baseline;}
	#infosplash #infosplash_container {align-items: flex-start; padding: 15px; overflow: scroll;}
	.section_modal_popup .modal_wrap {align-items: baseline; padding: 15px; overflow: scroll;}
	.section_modal_popup .modal_wrap .modal_cnt .section_link {padding-left: 0; width: 100%}
	.section_modal_popup .modal_wrap .modal_cnt .section_link a {display: block;}

}

@media (max-height: 890px){

	#menu_open { padding: 70px 0 0 0px;}
	#menu_open .nav li a { font-size: 18px; line-height: 30px; }
}

@media (max-height: 768px){
	 .z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last { top: 15px }
}

@media (max-height: 550px){
	 .z_pf .ztemplate .row .box .elem .caption-cnt .caption-add.last {max-height: 450px}
}




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

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

/* 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) {
}
