@charset "UTF-8";
html {
  font-size: 18px;
}

.subtitle {
  font-family: Jost, "sans-serif";
  font-weight: 500;
  text-transform: none;
}

h1 .subtitle {
  color: #FFFFFF;
  font-size: 1.11rem;
  line-height: 1.45em;
}
@media (min-width: 981px) {
  h1 .subtitle {
    font-size: 1.8rem;
    line-height: 1.45em;
  }
}

h2 .subtitle {
  margin-top: 0.83rem;
  color: #00314C;
  line-height: 1.45em;
}
/*.compteur-nombre {
  .percent-value {
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: $golden;
  }

}*/
.card-metier figure {
  background-color: #DBC087;
  border-radius: 100%;
  width: 5.55rem;
  height: 5.55rem;
  margin: 0 auto;
  transition: 0.3s;
}
.card-metier:hover figure {
  background-color: #00314C;
}

.blog-actus .et_pb_image_container,
.blog-actus .entry-featured-image-url {
  margin-bottom: 0.94rem;
}
.blog-actus .entry-featured-image-url img {
  max-height: 13.33333rem;
}
.blog-actus .post-content {
  margin-top: 1.28rem;
}
.blog-actus .post-content-inner {
  margin-bottom: 1.28rem;
}
.blog-actus .more-link {
  position: relative;
  /* Indispensable pour positionner le pseudo-élément */
  padding-right: 20px;
}
.blog-actus .more-link::after {
  content: "→";
  margin-left: 5px;
  font-size: 1.5rem;
  color: #DBC087;
}

.image-header .et_pb_image_wrap {
  height: 17.11111rem;
}
@media (min-width: 981px) {
  .image-header .et_pb_image_wrap {
    height: 35.27778rem;
  }
}
.image-header .et_pb_image_wrap img {
  position: absolute;
  object-fit: cover;
  top: 0;
  left: 0;
  height: 100%;
}

.content-photo {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
@media (min-width: 981px) {
  .content-photo {
    justify-content: flex-start;
  }
}

.et_section_specialty.section-photos-texte > .et_pb_row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 981px) {
  .et_section_specialty.section-photos-texte > .et_pb_row {
    flex-direction: row;
    margin-left: 0 !important;
    margin-right: auto !important;
    align-items: center;
  }
}
@media (min-width: 2000px) {
  .et_section_specialty.section-photos-texte > .et_pb_row {
    margin-left: auto !important;
  }
}
@media (max-width: 980px) {
  .et_section_specialty.section-photos-texte > .et_pb_row .et_pb_column {
    width: 100% !important;
  }
}
@media (max-width: 980px) {
  .et_section_specialty.section-photos-texte > .et_pb_row .et_pb_column.et_pb_specialty_column {
    max-width: 80% !important;
    margin: 0 auto !important;
  }
}

.row-number {
  /*&::before {
    content: "";
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    max-width: 10.83333rem;
    background-color: #00314c;
  }*/
}
@media (max-width: 980px) {
  .row-number .et_pb_column {
    margin-right: 0 !important;
  }
}
@media (min-width: 981px) {
  .row-number {
    /*&::before {
      height: 100%;
      top: 0;
      left: 50%;
      width: 1px;
    }*/
  }
}

