/* VARS */
:root {
    --font-body-family: Assistant, sans-serif;
    --font-body-style: normal;
    --font-body-weight: 300;
    --font-body-weight-bold: 600;
    --font-heading-family: Jost, sans-serif;
    --font-heading-style: normal;
    --font-heading-weight: 300;
    --font-body-scale: 1.0;
    --font-heading-scale: 1.5;
    --media-padding: px;
    --media-border-opacity: 0.05;
    --media-border-width: 1px;
    --media-radius: 0px;
    --media-shadow-opacity: 0.0;
    --media-shadow-horizontal-offset: 0px;
    --media-shadow-vertical-offset: 4px;
    --media-shadow-blur-radius: 5px;
    --media-shadow-visible: 0;
    --page-width: 120rem;
    --page-width-margin: 0rem;
    --product-card-image-padding: 0.0rem;
    --product-card-corner-radius: 0.2rem;
    --product-card-text-alignment: left;
    --product-card-border-width: 1.0rem;
    --product-card-border-opacity: 0.15;
    --product-card-shadow-opacity: 0.0;
    --product-card-shadow-visible: 0;
    --product-card-shadow-horizontal-offset: 0.0rem;
    --product-card-shadow-vertical-offset: 0.4rem;
    --product-card-shadow-blur-radius: 0.5rem;
    --collection-card-image-padding: 0.0rem;
    --collection-card-corner-radius: 0.0rem;
    --collection-card-text-alignment: left;
    --collection-card-border-width: 0.0rem;
    --collection-card-border-opacity: 0.1;
    --collection-card-shadow-opacity: 0.0;
    --collection-card-shadow-visible: 0;
    --collection-card-shadow-horizontal-offset: 0.0rem;
    --collection-card-shadow-vertical-offset: 0.4rem;
    --collection-card-shadow-blur-radius: 0.5rem;
    --blog-card-image-padding: 0.0rem;
    --blog-card-corner-radius: 0.0rem;
    --blog-card-text-alignment: left;
    --blog-card-border-width: 0.0rem;
    --blog-card-border-opacity: 0.1;
    --blog-card-shadow-opacity: 0.0;
    --blog-card-shadow-visible: 0;
    --blog-card-shadow-horizontal-offset: 0.0rem;
    --blog-card-shadow-vertical-offset: 0.4rem;
    --blog-card-shadow-blur-radius: 0.5rem;
    --badge-corner-radius: 4.0rem;
    --popup-border-width: 1px;
    --popup-border-opacity: 0.1;
    --popup-corner-radius: 0px;
    --popup-shadow-opacity: 0.05;
    --popup-shadow-horizontal-offset: 0px;
    --popup-shadow-vertical-offset: 4px;
    --popup-shadow-blur-radius: 5px;
    --drawer-border-width: 1px;
    --drawer-border-opacity: 0.1;
    --drawer-shadow-opacity: 0.0;
    --drawer-shadow-horizontal-offset: 0px;
    --drawer-shadow-vertical-offset: 4px;
    --drawer-shadow-blur-radius: 5px;
    --spacing-sections-desktop: 0px;
    --spacing-sections-mobile: 0px;
    --grid-desktop-vertical-spacing: 8px;
    --grid-desktop-horizontal-spacing: 8px;
    --grid-mobile-vertical-spacing: 4px;
    --grid-mobile-horizontal-spacing: 4px;
    --text-boxes-border-opacity: 0.1;
    --text-boxes-border-width: 0px;
    --text-boxes-radius: 0px;
    --text-boxes-shadow-opacity: 0.0;
    --text-boxes-shadow-visible: 0;
    --text-boxes-shadow-horizontal-offset: 0px;
    --text-boxes-shadow-vertical-offset: 4px;
    --text-boxes-shadow-blur-radius: 5px;
    --buttons-radius: 0px;
    --buttons-radius-outset: 0px;
    --buttons-border-width: 1px;
    --buttons-border-opacity: 1.0;
    --buttons-shadow-opacity: 0.0;
    --buttons-shadow-visible: 0;
    --buttons-shadow-horizontal-offset: 0px;
    --buttons-shadow-vertical-offset: 4px;
    --buttons-shadow-blur-radius: 5px;
    --buttons-border-offset: 0px;
    --inputs-radius: 0px;
    --inputs-border-width: 1px;
    --inputs-border-opacity: 0.55;
    --inputs-shadow-opacity: 0.0;
    --inputs-shadow-horizontal-offset: 0px;
    --inputs-margin-offset: 0px;
    --inputs-shadow-vertical-offset: 4px;
    --inputs-shadow-blur-radius: 5px;
    --inputs-radius-outset: 0px;
    --variant-pills-radius: 40px;
    --variant-pills-border-width: 1px;
    --variant-pills-border-opacity: 0.55;
    --variant-pills-shadow-opacity: 0.0;
    --variant-pills-shadow-horizontal-offset: 0px;
    --variant-pills-shadow-vertical-offset: 4px;
    --variant-pills-shadow-blur-radius: 5px;
}

