:root{
  --text-color: #2b2c2d;
  --primary-color: #0097cb;
  --bg-color-1:#65acbd;
  --bg-color-2:#0c4488;
  --bg-color-3:#c3ae9b;
  --bg-color-4:#ece7e3;
  --bg-color-white:#fff;
  --bg-opened-menu: rgba(12, 68, 136, 0.8);
}
html { scroll-behavior: smooth; }

body{ font-weight:300; color:var(--text-color); font-size:18px; font-family: 'Poppins', sans-serif; overflow-x:hidden; scroll-behavior: smooth; }
.no-carousel { padding-top: 120px !important; }

a { text-decoration:none; color:var(--text-color); }

/* === GENERAL CLASSES === */

.scroll-disabled { overflow: hidden; }

.anchor { scroll-margin-top: 80px; }

.section-padding { padding:60px 0; }

.container { width:100%; max-width: 1600px; }
.container-fluid { max-width:1920px; margin:0px auto; }

.section__maintitle { color:var(--bg-color-2); margin-bottom:30px; font-size:48px; font-family: 'Playfair Display', sans-serif; }
.section__mainsubtitle { color: var(--bg-color-1); margin-bottom: 30px; font-size: 36px; font-weight: 300; }

.btn-cta { color: var(--bg-color-2); border-radius: 0; padding: 12px 28px; display: inline-block; cursor: pointer; text-transform: uppercase; font-size: 24px; font-weight: 300; text-decoration: none; background: var(--bg-color-white); box-shadow: inset 0 0 0 0 var(--bg-color-white); border: 1px solid var(--bg-color-2); transition: .4s ease-out; }
.btn-cta:hover,
.btn-cta:focus { box-shadow: inset 0 0 0 50px var(--bg-color-2); color: var(--bg-color-white) !important; }

.btn-cta-2{ color: var(--bg-color-white); border-radius: 0; padding: 12px 28px; display: inline-block; cursor: pointer; text-transform: uppercase; font-size: 24px; font-weight: 300; text-decoration: none; background: var(--bg-color-3); box-shadow: inset 0 0 0 0 var(--bg-color-white); border: 1px solid var(--bg-color-3); transition: .4s ease-out; }
.btn-cta-2:hover,
.btn-cta-2:focus{ box-shadow: inset 0 0 0 50px var(--bg-color-white); color: var(--bg-color-3) !important; border: 1px solid var(--bg-color-3); }

.bg-custom { background: var(--bg-color-4); }
.bg-custom-2 { background: var(--bg-color-1); color: var(--bg-color-white); }
.bg-custom-2 .section__maintitle, .bg-custom-2 .section__mainsubtitle { color: var(--bg-color-white); }

.wrapper-custom-arrows { text-align: center; margin-top: 5px; }
.wrapper-custom-arrows .custom-arrow { display: inline-block; font-size: 60px; line-height: 60px; color: var(--bg-color-3); }
.wrapper-custom-arrows.smaller .custom-arrow { display: inline-block; font-size: 40px; }
.wrapper-custom-arrows .swiper-button-lock { display: none; }

.noscroll { overflow: hidden; }

