:root{
    --primary-color: #90A072;
    --primary-variant-color: #FF6633;
    --primary-grey-color:#615b6a;
    --primary-variant-grey:#D3D5D8;
    --secondary-color:#F2F4EF;
    --secondary-variant-color:#018786;
    --dark-color: #383F4D;
    --dark-color-20percent: #D3D5D8;
    --dark-color-10percent: #DADDE0;
    --dark-color-5percent: #EFF0F0;
    --light-color: #ffffff;
}
body{
    font-family: 'Raleway Light', sans-serif;
    font-weight: 300;
}

.main-navbar{
    box-shadow: 0 0.25rem 0.5625rem -0.0625rem rgb(0 0 0 / 3%),0 0.275rem 1.25rem -0.0625rem rgb(0 0 0 / 5%);
}
.main-navbar .nav-link.active{
    color: var(--primary-color) !important;
    font-family: 'Raleway Bold', sans-serif !important;
}
.blog-title, .blog-title a, a.blog-author, a.blog-comment, a.blog-link{
    color: var(--primary-color);
    text-decoration: none;
}
.breadcrumb{
    margin-bottom: 0.3rem;
}
.breadcrumb-item a{
    color: #000;
    text-decoration: none;
}
.news-title, .news-title a, a.news-author, a.news-comment, a.news-link{
    color: var(--primary-color);
    text-decoration: none;
}
.grid .card {
    transition: all 0.3s;
}
.grid .card:hover {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}
#foundModal.offcanvas-top.h-auto {
    bottom: initial;
}
a {
    color: var(--primary-color) !important;
    text-decoration: none;
}
a svg {
    fill: var(--primary-color);
}
.fill-dark-color{
    fill: var(--dark-color);
}
.stroke-dark-color{
    stroke: var(--dark-color);
}
.bg-primary{
    color: var(--light-color);
    background-color: var(--primary-color) !important;
}
.bg-primary-variant{
    color: var(--light-color);
    background-color: var(--primary-variant-color) !important;
}
.bg-secondary{
    color: var(--light-color);
    background-color: var(--secondary-color) !important;
}
.bg-secondary-variant{
    color: var(--light-color);
    background-color: var(--secondary-variant-color) !important;
}
.bg-primary-grey{
    color: var(--light-color);
    background-color: var(--primary-grey-color) !important;
}
.bg-primary-variant-grey{
    color: var(--light-color);
    background-color: var(--primary-variant-grey) !important;
}
.bg-dark{
    color: var(--light-color);
    background-color: var(--dark-color) !important;
}
.bg-dark-20{
    color: var(--light-color);
    background-color: var(--dark-color-20percent) !important;
}
.bg-dark-10{
    background-color: var(--dark-color-10percent) !important;
}
.bg-dark-5{
    background-color: var(--dark-color-5percent) !important;
}
.text-primary{
    color: var(--primary-color) !important;;
}
.text-primary-variant{
    color: var(--primary-variant-color) !important;;
}
.text-secondary{
    color: var(--secondary-color) !important;;
}
.text-secondary-variant{
    color: var(--secondary-variant-color) !important;;
}
.bg-primary a, .bg-primary-variant a, .bg-primary-variant a, .bg-primary-grey a, .bg-primary-variant-grey a, .bg-secondary-variant a{
    color: var(--light-color) !important;
}