.compteur-competences {
  visibility: hidden;
  opacity: 0;
  height: 0;
  transition: 0.3s;
  padding: 0 !important;
}
.compteur-competences .et_pb_column {
  height: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.compteur-competences.active {
  visibility: visible;
  height: auto;
  opacity: 1;
}
.compteur-competences.active .et_pb_colum {
  height: auto;
}

.specialite-competences > .et_pb_row {
  display: flex;
  margin: 0.83rem 1.39rem;
  padding-right: 8.06rem;
}
.specialite-competences > .et_pb_row > .et_pb_column {
  width: fit-content;
}

.timeline {
  display: flex;
  flex-direction: row;
}

.timeline-histoire.no-image .dsm_card_carousel_child img {
  display: none;
}
.timeline-histoire .dsm_card_carousel_child {
  /*img {
    display: none;
  }*/
}
.timeline-histoire .dsm_card_carousel_child .dsm_card_carousel_child_image_wrapper {
  max-height: 100px;
  min-height: 100px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.timeline-histoire .dsm_card_carousel_child .dsm_card_carousel_child_subtitle {
  padding-bottom: 15px;
}
.timeline-histoire .dsm_card_carousel_child .dsm_card_carousel_child_description ul li {
  line-height: 1.2em;
  padding-bottom: 7px;
}
.timeline-histoire .dsm_card_carousel_child .dsm_card_carousel_child_badge_text {
  position: relative;
  bottom: 0;
  width: 2.77778rem;
  height: 2.77778rem;
  flex-shrink: 0;
}
.timeline-histoire .dsm_card_carousel_child .dsm_card_carousel_child_badge_text {
  margin: 1.17rem auto;
}
.timeline-histoire .swiper-pagination .swiper-pagination-bullet {
  width: 0.8rem;
  height: 0.8rem;
  flex-shrink: 0;
  background: #DBC087 !important;
}
.timeline-histoire .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #FFFFFF !important;
}

.faq-garantie .dsm_open_image,
.faq-garantie .dsm_close_image {
  flex: 0 0 auto;
}

.card-personne .et_pb_module_header {
  margin-bottom: 0;
}
.card-personne .et_pb_member_position {
  margin-bottom: 0.89rem;
}

.accordion-societe .dsm_image_accordion_child {
  transition: flex 0.5s ease;
  /* padding: 1.72rem 2.67rem;*/
}
.accordion-societe .dsm_image_accordion_child .dsm_image_accordion_description {
  visibility: hidden;
  opacity: 0;
  height: 0;
  transition: 0.3s;
}
.accordion-societe .dsm_image_accordion_child.dsm_image_accordion_active_item {
  flex: 2 0 auto !important;
}
.accordion-societe .dsm_image_accordion_child.dsm_image_accordion_active_item .dsm_image_accordion_description {
  visibility: visible;
  opacity: 1;
  height: auto;
}
.accordion-societe .dsm_image_accordion_child_content {
  opacity: 1 !important;
  padding: 1.72rem 2.67rem;
}
.accordion-societe .agence {
  color: #DBC087;
  font-family: "Jost", sans-serif;
  font-size: 1.38889rem;
  font-weight: 500;
}
.accordion-societe .agence::after {
  clear: both;
  content: "";
  display: block;
  visibility: hidden;
  line-height: 0;
  height: 0;
  width: 0;
}
.accordion-societe .adresse,
.accordion-societe .orias {
  color: #FFFFFF;
  font-family: "Jost", sans-serif;
  font-size: 1.11111rem;
  font-weight: 400;
}
.accordion-societe .adresse::after,
.accordion-societe .orias::after {
  clear: both;
  content: "";
  display: block;
  visibility: hidden;
  line-height: 0;
  height: 0;
  width: 0;
}

@media (max-width: 980px) {
  .col--row-main {
    display: flex;
  }
}

.site-m-header {
  transition: all 0.6s ease-in-out;
  visibility: hidden;
  opacity: 0;
  position: fixed;
  bottom: 0;
  z-index: 6;
}
.site-m-header .social--bottom-menu {
  position: relative;
  align-items: center;
  margin-right: 0 !important;
}
.site-m-header .social--bottom-menu li {
  margin-bottom: 0;
}
.site-m-header .social--bottom-menu::after {
  content: "" !important;
  display: inline-block !important;
  position: relative;
  background-color: #00314C;
  width: 1.39rem;
  height: 0.05556rem;
  margin: 0 0.5rem;
  transition: 0.3s;
  vertical-align: middle;
  line-height: 1.45rem;
  visibility: visible !important;
}
.site-m-header.on {
  visibility: visible;
  opacity: 1;
  display: block;
}

.header--logo {
  width: auto !important;
  padding: 0.72rem 1.055rem 1.055rem 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.6s ease-in-out;
}
@media (max-width: 980px) {
  .header--logo {
    margin-bottom: 0 !important;
  }
  .header--logo.off {
    opacity: 0;
  }
}
@media (min-width: 981px) {
  .header--logo {
    height: 160px;
  }
}
@media (min-width: 1250px) {
  .header--logo {
    padding: 0rem 2.11rem 1.44rem 2.11rem;
  }
}
.header--logo .et_pb_image_wrap {
  width: 80%;
}
@media (min-width: 1250px) {
  .header--logo .et_pb_image_wrap {
    width: 100%;
  }
}

@media (max-width: 980px) {
  .menu-burger {
    position: fixed;
    top: 1.2rem;
    right: 1.2rem;
    z-index: 4;
    width: 2.77rem;
    height: 2.77rem;
    background-color: #00314C;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.6s ease-in-out;
  }
  .menu-burger span {
    position: absolute;
    display: block;
    width: 1.38889rem;
    /* La largeur de la ligne */
    height: 2px;
    background-color: #FFFFFF;
    transition: all 0.3s ease;
    right: 0.75rem;
    /* Décalage pour centrer la ligne dans le cercle */
    /* NOUVEAU: Pour une rotation parfaite, on doit centrer la ligne au milieu du cercle */
    /* Le centre du cercle est à 1.385rem de haut (2.77rem / 2) */
    /* On retire cette ligne car les transforms vont gérer le centrage */
  }
  .menu-burger span:nth-child(1) {
    top: 0.75rem;
    /* Position d'origine de la ligne supérieure */
  }
  .menu-burger span:nth-child(2) {
    top: 1.36rem;
    /* Position d'origine de la ligne du milieu */
    transition: all 0.05s ease;
  }
  .menu-burger span:nth-child(3) {
    top: 1.97rem;
    /* Position d'origine de la ligne inférieure */
  }
  .menu-burger.active {
    /* top: 0; !* L'arrière-plan commence en haut de l'écran *!
     right: 0; !* L'arrière-plan commence à droite de l'écran *!
     left: 0;
     width: 100vw;
     height: 100vh;
     border-radius: 0;*/
    /*transform: translate(2rem, -2rem);*/
    z-index: 5;
  }
  .menu-burger.active span {
    /* Pour le mode croix, toutes les lignes doivent être centrées avant la rotation */
    /* La position idéale pour toutes les lignes pour la rotation est le milieu (top: 1.36rem) */
    right: 0.75rem;
    /* Garde la ligne centrée horizontalement */
    top: 1.36rem;
    /* Positionne toutes les lignes au centre vertical du burger avant la transformation */
  }
  .menu-burger.active span:nth-child(1) {
    /* On retire les translate pour ne faire que la rotation */
    /* La rotation se fait désormais autour du centre du burger */
    transform: rotate(45deg);
    /* Ligne 1: pivote pour l'angle supérieur-droit */
  }
  .menu-burger.active span:nth-child(2) {
    opacity: 0;
    /* Fait disparaître la ligne du milieu */
  }
  .menu-burger.active span:nth-child(3) {
    /* On retire les translate pour ne faire que la rotation */
    transform: rotate(-45deg);
    /* Ligne 3: pivote pour l'angle inférieur-droit */
  }
  /* Menu en plein écran */
  .menu-fullscreen {
    /* Propriétés de base (inchangées) */
    display: flex;
    top: 15vh;
    /* Position initiale pour le contenu du menu */
    left: 0;
    width: 100vw;
    height: 80vh;
    /* Hauteur initiale pour le contenu du menu */
    z-index: 3;
    /* Z-index inférieur au bouton burger (z-index: 4) */
    justify-content: center;
    align-items: center;
    flex-direction: column;
    visibility: hidden;
    opacity: 0;
    gap: 20px;
    transition: opacity 0.4s 0.6s ease-in-out;
    position: fixed;
    /* NOUVEAU: Arrière-plan masqué par défaut */
    background-color: transparent;
    /* Pas de fond par défaut */
  }
  .menu-fullscreen #mega-menu-primary-menu {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .menu-fullscreen #mega-menu-primary-menu > .mega-menu-item > .mega-menu-link {
    font-weight: 700 !important;
  }
  .menu-fullscreen.active {
    opacity: 1;
    /*transition: opacity 0s 0.6s ease-in-out;*/
    visibility: visible;
    /* 2. PROPRIÉTÉS DU FOND PLEIN ÉCRAN */
    top: 0;
    /* Commence en haut */
    left: 0;
    /* Commence à gauche */
    width: 100vw;
    /* Couvre toute la largeur */
    height: 100vh;
    /* Couvre toute la hauteur */
    background-color: #FFFFFF;
    /* <--- AJOUTEZ LA COULEUR DE FOND ICI */
    transition: opacity 0.6s ease-in-out, background-color 0.6s ease-in-out;
  }
  .menu-fullscreen #mega-menu-primary-menu .mega-indicator {
    display: inline-block !important;
  }
  .menu-fullscreen #mega-menu-primary-menu .mega-sub-menu {
    background-color: transparent !important;
  }
  .menu-fullscreen #mega-menu-primary-menu .mega-sub-menu .mega-menu-item {
    padding: 5px !important;
  }
  .menu-fullscreen #mega-menu-primary-menu .mega-sub-menu .mega-menu-link {
    color: #00314C !important;
    text-align: center !important;
    font-family: "Jost", sans-serif !important;
    font-size: 1.11111rem !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
  }
}
.menu-ja {
  margin-bottom: 0 !important;
  padding-left: 270px !important;
  /*.et_pb_menu__logo-wrap {
    position: absolute;
    top: -2.71rem;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
    border-bottom-right-radius: 1rem;
    padding: 1.44rem 2.11rem 2.11rem 3.75rem;
    width: auto !important;
    background-color: #FFFFFF;
    max-width: 25% !important;
    z-index: 99999;

    @media(min-width: 1250px) {
      max-width: 100%;
    }


    .et_pb_menu__logo {
      margin-right: 0 !important;
    }


  }*/
}
@media (min-width: 1250px) {
  .menu-ja {
    padding-left: 320px !important;
  }
}
@media (max-width: 980px) {
  .menu-ja .mega-close {
    background-color: #00314C !important;
    border-radius: 50% !important;
  }
}
@media (min-width: 981px) {
  .menu-ja #mega-menu-primary-menu {
    display: flex;
  }
  .menu-ja #mega-menu-primary-menu > li {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }
  .menu-ja #mega-menu-primary-menu li {
    display: flex;
  }
  .menu-ja #mega-menu-primary-menu li a {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    padding: 0;
    color: #00314C;
    transition: 0.3s;
    line-height: 1.45rem !important;
    height: 2rem !important;
    font-family: "Jost", sans-serif !important;
    font-weight: 500 !important;
  }
  .menu-ja #mega-menu-primary-menu li a:hover {
    color: #DBC087;
  }
  .menu-ja #mega-menu-primary-menu li.m-contact a {
    display: flex !important;
    width: 11.11111rem !important;
    height: 2rem !important;
    align-items: center;
    flex-shrink: 0;
    border-radius: 1.72222rem !important;
    background-color: #00314C !important;
    color: #FFFFFF !important;
    text-transform: none !important;
    padding: 0 2.22222rem !important;
    justify-content: center;
  }
  .menu-ja #mega-menu-primary-menu li.m-contact a:hover {
    background: #DBC087 !important;
  }
  .menu-ja #mega-menu-primary-menu li.m-metiers {
    position: relative;
    align-items: center;
  }
  .menu-ja #mega-menu-primary-menu li.m-metiers::after {
    content: "" !important;
    display: inline-block !important;
    position: relative;
    background-color: #DBC087;
    width: 1.39rem;
    height: 0.05556rem;
    margin: 0 1.06rem;
    transition: 0.3s;
    vertical-align: middle;
    line-height: 1.45rem;
  }
}
@media (min-width: 981px) and (min-width: 1250px) {
  .menu-ja #mega-menu-primary-menu li.m-metiers::after {
    width: 2.77778rem;
  }
}
@media (min-width: 981px) {
  .menu-ja #mega-menu-primary-menu li.m-cabinet {
    position: relative;
    align-items: center;
  }
  .menu-ja #mega-menu-primary-menu li.m-cabinet::after {
    content: "" !important;
    display: inline-block !important;
    position: relative;
    background-color: #DBC087;
    width: 2.275rem;
    height: 0.05556rem;
    margin: 0 1.06rem;
    transition: 0.3s;
    vertical-align: middle;
    line-height: 1.45rem;
  }
}
@media (min-width: 981px) and (min-width: 1051px) {
  .menu-ja #mega-menu-primary-menu li.m-cabinet::after {
    width: 6.275rem;
  }
}
@media (min-width: 981px) and (min-width: 1250px) {
  .menu-ja #mega-menu-primary-menu li.m-cabinet::after {
    width: 12.55556rem;
  }
}
@media (min-width: 981px) {
  .menu-ja #mega-menu-primary-menu .mega-sub-menu {
    padding: 0.7rem 0;
    margin-top: 1.25rem !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between !important;
  }
  .menu-ja #mega-menu-primary-menu .mega-sub-menu li {
    width: auto !important;
  }
  .menu-ja #mega-menu-primary-menu .mega-sub-menu a {
    width: auto !important;
    color: #FFFFFF;
    text-align: center !important;
  }
}
@media (min-width: 981px) and (min-width: 981px) and (max-width: 1150px) {
  .menu-ja #mega-menu-primary-menu .mega-sub-menu a {
    line-height: 1 !important;
    font-size: 14px !important;
  }
}
@media (min-width: 981px) {
  .menu-ja #mega-menu-primary-menu .mega-sub-menu a:hover {
    color: #DBC087 !important;
  }
}

.title-footer {
  color: #DBC087;
  font-family: "Jost", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .ligne-addr-footer .et_pb_column {
    margin-right: 0 !important;
    width: 100% !important;
  }
}

/*
h2 {
  padding-bottom: 0px;
}*/
.forminator-row-last .forminator-field {
  margin: 0 auto;
  text-align: center;
}

.forminator-dropdown--material {
  box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.25) !important;
}

.forminator-button-submit {
  width: fit-content !important;
  border-radius: 1.72222rem !important;
}

@media (min-width: 981px) {
  /* 1. On force le conteneur Divi à prendre toute la hauteur de l'écran */
  #page-container,
#et-boc {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  /* 2. On dit à la zone de contenu principale de s'étirer pour combler le vide */
  #et-main-area {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
  }
  /* 3. On s'assure que le contenu interne (main-content) s'étire aussi */
  #main-content {
    flex: 1 0 auto;
  }
  /* 4. On empêche le footer de rétrécir */
  .et-l--footer {
    flex-shrink: 0;
  }
}

/*# sourceMappingURL=style.css.map */
