@font-face { font-family: ltb; src: url('../fonts/LTRenovate-Bold.otf');}
@font-face { font-family: font-bold; src: url('../fonts/3B259E_0_0.ttf');}
@font-face { font-family: h-bold; src: url('../fonts/helveticaneuebold.ttf');}
@font-face { font-family: h-medium; src: url('../fonts/helveticaneue-medium.ttf');}
@font-face { font-family: h-regular; src: url('../fonts/helveticaneuelight.ttf');}
@font-face { font-family: h-light; src: url('../fonts/helveticaneue-regular.ttf');}

      /* Par défaut */
        .font-size-title {
          font-size: 6.3em!important;
          letter-spacing: -.03em!important;
        }

        .font-size-title-01 {
          font-size: 4.5em!important;
          letter-spacing: -.03em!important;
        }

        .font-size-title-md {
          font-size: 2.3em!important;
          margin-top: -15px!important;
        }

        .font-size-title-lg {
          font-size: 5.1em!important;
        }

        .font-size-title-2 {
          font-size: 1.9em!important;
        }

        /* Media query pour les appareils avec une largeur maximale de 768px */
        @media screen and (max-width: 768px) {
          .font-size-title {
            font-size: 2.5em!important; 
          }

          .font-size-title-md {
          font-size: 1.9em!important;
          }

          .font-size-title-lg {
          font-size: 2em!important;
          }

            .font-size-title-01 {
                font-size: 2em!important;
            }
        }

        /* Media query pour les appareils avec une largeur maximale de 576px */
        @media screen and (max-width: 576px) {
          .font-size-title {
            font-size: 2em!important; /* Ajustez la taille pour les appareils encore plus petits */
          }

          .font-size-title-md {
          font-size: 1.2em!important;
          }

          .font-size-title-lg {
          font-size: 2em!important;
          }

            .font-size-title-01 {
                font-size: 1.8em!important;
            }

        }

        .ltb {
          font-family: ltb!important;
        }


        .bg-swiss {
      position: relative; /* Assurez-vous que l'élément parent est positionné */
    }

    

    .bg-color-1{
      background: #fdcf08!important;
      color: #201a58!important;
      transition: .3s;
    }

    .bg-color-1:hover{
      background: #4470b7!important;
      color: #fff!important;
      transition: .3s;
    }

    .bg-color-2{
      background: #4470b7!important;
      color: #fff!important;
      transition: .3s;
    }

    .bg-color-2:hover{
      background: #ffffff!important;
      color: #201a58!important;
      transition: .3s;
    }

    .width-logo{
      transition: width 0.5s; /* Transition douce pour le changement de largeur */
      width: 100px!important; /* Largeur initiale */
    }

    .width-logo-small{
      width: 90px!important; /* Largeur après défilement */
    }


    .main-link {
      font-size: .8em!important;
    }


    @media (min-width: 1024px) { /* Cible les écrans d'au moins 1024px de large */
      .objectifs .col-lg-3:nth-child(even) {
        margin-top: 40px!important; 
        transform: translateY(40px)!important;

      }

      .custom-div:not(:nth-child(4n)) {
            margin-right: 20px;
        }

        .custom-div:nth-child(even) {
            transform: translateY(40px);
        }
    }


    /* Style existant pour les cartes de blog */
    .object-card {
      position: relative!important; /* Nécessaire pour le positionnement du pseudo-élément */
      overflow: hidden!important; /* Assure que l'overlay ne dépasse pas les bords de la carte */
    }

    /* Assurez-vous que les images s'ajustent correctement à leurs conteneurs */
    .object-img img {
      width: 100%!important; /* Étend l'image pour couvrir l'espace disponible */
      height: auto!important; /* Maintient le rapport hauteur/largeur de l'image */
      transition: transform 0.5s ease!important; /* Optionnelle : ajoute un effet de zoom à l'image au survol */
    }

    /* Création de l'effet d'overlay avec un pseudo-élément */
    .object-card::before {
      content: ""; /* Nécessaire pour afficher le pseudo-élément */
      position: absolute!important;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%)!important;
      opacity: 0;
      transition: opacity 0.3s ease!important;
    }

    /* Change l'opacité de l'overlay au survol pour le rendre visible */
    .object-card:hover::before {
      opacity: 1!important;
    }

    /* Optionnelle : Ajoute un léger effet de zoom sur l'image au survol */
    .object-card:hover .object-img img {
      transform: scale(1)!important;
    }


