body{ font-weight:400; font-size:18px; overflow-x:hidden; scroll-behavior: smooth; font-family: "Work Sans", sans-serif;  font-optical-sizing: auto; font-style: normal; color:#424242; }
body.no-carousel { padding-top:80px; }
@media (min-width: 992px) {
  body.no-carousel { padding-top:105px; }
}
@media (max-width: 991px) {
  body { padding-bottom: 65px; }
}

a { text-decoration:none; color:#696969; }
b, strong { font-weight: 600; }

.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__sopratitolo { font-size:20px; margin-bottom:6px; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "wdth" 100; }
.section__maintitle { font-size:34px; margin-bottom:30px; font-family: "Playfair", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "wdth" 100; }
h1 { font-size:20px; margin-bottom:20px; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "wdth" 100; }
h2 { font-size:34px; margin-bottom:25px; font-family: "Playfair", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "wdth" 100; }
h1 + h2 { color:#6d98a1; }

@media (min-width: 1200px) {
  .section__maintitle { font-size:50px; }
  h2 { font-size:40px; }
}

@media (min-width: 1600px) {
  .section__maintitle { font-size:70px; }
}

.btn-cta{ display:inline-block; padding:12px 28px; background:#b2d0c4; color:#333; font-size: 16px; font-weight: 600; text-transform: uppercase; text-decoration: none; transition: 0.3s all; border:0px;}
.btn-cta:hover,
.btn-cta:focus{text-decoration: none; background:#6d98a1; color:#fff; }

.btn-cta-2{ display:inline-block; padding:12px 28px; background:#6d98a1; color:#fff; font-size: 16px; font-weight: 600; text-transform: uppercase; text-decoration: none; transition: 0.3s all; border:0px;}
.btn-cta-2:hover,
.btn-cta-2:focus{text-decoration: none; color:#333; background:#b2d0c4; }

.bg-color-1 { background-color:#f6f6f6; }
.bg-color-2 { background-color:#f1efeb; }
.bg-color-3 { background-color:#6d98a1; }
.bg-white { background-color:#fff; }

.wrapper-custom-arrows { text-align:right; margin-top:5px; }
.wrapper-custom-arrows.center { text-align:center; }
.wrapper-custom-arrows .custom-arrow { display:inline-block; font-size:60px; }
.wrapper-custom-arrows.smaller .custom-arrow { display:inline-block; font-size:40px; }
.wrapper-custom-arrows .swiper-button-lock { display:none; }

.decoration-right { position: relative; background-image: url('../images/foglia-sfondo-trasp.png'); background-repeat: no-repeat; background-position: right -120px center; background-size: calc(30%) auto; }


/* HEADER */

.noscroll { overflow: hidden; }

header { background: transparent; position: fixed; width: 100%; top: 0; left: 0; right: 0; z-index: 101; padding: 0; color: #00292e; transition: background, 0.2s; }
.fixed-header header,
.no-carousel header { background: #6d98a1; box-shadow: 0px -5px 15px rgba(0, 0, 0, 0.3); }
header .header-container { display: flex; flex-direction: row; flex-wrap: wrap; align-content: center; }

header .header-col { flex: 0 0 40%; display: flex; align-header-cols: center; 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; }


.wrapper-menu-toggle { background-color: #fff; text-align: center; padding: 0 12px 10px; 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: 70px; 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: #fff; padding: 44px 0 20px; text-align: center; }
.menu-toggle .barra { width: 40px; height: 1px; margin:0px auto 7px; background-color: #333; transition: transform .2s ease, opacity .2s ease, margin .2s ease; transform-origin: center; }
.menu-toggle i.icon-open { padding: 32px 0; }
/* Stato aperto: diventa X */
.menu-toggle.menu-toggle-open .barra:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.menu-toggle.menu-toggle-open .barra:nth-child(2){ opacity: 0; }
.menu-toggle.menu-toggle-open .barra:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

.menu-toggle-text { font-size:14px; }

.header-info { text-align: center; position: relative; padding: 7px 2.6041666667vw; left: 0px; }
.header-info a { color: #00292e; text-decoration: none; display: inline-block; min-width: 70px; padding: 0 30px 8px; padding: 0 1.5625vw 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: 28px; line-height: 1; color: #fff; transition: color, 0.2s; }
.label-header { font-size: 15px; line-height: 1; transform: translateY(8px); margin-top: -7px; color: #fff; }
.header-info a .tel-tooltip { position: absolute; bottom: -70px; left: 0; transform: translateX(-30px); background: #fff; color: #45a9af; padding: 10px 15px; border-radius: 30px; min-width: 190px; opacity: 0; transition: opacity, 0.2s; display:none; box-shadow: 2px 2px #93b2d2; }
.header-info a .tel-tooltip::before { content: ""; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid #fff; position: absolute; top: -10px; left: 50%; transform: translateX(-50%); }
.header-info a:hover .tel-tooltip { opacity:1; display:block; }

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

.btn-prenota-top { color: #333; font-size: 26px; background: #b2d0c4; padding: 0px 80px 0px 40px; line-height: 105px; display: block; font-weight: 500; text-transform: uppercase; margin: 0; position: relative; border: 0; text-decoration: none; display: inline-block; transition: background-color 0.2s linear; }
.buttons-fixed-mobile { position:fixed; bottom:0px; left:0px; right:0px; z-index:50; font-size: 20px; line-height: 34px; opacity: 1; transition: opacity .2s ease, transform .2s ease; text-align:center; }
.buttons-fixed-mobile.is-hidden{ opacity: 0; pointer-events: none; transform: translateY(12px); }

@media (max-width: 991px) {
  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 { display: none; }
  header .hidden-mobile { display:none; }
  .wrapper-menu-toggle { padding: 0 0px 10px; }
  .menu-toggle-text { display:none; }
  .btn-prenota-top.btn-prenota-mobile { text-align:center; }
  .btn-prenota-top i { font-size:20px; position:relative; top:2px; }
}

@media (max-width: 1199px) {
  .header-info a.mail { display:none; }
}

@media (min-width: 992px){
  .logo-header { margin-top:0px; }
  .logo-header img { max-width:200px; width:100%; }
  .header-info { padding:22px 0px; /*background:#6d98a1;*/ }
  .btn-prenota-top.btn-prenota-mobile { display:none; }
  .btn-prenota-top i { font-size:42px;  position: absolute; top: 50%; right: 25px; transform: translate(0, -50%); }
}

/* MENU */

.menu-canvas { position: fixed; z-index: 99; left: 0; width: 100%; height: 100%; top: 0; background-color: rgba(109, 152, 161, 0.8); display: flex; align-items: center; transition: opacity 0.1s linear; opacity: 0; transform: translateY(-120%); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.menu-canvas.menu-open { transform: translateY(0); opacity: 1; }
.menu-canvas ul { padding-left:0px; list-style:none; }
.menu-canvas ul a { text-decoration:none; }


@media (max-width: 991px) {
  .menu-canvas { align-items: initial; }
}

@media (min-width: 1280px) {
  /*.firefox .menu-canvas.menu-open:after { content: ""; position: absolute; width: 100%; height: 100%; filter: blur(20px); z-index: -1; background-color: rgba(60, 52, 51, 0.13);  opacity: 0.7; transform: scale(1.1); background-position: center; background-size: cover; }*/

  .noscroll .menu-canvas,  .noscroll header { width: calc(100% - 17px); }
}

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

@media (max-width: 991px) {
  .main-navigation { font-size: 20px;  flex-basis: 100%;  padding: 160px 0 30px;  overflow-y: scroll; }
}

.menu-list { list-style:none; }
.menu-list > .menu-item { text-align: right; }
.menu-item { position: relative; }
.menu-item a { text-decoration: none; color: #fff; 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: black; }
.menu-item.menu-active a { color: black; }

@media (max-width: 991px) {
  .menu-list > .menu-item { text-align: center; }
  .menu-item a { font-size: 25px; padding-bottom: 10px; display: block; }
}

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

  .noscroll .menu-canvas,  .noscroll header { padding-bottom: 0; }
}

.submenu-item.menu-active a { color: black; }

.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: #000; }
.submenu-container:hover:after { color: #fff; }
.submenu-container a { position: relative; }

.submenu-item { text-align: left; }
.submenu-item a { font-size: 22px; padding: 8px 0; }

.container-button-menu { background-color: #44a0a5; 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: #fff; }

.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; }

@media (max-width: 991px) {
    .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; }
}

.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: #fff;}
.language-list-link:hover {color: #000;}
.menu-list{ padding-top:60px; }

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


/* Carousel */

.section-carousel .carousel .swiper { width: 100%; height: 100%; }
.section-carousel .carousel__image { height: 300px; width: 100%; background-size:cover; background-repeat:no-repeat; background-position:center center; }

@media (min-width: 992px){
  .section-carousel .carousel__image { height: calc(100svh - 105px);
; }
}

/* Carousel  Video*/

.section-carousel-video { position:relative; background-color:#333; }
.section-carousel-video .wrapper-loader { position:absolute; top:50%; left:50%; margin-top:-24px; margin-left:-24px; z-index:2; }
.section-carousel-video .loader { width: 48px; height: 48px; border-radius: 50%; display: inline-block; border-top: 4px solid #FFF; border-right: 4px solid transparent; box-sizing: border-box; animation: rotation 1s linear infinite; }
.section-carousel-video .loader::after { content: ''; box-sizing: border-box; position: absolute; left: 0; top: 0; width: 48px; height: 48px; border-radius: 50%; border-bottom: 4px solid #93b2d2; border-left: 4px solid transparent; }

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 

.wrap-carousel-video { padding:56.25% 0 0 0; position:relative; z-index:5; }
.carousel-video { position:absolute;top:0;left:0;width:100%;height:100%; }

@media (min-width: 1200px){
  .section-carousel-video { height: 100vh; z-index: -5; max-height: 55.00vw; overflow:hidden; }
  .section-carousel-video:after { content:""; position:absolute; top:0px; right:0px; bottom:0px; left:0px; background-color:rgba(0,0,0,0.2) }
  .section-carousel-video__wrapper { position: absolute; top: 50%; left: 0px; right: 0px; z-index: -1; transform: translateY(-50%); }
}


/* Section Intro */

.section-intro { background-color:#f6f6f6; }
.section-intro h1 { margin-bottom:0px; }
.section-intro .section__maintitle { color:#6d98a1; margin-bottom:35px; }

@media (min-width: 992px) {
    .section-intro__description.text-columns-3 { column-count: 3; column-gap: 2rem; -webkit-column-count: 3; -webkit-column-gap: 2rem; -moz-column-count: 3; -moz-column-gap: 2rem; }
}

/* 2 Colonne Testo e Immagine */
.section-with-image__wrap-text{ padding:25px 10px; }
.section-with-image__wrap-text h1 { margin-bottom:6px; }
.section-with-image .section-title { color:#6d98a1; }
.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; }

@media (min-width: 992px){
 .section-with-image__wrap-text { padding:25px 20px; }
}


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

/* 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:#fff; }
.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; }

@media (min-width: 576px){
  .popup-dynamic .modal-dialog { max-width: 600px; }
}


/* SLIDER OFFERTE */
.section-slider-offerte__column-left { margin-bottom:25px; }
.section-slider-offerte__wrap-text { text-align:center; }
.section-slider-offerte__wrap-text h2 { margin-bottom: 25px; }
.section-slider-offerte__text { margin-bottom: 25px; font-weight: 600; }
.section-slider-offerte__wrap-btn-all { margin-top: 15px;  margin-bottom:25px; }

.slider-offerte__slide { /*margin:0px auto; max-width: 900px; padding: 0px 5px;*/ }
.slider-offerte__wrap-text { background-color:#f6f6f6; padding:30px; font-size:16px; }
.slider-offerte__wrap-title { margin-bottom: 20px;  }
.slider-offerte__wrap-title h3 { font-size: 22px; color:#6d98a1; }
.slider-offerte__link { margin-top:30px; }


.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; }

@media (max-width: 991px){
  .section-slider-offerte .wrapper-custom-arrows { text-align:center; }
}

@media (min-width: 992px){
  .slider-offerte .swiper-slide { position:relative; padding-left:20%; }
  .slider-offerte__wrap-text { position:absolute; left:0px; bottom:10%; width:500px; padding:50px; z-index:5; }
}

/* 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; }

@media (max-width: 767px){
  .lista-offerte__wrap-offerta { max-width:500px; margin-left:auto; margin-right:auto; }
}

@media (min-width: 992px){
  .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; }

}

/* OFFERTA */
.offerta-show h2 { color:#6d98a1; }



/* Lista Camere */
.section-lista-camere { padding-top:60px; }

.section-lista-camere__wrap-text { margin-bottom:60px; }

.room-item__wrapper { padding:45px 0px; }
.room-item__wrap-text h2 { margin-bottom:20px; }

.room-item__icon { display:inline-block; padding:5px 10px 5px 35px; position:relative; margin-right:8px; margin-bottom:15px; }
.room-item__icon i { font-size:28px; position:absolute; left:0px; top:0px; color:#6d98a1; } 

.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:#6d98a1; font-size:26px; height:26px; /* fix */ }

.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; top:20px; left:20px; 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:#6d98a1; color:#fff; }
.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:#fff; 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; }

@media (min-width: 992px){
  .section-lista-camere__text { column-count: 3; column-gap: 2rem; -webkit-column-count: 3; -webkit-column-gap: 2rem; -moz-column-count: 3; -moz-column-gap: 2rem; }
  .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; }
  .sinistra .wrap-gallery-room__button { left:auto; right:20px; }
}

@media (min-width: 1400px){
  .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){
  .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; }
}


.room-meta{
  margin: 10px 0 18px;
}

.meta-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #6d98a1;
  border: 1px solid #b2d0c4;
  color: #ffffff;
  font-size: 14px;
  line-height: 1;
}

.meta-pill strong{
  margin-left: 2px;
}

.meta-ico{
  width: 18px;
  height: 18px;
  fill: currentColor;
  opacity: .7;
}


/* SLIDER CAMERE */

.slider-camere__nav { margin-bottom: 2rem; font-size: 26px; text-align:center; font-family: "Playfair", serif; }
.slider-camere__nav-item { background-color: none; border: 0; padding: 0; cursor: pointer; font: inherit; position: relative; opacity: 0.6; margin:0px 10px 15px; }
.slider-camere__nav-item.is-active { opacity: 1; }
.slider-camere__nav-item.is-active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -0.5rem; height: 2px; background: currentColor; }

.slider-camere__slide { position:relative; }
.slider-camere__image { height: 400px; background-size:cover; background-position:center; background-repeat:no-repeat; }
.slider-camere__image:after { content:""; z-index:1; position:absolute; top:0px; right:0px; bottom:0px; left:0px; background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.18) 30%, rgba(0,0,0,0) 70%); }

.slider-camere__wrapper-text { position:absolute; bottom:20px; left:25px; right: 25px; z-index: 5; color:#fff; }
.slider-camere__wrapper-text h3 { font-family: "Playfair", serif; font-size:26px; }
.slider-camere__text { font-size:16px; font-weight:500; }

@media (min-width: 768px){
  .slider-camere__wrapper-text { bottom:40px; left:45px; right: 45px; }
  .slider-camere__wrapper-text h3 { font-size:32px; }
  .slider-camere__text { font-size:20px; }
}

@media (min-width: 1200px){
  .slider-camere__image { height: 500px; }
  .slider-camere__wrapper-text h3 { font-size:40px; }
}

@media (min-width: 1600px){
  .slider-camere__image { height: 700px; }
}

/* SLIDER BOXES */

.section-slider-boxes { background-color:#f6f6f6; }
.section-slider-boxes__wrapper-title h2 { margin-bottom:15px; }
.section-slider-boxes__wrapper-text { margin-bottom:30px; }
.section-slider-boxes__wrapper-text p:last-child { margin-bottom:0px; }

.slider-boxes__wrap-box { position:relative; overflow: hidden; }
.slider-boxes__box:after { content:""; position:absolute; top:0px; right:0px; bottom:0px; left:0px; background: linear-gradient(to bottom, rgba(0,0,0,.65) 0%, rgba(0,0,0,.18) 25%, rgba(0,0,0,0) 70%); }
.slider-boxes__box-wrap-text { position:absolute; top:30px; left:30px; right:30px; z-index: 5; color:#fff; }
.slider-boxes__box-text { font-weight:500; }
.slider-boxes__wrap-box img{ transform: scale(1); transition: transform 1.4s ease; /* “lento” */ will-change: transform; }
.slider-boxes__wrap-box:hover img,
.slider-boxes__wrap-box:focus-visible img { transform: scale(1.08); }

@media (min-width: 1200px){
  .section-slider-boxes__wrapper-text { font-size:20px; margin-bottom:45px; }
  .slider-boxes__box-wrap-text h4 { font-size:30px; }
}

/* RECENSIONI */
.section-recensioni { background-color:#f9f9f9; }
.lista-recensioni__wrapper-recensione { position: relative; padding: 30px; margin: 0px 0px 25px; background-color: #fff; 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; }

@media (min-width: 768px){
  .lista-recensioni__wrap-recensione { padding:25px; }
  .lista-recensioni__wrap-data { font-size: 16px; }
  .lista-recensioni__wrap-rating { top:30px; right:30px; font-size: 30px; }
}

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

/* 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-color:#b2d0c4; color:#222;*/ border-bottom:2px solid #b2d0c4; border-radius:2px; font-weight: 500; }
#gallery-filters .gallery-filter__filter:first-child,
.gallery-filter__filter.active { /*background-color:#6d98a1; color:#fff;*/ border-bottom:4px solid #6d98a1; }
.gallery-filter__filter:hover { cursor: pointer; }
.main-gallery .col-album { padding:3px; display: none; transition: 1s all; }
.main-gallery .col-album.show { display: block; }

@media (min-width: 992px){
  .main-gallery .col-album { padding:7px; }
}

/* MINIPREVENTIVO */

.minipreventivo__wrapper { position:fixed; bottom:0px; left:0px; right:0px; background-color:#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:#ffffff; 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:#fff; 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:#ffffff; 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:#fff; 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;}

@media (max-width: 991px){
  .section__minipreventivo .minipreventivo__wrapper { display: none; }
}

@media (min-width: 992px){
  .minipreventivo__wrapper .wrap-field { margin-bottom:0px; }
  .minipreventivo__wrapper .wrap-field .form-control{ font-size: 15px;  }
}
@media (min-width: 1200px){
  .minipreventivo__wrapper .wrap-field .form-control { font-size: 16px; }
  #abs-popover{ font-size:16px; }
}


/* Icone Servizi */

.section-servizi { background-color:#f6f6f6; }
.section-servizi h2 { font-size:30px; }
.elenco-servizi__servizio{text-align:center; margin-bottom:30px   }
.elenco-servizi__icona{color:#6d98a1;font-size:70px;line-height:1;}
.elenco-servizi__titolo{color:#707070;font-size:18px; margin-bottom:0;}

@media (min-width: 1200px){
  .section-servizi h2 { font-size:40px; }
}

/* Lista Luoghi */

.place-item__wrapper { padding:45px 0px; }
.place-item__wrapper h2 { margin-bottom:20px; }
.place-item__text h3 { color:#6d98a1; }

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

@media (min-width: 992px){
  .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%); }
}

@media (min-width: 1400px){
  .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; }
}

@media (min-width: 1800px){
  .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; }
}

/* FAQS */

.wrapper-sintesi-faqs h3{ margin: 0 0 12px; font-size: 16px; font-weight: 700; }
.wrapper-sintesi-faqs ul{ margin: 0; padding: 0; list-style: none; }
.wrapper-sintesi-faqs li{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.06); font-size: 15px; }
.wrapper-sintesi-faqs li:last-child{ border-bottom: 0; padding-bottom: 6px; }
.wrapper-sintesi-faqs li span{ display: inline-block; background: #6d98a1; color: #fff; font-weight: 700; font-size: 12px; line-height: 1; padding: 7px 10px; border-radius: 999px;white-space: nowrap; letter-spacing: .2px; }
.wrapper-sintesi-faqs p{ margin: 10px 0 0; font-size: 13px; color: rgba(0,0,0,.62); }

.accordion-button { font-weight: 600; font-size:18px; padding-top:20px; padding-bottom:20px; background-color: transparent; }
.accordion-button:not(.collapsed) { background:#e8f1ed; color:#1c1c1c; }
.accordion-button:focus { box-shadow: 0 0 0 0.25rem rgba(109, 152, 161, 0.25); }
.accordion-body { font-size:16px; }

/* 3 Box */
.section-three-boxes__wrap-text h3 { font-family: "Playfair", serif; font-weight:400; }
.three-boxes__wrap-box { background:#fff; padding:25px; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease; border-bottom:3px solid #6d98a1; box-shadow: 0 7px 14px rgba(0,0,0,.12); margin-bottom:20px; }

/* hover + focus (accessibilità) */
.three-boxes__wrap-box:hover,
.three-boxes__wrap-box:focus-within{ transform: translateY(-6px); box-shadow: 0 14px 34px rgba(0,0,0,.12); background-color: #fbfbfb; border-color: #b2d0c4; }
.three-boxes__wrap-box:hover::after,
.three-boxes__wrap-box:focus-within::after{ transform: scaleX(1); }

.three-boxes__wrap-title h3 { font-family: "Playfair", serif; font-weight:400; color:#6d98a1; }
.three-boxes__wrap-text ul{ list-style: none; margin: 0; padding: 0; }
.three-boxes__wrap-text li{ position: relative; padding-left: 22px; margin: 8px 0; line-height: 1.35; }
.three-boxes__wrap-text li::before{ content: ""; position: absolute; left: 0; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: #6d98a1; transform: translateY(-50%); opacity: .9; }

@media (min-width: 1400px){
  .three-boxes__wrap-box { padding:35px; }
}

/* Form Contatti */
.section-contatti { background-color:#f1efeb; padding:60px 0px; }
.section-contatti h2 { text-align:center; }
.section-contatti__description { text-align:center; margin-bottom:30px; }

.section-contatti__wrapper { color:#222; }
.contact-form .form-control {border-radius:0;}
.wrap_eta{float:left;margin-right:15px }
.wrap_eta.hidden{display:none;}

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


/* SLIDER RECENSIONI */
.section-contatti__reviews { margin-top:25px; }
.section-contatti__reviews h2 { color:#6d98a1; }
.slider-recensioni { text-align:center; color:#222; max-width:600px; margin:0px auto; }
.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-style: italic; }

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

@media (max-width: 1199px){
  .section-contatti__reviews { margin-top:35px; }
}

@media (min-width: 1200px){
  .outer-slider-recensioni { padding:0px 15px; }
}

.section-recensioni-scores {background-color:#f1efeb; text-align:center; padding-bottom:45px; }
.section-recensioni-scores .container { max-width:1000px; }
.section-recensioni-scores__images { padding:10px 0px; }
.section-recensioni-scores__images img { height:120px; }
.section-recensioni-scores__wrap-box { padding:10px 0px; }
.section-recensioni-scores__box-score { font-size:40px; color:#222;margin-bottom:5px; }
.section-recensioni-scores__box-score span { font-size:18px; position: relative; bottom: -6px; }
.section-recensioni-scores__box-fonte img { height:30px; }

/* NEWSLETTER */
.section-newsletter { background-color:#6d98a1; padding:40px 0px; color:#fff; }
.box-newsletter { text-align: center; }
.box-newsletter__wrapper { max-width: 800px; margin:0px auto; }
.box-newsletter h2 { margin-bottom:25px; }
.box-newsletter .form-control { border-radius: 0px; }
.box-newsletter .form-check { margin:10px 0px; }
.box-newsletter a { color:#fff; }
#newsletter_email { color:#fff; background:none; border-width: 0px 0px 1px 0px; border-color:#fff; }

#newsletter_email::placeholder { color: #fff; opacity: 1; }
#newsletter_email::-webkit-input-placeholder { color: #fff; }
#newsletter_email:-ms-input-placeholder { color: #fff; }
#newsletter_email::-ms-input-placeholder { color: #fff; }

/* Footer */

.footer-top { padding:60px 0px 30px; }

.footer__socials { text-align:center; }
.footer__socials h2 { color:#6d98a1; margin-bottom:35px; }
.footer__socials-wrapper { max-width:1000px; margin:0px auto; border-bottom:1px dashed #6d98a1; padding-bottom:30px; }
.footer__social-wrap a { color:#6d98a1; }
.footer__social-wrap i { font-size:36px; line-height: 1; }
.footer__social-wrap span { font-size: 18px; margin-left:10px; position:relative; top:-4px; }

.footer__wrapper-info { padding:40px 20px; text-align:center; }
.footer__wrap-info { padding:10px 0px; }
.footer__wrap-info h4 { color:#6d98a1; }

.footer-partner { padding:18px 0 6px; }
.footer-partner__title { text-align:center; margin-bottom:12px; font-weight:600; letter-spacing:.10em; text-transform:uppercase; font-size:.80rem; color:rgba(0,0,0,.55); position:relative; }
.footer-partner__title span { display:inline-block; padding:0 12px; background:#fff; }
.footer-partner__title::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(111,158,170,.35); transform:translateY(-50%); z-index:-1; }
.footer-partner__card { max-width:520px; margin:0 auto; display:flex; align-items:center; gap:16px; padding:14px 16px; border-radius:14px; border:1px solid rgba(111,158,170,.25); background:#f4f6f9; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.footer-partner__card:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.footer-partner__logo-box { background:#fff; border-radius:12px; padding:10px 12px; border:1px solid rgba(0,0,0,.06); display:flex; align-items:center; justify-content:center; }
.footer-partner__logo { height:106px; width:auto; display:block; object-fit:contain; }
.footer-partner__name { font-size:20px; font-weight:700; color:#6d98a1; line-height:1.1; }
.footer-partner__place { font-size:18px; color:rgba(0,0,0,.55); }

@media (max-width: 576px){
  .footer-partner__card{ max-width: 100%; }
  .footer-partner__logo{ height: 56px; }
}


.footer-bottom { text-align:center; padding-bottom:45px; }




/* Effetti */
[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; }
}
.bg-color-1 [data-aos^="curtain-"],
.bg-color-1 [data-aos^="curtain-"]::after { background:#f6f6f6; }
.bg-color-2 [data-aos^="curtain-"],
.bg-color-2 [data-aos^="curtain-"]::after { background:#f1efeb; }

/* FIX e altro */

.grecaptcha-badge { visibility: hidden; }



/* Hally */

:root{
  --wa-radius: 18px;
  --wa-shadow: 0 10px 30px rgba(0,0,0,.18);
  --wa-border: rgba(0,0,0,.08);

  --wa-teal: #6f9fa3;  /* testata tipo screenshot */
  --wa-teal-dark: #5c8f93;
  --wa-bg: #ffffff;
  --wa-chat-bg: #efeae2; /* whatsapp-like */
  --wa-text: #1b1b1b;
  --wa-muted: rgba(0,0,0,.55);
}

.wa-widget { position: fixed; right: 18px; bottom: 18px; z-index: 9999; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Arial, sans-serif; }
.wa-launcher { border: none; background: transparent; padding: 0; cursor: pointer; outline: none; }
.wa-avatar { position: relative; display: inline-flex; width: 62px; height: 62px; border-radius: 999px; box-shadow: var(--wa-shadow); background: transparent; overflow: visible; }
.wa-avatar-inner { width: 100%; height: 100%; border-radius: 999px; overflow: hidden; background: #fff; display: block; }
.wa-avatar-inner img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Pallino verde base + ondina */
.wa-online-dot { position: absolute; left: 1px; bottom: 1px; width: 15px; height: 15px; border-radius: 999px; background: #2ecc71; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.wa-online-dot::after { content: ""; position: absolute; inset: -2px; border-radius: 999px; border: 2px solid rgba(46, 204, 113, 0.55); transform: scale(1); opacity: 0; animation: wa-green-wave 2s ease-out infinite; pointer-events: none; }
@keyframes wa-green-wave { 0% { transform: scale(1); opacity: 0; } 10% { opacity: 1; } 70% { transform: scale(2.6); opacity: 0; } 100% { transform: scale(2.6); opacity: 0; } }
.wa-online-dot--small { width: 10px; height: 10px; border-width: 2px; left: 2px; bottom: 2px; }

.wa-hover-card { position: absolute; right: 0; bottom: 76px; width: 310px; background: var(--wa-bg); border: 1px solid var(--wa-border); border-radius: 18px; box-shadow: var(--wa-shadow); overflow: hidden; opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.wa-hover-top { padding: 16px 16px 12px 16px; }
.wa-hover-title { color: var(--wa-text); font-size: 15px; line-height: 1.25; margin-bottom: 4px; }
.wa-hover-subtitle { color: var(--wa-muted); font-size: 13px; }
.wa-quick { width: 100%; display: flex; align-items: center; justify-content: space-between; border: none; background: #f5f5f5; border-top: 1px solid var(--wa-border); padding: 12px 14px; cursor: pointer; font-size: 14px; color: #1f1f1f; text-align: left; }
.wa-quick:hover { background: #efefef; }
.wa-quick-arrow { font-size: 22px; line-height: 1; opacity: .6; }

/* Mostra hover-card quando passi sopra al widget, ma SOLO se la chat è chiusa */
.wa-widget:not(.is-open):hover .wa-hover-card { opacity: 1; transform: translateY(0); pointer-events: auto; }

/* Chat window */
.wa-chat { position: absolute; right: 0; bottom: 76px; width: 330px; height: 420px; background: #fff; border-radius: var(--wa-radius); box-shadow: var(--wa-shadow); border: 1px solid var(--wa-border); overflow: hidden; opacity: 0; transform: translateY(10px) scale(.98); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
/* Stato aperto */
.wa-widget.is-open .wa-chat { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
/* Nascondi hover card se chat aperta */
.wa-widget.is-open .wa-hover-card { opacity: 0 !important; pointer-events: none !important; transform: translateY(8px) !important; }

.wa-chat-header { height: 62px; background: var(--wa-teal); color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; }
.wa-chat-header-left { display: flex; align-items: center; gap: 10px; }
.wa-chat-header-left i { font-size: 30px; }
.wa-chat-title { font-size: 14px; font-weight: 700; line-height: 1.1; }
.wa-chat-status { font-size: 12px; opacity: .95; margin-top: 2px; }

.wa-close { border: none; background: rgba(255,255,255,.15); color: #fff; width: 32px; height: 32px; border-radius: 10px; font-size: 18px; line-height: 1; cursor: pointer; }
.wa-close:hover { background: rgba(255,255,255,.22); }

.wa-chat-body { height: calc(100% - 62px - 58px); background: var(--wa-chat-bg); padding: 14px; overflow: auto; }
.wa-msg { display: flex; flex-direction: column; gap: 6px; max-width: 85%; }
.wa-msg--bot { align-items: flex-start; }
.wa-bubble { background: #fff; padding: 12px 12px; border-radius: 14px; font-size: 14px; color: var(--wa-text); box-shadow: 0 3px 10px rgba(0,0,0,.08); }
.wa-time { font-size: 11px; color: rgba(0,0,0,.45); margin-left: 8px; }

.wa-chat-input { height: 58px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: #fff; border-top: 1px solid var(--wa-border); }
.wa-chat-input input { flex: 1; border: 1px solid var(--wa-border); border-radius: 999px; padding: 10px 14px; font-size: 14px; outline: none; }
.wa-chat-input input:focus { border-color: rgba(111,159,163,.6); box-shadow: 0 0 0 3px rgba(111,159,163,.15); }

.wa-send { border: none; background: var(--wa-teal); color: #fff; width: 42px; height: 42px; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.wa-send:hover { background: var(--wa-teal-dark); }
.wa-send-icon { transform: translateX(1px); }

@media (max-width: 420px) {
  .wa-chat { width: calc(100vw - 24px); height: 70vh; right: 0; }
  .wa-hover-card { width: calc(100vw - 24px); }
}