/* Effetti comparsa a scorrimento*/
[data-aos^="curtain-"] { position:relative; overflow:hidden; background:var(--curtain-bg,#fff); }
[data-aos^="curtain-"] { opacity:0; transform:translateY(10px); transition:opacity .55s ease, transform .55s ease; will-change:opacity,transform; }
[data-aos^="curtain-"]::after { content:""; position:absolute; top:-2px; right:-2px; bottom:-2px; left:-2px; background:var(--curtain-bg,#fff); pointer-events:none; z-index:2; transition:transform 1.00s ease; will-change:transform; transform:translateZ(0); backface-visibility:hidden; }
[data-aos^="curtain-"]>* { position:relative; z-index:1; }
[data-aos^="curtain-"].aos-animate { opacity:1; transform:translateY(0); }
[data-aos="curtain-right"].aos-animate::after { transform: translateX(101%); }
[data-aos="curtain-left"].aos-animate::after { transform: translateX(-101%); }
/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
  [data-aos^="curtain-"], [data-aos^="curtain-"]::after{ transition: none; }
  [data-aos^="curtain-"]{ opacity: 1; transform: none; }
  [data-aos^="curtain-"]::after{ display:none; }
}

/* === HEADER === */

header { background: rgba(9,9,9,.4); position: fixed; width: 100%; top: 0; left: 0; right: 0; z-index: 101; padding: 0; color: var(--bg-color-white); transition: background, 0.2s; }
header .header-container { display: flex; flex-direction: row; flex-wrap: wrap; align-content: center; }

.fixed-header header,
.header-no-carousel header { background: rgba(101, 172, 189, .8); box-shadow: 0px -5px 15px rgba(0, 0, 0, 0.3); }

header .header-col { flex: 0 0 40%; display: flex; justify-content: center; }
header .header-col.col-n1 { justify-content: flex-start; position: relative; }
header .header-col.col-n2 { flex: 0 0 20%; flex-direction: column; }
header .header-col.col-n3 { justify-content: flex-end; }

a.header-top__link { color: var(--bg-color-white); font-size: 16px; }
a.header-top__link:hover, a.header-top__link:hover i { color: var(--bg-color-3); }

.header-info { text-align: center; position: relative; padding: 7px 2vw; left: 0px; }
.header-info a { text-decoration: none; display: inline-block; min-width: 70px; padding: 0 30px 8px; padding: 0 .5vw 8px; transition: border-color 0.2s linear, color 0.2s linear; position: relative; margin-top: 7px; }
.header-info a i { display: inline-block; font-size: 38px; line-height: 1; color: var(--bg-color-white); transition: color, 0.2s; }
.header-info a .contact-tooltip { display: none; }

.logo-header { text-align:center; margin-top:13px; }
.logo-header img { max-width:230px; }

.btn-button-top { color: var(--bg-color-white); font-size: 26px; display: block; padding: 20px; height: 100%; text-decoration: underline; background: var(--bg-color-1); box-shadow: inset 0 0 0 0 var(--bg-color-3); transition: .4s ease-out; } 
.btn-button-top:hover { box-shadow: inset 0 0 0 50px var(--bg-color-3); text-decoration: none; }

/* MENU */

.wrapper-menu-toggle { background-color: var(--bg-color-1); text-align: center; padding:5px 12px 15px; transition: background-color 0.05s linear; cursor: pointer; z-index: 2; position: relative; }
.menu-toggle { border: 0; padding: 0; background-color: transparent; overflow: hidden; outline: none; cursor: pointer; height: 80px; width: 80px; background-color: none; border-radius: 50%; transition: background-color 0.05s linear; display: flex; flex-direction: column; }
.menu-toggle i { width: 80px; height: 80px; display: block; font-size: 20px; line-height: 2.5; line-height: 1; transition: transform 0.2s ease-in-out; transform: translateY(0); color: var(--bg-color-white); padding: 44px 0 20px; text-align: center; }
.menu-toggle .barra { width: 55px; height: 2px; margin:0px auto 7px; background-color: var(--bg-color-white); transition: transform .2s ease, opacity .2s ease, margin .2s ease; transform-origin: center; }
.menu-toggle i.icon-open { padding: 35px 0; }
/* Stato aperto: diventa X */
.menu-toggle.meno-toggle-open .barra:nth-child(1){ transform: translateY(8px) rotate(45deg) !important; }
.menu-toggle.meno-toggle-open .barra:nth-child(2){ opacity: 0; }
.menu-toggle.meno-toggle-open .barra:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

.menu-canvas { position: fixed; top: 0px; left: 0px; z-index: -1; background: linear-gradient(180deg, var(--bg-color-1) 10%, var(--primary-color) 50%, var(--bg-color-1) 90%); transition: .7s; transform: scale3d(0, 0, 0); display: flex; align-items: center; width: 100%; height: 100%; }
.menu-canvas.menu-open { transform: scale3d(1, 1, 1); opacity: .95; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.menu-canvas ul { padding-left: 0px; list-style: none; }
.menu-canvas ul a { text-decoration: none; }

.main-navigation { flex-basis: 50%; padding-top: 70px; padding-top: 7.2vh; padding-right: 4.43vw; }

.menu-list { list-style: none; }
.menu-list>.menu-item { text-align: right; }
.menu-item { position: relative; }
.menu-item a { text-decoration: none; color: var(--bg-color-white); font-size: 30px; font-weight: 300; line-height: 1; text-transform: initial; padding-bottom: 13px; display: inline-block; transition: color 0.2s linear; }
.menu-item a:hover { color: var(--bg-color-3); text-decoration: underline; }
.menu-item.menu-active a { color: var(--bg-color-3); }
.menu-item__main a { background: var(--bg-color-3); padding: 14px; margin: 5px 0 13px; transition: .5s all; }
.menu-item__main a:hover { background: var(--bg-color-2); color: var(--bg-color-white); transition: .5s all; text-decoration: none; }

.submenu-item.menu-active a { color: var(--bg-color-3); }
.submenu-container>a:before { content: ""; position: absolute; right: -45px; top: 1px; font-size: 28px; font-family: flaticon_servizi_hotel !important; font-style: normal; font-weight: normal !important; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: "\f152"; }
.submenu-container:hover>a { color: var(--bg-color-3); }
.submenu-container:hover:after { color: var(--bg-color-white); }
.submenu-container a { position: relative; }
.submenu-item { text-align: left; }
.submenu-item a { font-size: 22px; padding: 8px 0; }
.container-button-menu { background-color: var(--bg-color-1); text-align: center; padding: 0 12px 10px; transition: background-color 0.05s linear; cursor: pointer; padding-top: 0; padding-bottom: 10px; border-radius: 50%; z-index: 2; position: relative; }
.submenu-container a { position: relative; }
.menu-open .label-menu { opacity: 0; }
.submenu-container.open-submenu>a:after { transform: scaleX(1); }
.open-submenu>a { color: var(--bg-color-white); }
.submenu-list { text-transform: initial; position: absolute; width: 250px; right: -250px; top: 0; width: 20vw; padding-left: 4.43vw; right: -24.43vw; }
.submenu-container .submenu-list { opacity: 0; transform: translateX(45px) scale(0.95); transform-origin: right; transition: opacity 0.15s linear, transform 0.2s linear; }
.submenu-container.open-submenu .submenu-list { opacity: 1; transform: translateX(0) scale(1); z-index: 99; }

/* LANGUAGE MENU */
.language-menu { position: fixed; list-style: none; max-width: none; width: auto; left: 50%; transform: translateX(-50%); right: auto; text-align: center; top: 100px; }
.language-list-item { float: none; padding-right: 0; }
.language-menu .language-list-link-mobile { display: block; float: left; width: 40px; height: 70px; font-size: 20px; padding: 22px 0 0; margin: 0; text-align: center; }
.language-list-link { color: var(--bg-color-white); }
.language-list-link:hover { color: var(--bg-color-3); }
.menu-list { padding-top: 60px; }

/* Carousel */
.section-carousel .carousel .swiper { width: 100%; height: 100%; }
.section-carousel .carousel__image { height: 600px; width: 100%; background-size:cover; background-repeat:no-repeat; background-position:center center; }
.badge-header { position: absolute; bottom: 25px; right: 25px; z-index: 10; border-radius: 50%; }
/* === CONTENT === */

/* Carusel box titolo e immagine */
.slider-boxes__box { position: relative; color:var(--bg-color-white); overflow: hidden; }
.slider-boxes__wrap-box a::before { content: ""; position: absolute; background: linear-gradient(to bottom, rgba(12, 68, 136, 0) 0%, rgba(12, 68, 136, .15) 65%, rgba(12, 68, 136, .55) 85%); width: 100%; height: 100%; z-index: 10; transition: .4s ease-out; }
.slider-boxes__wrap-box img { transform: scale(1); transition: transform 1.2s ease; will-change: transform; }
.slider-boxes__wrap-box:hover img { -webkit-transform: scale(1.1) rotate(2deg);
  -moz-transform: scale(1.1) rotate(2deg);
  -o-transform: scale(1.1) rotate(2deg);
  -ms-transform: scale(1.1) rotate(2deg);
  transform:scale(1.1) rotate(2deg); }
.slider-boxes__box-wrap-text { position: absolute; bottom: 35px; left: 35px; z-index: 15; }
.slider-boxes__box-title { font-size: 28px; }

/* 2 Colonne Testo e Immagine */
.section-with-image__wrap-text{ padding:25px 10px; }
.section-with-image__wrap-text p:last-child{ margin-bottom:0; }
.section-with-image__wrap-text ul:last-child{ margin-bottom:0; }
.section-with-image__wrap-button { margin-top:30px; }

/* Mappa */
#map-map { width:100%; height:550px; }
.map__infowindow { padding:10px;font-weight:400; text-align: center; }
.map__title { margin-bottom:5px; font-size: 18px; }
.map__description p { margin-bottom:0; }

/* Parallax */
.parallax {min-height:680px;padding:100px 0;position: relative;display:flex; background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover;}
.parallax__btn{border-color:var(--bg-color-white);border-radius:50px;padding-left:30px;padding-right:30px;color:var(--bg-color-white);font-weight:700;text-transform:uppercase; }
.parallax__btn:hover{background:var(--bg-color-white);color:#0b2247}
.parallax__container { background: rgba(255, 255, 255, .7); backdrop-filter: blur(3px); width: 80%; max-width: 1024px; margin: auto; }

/* 3 box */
.three-boxes__wrap-icon i::before { font-family: flaticon_servizi_generali !important; line-height: 65px; width: 65px; border-radius: 50%; background-color: var(--bg-color-1); color: var(--bg-color-white); display: inline-block; font-size: 40px; text-align: center; }

/* Lista Luoghi */
.place-item__wrapper { padding:45px 0px; }
.place-item__wrapper h2 { margin-bottom:20px; }

.place-item__wrapper { background-color: #f4f6f9; }
.place-item__wrapper.sinistra { background-color: var(--bg-color-white); }
.place-item__text h3 { color:#6d98a1; }

.place-item__wrapper .col-image { margin-top:30px; }

/* MASONRY */
.masonry-gallery { column-count: 3; column-gap: 1rem; }
.masonry-item { break-inside: avoid; margin-bottom: 1rem; }
.masonry-item img { width: 100%; height: auto; display: block; border-radius: 8px; }
@media (max-width: 1024px) {
  .masonry-gallery { column-count: 3; }
}
@media (max-width: 768px) {
  .masonry-gallery { column-count: 2; }
}
@media (max-width: 480px) { 
  .masonry-gallery { column-count: 1; }
}

/* POPUP */
.popup-dynamic .modal-header img { margin:0px auto; }
.popup-dynamic__header-logo { background-color: #0137a1; }
.popup-dynamic__header-logo button { position: absolute; top:5px; right:15px; color:var(--bg-color-white); }
.popup-dynamic__wrap-image img { margin:0px auto; }
.popup-dynamic__wrap-image + .popup-dynamic__wrap-text { margin-top:20px; }
.popup-dynamic__wrap-text h2, .popup-dynamic__wrap-text h3 { color:#0137a1; }

/* FORM CONTATTI */
.section-contatti { padding:20px 0px; }
.section-contatti .section__maintitle { text-align:center; color: #8d796e; }
.section-contatti__description { text-align:center; margin-bottom:30px; }

.contact-form .form-control { border-radius:0; background-color:#f0ebe4; }
.wrap_eta.hidden { display:none; }

.contact-form .form-group { margin-bottom:15px; }
.contact-form .form-check a { color:#222; text-decoration:none; }

.section-choice_hotel .section__mainsubtitle { font-family: 'Playfair Display', sans-serif; font-size:28px; }
.section-choice_hotel ul li { line-height: 2rem; }
.section-choice_hotel ul li::marker { color: var(--bg-color-1); }

/* NEWSLETTER */
.section-newsletter { text-align: center; background:var(--bg-color-1); color: var(--bg-color-white); overflow: none; padding:40px 0px; }
.box-newsletter { margin:0px auto; position: relative; }
.box-newsletter__wrapper { margin:0px auto; }
.box-newsletter__wrapper .section__maintitle { color: var(--bg-color-white); }
.box-newsletter .form-control { border-radius: 0px; color: var(--text-color); }
.box-newsletter .form-check { margin:10px 0px; }
.newsletterForm .form-input { display: flex; max-width: 680px; margin: auto; }
.newsletterForm #newsletter_email { flex:1; }
.newsletterForm button { border: 1px solid var(--bg-color-3); }

/* SLIDER OFFERTE */
.section-slider-offerte { padding:70px 0 30px; }
.section-slider-offerte .container { background: var(--bg-color-white); padding: 35px; -webkit-box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, .2); box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, .2); }
.section-slider-offerte__wrap-text .section__maintitle { color:#7e6458; }
.section-slider-offerte__wrap-btn-all { margin-top: 15px;  margin-bottom:25px; }

.slider-offerte__slide { margin:0px auto; padding: 0px 5px; }
.slider-offerte__wrap-title h3 { font-size: 45px; color: var(--bg-color-2); font-weight: 300; }
.slider-offerte__link { margin-bottom:30px; position: relative; }

.slider-offerte>.slider-offerte__wrap-slide { display: none; }
.slider-offerte>.slider-offerte__wrap-slide:first-child { display: block; display: block; max-width: 100%; height: auto; }


/* LISTA OFFERTE */
.section-lista-offerte { padding-bottom: 0px; }
.wrapper-lista-offerte { padding: 30px 0px 35px; }
.lista-offerte__wrap-offerta { margin-bottom: 45px; position: relative; }
.lista-offerte__col-text { padding: 20px; font-size: 16px; background-color: #f6f6f6; }
.lista-offerte__wrap-btn-offerta { margin-top: 20px; }
.lista-offerte__wrapper-text { max-width: 85%; position: relative; top: -120px; left: 15px; background: var(--bg-color-4); }
.lista-offerte__wrapper-text .section__mainsubtitle { font-size: 28px; }

/* OFFERTA */

/* Lista Camere */
.section-lista-camere { padding-top:45px; }
.section-lista-camere__wrap-text { margin-bottom:45px; }

.room-item__wrapper { padding:45px 0px; }
.room-item__wrapper .room-meta{ margin: 10px 0 18px; }
.room-item__wrapper .meta-pill{ display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: var(--primary-color); border: 1px solid var(--primary-color); color: var(--bg-color-white); font-size: 14px; line-height: 1; }
.room-item__wrapper .meta-pill strong{ margin-left: 2px; }
.room-item__wrapper .meta-ico{ width: 18px; height: 18px; fill: currentColor; opacity: .7; } 

.room-item__services ul { list-style:none; padding:0px; }
.room-item__services li { position:relative; display:block; padding:7px 0px 7px 38px; }
.room-item__services li i { position:absolute; top:4px; /*top:50%; margin-top:-14px;*/ left:2px; color:var(--primary-color); font-size:26px; height:26px; /* fix */ }

.room-item__wrapper { background: var(--bg-color-4); }
.room-item__wrapper.sinistra { background: var(--bg-color-white); }

.room-item__wrap-image { position:relative; overflow:hidden; }
.room-item__wrap-image img { transition:0.8s all; }
.room-item__wrap-image:hover img { transform:scale(1.1); }
.wrap-gallery-room__wrap-button a { position:absolute; top:0px; left:0px; right:0px; bottom:0px; z-index:10; transition:0.3s all; }
.wrap-gallery-room__wrap-button a:hover { background-color:rgba(0, 0, 0, 0.2); }
.wrap-gallery-room__button { position:absolute; bottom:20px; left:50%; margin-left: -75px; z-index: 15; display:inline-block; background-color:#f4f6f9; color:#222; padding:10px 15px; font-size: 16px; font-weight: 500; text-decoration:none; transition:0.3s all; }
.wrap-gallery-room__wrap-button a:hover .wrap-gallery-room__button { background-color:var(--primary-color); color:var(--bg-color-white); }
.wrap-gallery-room__wrap-button .wrap-icon { position:absolute; top:50%; left:0%; right: 0px; text-align: center; transform: translateY(-50%); z-index:15; }
.wrap-gallery-room__wrap-button i { opacity:0; font-size: 40px; color:var(--bg-color-white); transition:0.5s all; }
.wrap-gallery-room__wrap-button a:hover i { opacity:0.8; font-size: 80px; }

.room-item__wrapper .col-image { margin-top:30px; }

/* SLIDER CAMERE */
.slider-camere .swiper-slide { width: auto; /* per rispettare la larghezza contenuto, come variableWidth */ }

/* RECENSIONI */
.section-recensioni { background:#f9f9f9; }
.lista-recensioni__wrapper-recensione { position: relative; padding: 30px; margin: 0px 0px 25px; background: var(--bg-color-white); box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.08); }
.lista-recensioni__wrapper-name { line-height:1; }
.lista-recensioni__wrap-name { float: left; padding-top: 0; margin-left: 15px; }
.lista-recensioni__wrap-name h6 { font-size: 24px; margin-top: 5px; margin-bottom: 5px; color: #3e3e3e; font-weight: 700; }
.lista-recensioni__source { font-size: 18px; }
.lista-recensioni__date { margin-top:8px; }
.lista-recensioni__wrap-rating { font-size:26px; color:#78b0c4; margin-bottom:10px; }

/* SLIDER RECENSIONI */
.col-slider-recensioni { background:#e7ecf1; }

.slider-recensioni__wrap-title { margin-bottom:5px; font-size: 20px; }
.slider-recensioni__text { margin-bottom:20px; }
.slider-recensioni__text h2 { margin-bottom:30px; }
.slide-recensione__fonte { margin-top:25px; margin-bottom:7px; }
.slide-recensione__fonte img { max-height:22px; }
.slide-recensione__wrap-name { font-weight:700; }

.section-slider-recensioni__wrap-btn-all { margin-top:15px; }

/* MINIGALLERY */
.section-minigallery .album__image {padding: 0px 4px;}

/* GALLERY */
.section-main-gallery { padding-top:30px; }
#gallery-filters { text-align: center; margin-bottom:20px; }
#gallery-filters.selected .gallery-filter__filter:first-child:not(.active),
.gallery-filter__filter { display: inline-block; font-size: 16px; margin:6px 4px; padding:6px 12px; background:#f4f6f9; color:#333; border-radius:2px; font-weight: 500; }
#gallery-filters .gallery-filter__filter:first-child,
.gallery-filter__filter.active { background:var(--bg-color-1); color:var(--bg-color-white); }
.gallery-filter__filter:hover { cursor: pointer; }
.main-gallery .col-album { padding:3px; display: none; transition: 1s all; }
.main-gallery .col-album.show { display: block; }
.main-gallery img { transition: .5s all; }
.main-gallery img:hover { transform: scale(1.04); transition: .5s all; }

/* MINIPREVENTIVO */
.minipreventivo__wrapper { position:fixed; bottom:0px; left:0px; right:0px; background:#f9f5f1; z-index:30; -webkit-box-shadow: 0px 5px 15px rgb(0 0 0 / 10%);  box-shadow: 0px 5px 15px rgb(0 0 0 / 10%); }
.minipreventivo__wrap { padding: 15px 15px; color:#213689; margin: 0px auto; max-width: 1400px;  text-align:center; }
.minipreventivo__wrap .wrap-field { position: relative; }
.minipreventivo__wrap .wrap-field.is-invalid { border: 1px solid #ff2237; }

.minipreventivo__wrap .wrap-field label { color: #213689; font-size: 18px; line-height: 24px; margin: 0px; margin-bottom:5px; text-transform:uppercase; font-weight:600; }
.minipreventivo__wrap .wrap-field.is-invalid label{color:#ff2237;}
.minipreventivo__wrap .wrap-field input { background:var(--bg-color-white); color:#213689; border:1px solid #1b3b84; text-align:center; border-radius:0; }
.minipreventivo__wrap .wrap-field select option { color:#333; }
.minipreventivo__wrap_wrap-button button { display: block; width:100%; }
.minipreventivo__wrap .btn-minibooking { background:#1e3986; color:var(--bg-color-white); padding: 0px 10px; line-height: 70px; border: 0px; font-weight: 500; }
.minipreventivo__wrap .btn-minibooking:hover { cursor: pointer; }

#abs-popover-content .wrap-field { margin-bottom: 15px; }
#abs-popover-content .wrap-field.is-invalid{border: 1px solid #ff2237;}
#abs-popover-content .wrap-field label { color: #333; font-size: 16px; }
#abs-popover-content .wrap-field.is-invalid label { color: #ff2237; }

#abs-popover-content .wrap-field input,
#abs-popover-content .wrap-field select { background-color:var(--bg-color-white); color:#333; border:1px solid #1b3b84; border-radius:0;  }
#abs-popover-content .row.small-margin { margin:0px -5px; }
#abs-popover-content .row.small-margin > div { padding: 0px 5px; }

#abs-popover{ height:38px; display:block; padding:3px 12px; background:var(--bg-color-white); color:#213689; border:1px solid #1b3b84; font-size:15px; line-height: 28px; text-decoration:none; }
#abs-popover .abs-camera-label{font-weight:700; }
#abs-popover-content { display:none; position: absolute; z-index: 10000; bottom: 0px;left:-10px;right:-10px; background:#f9f5f1; padding:25px 15px 15px; border:1px solid #1e3987;}
#abs-popover-content strong {text-transform: uppercase; color: #b82209;}
#abs-popover-content .selects{text-align:left; clear:both;}
#abs-popover-content .selects label, 
#abs-popover-content .selects select{float:left; width:45%; margin-bottom:5px;}
#abs-popover-content .selects select{width:auto; margin-right:5px;}
#abs-popover-content #abs-popover-close{line-height:normal; margin-top:10px;}
#abs-popover-content .eta-bambini{display:none;}

/* ICONE SERVIZI */
.elenco-servizi__servizio{text-align:center;background:var(--bg-color-white);padding:15px; margin-bottom:30px; }
.elenco-servizi__icona{color:#0c67c4;font-size:70px;line-height:1;}
.elenco-servizi__titolo{color:#022447;font-size:20px;margin-bottom:0;}

/* ACCORDION FAQ */
.accordion-button:not(.collapsed) { background-color: var(--bg-color-1); color: var(--bg-color-white); }
.accordion-button { --bs-accordion-btn-active-icon : url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") }
.accordion-button.section__mainsubtitle { margin-bottom: 15px; }

/* === FOOTER === */
.footer-top, .footer-bottom { color: #7e6458; }
.footer-top a,
.footer-bottom a {
  color: var(--text-color);
}
.footer-top a:hover,
.footer-bottom a:hover {
  color: #7e6458;
}
#footer-top_social .section__maintitle { color: var(--bg-color-1); }
.footer-top__social { border-top: 1px solid #b2d0c4; border-bottom: 1px solid #b2d0c4; }
.footer-top__social i:before { color: var(--bg-color-1); font-size: 50px; }
.footer-bottom { font-size: 85%; }

@media (min-width: 576px) {
  .popup-dynamic .modal-dialog { max-width: 600px; } /* POPUP */
}
@media (min-width: 992px) {
  /* Lista Luoghi */
  .place-item__wrapper.sinistra .col-text { order: 6!important; }
  .place-item__wrapper .col-image { margin-top:0px; }

  .place-item__wrap-image{ position: relative; overflow: hidden; border-radius: 0; }
  .place-item__wrap-image img{ width: 100%; height: 100%; display: block; object-fit: cover; }
  .place-item__wrapper .place-item__wrap-image{ overflow: hidden; -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%); clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%); }
  .place-item__wrapper.sinistra .place-item__wrap-image{ -webkit-clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%); clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%); }

  /* GALLERY */
  .main-gallery .col-album { padding:7px; }
}

@media (min-width: 1400px) {
  /* Lista Luoghi */
  .place-item__wrapper.destra .col-image { padding-left:25px; }
  .place-item__wrapper.sinistra .col-image { padding-right:25px; }
  .place-item__wrapper.destra .place-item__text { padding-left:30px; padding-right:15px; }
  .place-item__wrapper.sinistra .place-item__text { padding-left:15px; padding-right:30px; }

  /* CAMERE */
  .room-item__wrapper.destra .col-image { padding-left:25px; }
  .room-item__wrapper.sinistra .col-image { padding-right:25px; }
  .room-item__wrapper.destra .room-item__wrap-text { padding-left:30px; padding-right:15px; }
  .room-item__wrapper.sinistra .room-item__wrap-text { padding-left:15px; padding-right:30px; }
}

@media (min-width: 1800px) {
  /* Lista Luoghi */
  .place-item__wrapper.destra .place-item__text { padding-left:50px; padding-right:25px; }
  .place-item__wrapper.sinistra .place-item__text { padding-left:25px; padding-right:50px; }

  /* CAMERE */
  .room-item__wrapper.destra .room-item__wrap-text { padding-left:50px; padding-right:25px; }
  .room-item__wrapper.sinistra .room-item__wrap-text { padding-left:25px; padding-right:50px; }
}



@media (min-width: 992px) {
  /* HEADER */
  .visible-desktop { display: initial; position: absolute; left: 6rem; top: 40%; }
  .visible-desktop a { display: block; margin: 30px; }
  .visible-mobile { display: none; }

  .section-carousel .carousel__image { height: 100svh; } /* Carousel */
  .section-with-image__wrap-text { padding:25px 20px; margin-top: -80px; } /* 2 Colonne Testo e Immagine */

  /* LISTA OFFERTE */
  .lista-offerte__wrap-offerta { position: relative; }
  .sinistra .lista-offerte__wrap-offerta { padding-right: 20%; }
  .destra .lista-offerte__wrap-offerta { padding-left: 20%; }
  .lista-offerte__col-text { position: absolute; bottom: 10%; width: 500px; padding: 50px; z-index: 5; }
  .sinistra .lista-offerte__col-text { right: 0px; }
  .destra .lista-offerte__col-text { left: 0px; }

  /* CAMERE */
  .room-item__services ul { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; -webkit-column-gap: 20px; -moz-column-gap: 20px; column-gap: 20px; }
  .room-item__services li { break-inside: avoid-column; }
  .room-item__wrapper.sinistra .col-text { order: 6!important; }
  .room-item__wrapper .col-image { margin-top:0px; }

  /* SLIDER RECENSIONI */
  .slider-recensioni__wrap-text { border-left:1px solid #2d477e; padding-left:50px; }

  /* MINI PREVENTIVO */
  .minipreventivo__wrapper .wrap-field { margin-bottom:0px; }
  .minipreventivo__wrapper .wrap-field .form-control{ font-size: 15px;  }
}

@media (min-width: 1200px){
  /* MINI PREVENTIVO */
  .minipreventivo__wrapper .wrap-field .form-control { font-size: 16px; }
  #abs-popover{ font-size:16px; }
}

@media (min-width: 1200px) and (max-width: 1680px) {
  .menu-item a { font-size: 24px; padding-bottom: 10px; }
}

@media (max-width: 1400px) {
.header-info a .contact-tooltip { position: absolute; bottom: -40px; left: 0; transform: translateX(-30px); background: var(--bg-color-white); color:var(--bg-color-2); padding: 10px 15px; border-radius: 30px; min-width: 190px; opacity: 0; transition: opacity, 0.2s; display: none; }
.header-info a:hover .contact-tooltip { opacity: 1; display: block; }
}

@media (max-width: 1200px) {
  body { padding-bottom: 40px; }
  header .header-col.col-n1 { flex: 1 0 100%; justify-content: space-between; }
  header .header-col.col-n2 { flex: 0 0 100%; position: absolute; width: 55%; left: 50%; transform: translateX(-50%); }
  header .header-col.col-n3 { position: fixed; bottom: 0; left: 0; width: 100%; }
  header .header-col.col-n3 .btn-button-top { padding: 10px; font-size: 21px; width: 100%; text-align: center; display: block !important; text-decoration: none; }
  header .hidden-mobile { display:none; }
  .header-info a .contact-tooltip { left: -80px; }

  .badge-header { max-width: 180px; }
}

@media (max-width: 991px) {
  .menu-canvas { align-items: initial; }
  .main-navigation { font-size: 20px; flex-basis: 100%; padding: 160px 0 30px; overflow-y: scroll; }
  .menu-list>.menu-item { text-align: center; }
  .menu-item a { font-size: 25px; padding-bottom: 10px; display: block; }

  .submenu-list { position: relative; width: 100%; right: 0; padding: 0; display: block; padding: 15px 0 15px; }
  .submenu-container.open-submenu .submenu-list { background-color: rgba(60, 52, 51, 0.3); margin-bottom: 20px; }
  .submenu-container .submenu-list { transform: initial; }
  .submenu-container>a:before { right: 10px; top: -2px; transform: rotate(90deg); }
  .submenu-list.hide-menu { display: none; }
  .submenu-item { text-align: center; }

  .visible-desktop { display: none; }
  .visible-mobile { display: initial; }

  .badge-header { max-width: 120px; }

  .section__maintitle { margin-bottom:22px; font-size:40px; }
  .section__mainsubtitle { margin-bottom: 20px; font-size: 28px; }

  .lista-offerte__wrap-offerta { max-width: 800px; margin-left: auto; margin-right: auto; }
  .lista-offerte__wrapper-text { max-width: 100%; position: relative; top: 0px; left: 0px; }

  .section__minipreventivo .minipreventivo__wrapper { display: none; }
}
@media (max-width: 768px) {
  .wrapper-menu-toggle { padding:0px 0px 5px; }
  .logo-header img { max-width: 210px; }
  .header-info a i { font-size: 32px; }
    /* OFFERTE */
  .lista-offerte__wrap-offerta { max-width: 500px; }
  .section-slider-offerte { padding:0; }
  .slider-offerte__wrap-title h3 { font-size: 32px; }
  /* RECENSIONI */
  .lista-recensioni__wrap-recensione { padding:25px; }
  .lista-recensioni__wrap-data { font-size: 16px; }
  .lista-recensioni__wrap-rating { top:30px; right:30px; font-size: 30px; }
}