.custom-div {
    position: relative;
    width: calc(50% - 20px); /* Début avec 2 colonnes pour la vue mobile */
    height: 400px;
    margin-bottom: 20px;
    margin-right: 20px; /* Espace horizontal entre les divs */
    overflow: hidden;
    display: inline-block; /* ou flex pour un alignement plus flexible */
    background-size: cover;
    background-position: center;
    z-index: 11;
}

/* Pour les tablettes et les écrans moyens (par exemple à partir de 768px) */
@media (min-width: 768px) {
    .custom-div {
        width: calc(33.333% - 20px); 
    }
}

/* Pour les grands écrans (par exemple à partir de 992px) */
@media (min-width: 992px) {
    .custom-div {
        width: calc(25% - 20px); /* Revenir à 4 colonnes pour les grands écrans */
    }
}


.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0,13,99);
  background: linear-gradient(0deg, rgba(0,13,99,1) 7%, rgba(0,13,99,0) 100%);
    opacity: .6; /* L'overlay est moins visible par défaut */
    transition: opacity 0.5s ease; /* Transition pour l'effet de survol */
    z-index: 1;
}

.custom-div:hover .overlay {
    opacity: 1; /* Rend l'overlay plus visible au survol */
}

.bg-video {
    object-fit: cover;
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.custom-div:hover .bg-video {
    display: block;
}

.content {
    position: absolute;
    bottom: 10px;
    left: 2px;
    color: white;
    padding: 20px;
    z-index: 2;
}



.container-panelist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 0;
}

.profile {
    border-radius: 0;
    text-align: center;
    margin: 10px;
    box-sizing: border-box;
    width: calc(50% - 20px); /* Deux colonnes sur les mobiles par défaut */
}

.profile img {
    max-width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 0;
    object-position: center top;
}

.profile h6, .profile p {
    margin: 5px 7px;
}

.profile p {
    line-height: 1em;
    font-family: Montserrat;
    font-size: .9em;
}

.profile h6 {
    line-height: 1em;
    font-family: Montserrat;
    font-weight: 800;
    font-size: 1.1em;
    margin-top: 10px;
}

/* Pour les tablettes (point de rupture pour les appareils moyens, ex. 768px) */
@media (min-width: 768px) {
    .profile {
        width: calc(33.333% - 20px); /* Trois colonnes pour les tablettes */
    }
}

/* Pour les ordinateurs de bureau (point de rupture pour les appareils moyens-grands, ex. 992px) */
@media (min-width: 992px) {
    .profile {
        width: calc(25% - 20px); /* Quatre colonnes pour les petits ordinateurs de bureau */
    }
}

/* Pour les grands ordinateurs de bureau (point de rupture pour les grands appareils, ex. 1200px) */
@media (min-width: 1200px) {
    .profile {
        width: calc(20% - 20px); /* Cinq colonnes sur les ordinateurs de bureau */
    }
}




/* Styles de base */

.parallax-section {
  position: relative;
  overflow: hidden;
  height: 100vh;
}