/* HEADER  */
.welcome {
	padding-left: 3.2rem;
	padding-right: 3.2rem;
	width: 100%;
	height: initial;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-content: center;
	grid-area: announcements;
}
.welcome p {
	text-align: center;
	padding: 0.6rem 0;
	margin: 0;
	letter-spacing: .1rem;
	min-height: 2.0rem;
}
.welcome span {
    font-size: 10px;
    font-size: 1.2rem;
}

.logo {
	max-width: 220px;
}

.navbar .nav-item a.active {
    text-decoration: underline;
    text-underline-offset : .3rem;
    font-weight: 400;
}
.navbar .nav-item a {
	cursor: pointer;
    display: inline-block;
    border: none;
    box-shadow: none;
    background-color: transparent;
    font-size: 0.9rem;
    font-family: inherit;
    line-height: calc(1 + 0.3 / var(--font-body-scale));
    padding: 1.2rem !important;
}

.navbar {
    padding-top: 20px;
    padding-bottom: 20px;
}

.navbar .navbar-nav.mx-auto {
	margin-left: 40px !important;
}

/*GLOBAL*/
body {
    font-size: 1.5rem;
    letter-spacing: 0.06rem;
    line-height: calc(1 + 0.8 / var(--font-body-scale));
    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-weight: var(--font-body-weight);
}
@media screen and (min-width: 750px) {
    body {
        font-size: 1.6rem;
    }
}
h1, h2, h3, h4, h5, .h0, .h1, .h2, .h3, .h4, .h5 {
    font-family: "Jost", sans-serif;
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: calc(var(--font-heading-scale) * .06rem);
    line-height: calc(1 + .3 / max(1, var(--font-heading-scale)));
	margin-top: 0;
	margin-bottom: .5rem;
    word-break: break-word;
}
h2 {
    font-size : 3.8rem;
}

h3 {
    font-size : 1.7rem;
}

h4 {
    font-size : 1.45rem;
}

@media only screen and (min-width: 750px) {

}
input:focus {
  outline: none !important;       /* toglie il bordo/outline di focus */
  box-shadow: none !important;    /* se c’è anche un’ombra */
}
.contact input {
    border: 1px solid #7d7d7d;
    height: 3.0rem;
    font-family: "Assistant";
    color: rgb(18, 18, 18);
    border-radius: 0px;
    padding-left: 1.3rem;
}

.contact textarea {
    border: 1px solid #7d7d7d;
    font-family: "Assistant";
    color: rgb(18, 18, 18);
    border-radius: 0px;
    padding-left: 1.3rem;
    padding-top: 0.8rem;
}

.contact form .btn {
    padding-left : 2rem;
    padding-right : 2rem;
}

.contact form  .invalid-feedback {
    font-size: 1rem;
}

.contact .alert-success {
    color: #ffffff;
    background-color: #87b7cf;
    border-color: #7fb1ca;
    font-size: 1rem !important;
}

/* CONTAINER */
@media (min-width: 1200px) { /* breakpoint xl */
  .container {
    max-width: 1150px;
  }
}

/*VIDEO*/
.video-placeholder-container {
    position: relative;
    width: 100%; 
    min-height: 617px;
    background-color: #f0f0f0; 
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
    border-radius: 0px;
}

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

.video-placeholder-container .play-icon {
    position: relative;
    z-index: 1;
    font-size: 1.3rem;
    color: white;
    transition: transform 0.2s ease-in-out;
    color: black;
    background: white;
    border-radius: 90px;
    padding-top : 20px;
    padding-left : 4px;
    width : 60px;
    height: 60px;
    display: block;
    text-align: center;
}

