body{ font-weight:400; background:#f8f5f0; color:#222; font-family: "Inter", sans-serif; font-optical-sizing: auto; font-size:16px; overflow-x:hidden; scroll-behavior: smooth; padding-top:80px; padding-bottom:50px; }
@media (min-width: 992px) {
  body { padding-top:96px; padding-bottom:0px; }
}

a { text-decoration:none; color:#222; }

:root {
  --default-radius: 20px;
}
@media (min-width: 576px) {
    :root {
      --default-radius: 40px;
    }
}

h1,h2,h3,h4 { font-family: "Gilda Display", serif; font-weight: 400; font-style: normal; }
.section__sopratitolo { font-size: 16px; text-transform: uppercase; font-family: "Inter", sans-serif; margin-bottom:20px;}
.section__maintitle { margin-bottom:25px; font-size:34px; }

@media (min-width: 992px){
  .section__maintitle { margin-bottom:30px; font-size:54px; }
}

.scroll-disabled { overflow: hidden; }

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

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

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

.color-1 { color:#aa8453; }

.btn-cta{ display:inline-block; padding:12px 28px; background:#aa8453; color:#fff; font-size: 16px; font-weight: 600; text-transform: uppercase; text-decoration: none; transition: 0.3s all; border:0px; opacity:1; border-radius: 10px;}
.btn-cta:hover,
.btn-cta:focus{text-decoration: none; background:#aa8453; opacity:0.8; }

.btn-cta-light { display:inline-block; padding:12px 28px; background:#fff; color:#222; font-size: 16px; font-weight: 600; text-transform: uppercase; text-decoration: none; transition: 0.3s all; border:0px; border-radius: 10px; }
.btn-cta-light:hover,
.btn-cta-light:focus { text-decoration: none; background:#685f5f; }


.wrapper-slider-controls { position:relative; height:45px; margin-top:25px; }
.slider-controls{ position: absolute; left: 50%; top: 0px; transform: translateX(-50%); z-index: 10; display: flex; align-items: center; justify-content: center; gap: 14px; box-sizing: border-box; }
.slider-btn{ width: 44px; height: 44px; font-size: 22px; line-height: 1; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center; background: #b4a898; color: #fff; flex: 0 0 auto; }
.slider-btn.is-disabled{ opacity:.35; pointer-events:none; }
.slider-pagination{ display: flex; align-items: center; justify-content: center; flex: 1 1 auto; min-width: 0; flex-wrap: wrap; gap: 10px; }
.slider-pagination .swiper-pagination-bullet{ width: 14px; height: 14px; border-radius: 999px; background: #b4a898; opacity: 0.5; margin: 0 !important; }
.slider-pagination .swiper-pagination-bullet-active{ opacity: 1; transform: scale(1.2); }

@media (max-width: 576px){
  .slider-controls{ gap: 10px; width: min(100% - 24px, 560px); }
  .slider-btn{ width: 38px; height: 38px; }
  .slider-pagination{ gap: 8px 10px; }
  .slider-pagination .swiper-pagination-bullet{ width: 10px; height: 10px; }
}


.wrapper-custom-arrows { text-align:center; margin-top:25px; }
.button-custom-arrow { width: 44px; height: 44px; font-size: 26px; line-height: 1; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #b4a898; color: #fff; flex: 0 0 auto; }

@media (min-width: 992px){
  .wrapper-custom-arrows { margin-top:0px; }
  .button-custom-arrow { position:absolute; top:50%; z-index:10; border: 2px solid #fff; }
  .custom-arrow-prev { left:20px; }
  .custom-arrow-next { right:20px; }
}


/* HEADER */

.noscroll { overflow: hidden; }

header { background: transparent; position: fixed; width: 100%; top: 0; left: 0; right: 0; z-index: 101; padding: 0; background: #fff; color: #00292e; transition: background, 0.2s; box-shadow: 0px -5px 15px rgba(0, 0, 0, 0.3); border-radius: 0 0 var(--default-radius) var(--default-radius) !important; overflow:hidden; }
.fixed-header header,
.no-carousel header { box-shadow: 0 6px 20px rgba(11, 84, 98, .2); }
header .header-container { display: flex; flex-direction: row; flex-wrap: wrap; align-content: center; max-width:1920px; margin:0px auto; }

header .header-col { flex: auto; display: flex; align-header-cols: center; justify-content: center; }
header .header-col.col-n1 { position: relative; }
header .header-col.col-n2 { flex-direction: column;  }
header .header-col.col-n3 { justify-content: flex-end; }

.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: #aa8453; transition: color, 0.2s; }
.label-header { font-size: 16px; line-height: 1; transform: translateY(8px); margin-top: -7px; color: #333; }

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

.btn-prenota-top { color: #fff; font-size: 24px; background: #aa8453; padding: 0px 80px 0px 40px; line-height: 96px; display: block; font-weight: 400; margin: 0; position: relative; border: 0; text-decoration: none; display: inline-block; transition: background-color 0.2s linear; }
.btn-prenota-top.btn-prenota-mobile { position:fixed; bottom:0px; left:0px; right:0px; z-index:50; font-size: 20px; line-height: 50px; }

@media (max-width: 991px) {
  .logo-header { margin-top: 6px; margin-bottom:6px; text-align:center; }
  .logo-header img:first-child { margin-right:20px; }
  .header-info a { margin-top: 17px; }
  header .header-col.col-n1 .label-header { display:none; }
  header .header-col.col-n3 { display: none; }
  header .hidden-mobile { display:none; }
  .menu-toggle-text { display:none; }
  .btn-prenota-top.btn-prenota-mobile { text-align:center; padding:0px 15px; }
  .btn-prenota-top i { font-size:20px; position:relative; top:2px; }
}

@media (min-width: 992px){
  .logo-header { margin-top:0px; }
  .logo-header img { max-width:180px; }
  .logo-header img:first-child { margin-left:40px; margin-right:50px; }
  .header-info { padding:22px 0px; }
  .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%); }
}

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

/* Carousel  Video*/

.section-carousel-video__container { position:relative; }
.section-carousel-video__wrapper-text { padding:40px 24px 60px; }
.section-carousel-video__wrapper-text h3 { font-size:40px; margin-bottom:30px; }
.section-carousel-video__wrapper-text h4 { font-size:28px; margin-bottom:0px; }
@media (min-width: 1200px){
  .section-carousel-video__wrapper-text { padding:0px; position:absolute; left:0px; top:80px; left:100px; width:550px; color:#fff; z-index:20; }
  .section-carousel-video__wrapper-text h3 { font-size:80px; margin-bottom:30px; }
  .section-carousel-video__wrapper-text h4 { font-size:42px;  }
}


.section-carousel-video__wrapper { position:relative; background-color:#333; border-radius:var(--default-radius); overflow:hidden; }
.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__wrapper { height: calc(100vh - 105px); z-index: -5; max-height: 55.00vw; min-height: 600px; overflow:hidden; }
  .section-carousel-video__wrapper:after { content:""; position:absolute; top:0px; right:0px; bottom:0px; left:0px; background-color:rgba(0,0,0,0.4) }
  .section-carousel-video__wrap { position: absolute; top: 50%; left: 0px; right: 0px; z-index: -1; transform: translateY(-50%); }
}

/* 2 Colonne Testo e Immagine */
.section-with-image__wrap-text{ padding:25px 10px; }
.section-with-image__wrap-text h2 { margin-bottom:25px; }
.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; }
.section-with-image .wrap-album { margin:0px auto; max-width:650px; overflow:hidden; border-radius:var(--default-radius); }

.section-with-image .wrap-album { position:relative; overflow:hidden; }
.section-with-image .wrap-album img { transition:0.8s all; }
.section-with-image .wrap-album:hover img { transform:scale(1.1); }


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


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

.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:#222; text-decoration:none; }


/* Parallax */
.parallax{min-height:680px;position: relative;display:flex;  background-attachment: fixed; background-position: center; background-repeat: no-repeat;  background-size: cover;}
.parallax:before{content: ' ';display: block;position:absolute;left:0;right:0;top:0;bottom:0;background-color:rgba(12, 103, 196, .40);   }
.parallax__container{position: absolute; left: 0; top: 50%; width: 100%; margin-top:-75px; text-align: center; color: #000;}
.parallax__title{font-size:60px;margin-bottom:30px;color:#ffffff; }
.parallax__btn{border-color:#fff;border-radius:50px;padding-left:30px;padding-right:30px;color:#fff;font-weight:700;text-transform:uppercase; }
.parallax__btn:hover{background:#fff;color:#0b2247}

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

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

/* NEWSLETTER */
.section-newsletter { background:#f4f6f9; overflow: none; padding:40px 0px; }
.box-newsletter { text-align: center; margin:0px auto; max-width: 850px; position: relative; }
.box-newsletter__wrapper { max-width: 450px; margin:0px auto; }
.box-newsletter h2 { margin-bottom:5px; }
.box-newsletter .form-control { border-radius: 0px; }
.box-newsletter .form-check { margin:10px 0px; }

/* SLIDER OFFERTE */
.section-slider-offerte { text-align: center; }
.section-slider-offerte__wrap-text h2 { margin-bottom: 20px; }
.section-slider-offerte__text { margin-bottom: 45px; font-size: 20px; color:#bf9c77; text-transform:uppercase; }

.slider-offerte__wrap-slide { padding:0px 10px 30px; }
.slider-offerte__slide { margin:0px auto; padding: 30px 30px; position:relative; background: #FFFFFF; box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.1); }
.slider-offerte__slide a { position:relative; z-index: 10; display:block; text-decoration:none; color:#333; }
.slider-offerte__wrap-image { margin-bottom:25px; }
.slider-offerte__wrap-title h3 { font-size: 28px; margin-bottom:20px; }
.slider-offerte__text { font-size:16px; }

.slider-offerte__wrap-link { margin-top:25px; }

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

.slider-offerte .slick-track { margin:auto; }

.slider-offerte .slick-prev,
.slider-offerte .slick-next { top:25%; }
.slider-offerte .slick-prev:before,
.slider-offerte .slick-next:before { color:#6d98a1 !important; } 

@media (min-width: 992px){
.section-slider-offerte__column-left { padding-top:40px; }
.section-slider-offerte__text { font-size: 20px; }
.section-slider-offerte__wrap-btn-all a { font-size: 22px; }
}


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

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

.room-item__wrapper { padding:45px 0px; }

.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:#30659d; } 

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

.room-item__wrapper { background: #f4f6f9; }
.room-item__wrapper.sinistra { background: #fff; }

.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; border-radius:15px; }
.wrap-gallery-room__wrap-button a:hover .wrap-gallery-room__button { background-color:#aa8453; 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){
  .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; }
}

/* SLIDER CAMERE */
.slider-camere__slide { border-radius: var(--default-radius); background:#fff; overflow:hidden; }
.slider-camere__wrapper-text { padding:35px 24px; text-align:center; }
.slider-camere__wrap-cta { margin-top:20px; }

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

/* SLIDER RECENSIONI */
.section-slider-recensioni { background:#fff; border-radius:var(--default-radius); }
.section-slider-recensioni h2 { margin-bottom:50px; }
.slider-recensioni__wrap-title h3 { color:#aa8453; margin-bottom:20px; }
.slide-recensione__fonte { margin-top:25px; margin-bottom:7px; }
.slide-recensione__fonte img { max-height:22px; }
.slide-recensione__wrap-name { font-weight:500; }


/* 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:#f4f6f9; color:#333; border-radius:2px; font-weight: 500; }
#gallery-filters .gallery-filter__filter:first-child,
.gallery-filter__filter.active { background:#97b3d2; color:#fff; }
.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; }
}


/* Icone Servizi */
.section-servizi__col-right { margin-bottom:15px; }
.section-servizi__wrapper-text .custom-gap { gap:16px; }
.review-badges { gap:16px; align-items: center; margin-bottom:15px; }
.review-badge { background: #fff; border-radius: 18px; padding: 12px 16px; box-shadow: 0 8px 20px rgba(16, 24, 40, 0.08); border: 1px solid rgba(16, 24, 40, 0.06); display: inline-flex; transition: transform .15s ease, box-shadow .15s ease; }
.review-badge:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(16, 24, 40, 0.10); }
.review-badge__logo { width: 51px; height: 50px; display: flex; align-items: center; }
.review-badge__logo img { max-height: 50px; width: auto; display: block; }
.review-badge__content { white-space: nowrap; }
.review-badge__source { font-weight: 500; font-size: 18px; }
.review-badge__score { font-weight: 500; font-size: 18px; line-height: 1; color: #0f172a; }
.review-badge__stars { display: inline-flex; gap: 4px; align-items: center; transform: translateY(1px); }
.review-badge__stars i { font-size: 16px; line-height: 1; color: #f5b301; }

@media (max-width: 600px){
  .section-servizi__wrapper-text .custom-gap { gap:7px; }
  .review-badges { gap:4px; }
  .review-badge { padding: 4px 8px; }
  .review-badge__logo { width: 27px; height: 30px; }
  .review-badge__logo img { max-height: 26px; width: auto; display: block; }
  .review-badge__source { font-size: 14px; }
  .review-badge__score { font-size: 14px; }
  .review-badge__stars i { font-size: 10px; }
}

.elenco-servizi__servizio { margin-top:20px; }
.elenco-servizi__titolo { margin-top:20px; margin-bottom:8px; text-align:center; }
.elenco-servizi__servizio .wrap-image img { border-radius:var(--default-radius); }

@media (min-width: 992px){
  .section-servizi__col-right { padding-top:145px; }
}

/* Mappa */
#map-map{width:100%;height:400px; border-radius:var(--default-radius); }
#map-map.mapboxgl-map:-webkit-full-screen { border-radius:0px; }
.map__infowindow{padding:10px;font-weight:400; text-align: center;}
.map__title{margin-bottom:5px; font-size: 18px;}
.map__description p{margin-bottom:0;}

/* FOOTER */

.footer-top { padding:60px 0px 45px; }
.footer-top h5 { color:#aa8453; text-transform:uppercase; }

.footer-bottom { background:#222; color:#fff; border-radius:var(--default-radius) var(--default-radius) 0px 0px; padding:20px 15px; font-size:16px; text-align:center; }
.footer-bottom a { color:#fff; }

@media (max-width: 767px){
  .footer-top { text-align:center; }
  .footer-bottom {  font-size:14px; }
  .wrapper-mappa-footer { margin-bottom:30px; }
}