#parallax-video, #backup-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.overlay-text {
  position: relative;
  z-index: 10;
  text-align: ;
  color: #FFF !important;
  background: rgb(0,13,99);
  background: linear-gradient(105deg, rgba(0,13,99,1) 7%, rgba(0,13,99,.3) 100%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.hidden {
  display: none;
}

.category-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.category {
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 50%;
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: transform 0.3s;
  position: relative;

}

.sub-bg {
  

}


/* Pseudo-éléments pour les bordures multicolores */
.category:nth-child(1)::before {
  content: '';
  aspect-ratio: 1;
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  padding: 3.5px;
  border-radius: 100%;
  background: linear-gradient(to right, #5043c7, #e81d30);
  -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
          mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}


.category:nth-child(2)::before {
  content: '';
  aspect-ratio: 1;
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  padding: 3.5px;
  border-radius: 100%;
  background: linear-gradient(to right, #fdcf08, #4470b7);
  -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
          mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}


.category:nth-child(3)::before {
  content: '';
  aspect-ratio: 1;
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  padding: 3.5px;
  border-radius: 100%;
  background: linear-gradient(to right, #4470b7, #978cfe);
  -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
          mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}


.category:nth-child(4)::before {
  content: '';
  aspect-ratio: 1;
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  padding: 3.5px;
  border-radius: 100%;
  background: linear-gradient(to right, #05c817, #fdcf08);
  -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
          mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}


.category:nth-child(4)::before {
  content: '';
  aspect-ratio: 1;
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  padding: 3.5px;
  border-radius: 100%;
  background: linear-gradient(to right, #05c817, #fdcf08);
  -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
          mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}


.category:nth-child(5)::before {
  content: '';
  aspect-ratio: 1;
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  padding: 3.5px;
  border-radius: 100%;
  background: linear-gradient(to right, #6259ba, #4470b7, #fdcf08);
  -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
          mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}


/* Tu peux ajouter des classes spécifiques ou des id pour appliquer les couleurs de bordure individuelles à chaque catégorie si nécessaire */
.category::before {
  /* Ajoute les dégradés spécifiques ici, comme montré précédemment */
}

.category:hover {
  transform: scale(1.1);
}

.text-category {
  color: white;
  font-size: 14px;
  user-select: none;
  font-weight: 600;
}

/* Responsive Styles */

@media (max-width: 768px) {
  .parallax-section {
    height: 50vh; /* Ajuste la hauteur pour les écrans plus petits */
  }

  .category-container {
    flex-wrap: wrap; /* Les catégories s'enveloppent sur plusieurs lignes si nécessaire */
  }

  .category {
    width: 80px; /* Taille plus petite pour les catégories */
    height: 80px;
    margin: 10px; /* Ajoute de l'espace autour des catégories */
  }

  .text-category {
    font-size: 14px; /* Police plus petite pour les petits écrans */

  }


  .jour-j{

    font-size:.8em!important;

  }

  .jour-date{

    font-size:1.4em!important
  }


}

@media (max-width: 480px) {
  .parallax-section {
    height: 100vh; /* Hauteur encore plus petite pour les très petits écrans */
  }

  .category {
    width: 70px; /* Taille encore plus petite pour les catégories */
    height: 70px;
  }

  .text-category {
    font-size: 12px; /* Police encore plus petite pour les très petits écrans */
  }


  .jour-j{

    font-size:.8em!important;

  }

  .jour-date{

    font-size:1.4em!important;
  }


}





/*Custom tabs*/
.nav-tabs .nav-link {
  border: none;
  color: #8b899b;
  font-weight: 900;
  background-color: rgba(0, 0, 0, 0);
}

/* Style pour l'onglet actif */
.nav-tabs .nav-link.active {
  color: #fff; 
  background-color: rgba(0, 0, 0, 0); 
  border-bottom: 4px solid #e81d30;
  font-weight: 900;
}

/* Style pour le contenu des onglets */
.tab-content .tab-pane {
  padding: 20px;
  background-color: rgba(0, 0, 0, 0);
  border: none;
}

.jour-j{
  font-family:Montserrat;
  font-size:1.2em;
  font-weight: 500;
}

.jour-date{
  font-family:Montserrat;
  font-size:2em
}



/* Pour les mobiles */
@media (max-width: 768px) {
  /*.ma-classe-mobile {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    background: rgba(32, 26, 88, .9);
    height: 100px;
  }*/
}

/* Pour les tablettes */
@media (min-width: 768px) and (max-width: 1024px) {
  /*.ma-classe-tablette {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    background: rgba(32, 26, 88, .9);
    height: 100px;
  }*/

  .content-object p{
    font-size:12px;
  }
}

body, html {
  overflow-x: hidden;
}

.bebas-neue {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}


#monMenu {
  position: fixed;
  top: 0;
  width: 100%;
  transition: top 0.3s; /* Animation douce pour l'affichage/le masquage */
  z-index: 1000; /* S'assurer que le menu reste au-dessus des autres contenus */
}



/* Style du bouton lorsqu'il est activé */
.button--green {
    background-color: #12a19a; /* Vert */
    color: #ffffff; /* Texte blanc */
    /* Autres styles du bouton */
    border: solid #12a19a;

}

/* Style du bouton lorsqu'il est désactivé */
.button--green:disabled {
    background-color: #cccccc; /* Gris */
    color: #666666; /* Texte gris */
    cursor: not-allowed; /* Change le curseur pour indiquer qu'il n'est pas cliquable */
    border: solid #cccccc;
}


/*class disabled*/
.disabled {
    pointer-events: none; /* Empêcher les clics */
    color: #ccc; /* Changer la couleur pour ressembler à un état désactivé */
    text-decoration: none; /* Optionnel: supprimer le soulignement */
}
/*class disabled*/


/* Media query pour les tablettes en mode portrait */
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: portrait) {
  /* Cacher la partie du menu qui déborde */
  .menu-item-cached {
    display: none!important;
  }
}