.bg-primary .breadcrumb-item a, .bg-primary-variant .breadcrumb-item a, .bg-primary-variant .breadcrumb-item a, .bg-primary-grey .breadcrumb-item a, .bg-primary-variant-grey .breadcrumb-item a, .bg-secondary-variant .breadcrumb-item a{
    color: #000 !important;
}
@media (min-width: 768px){
.main{
    display: flex !important;
    flex-direction: column !important;
    min-height: 90vh;
}    
} 
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--secondary-color);
}
.nav-pills .nav-link {
    color: var(--secondary-color);
}
.border-primary {
    border: 1px solid var(--primary-color) !important;
}
.border-secondary {
    border: 1px solid var(--secondary-color) !important;
}
.rounded-top-start{
    border-top-left-radius: 0.25rem !important;
}
.rounded-bottom-start{
    border-bottom-left-radius: 0.25rem !important;
}
.rounded-top-end{
    border-top-right-radius: 0.25rem !important;
}
.rounded-bottom-end{
    border-bottom-right-radius: 0.25rem !important;
}
.fs-1{font-size:calc(1.375rem + 1.5vw) !important}
.fs-2{font-size:calc(1.325rem + 0.9vw) !important}
.fs-3{font-size:calc(1.3rem + 0.6vw) !important}
.fs-4{font-size:calc(1.275rem + 0.3vw) !important}
.fs-5{font-size:1.25rem !important}
.fs-6{font-size:1rem !important}
.fs-xl{font-size:1.25rem !important}
.fs-lg{font-size:1.125rem !important}
.fs-base{font-size:1rem !important}
.fs-sm{font-size:0.875rem !important}
.fs-xs{font-size:0.75rem !important}
@media (min-width: 768px){
    .border-start-md {
        border-left: 1px solid #dee2e6!important;
    }
}
#sidebar-categories ul{
    width: 100%;
}
#sidebar-categories .nav-item i, #sidebar-categories .nav-item a{
    padding-top: .75rem;
    padding-bottom: .75rem;
    cursor: pointer;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}
#sidebar-categories .d-flex a{
    padding-left: .75rem;
}
#sidebar-categories .nav-item:not(.lev1) a{
    color: var(--dark-color) !important;
}
#sidebar-categories .nav-item:not(.lev1) a:before{
    content: "__ ";
    position: relative;
    top: -0.4rem;
}
#sidebar-categories .nav-item:not(.lev1) a:hover{
    font-weight: 500;
}
#sidebar-categories .nav-item.lev2{
    background-color: #EFF0F0;
}
#sidebar-categories .nav-item.lev3,#sidebar-categories .nav-item.lev4{
    background-color: #DADDE0;
}
#sidebar-categories .nav-item i{
    padding-left: .75rem;
    padding-right: .75rem;
    cursor: pointer;
}
#sidebar-categories .nav-item a:hover{
    background-color: var(--primary-variant-grey);
}
#sidebar-categories ul li ul li i, #sidebar-categories ul li ul li a{
   padding-left: 1.25rem !important;
}
#sidebar-categories ul li ul li ul li i, #sidebar-categories ul li ul li ul li a{
    padding-left: 1.75rem !important;
}
#sidebar-categories .opensub{
    transition: all 0.3s;    
}
#sidebar-categories .opensub:not(.collapsed){
    transform: rotate(90deg);
    transform-origin: 40% 40%;    
}
/* .toggle-collapse{
    transition: all 0.3s;
}
.toggle-collapse:not(.collapsed){
    transform: rotate(90deg);
    transform-origin: 40% 40%;
} */
.toggle-collapse {
    cursor:pointer;
}
.toggle-collapse .arrow-collapse{
    transition: all 0.3s;
}
.toggle-collapse:not(.collapsed) .arrow-collapse{
    transform: rotate(90deg);
    transform-origin: 40% 40%;
}
.hover-shadow{
    transition: all .3s;
}
.hover-shadow:hover{
    box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 15%) !important;
}
.compare-th{
    /* background-color: #e5e5e5; */
    border-bottom: 1px solid var(--dark-color);
}
.compare-td:not(:last-child){
    border-right: 1px solid var(--dark-color);
}
/* .btn-pill{
    border-radius: 1rem;
} */
.btn-primary {
    color: var(--light-color) !important;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.btn-primary.disabled {
    color: var(--dark-color) !important;
    background-color: var(--primary-variant-grey);
    border-color: var(--primary-variant-grey);
}
.btn-primary.disabled svg {
    fill: var(--dark-color);
}
.btn-primary svg{
    fill: var(--light-color);
}
.btn-primary:hover, .btn-primary:focus {
    color: var(--light-color);
    background-color: var(--primary-variant-color);
    border-color: var(--primary-variant-color);
}
.btn-compare{
    display: inline-block;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0rem;
    text-transform: uppercase;
    font-weight: 300;
    color: #666;
    font-size: 0.8rem;
}
.btn-compare svg{
    fill: #666;
    position: relative;
    top: -0.1rem;
}
.btn-compare.active{
    color: var(--primary-color);
}
.btn-compare.active svg{
    fill: var(--primary-color);
}
.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.px-2-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
}
























@media (max-width: 900px){
    .navbar-collapse {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 1s ease !important;
}

.navbar-collapse.expanded {
    max-height: 1000px !important; 
}
}