.video-placeholder-container:hover .play-icon {
    transform: scale(1.1); 
}

.youtube-video {
    width: 100%;
    height: 100%;
    border: none;
}

.video-container, iframe {
    min-height: 617px;
    border-radius: 0px;
}

/*Buttons*/
.btn {
    font-size: 0.9rem;
    letter-spacing: .1rem;
    line-height: calc(1 + 0.8 / var(--font-body-scale));
    padding-top : 0.7rem;
    padding-bottom : 0.7rem;
    padding-left : 1.5rem;
    padding-right : 1.5rem;
    border-radius : 0px;
}

footer h2 {
    font-size : 1.6rem !important;
    font-family: Jost, sans-serif;
    letter-spacing: calc(var(--font-heading-scale) * .06rem);
    line-height: calc(1 + .3 / max(1, var(--font-heading-scale)));
    word-break: break-word;
    margin-bottom: 2rem;
}

footer p {
    font-size: 1.0rem;
    font-style: normal;
    font-weight: 300;
    font-family: "Assistant";
    letter-spacing: 0.06rem;
    line-height: calc(1 + 0.8 / var(--font-body-scale));
}

footer ul a {
    font-size: 1.0rem;
    font-style: normal;
    font-weight: 300;
    font-family: "Assistant";
    letter-spacing: 0.06rem;
    line-height: 2.5rem;
    display: block;
    text-underline-offset: 0.2rem;
}

footer input {
    height: 3.0rem;
    color : rgb(18, 18, 18, 1.0);
    letter-spacing: .04rem;
    border-radius: 0px !important;
    padding-right: 5rem !important;
}


footer .text-success {
    font-size: 1rem !important;
}

footer i {
    color: black;
    font-size: 1.1rem;
}



/*PAGE ACCUEIL*/
.banner {
    min-height: initial !important;
    height : 420px;
    background-position-y: center;
}
#section-presentation h3, #section-presentation h4, #section-presentation .btn-presentation{
    margin-top: 2rem;
}
#section-presentation .btn-presentation .btn {
    min-width: 14rem;
}
#section-presentation .btn-presentation {
    padding-bottom: 52px;
}
#section-presentation .video-container {
    padding-top: 28px;
    padding-bottom: 28px;
}

#section-voix h2 {
    margin-bottom: 2rem;
}
#section-voix .card {
    border : 0px;
}

#section-methode .title-methode {
    margin-bottom: 2rem;
}

#section-methode .sous-bloc h2 {
    font-size : 2.2rem;
}

#section-methode .card {
    border : 0px;
}

#section-methode .sous-bloc h5 {
    margin-top : 2rem;
}

#section-methode .btn {
    margin-top : 3rem;
}


/*HISTOIRE*/

#section-histoire h2 {
    font-size : 2.2rem;
}

#section-histoire .titre1,#section-histoire .titre3,#section-histoire .titre4 {
    margin-bottom: 2rem;
}


#section-fondateurs h2 {
    font-size : 2.2rem;
    margin-bottom: 2rem;
}

#section-fondateurs .card {
    border : 0px;
}

/*NOS OFFRES*/


#section-nos-offres .card {
  height: 100%; 
  border : 0px !important;
  border-radius: 0px !important;
}

#section-nos-offres .col-md-4 {
  display: flex;     
  align-items: stretch; 
  margin-bottom: 20px; 
}

#section-nos-offres .card-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border : 0px !important;
  border-radius: 0px !important;
}

#section-nos-offres .card .inner {
    max-height: 421px;
}

#section-nos-offres .card {
    padding-bottom: 10px;
}

#section-nos-offres .card .inner img {

}

#section-nos-offres .card .inner:hover img {

}

#section-nos-offres .card .inner {
    margin: 10px;
    max-height: 421px;
    margin-bottom: 0px;
}

#section-nos-offres .card a,#section-nos-offres .card h3,#section-nos-offres .card p {
    text-align: left !important;
    color : white !important;
    text-decoration: none;
}

#section-nos-offres .card h3 {
   font-size : 1.2rem;
}

#section-nos-offres .card p {
   font-size : 0.9rem;
}

#section-nos-offres a {
    text-decoration: none;
}

#section-nos-offres .card-body {
    margin-left: 10px;
    margin-right: 10px;
}
#section-nos-offres .card-body .cont-body {
    padding-left: 10px;
    padding-right: 10px;
    padding-top : 10px;
}