#heroVideo {
    max-height: 90vh;
  }

  @media (min-width: 768px) {
  #heroVideo {
    max-height: 85vh;
  }
}

.text-green{
    color: var(--primary-color) !important;
}

.bg-green{
    background-color: var(--primary-color) !important;
}

.bg-light-green{
    background-color: var(--secondary-color) !important;
}

.bg-70-green{
  background-color: rgba(144, 160, 114, 0.7) !important;

}

.bg-medium-green {
    background-color: rgba(144, 160, 114, 0.11) !important;
}
.bg-light-white{
  background-color: rgba(255, 255, 255, 0.11);

}
strong{
    font-family: 'Sofia' !important;
    color: var(--primary-color) !important;
}

p strong{
    font-size: 21px !important;
    padding-left: 2px;
}

.titolo{
    font-family: 'Sofia' !important;
}

.cap{
    text-transform: uppercase !important;
}

.bold{
    font-family: 'Raleway Medium', sans-serif !important;
}

.bolder{
  font-family: 'Raleway Black', sans-serif !important;
}

.underline{
    text-decoration: underline !important;
}

.btn-green {
  border: 1px solid var(--primary-color); 
  background-color: transparent; 
  color: var(--primary-color); 
  font-size: 0.875rem; 
  padding: 0.375rem 1rem; 
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border-radius: 50rem; 
  transition: background-color 0.3s ease, color 0.3s ease; 
}

.btn-green:hover {
  background-color: var(--primary-color); 
  color: white !important; 
  border-color: var(--primary-color); 
}

.btn-white {
  border: 1px solid white;
  background-color: transparent; 
  color: white !important; 
  font-size: 0.875rem; 
  padding: 0.375rem 1rem; 
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border-radius: 50rem; 
  transition: background-color 0.3s ease, color 0.3s ease; 
}

.btn-white:hover {
  background-color: white; 
  color: var(--primary-color) !important; 
  border-color: white; 
}


.titolo-home {
  text-align: center; /* Centra il contenuto */
  max-width: 500px;
}

.titolo-home .line1,
.titolo-home .line2 {
  display: inline-block;  /* Mantenere inline-block per evitare il blocco completo */
  position: relative;
  /* Non usiamo left:100px e left:150px, se non necessario */
}

.titolo-home .line1 {
  position: relative;

  left: 20px; /* Regola quanto spostare verso destra */
}

.titolo-home .line2 {
  position: relative;
  left: -30px; /* Regola quanto spostare verso sinistra */
}


.fascia-green{
  max-width: 80%; 
  margin-top: -80px;
}
@media (max-width: 767px) {
  .fascia-green {
      max-width: 92%;
      margin-top: -61px;
      margin-left: -20px;
  }

  .titolo-home {
  text-align: center; /* Centra il contenuto */
  max-width:100%;
}

  .titolo-home .line1 {
  left: -43px; 
}

.titolo-home .line2 {
  position: relative;
  left: -50px; 
}

}


/* GALLERY HOME */

.gallery-images {
  position: relative;  /* Rende il contenitore relativo per il posizionamento assoluto dei pulsanti */
  width: 100%;
  height: auto;
  overflow: hidden;
}

.gallery-image {
  width: 100%;
  height: auto;
  display: none; 
}

.gallery-image.active {
  display: block; 
}

.buttons {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;
  justify-content: end;
  width: 100%; 
  z-index: 10;  
}


@media (max-width: 767px) {
  .buttons {
  position: absolute;
  bottom: 10px;
  right: 0px;
  display: flex;
  justify-content: end;
  width: 100%; 
  z-index: 10;  
}

.gallery-text .rounded-pill{
    border-radius: 20px !important;
}
}

.btn-number {
    background-color: rgba(255, 255, 255, 0);
    border: 1px solid white;
    border-radius: 50%;
    margin-right: 20px;
    padding-inline: 17px;
    cursor: pointer;
    padding-block: 9px;
    color: white !important;
    transition: background-color 0.3s;
}

.btn-number.active {
  border: 1px solid rgba(255, 255, 255, 0.21);
  background-color: rgba(255, 255, 255, 0.21); 
  color: white;
}

.text {
  cursor: pointer; 
}

.text:hover, .text.active {
  background-color: var(--secondary-color);
  
}

    .swiper {
  width: 90%;
  height: auto;
  position: relative;
  z-index: 1; 

}

.swiper-slide {
  background-position: center;
  background-size: contain;
  width: 100%; 
  height: 100%;
}


.swiper-button-next:after, .swiper-button-prev:after{
    content: none !important;
}

.swiper-slide img{
  background-position: center;
  background-size: contain;
  width: 100%; 
  height: auto;
}


@media (max-width: 767px) {
  .swiper-slide img{
  background-position: center;
  background-size: contain;
  width: 80%; 
  height: auto;
}


.swiper-slide {
  padding-left: 5%;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 30px !important;
    left: auto;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 30px !important;
    right: auto;
}
}

.map-responsive {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* proporzione 16:9 */
  height: 0;
  overflow: hidden;
}

.map-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.news-img {
width: 100%;
height: 100%;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
}

.news-card{
    border-radius: 0.5rem;
min-height: 600px;
}

.altezza-card .news-card{
border-radius: 0.5rem;
min-height: 350px !important;
}

.bg-gradient-overlay {
background: rgba(0, 0, 0, 0.3); /* Velo uniforme */
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
padding: 1rem;
z-index: 2;
}

.altezza-card-last {
    min-height: 180px;
    border-radius: 3em;
}

.w-lg-70{
  width: 70%;
}

 @media (max-width: 767.98px) {
    .rotate-mobile {
        transform: rotate(290deg) scaleX(-1);
        width: 70% !important;
        margin-bottom: 5px;
    }

     .altezza-card .news-card{
border-radius: 0.5rem;
min-height: 200px !important;
}


.w-lg-70{
  width: 100% !important;
}
}


.bg-onda-home {
  position: relative;
  background-image: url(../img/home/bicchiere.jpg);
  background-repeat: no-repeat;
  background-size: cover;  /* Assicurati che l'immagine copra tutta l'area */
  background-position: center bottom;  /* Per centrare l'immagine sulla parte bassa */
  z-index: 1;
  height: 50vh;  /* Altezza fissa per la visibilità su schermi più grandi */
  overflow: hidden; /* Nasconde eventuali overflow causati dallo scroll */
}

.bg-onda-home::before,
.bg-onda-home::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 250px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 150' preserveAspectRatio='none'><path d='M0,50 C480,150 1440,-50 1920,50 L1920,0 L0,0 Z' fill='white'/></svg>");
  z-index: 2;
  pointer-events: none;
}

.bg-onda-home::before {
  top: -1px;
  transform: scaleX(-1);
}

.bg-onda-home::after {
  bottom: -1px;
  transform: scaleY(-1); 
  transform-origin: center;
}

@media (max-width: 768px) {

  .bg-onda-home::before,
.bg-onda-home::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 250px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 100' preserveAspectRatio='none'><path d='M0,40 C640,100 1280,-20 1920,40 L1920,0 L0,0 Z' fill='white'/></svg>");

  z-index: 2;
  pointer-events: none;
}


  .bg-onda-home {
    height: 30vh; /* Riduci l'altezza per gli schermi piccoli */
  }

  .bg-onda-home::before,
  .bg-onda-home::after {
    height: 150px; /* Riduci l'altezza dell'onda */
  }

  .bg-onda-home::before {
    top: -20px;  /* Aggiusta la posizione superiore per dispositivi piccoli */
  }

  .bg-onda-home::after {
    bottom: -1px; /* Aggiusta la posizione inferiore per dispositivi piccoli */
  }
}