#section-nos-offres .inner{
 overflow: hidden;
}

#section-nos-offres .inner img{
  transition: all 1.5s ease;
}

#section-nos-offres .inner:hover img{
  transform: scale(1.2);
}

.accueil #section-nos-offres .card .inner {
    max-height: 621px;
}

.page-nos-offres-section-nos-offres#section-nos-offres .card .inner {
    max-height: 421px !important;
}


.accueil #section-nos-offres{
    padding-bottom: 3rem;
}

#section-texte .container, #section-texte .container .col-md-6 {
    padding-top : 0px;
    margin-top : 0px;
}

#section-texte .inner {
    margin-top: 0px !important;
    margin-bottom: 0px;
}

#section-texte .card {
    border : 0px !important;
}

#section-texte .circle {
    border : 0px;
    margin-bottom: 2rem;
}









/*RESPONSIVE*/

@media (max-width: 900px) {

  .navbar .d-flex .navbar-nav.justify-content-end {
    margin : auto !important;
  }
    .navbar .navbar-nav.mx-auto {
        margin-left: 0px !important;
        text-align: center;
        margin-top: 1rem;
    }

    /* Bottone più grande */
    .navbar-toggler {
      border: none;
      outline: none;
      position: relative;
      width: 50px;   /* larghezza */
      height: 32px;  /* altezza */
      box-shadow: none !important;
    }

    /* Linea centrale */
    .navbar-toggler-icon {
      position: relative;
      display: block;
      width: 100%;
      height: 1px;  /* spessore linea */
      background-color: #000;
      transition: background-color 0.3s ease-in-out;
    }

    /* Linee sopra e sotto */
    .navbar-toggler-icon::before,
    .navbar-toggler-icon::after {
      content: "";
      position: absolute;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #000;
      transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease;
    }

    .navbar-toggler-icon::before {
      top: -10px; 
    }

    .navbar-toggler-icon::after {
      top: 10px;
    }

    .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
      background-color: transparent;
    }

    .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
      transform: rotate(45deg);
      top: 0;
    }

    .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
      transform: rotate(-45deg);
      top: 0;
    }

    .navbar-toggler-icon {
      background-color: #000;
      background-image: none !important; 
    }



    .banner {
        background-position-x: center;
    }


    h2 {
        font-size : 2.9rem;
    }

    h3 {
        font-size : 1.5rem;
    }

    h4 {
        font-size : 1.25rem;
    }

    #section-presentation .btn-presentation {
        display: block !important;
    }

    #section-presentation .btn-presentation .btn {
        margin-bottom: 1rem;
        width: 100%;
    }

    #section-presentation .btn-presentation {
        padding-bottom: 20px;
    }

    .video-container, iframe, .video-placeholder-container {
        min-height: 191px;
    }

    #section-presentation {
        padding-bottom: 0px !important;
    }

    #section-temoignage .carousel-inner {
        width: 90% !important;
    }
    #section-temoignage .carousel-inner {
        min-height: 670px !important;
    }
    #section-temoignage .background-carousel {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-5 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    #section-methode .sous-bloc h2 {
        font-size: 2.0rem;
    }
    #section-methode .btn {
        margin-top: 1rem;
        margin-bottom: 2rem;
    }
    #section-nos-offres .col-md-6 {
        margin-bottom: 1rem;
    }
    .accueil #section-nos-offres {
        padding-bottom: 1rem;
    }

    footer.pt-5 {
        padding-top : 1.5rem !important;
    }

    .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        padding-right: var(--bs-gutter-x, 1.95rem);
        padding-left: var(--bs-gutter-x, 1.95rem);
    }

    #section-histoire h2 {
        font-size: 2.0rem;
    }
    #section-fondateurs h2 {
        font-size: 2.0rem;
        margin-bottom: 2rem;
    }
    #section-texte .circle {
        width: 250px;
        height: 250px;
    }
    #section-texte .col-md-6 {
        margin-bottom: 1rem;
    }
    .section-dynamic-page h1, .section-dynamic-page h1 span{
        font-size : 3rem !important;
    }
    .meazuro-text {
        margin-top : 2rem !important;
    }
    #section-offre .image-wrapper .zoom-icon {
        opacity: 1;
    }

}