.bg-onda-agriturismo {
  position: relative;
  background-image: url(../img/prodotti/taglio-salame.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  background-attachment: fixed; /* Solo per desktop */
  z-index: 1;
  overflow: hidden;
}

.bg-onda-bb {
  position: relative;
  background-image: url(../img/bb/colazione.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  background-attachment: fixed; /* Solo per desktop */
  z-index: 1;
  overflow: hidden;
}

.bg-avicola {
  position: relative;
  background-image: url(../img/avicola/polli.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 1;
}

/* Onde */
.bg-onda-agriturismo::before, .bg-onda-bb::before,
.bg-avicola::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 250px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 150' preserveAspectRatio='none'><path d='M0,50 C480,150 1440,-50 1920,50 L1920,0 L0,0 Z' fill='white'/></svg>");
  transform: scaleX(-1);
  z-index: 2;
  pointer-events: none;
}

.bg-onda-agriturismo::after, .bg-onda-bb::after, .bg-avicola::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 250px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 150' preserveAspectRatio='none'><path d='M0,50 C480,150 1440,-50 1920,50 L1920,0 L0,0 Z' fill='white'/></svg>");
  background-size: 100% 100%;
  z-index: 2;
  pointer-events: none;
  transform: scaleY(-1);
  transform-origin: center;
}


@media (max-width: 768px) {
  .bg-onda-agriturismo, .bg-onda-bb,
  .bg-avicola{
    background-attachment: scroll;
    background-size: cover;
    background-position: center top;
  }

  .bg-onda-agriturismo .container, .bg-onda-bb .container , .bg-avicola .container{
    min-height: 250px !important;
  }

  .bg-onda-agriturismo::before,
  .bg-onda-agriturismo::after,
  .bg-onda-bb::before,
  .bg-onda-bb::after,
  .bg-avicola::before,
  .bg-avicola::after{
    height: 120px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 150' preserveAspectRatio='none'><path d='M0,50 C480,150 1440,-50 1920,50 L1920,0 L0,0 Z' fill='white'/></svg>") no-repeat;
    background-size: 100% 100%;
  }

  .bg-onda-agriturismo::before,
  .bg-onda-bb::before, .bg-avicola::before {
    top: -2px;
    transform: scaleX(-1);
  }

  .bg-onda-agriturismo::after,
  .bg-onda-bb::after, .bg-avicola::after {
    bottom: -2px;
    transform: scaleY(-1);
    transform-origin: center;
  }
}


.flip-card {
  perspective: 1000px;
  width: 100%;
  max-width: 100%;
  position: relative;
}

.flip-card-inner {
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
  position: relative;
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  backface-visibility: hidden;
  border-radius: 8px;
  overflow: hidden;
}

.flip-card-front {
  z-index: 2;
  position: relative;
}

.flip-card-front img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

.flip-card-front .flip-card-center-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.flip-card-front .card-title-overlay {
  color: white;
  font-size: 1.5rem;
  font-weight: bold;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.6);
  margin-bottom: 0.5rem;
}

.flip-card-front .overlay-button {
  width: 50px;
  height: 50px;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  padding: 0;
  border: none;
  color: white;
}

.flip-card-back {
  background-color: var(--primary-color);
  color: white;
  padding: 2rem;
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100%;
}

.flip-card.flipped .flip-card-inner {
  transform: rotateY(180deg);
}

.card-title-overlay img {
  max-width: 100px;
  height: auto;
}

.extra-light{
  font-family: 'Raleway Extra Light', sans-serif !important;
}


    .punti{
        border: 7px solid var(--primary-color);
        border-radius: 2rem;
        background-color: white
    }

    .numero{
        background-color: var(--primary-color);
        border-radius: 50%;
        width: 50px;
        padding: 10px;
        padding-inline: 14px;
        font-size: 28px;
        color: white;
        max-height: 50px;
    }

    .mappa-numero {
    display: flex;
    align-items: center;
    justify-content: center;
}


    .mappa-numero {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    padding: 0;
    font-size: 22px;
    text-align: center;
    font-weight: bold;
    border: 2px solid var(--primary-color) !important;
    background-color: white;
    color:  var(--primary-color);
    cursor: pointer;
    transform: translate(-50%, -50%);
    z-index: 2;
}

 .mappa-numero.active  {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding: 0;
    font-size: 28px;
    text-align: center;
    font-weight: bold;
    border: 2px solid var(--primary-color) !important;
    background-color: var(--primary-color) !important;
    color: white !important;
    cursor: pointer;
    transform: translate(-50%, -50%);
    z-index: 2;
}

 .numero-desc {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding: 0;
    text-align: center;
    line-height: 32px;
    font-weight: bold;
    border: 2px solid var(--primary-color) !important;
    background-color: var(--primary-color) !important;
    color: white !important;
    border: none;
    cursor: pointer;
    transform: translate(-50%, -50%);
    z-index: 2;
}

 .mappa-numero.active  .numero{
    font-size: 32px !important;
}


.descrizione {
    display: none;
}
.descrizione.active {
    display: block;
    
}

#descrizioni{
    min-height: 33vh;
}