@charset "UTF-8";
/* -----------------------------------------------------
   Base
   ----------------------------------------------------- */
/* Colors
  ========================================================================== */
:root {
  --bg-body: #F2F3EE;
  --color-black: #202020;
  --color-black-rgb: 32,32,32;
  --color-quartz: #5D5C65;
  --color-white: #FFFFFF;
  --color-vanilla: #D3D4C4;
  --color-red: #E42313;
  --color-red-rgb: 228,35,19;
  --color-red-dark: #A41105;
  --font-body: "basic-sans", sans-serif;
  --font-bricolage: "Bricolage Grotesque", sans-serif; }

.navbar-toggler {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0, 0, 0,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }

/* Typography
  ========================================================================== */
html {
  font-size: 16px; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--color-black);
  line-height: 1.3;
  overflow-x: hidden;
  background-color: var(--bg-body); }

:root {
  --bs-link-color: var(--color-red);
  --bs-link-color-rgb: var(--color-red-rgb);
  --bs-link-decoration: none;
  --bs-link-hover-color: var(--color-black);
  --bs-link-hover-color-rgb: var(--color-black-rgb);
  --bs-border-radius: 10px; }

.btn-primary {
  --bs-btn-color: var(--color-white);
  --bs-btn-bg: var(--color-red);
  --bs-btn-border-color: var(--color-red);
  --bs-btn-hover-color: var(--color-white);
  --bs-btn-hover-bg: var(--color-black);
  --bs-btn-hover-border-color: var(--color-black);
  --bs-btn-focus-shadow-rgb: none;
  --bs-btn-active-color: var(--color-white);
  --bs-btn-active-bg: var(-color-red-dark);
  --bs-btn-active-border-color: var(--color-black);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--color-white);
  --bs-btn-disabled-bg: #999;
  --bs-btn-disabled-border-color: var(--color-black); }

.btn-secondary {
  --bs-btn-color: var(--color-red);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--color-red);
  --bs-btn-hover-color: var(--color-white);
  --bs-btn-hover-bg: var(--color-red);
  --bs-btn-hover-border-color: var(--color-red);
  --bs-btn-focus-shadow-rgb: none;
  --bs-btn-active-color: var(--color-white);
  --bs-btn-active-bg: var(--color-red);
  --bs-btn-active-border-color: var(--color-red);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--color-white);
  --bs-btn-disabled-bg: #999;
  --bs-btn-disabled-border-color: #000; }

/* -----------------------------------------------------
   Base
   ----------------------------------------------------- */
header.site-header {
  z-index: 4;
  padding: 2rem 0; }
  header.site-header .site-branding {
    padding: 0 3rem; }
    header.site-header .site-branding .brand-logo {
      max-width: 100%; }
    header.site-header .site-branding .language-switcher {
      margin-left: 30px;
      margin-right: 30px; }
    header.site-header .site-branding .menu-item a,
    header.site-header .site-branding .language-switcher a {
      font-weight: 700;
      color: var(--color-black); }
      header.site-header .site-branding .menu-item a:hover, header.site-header .site-branding .menu-item a:focus,
      header.site-header .site-branding .language-switcher a:hover,
      header.site-header .site-branding .language-switcher a:focus {
        color: var(--color-red);
        text-decoration: none; }
    header.site-header .site-branding .menu-item .dropdown-menu a,
    header.site-header .site-branding .language-switcher .dropdown-menu a {
      color: var(--color-white); }
    header.site-header .site-branding .language-switcher > a {
      padding-bottom: 0; }
    header.site-header .site-branding .language-switcher .dropdown-menu {
      min-width: unset;
      width: 70px; }
      header.site-header .site-branding .language-switcher .dropdown-menu a:hover, header.site-header .site-branding .language-switcher .dropdown-menu a:focus {
        background-color: var(--color-red);
        color: var(--color-white);
        text-decoration: none; }
    header.site-header .site-branding a.btn-secondary {
      padding: 0.625rem 2.5rem; }
  @media (min-width: 992px) {
    header.site-header .navbar-expand-lg .navbar-nav {
      gap: 30px;
      flex-direction: row; } }
  body.home header.site-header {
    position: absolute;
    width: 100%;
    z-index: 4; }
  header.site-header .dropdown-menu {
    border-radius: 20px;
    background: var(--color-black);
    text-align: center;
    border: none;
    padding: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease; }
    header.site-header .dropdown-menu a.dropdown-item {
      color: var(--bg-body);
      padding: 1rem 2.3rem;
      display: block;
      width: 100%;
      text-align: center;
      text-decoration: none;
      font-size: 1rem;
      font-weight: 500;
      transition: background-color 0.3s, color 0.3s;
      -webkit-tap-highlight-color: transparent; }
      header.site-header .dropdown-menu a.dropdown-item:hover, header.site-header .dropdown-menu a.dropdown-item:focus {
        background-color: var(--color-red);
        color: white; }
      header.site-header .dropdown-menu a.dropdown-item.active, header.site-header .dropdown-menu a.dropdown-item.current, header.site-header .dropdown-menu a.dropdown-item.current-menu-item {
        background-color: var(--color-red);
        color: white; }
      header.site-header .dropdown-menu a.dropdown-item span {
        display: block;
        width: 100%; }
  @media (max-width: 991px) {
    header.site-header {
      padding: 1rem 0;
      /* Burger rouge, traits blancs */ }
      header.site-header .site-branding {
        padding: 0 1rem; }
        header.site-header .site-branding #site-navigation {
          justify-content: end; }
      header.site-header .navbar-toggler {
        border: none;
        padding: 0.4rem 0.6rem;
        background-color: var(--color-red);
        border-radius: 8px; }
        header.site-header .navbar-toggler .navbar-toggler-icon {
          filter: invert(1);
          opacity: 1; }
      header.site-header .offcanvas {
        background-color: var(--color-black);
        padding: 1.5rem;
        max-width: 100%;
        width: 100%;
        min-height: 100vh;
        /* Évite le repositionnement en mobile */ }
        header.site-header .offcanvas .dropdown {
          position: static; }
        header.site-header .offcanvas .offcanvas-header {
          padding-bottom: 1rem; }
          header.site-header .offcanvas .offcanvas-header .btn-close {
            filter: invert(1);
            opacity: 0.85; }
            header.site-header .offcanvas .offcanvas-header .btn-close:hover, header.site-header .offcanvas .offcanvas-header .btn-close:focus {
              opacity: 1; }
        header.site-header .offcanvas .offcanvas-body {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          gap: 1rem;
          padding-top: 1.5rem;
          height: 100%;
          text-align: center; }
          header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav {
            flex-direction: column;
            align-items: center;
            gap: 1rem;
            /* ===== Dropdown mobile : simple, smooth, basé sur .show ===== */
            /* OUVERT — prend en compte .show sur le menu ET sur le parent */
            /* ===== /Dropdown mobile ===== */ }
            header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav a.nav-link {
              display: block;
              width: 100%;
              padding: 0.75rem 0;
              font-weight: 700;
              font-size: 1.125rem;
              color: var(--color-white);
              text-decoration: none; }
              header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav a.nav-link:hover, header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav a.nav-link:focus {
                color: var(--color-red);
                text-decoration: none; }
            header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav .dropdown-menu {
              position: static;
              background: var(--color-quartz);
              padding: 0;
              margin: 0;
              border: none;
              box-shadow: none;
              display: block;
              /* neutralise display:none de Bootstrap en mobile */
              overflow: hidden;
              max-height: 0;
              opacity: 0;
              transition: max-height 0.35s ease, opacity 0.35s ease; }
            header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav .dropdown-menu.show,
            header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav .dropdown.show > .dropdown-menu,
            header.site-header .offcanvas .offcanvas-body #primary-menu.navbar-nav .dropdown.focus > .dropdown-menu {
              max-height: 40rem;
              opacity: 1;
              min-width: 80vw; }
          header.site-header .offcanvas .offcanvas-body .language-switcher {
            margin-top: 0.25rem;
            text-align: center; }
            header.site-header .offcanvas .offcanvas-body .language-switcher a {
              font-weight: 600;
              color: var(--color-white); }
              header.site-header .offcanvas .offcanvas-body .language-switcher a:hover, header.site-header .offcanvas .offcanvas-body .language-switcher a:focus {
                color: var(--color-red); }
            header.site-header .offcanvas .offcanvas-body .language-switcher .dropdown-menu {
              background: var(--color-quartz);
              min-width: 80vw; }
              header.site-header .offcanvas .offcanvas-body .language-switcher .dropdown-menu a {
                color: var(--color-white); }
          header.site-header .offcanvas .offcanvas-body a.btn-secondary {
            align-self: stretch;
            text-align: center;
            margin-top: 1.25rem;
            background-color: var(--color-red);
            color: var(--color-white);
            border: none; }
            header.site-header .offcanvas .offcanvas-body a.btn-secondary:hover, header.site-header .offcanvas .offcanvas-body a.btn-secondary:focus {
              background-color: var(--color-red);
              box-shadow: 0 0 0 3px var(--color-white); }
        header.site-header .offcanvas .dropdown-toggle {
          color: var(--color-white); }
          header.site-header .offcanvas .dropdown-toggle::after {
            border-top-color: currentColor;
            transition: transform .2s ease; }
          header.site-header .offcanvas .dropdown-toggle[aria-expanded="true"]::after {
            transform: rotate(180deg); }
      header.site-header .offcanvas-backdrop.show {
        background-color: var(--color-black);
        opacity: 0.4; } }

footer {
  background-color: var(--color-white); }
  footer ul {
    padding-left: 0; }
    footer ul li {
      display: block;
      margin-bottom: 15px;
      color: var(--color-quartz); }
  footer .contact-ico {
    margin-bottom: 5px;
    color: var(--color-quartz); }
    footer .contact-ico a {
      color: var(--color-quartz); }
    footer .contact-ico__fax {
      /* &:before {
       content: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m2 6.755 6-4.202 6 4.202v1.4l-4.953 3.472A1.82 1.82 0 0 1 8 11.952c-.378 0-.744-.115-1.047-.325L2 8.155v-1.4Zm6-6.15c-.378 0-.744.116-1.047.326L.81 5.236C.3 5.593 0 6.155 0 6.755v7.089c0 1.043.897 1.89 2 1.89h12c1.103 0 2-.847 2-1.89v-7.09c0-.6-.3-1.164-.81-1.518L9.048.93A1.841 1.841 0 0 0 8 .605Z" fill="%235D5C65"/></svg>');
       display: inline-block;
       margin-right: 10px;
       }*/ }
    footer .contact-ico__phone {
      /* &:before {
       content: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m2 6.755 6-4.202 6 4.202v1.4l-4.953 3.472A1.82 1.82 0 0 1 8 11.952c-.378 0-.744-.115-1.047-.325L2 8.155v-1.4Zm6-6.15c-.378 0-.744.116-1.047.326L.81 5.236C.3 5.593 0 6.155 0 6.755v7.089c0 1.043.897 1.89 2 1.89h12c1.103 0 2-.847 2-1.89v-7.09c0-.6-.3-1.164-.81-1.518L9.048.93A1.841 1.841 0 0 0 8 .605Z" fill="%235D5C65"/></svg>');
       display: inline-block;
       margin-right: 10px;
       }*/ }
    footer .contact-ico__mail {
      /*&:before {
      //content: url('data:image/svg+xml,<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.75 1.916v2.66h1.875v-2.66h5.704l.858.811v1.848h1.876V2.727c0-.47-.197-.922-.548-1.254L12.656.66A1.932 1.932 0 0 0 11.33.143H5.625C4.591.143 3.75.938 3.75 1.916ZM0 4.576v8.864c0 .49.419.886.938.886h.937c.519 0 .938-.396.938-.886V4.575c0-.49-.42-.886-.938-.886H.937c-.518 0-.937.396-.937.886Zm14.063.886H3.75v7.978c0 .49.419.886.938.886h9.375c.518 0 .937-.396.937-.886V6.348c0-.49-.419-.886-.938-.886ZM7.5 7.235c.249 0 .487.093.663.26a.863.863 0 0 1 .274.626c0 .235-.098.46-.274.627a.966.966 0 0 1-.663.26.966.966 0 0 1-.663-.26.863.863 0 0 1-.274-.627c0-.235.098-.46.274-.627a.966.966 0 0 1 .663-.26Zm2.813.886c0-.235.098-.46.274-.627a.966.966 0 0 1 .663-.26c.249 0 .487.094.663.26a.863.863 0 0 1 .274.627c0 .235-.098.46-.274.627a.966.966 0 0 1-.663.26.966.966 0 0 1-.663-.26.863.863 0 0 1-.274-.627Zm.937 2.66c.249 0 .487.093.663.26a.863.863 0 0 1 .274.626c0 .235-.098.46-.274.627a.966.966 0 0 1-.663.26.966.966 0 0 1-.663-.26.863.863 0 0 1-.274-.627c0-.235.098-.46.274-.627a.966.966 0 0 1 .663-.26Zm-4.688.886c0-.235.1-.46.275-.627a.966.966 0 0 1 .663-.26c.249 0 .487.094.663.26a.863.863 0 0 1 .274.627c0 .235-.098.46-.274.627a.966.966 0 0 1-.663.26.966.966 0 0 1-.663-.26.863.863 0 0 1-.274-.627Z" fill="%235D5C65"/></svg>');
      display: inline-block;
      margin-right: 10px;
      }*/ }
  footer .legal-informations {
    margin-top: 2rem; }
  footer .list-links {
    display: flex;
    flex-direction: column;
    gap: 8px; }
    @media (min-width: 768px) {
      footer .list-links {
        flex-direction: row;
        gap: 15px;
        align-items: center; } }
  footer .site-info a {
    color: var(--color-quartz); }
    footer .site-info a:hover {
      color: var(--color-red);
      text-decoration: none; }
  footer .legal-informations a {
    color: var(--color-red); }
    footer .legal-informations a:hover {
      font-weight: 700; }

/* .service-item {
  position: relative;
  padding-bottom: 90px;
  display: block;
  text-decoration: none;

  &__thumbnail {
    text-align: end;

    img {
      aspect-ratio: auto 280 / 379;
      transition: transform 0.3s ease; // transition hors hover
    }
  }

  &__content {
    background-color: var(--bg-body);
    border-radius: var(--bs-border-radius);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    padding: 20px 0px 20px 0px;
    color: var(--color-black);
  }

  &__title {
    font-size: convert-to-rem(30px);
    font-family: var(--font-bricolage);
    font-weight: 700;
  }

  &__icon {
    width: 45px;
    height: 45px;
    position: absolute;
    bottom: 0;
    right: 0;

    rect {
      transition: fill 0.3s ease; // transition hors hover
    }
  }

  &:hover {
    .service-item__thumbnail img {
      transform: translateY(-5px); // effet flottant
    }

    .service-item__icon rect {
      fill: var(--color-red);
    }
  }
  

  @include down(991) {
    margin-bottom: 50px;
    padding: 30px 30px 90px 30px;
    &__thumbnail {
      text-align: center;
    }
    &__content {
      padding: 20px 0px 20px 20px;
    }
    &__icon {
      bottom: 20px;
      right: 30px;
    }
  }

  @include up(1600) {
    &__thumbnail img {
      width: 280px;
      height: 379px;
    }
  }
} */
.service-item {
  position: relative;
  display: block;
  text-decoration: none;
  --thumb-h: clamp(240px, 28vw, 379px);
  --overlap: 90px;
  --gap-x: 20px;
  /* VIGNETTE (image) */
  /* CARTOUCHE BEIGE (contenu) */
  /* TITRE */
  /* ICÔNE (bouton flèche) */
  /* HOVER */
  /* RESPONSIVE */ }
  .service-item__wrapper {
    display: grid;
    grid-template-rows: var(--thumb-h) minmax(var(--content-min-h), auto);
    grid-template-columns: 1fr auto;
    column-gap: var(--gap-x);
    align-items: end;
    position: relative; }
  .service-item__thumbnail {
    grid-row: 1;
    grid-column: 1 / -1;
    overflow: hidden;
    justify-self: end; }
    .service-item__thumbnail img {
      width: 100%;
      height: var(--thumb-h);
      object-fit: cover;
      transition: transform 0.3s ease; }
  .service-item__content {
    grid-row: 2;
    grid-column: 1;
    align-self: start;
    width: 100%;
    margin-top: calc(-1 * var(--overlap));
    background-color: var(--bg-body);
    border-radius: var(--bs-border-radius);
    padding: 20px;
    color: var(--color-black);
    transform: translateX(-20px);
    min-height: 100px; }
    .service-item__content p {
      margin-left: 25px;
      margin-bottom: 0; }
  .service-item__title {
    font-size: 1.875rem;
    font-family: var(--font-bricolage);
    font-weight: 700;
    margin-bottom: 8px; }
  .service-item__icon {
    grid-row: 2;
    grid-column: 2;
    justify-self: end;
    align-self: end;
    width: 45px;
    height: 45px; }
    .service-item__icon rect {
      transition: fill 0.3s ease; }
  .service-item:hover {
    text-decoration: none !important; }
    .service-item:hover .service-item__thumbnail img {
      transform: translateY(-5px); }
    .service-item:hover .service-item__icon rect {
      fill: var(--color-red); }
    .service-item:hover .service-item__content h3, .service-item:hover .service-item__content p {
      text-decoration: none !important;
      color: var(--color-red); }
  @media (max-width: 991px) {
    .service-item {
      margin-bottom: 50px;
      padding: 30px;
      --content-min-h: 90px; }
      .service-item__thumbnail img {
        height: clamp(360px, 55vw, var(--thumb-h)); }
      .service-item__content {
        width: 100%;
        padding: 20px;
        margin-top: calc(-1 * (var(--overlap) - 6px)); }
        .service-item__content .service-item__title {
          font-size: 1.5rem; } }
  @media (max-width: 400px) {
    .service-item__content {
      width: 220px;
      padding: 20px 20px 20px 0; } }
  @media (min-width: 991px) {
    .service-item {
      --thumb-h: 379px; }
      .service-item__content {
        min-height: 150px; } }
  @media (min-width: 1200px) {
    .service-item {
      --thumb-h: 379px; }
      .service-item__content {
        min-height: 200px; } }

.job_offer-item {
  color: var(--color-black);
  display: block;
  background-color: var(--color-white);
  padding: 20px 20px;
  text-decoration: none; }
  .job_offer-item h2 {
    transition: color 0.3s ease; }
  .job_offer-item .job_offer-item__icon rect {
    transition: fill 0.3s ease; }
  .job_offer-item__content {
    position: relative;
    padding-right: 60px; }
  .job_offer-item__icon {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 45px;
    height: auto; }
  .job_offer-item:hover {
    text-decoration: none; }
    .job_offer-item:hover h2 {
      color: var(--color-red); }
    .job_offer-item:hover .job_offer-item__icon rect {
      fill: var(--color-red); }
  @media (min-width: 992px) {
    .job_offer-item {
      padding: 30px 30px; }
      .job_offer-item .job_offer-item__content {
        margin-left: 2rem; } }

@media (max-width: 990px) {
  .job-offers-column {
    gap: 20px;
    display: flex;
    flex-direction: column; } }
@media (min-width: 992px) {
  .job-offers-list {
    display: flex;
    gap: 20px; }

  .job-offers-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px; }
    .job-offers-column:last-child {
      padding-top: 100px; }

  /*
  .job-offers-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  
  .job_offer-item__container {
    break-inside: avoid;
    margin-bottom: 20px;
  }
  
  .job_offer-item__container:nth-child(even) {
    padding-top: 100px;
  }
  .job_offer-item__container:nth-child(odd) {
    margin-top: 0px;
  }
  */ }
/* -----------------------------------------------------
   Pages
   ----------------------------------------------------- */
img {
  max-width: 100%;
  height: auto; }

.red {
  color: var(--color-red) !important; }

@media (min-width: 768px) {
  .float-right {
    float: right;
    transform: translateY(-50px); } }

ul.list-links {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px; }
  ul.list-links li {
    margin-bottom: 15px;
    display: block; }
  @media (min-width: 768px) {
    ul.list-links {
      flex-direction: row;
      gap: 15px;
      align-items: center; } }

ul.check,
ol.check {
  list-style: none;
  padding-left: 0;
  margin: 0; }

ul.check li,
ol.check li {
  position: relative;
  padding-left: calc(14px + 10px);
  margin: 0 0 8px 0; }

ul.check li::before,
ol.check li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  /* ajuste la hauteur si besoin */
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 14 14' fill='none'><path fill-rule='evenodd' clip-rule='evenodd' d='M7.00001 0.333313C3.32001 0.333313 0.333344 3.31998 0.333344 6.99998C0.333344 10.68 3.32001 13.6666 7.00001 13.6666C10.68 13.6666 13.6667 10.68 13.6667 6.99998C13.6667 3.31998 10.68 0.333313 7.00001 0.333313ZM5.19334 9.85998L2.80001 7.46665C2.54001 7.20665 2.54001 6.78665 2.80001 6.52665C3.06001 6.26665 3.48001 6.26665 3.74001 6.52665L5.66668 8.44665L10.2533 3.85998C10.5133 3.59998 10.9333 3.59998 11.1933 3.85998C11.4533 4.11998 11.4533 4.53998 11.1933 4.79998L6.13334 9.85998C5.88001 10.12 5.45334 10.12 5.19334 9.85998Z' fill='%23E42313'/></svg>") no-repeat 50% 50%/contain; }

p {
  color: var(--color-quartz);
  letter-spacing: 0.02em; }

h1, h2, h3, h4, h5, h6 {
  color: var(--color-black);
  margin-top: 0;
  font-family: var(--font-bricolage);
  letter-spacing: 0.02em; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

.link-icon a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 14px;
  margin-left: 8px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14' fill='none'><path d='M1 1.27144L10.9623 1.27142M10.9623 1.27142L10.9623 12.6462M10.9623 1.27142L1.00001 12.6462' stroke='%23E42313' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat 50% 50%/contain;
  vertical-align: -2px; }
.link-icon a:hover::after {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14' fill='none'><path d='M1 1.27144L10.9623 1.27142M10.9623 1.27142L10.9623 12.6462M10.9623 1.27142L1.00001 12.6462' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat 50% 50%/contain; }

.btn {
  --bs-btn-padding-x: 1.15rem;
  --bs-btn-padding-y: 0.7rem; }
  .btn:hover {
    text-decoration: none; }

h1, .h1 {
  font-weight: 700; }

h2, .h2 {
  font-size: 1.85rem;
  font-weight: 700; }

h3, .h3 {
  font-family: var(--font-bricolage);
  font-weight: 700; }

h4, .h4 {
  font-weight: 700; }

.entry-title {
  margin-bottom: 30px; }

.type-project .entry-title {
  margin-bottom: 0px; }

.h2__subtitle strong {
  color: var(--color-red);
  font-size: 1.3rem; }

.btn-thirdly {
  color: var(--color-white);
  background-color: var(--color-red);
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  padding: 2px 2px 2px 20px; }
  .btn-thirdly a {
    color: var(--color-white); }
  .btn-thirdly::after {
    display: inline-block;
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 44 44"><rect width="44" height="44" fill="%23fff" rx="10"/><path stroke="%23E42313" stroke-linecap="round" stroke-linejoin="round" d="M17.434 16.604h9.962m0 0v9.962m0-9.962-9.962 9.962"/></svg>');
    width: 44px;
    height: 44px;
    vertical-align: middle;
    margin-left: 10px; }
  .btn-thirdly:hover {
    background-color: var(--color-black);
    color: var(--color-white); }

p.hightlighted {
  font-weight: 700;
  font-size: 1.125rem;
  font-family: var(--font-bricolage); }
  @media (min-width: 768px) {
    p.hightlighted {
      font-size: 2.5rem; } }

.block-bg-black {
  background-color: var(--color-black);
  color: var(--color-white);
  border-radius: var(--bs-border-radius);
  padding: 20px 20px 20px 20px; }
  .block-bg-black > *:last-child {
    margin-bottom: 0; }
  .block-bg-black * {
    color: var(--color-white); }
  .block-bg-black a {
    color: var(--color-red); }
    .block-bg-black a:hover {
      color: var(--color-white); }

.row-cta.bg-beige::before {
  content: '';
  height: 100%;
  width: 100vw;
  background-color: var(--color-vanilla);
  z-index: -1;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%); }

/* pages */
.page main,
.single-project main {
  margin-top: 5rem; }
@media (max-width: 1439px) {
  .page main,
  .single-project main {
    margin-top: 4rem; } }
@media (max-width: 991px) {
  .page main,
  .single-project main {
    margin-top: 2rem; } }

.page.home main {
  margin-top: 0rem; }

.certification-item__wrapper {
  margin: 3rem 0; }
  .certification-item__wrapper img {
    margin-bottom: 1rem; }

.mb-lg-5 {
  margin-bottom: 5rem !important; }

.py-lg-5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important; }

.py-lg-8 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important; }

.project-item__city {
  color: var(--color-red);
  font-family: "Bricolage Grotesque";
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: normal; }

/* FORMULAIRE */
.form-group {
  margin-bottom: 1rem; }
  .form-group label {
    font-weight: bold;
    margin-bottom: 15px; }

.form-control {
  border: var(--bs-border-width) solid #999999;
  border-top: none;
  border-left: none;
  border-right: none;
  background-color: transparent;
  border-radius: unset; }
  .form-control:focus {
    box-shadow: none;
    border: 1px solid var(--color-quartz); }

form .wpcf7-spinner {
  display: none !important;
  visibility: hidden !important; }

/* ANIMATIONS */
.inview {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
  .inview.in-view {
    opacity: 1;
    transform: translateY(0); }

.floating {
  animation: floatUpDown 6s ease-in-out infinite; }

@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-10px); } }
@keyframes heroZoom {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.05); }
  100% {
    transform: scale(1); } }
.hero {
  position: relative; }
  .hero .wp-block-image {
    overflow: hidden;
    height: 60vh;
    width: 100vw; }
    .hero .wp-block-image img {
      height: 60vh;
      width: 100vw;
      object-fit: cover;
      animation: heroZoom 20s ease-in-out infinite;
      transform-origin: center;
      position: relative;
      z-index: 1; }
  .hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/R-home.svg") no-repeat center center;
    background-size: cover;
    z-index: 2;
    pointer-events: none; }
  .hero__text {
    position: absolute;
    bottom: 20px;
    width: 100%;
    z-index: 3; }
    .hero__text .hero__hightlighted {
      font-weight: 600;
      font-size: 1.875rem;
      font-family: var(--font-bricolage);
      line-height: 0.9;
      margin-bottom: 10px; }
    .hero__text .btn-thirdly {
      background-color: var(--color-black); }
  @media (min-width: 768px) {
    .hero .wp-block-image {
      height: 100vh;
      width: 100vw; }
      .hero .wp-block-image img {
        height: 100vh;
        width: 100vw; }
    .hero__text {
      bottom: 35%;
      transform: translateY(50%); }
      .hero__text .hero__hightlighted {
        font-size: 3.75rem;
        margin-bottom: 20px; } }
  @media (min-width: 1200px) {
    .hero__text .hero__hightlighted {
      font-size: 5.625rem; } }
  @media (min-width: 2000px) {
    .hero__text .hero__hightlighted {
      font-size: 6rem; } }

.block-key-numbers {
  position: relative; }
  .block-key-numbers__header {
    font-family: var(--font-bricolage); }
    .block-key-numbers__header h2 {
      font-size: 2.5rem;
      font-weight: 700;
      margin-bottom: 0; }
    .block-key-numbers__header p {
      font-size: 1.25rem;
      color: var(--color-black);
      font-weight: 800;
      line-height: 150%; }
    @media (min-width: 992px) {
      .block-key-numbers__header {
        position: absolute;
        top: 0;
        left: 0%;
        z-index: 1; }
        .block-key-numbers__header h2 {
          font-size: 5.625rem; }
        .block-key-numbers__header p {
          font-size: 1.125rem; } }
    @media (min-width: 1200px) {
      .block-key-numbers__header {
        position: absolute;
        top: 0;
        left: 8.33333333%;
        z-index: 1; }
        .block-key-numbers__header h2 {
          font-size: 10rem; }
        .block-key-numbers__header p {
          font-size: 1.5625rem; } }
  .block-key-numbers__keys {
    font-family: var(--font-bricolage); }
    .block-key-numbers__keys p {
      color: var(--color-red); }
    .block-key-numbers__keys strong {
      font-size: 2.125rem; }
    @media (min-width: 992px) {
      .block-key-numbers__keys strong {
        font-size: 3.375rem; } }
  @media (min-width: 1200px) {
    .block-key-numbers {
      margin: 7rem auto !important; } }

.project-item {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: inherit; }
  .project-item__thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.4s ease; }
  .project-item__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: .5rem;
    background: rgba(32, 32, 32, 0.7); }
    .project-item__content * {
      color: white; }
    .project-item__content .project-item__title {
      font-size: 1.5rem;
      font-style: normal;
      font-weight: 700;
      line-height: 1.9995rem;
      /* 133.3% */ }
    .project-item__content p {
      font-weight: 400; }
    .project-item__content .project-item__city {
      font-size: 1rem;
      font-style: normal;
      font-weight: 700;
      line-height: 1.375rem; }
  .project-item__content > *:last-child {
    margin-bottom: 0; }
  @media (min-width: 992px) {
    .project-item__content {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 100%;
      background: rgba(32, 32, 32, 0.7);
      color: white;
      padding: 2rem;
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.4s ease, transform 0.4s ease;
      pointer-events: none; }
    .project-item:hover .project-item__content {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto; }
    .project-item:hover .project-item__thumbnail img {
      opacity: 0.5; }
    .project-item .project-item__readmore {
      position: absolute;
      bottom: 25px;
      right: 25px;
      margin: 0; }
      .project-item .project-item__readmore::after {
        display: inline-block;
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 44 44"><rect width="44" height="44" fill="%23fff" rx="15"/><path stroke="%23E42313" stroke-linecap="round" stroke-linejoin="round" d="M17.434 16.604h9.962m0 0v9.962m0-9.962-9.962 9.962"/></svg>');
        width: 44px;
        height: 44px;
        vertical-align: middle;
        margin-left: 15px; } }

.page-id-90 .entry-title {
  text-align: center; }

@media (min-width: 768px) {
  .previous-block-over-this {
    padding-bottom: 9rem; } }

.block-over-previous {
  padding: 20px; }
  .block-over-previous.bg-white::before {
    content: '';
    height: 100%;
    width: 100vw;
    background-color: var(--color-white);
    z-index: -1;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
  @media (min-width: 768px) {
    .block-over-previous {
      position: relative;
      padding: 0; }
      .block-over-previous > *:first-child {
        transform: translateY(-7rem);
        margin-bottom: -7rem; }
      .block-over-previous.bg-white::before {
        content: '';
        height: 100%;
        width: 100vw;
        background-color: var(--color-white);
        z-index: -1;
        display: block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%); }
      .block-over-previous.bg-beige::before {
        content: '';
        height: 100%;
        width: 100vw;
        background-color: var(--color-vanilla);
        z-index: -1;
        display: block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%); } }

@media (min-width: 768px) {
  .our-values__first-part {
    counter-reset: licounter 0;
    list-style: none;
    padding: 0 0 4rem 4rem; }
    .our-values__first-part li {
      position: relative;
      padding-left: 2em;
      counter-increment: licounter 1;
      margin-bottom: 1rem; }
      .our-values__first-part li::before {
        content: counter(licounter);
        position: absolute;
        left: 0;
        top: 0;
        font-weight: bold;
        color: var(--color-red);
        font-size: 1.375rem; }
      .our-values__first-part li strong {
        color: var(--color-black);
        font-size: 1.375rem;
        font-weight: 700;
        line-height: normal; }
  .our-values__second-part {
    counter-reset: licounter 3;
    list-style: none;
    padding: 4rem 4rem 0 0; }
    .our-values__second-part li {
      text-align: right;
      position: relative;
      padding-right: 2em;
      counter-increment: licounter 1;
      margin-bottom: 1rem; }
      .our-values__second-part li::after {
        content: counter(licounter);
        position: absolute;
        right: 0;
        top: 0;
        font-weight: bold;
        color: var(--color-red);
        font-size: 1.375rem; }
      .our-values__second-part li strong {
        color: var(--color-black);
        font-size: 1.375rem;
        font-weight: 700;
        line-height: normal; } }
@media (min-width: 990px) {
  .our-values__large-pic-right {
    margin-right: -10rem; }
  .our-values__large-pic-left {
    margin-left: -10rem; } }

.page-id-9 .services-list {
  margin-top: 120px; }
  @media (min-width: 992px) {
    .page-id-9 .services-list {
      margin-top: 60px; } }
  @media (min-width: 1200px) {
    .page-id-9 .services-list {
      margin-top: 0; } }

@media (min-width: 992px) {
  .highlighted-key-items {
    margin: auto;
    display: flex;
    gap: 60px; } }
.highlighted-key-items > div {
  margin-left: 2rem; }
.highlighted-key-items > div:first-child::before {
  display: block; }
@media (min-width: 992px) {
  .highlighted-key-items > div:first-child {
    margin-left: 0; }
    .highlighted-key-items > div:first-child::before {
      display: none; } }

.highlighted-key-item {
  position: relative; }
  .highlighted-key-item::before {
    display: block;
    content: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m8.707 20.707-1.414-1.414L14.586 12 7.293 4.707l1.414-1.414L17.414 12l-8.707 8.707Z" fill="%23E42313"/></svg>');
    width: 24px;
    height: 24px;
    position: absolute;
    left: -30px;
    top: 3px; }
  @media (min-width: 992px) {
    .highlighted-key-item::before {
      left: -58px;
      top: 18px; } }
  .highlighted-key-item__number {
    color: var(--color-red);
    font-family: "Bricolage Grotesque";
    font-size: 56px;
    font-weight: 800;
    line-height: 1;
    margin: 0; }

@media (max-width: 991px) {
  .job_offer-template-default .block-bg-black {
    margin-top: 3rem; } }

.job-offer-form {
  padding: 1rem; }
  @media (min-width: 992px) {
    .job-offer-form {
      padding: 2rem; } }
  .job-offer-form input,
  .job-offer-form textarea {
    color: var(--color-white); }
  .job-offer-form .wpcf7-submit {
    width: 100%;
    text-align: center;
    position: relative;
    height: 50px; }
    .job-offer-form .wpcf7-submit::after {
      position: absolute;
      right: 2px;
      top: 2px; }

.page-id-47 .block-bg-black {
  padding: 2.5rem; }
  .page-id-47 .block-bg-black h2 {
    color: var(--color-vanilla);
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 0;
    margin-top: 1.8rem; }
  .page-id-47 .block-bg-black .h4 {
    color: #F2F3EE;
    margin-bottom: 0; }
    .page-id-47 .block-bg-black .h4 a {
      color: #F2F3EE; }
@media (max-width: 991px) {
  .page-id-47 .block-bg-black {
    margin-bottom: 3rem; } }
@media (min-width: 1200px) {
  .page-id-47 article.post-47 {
    position: relative; }
    .page-id-47 article.post-47 h1.entry-title {
      color: var(--color-white);
      position: absolute;
      left: 2.5rem;
      top: 2.5rem; }
  .page-id-47 .block-bg-black {
    padding: 7rem 2.5rem 2.5rem 2.5rem; } }

.single-project .post-thumbnail {
  display: none; }

.realisation-swiper {
  width: 100%;
  overflow: visible;
  margin: 4rem 0; }
  .realisation-swiper .swiper-wrapper {
    padding: 40px 0; }
    .realisation-swiper .swiper-wrapper .swiper-slide {
      transition: transform 0.3s ease; }
      .realisation-swiper .swiper-wrapper .swiper-slide img {
        width: 100%;
        height: auto;
        display: block; }
    .realisation-swiper .swiper-wrapper .swiper-slide-prev {
      transform: translateX(70%) scale(0.8);
      z-index: -1;
      opacity: 0.8; }
    .realisation-swiper .swiper-wrapper .swiper-slide-next {
      transform: translateX(-70%) scale(0.8);
      z-index: -1;
      opacity: 0.8; }
  .realisation-swiper .swiper-pagination {
    margin-top: 20px;
    text-align: center; }
    .realisation-swiper .swiper-pagination .swiper-pagination-bullet {
      background: #ccc;
      opacity: 1;
      height: 10px;
      width: 10px; }
    .realisation-swiper .swiper-pagination .swiper-pagination-bullet-active {
      background: var(--color-red);
      height: 12px;
      width: 12px; }
  @media (max-width: 991px) {
    .realisation-swiper {
      overflow: hidden; }
      .realisation-swiper .swiper-slide img {
        height: 300px !important;
        max-height: 300px; } }

/* background pages */
body.page-child {
  background-repeat: no-repeat;
  background-position: left -40px top -40px;
  background-size: 640px auto;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1371 1384' fill='none'><path d='M347.336 967.687C347.336 967.687 563.596 1208.85 569.312 1215.04C585.27 1231.73 597.178 1233.87 611.707 1224.81C631.237 1212.9 617.185 1175.96 613.374 1163.33C610.04 1152.37 606.229 1140.69 603.133 1130.21C596.226 1106.86 588.128 1086.84 582.173 1070.87V1070.4L538.588 946.717C529.061 920.742 524.774 894.529 524.774 869.746C524.774 807.549 551.687 758.459 579.077 725.573C619.805 676.96 671.964 654.321 714.597 642.644C757.468 630.968 793.194 629.776 810.104 629.776C813.439 629.776 816.059 629.776 817.726 629.776L1295.02 628.585C1336.94 628.585 1371 662.423 1371 704.364C1371 746.305 1337.18 780.383 1295.26 780.383L816.059 781.574H812.248C812.248 781.574 811.057 781.574 809.866 781.574C802.006 781.574 778.189 782.527 754.134 789.2C729.84 795.634 707.928 807.311 695.067 823.038C683.397 837.336 675.775 853.064 676.013 869.984C676.013 877.133 677.204 884.997 680.777 895.005V895.72L724.6 1020.11V1019.64C728.173 1030.12 738.653 1055.86 747.941 1086.6C757.23 1117.82 766.042 1154.99 766.281 1196.7C766.281 1225.05 761.993 1256.27 747.465 1287.25C733.175 1317.99 706.976 1347.06 673.155 1365.17C669.821 1367.08 666.725 1368.51 663.39 1369.7C642.669 1379 620.281 1384 597.893 1384H597.416C564.072 1384 532.872 1373.28 506.673 1357.31C480.95 1341.58 459.277 1321.09 440.223 1297.5L433.554 1290.11L234.68 1069.92L176.804 1005.82L162.514 989.849L161.561 988.658C145.365 970.547 134.171 948.147 129.408 924.078C127.741 915.261 126.788 906.444 126.788 897.388C126.788 859.022 142.984 821.847 172.041 795.395C172.755 794.681 173.708 793.966 174.422 793.251C183.473 785.148 209.196 761.795 244.683 729.624C289.222 689.351 348.765 635.257 409.26 580.686C530.014 471.306 655.054 358.112 667.677 346.436C667.915 346.197 668.154 346.197 668.154 346.197L669.583 344.768C695.543 321.176 711.977 299.49 721.504 281.141C731.031 262.554 734.365 247.302 734.365 233.004C734.365 208.697 724.124 182.008 697.449 151.982C680.777 133.394 665.296 121.956 651.243 115.045C637.191 108.373 624.806 105.513 610.992 105.513C582.412 105.275 542.875 120.049 498.099 157.939C498.099 157.939 498.099 157.939 497.86 157.939C497.384 158.416 496.431 159.131 495.241 160.322C492.859 162.467 489.286 165.565 484.761 169.616C475.71 177.718 462.849 189.395 446.653 203.931C414.738 232.766 370.438 272.8 321.375 317.125C223.248 405.773 105.829 511.817 27.7083 582.592C-24.4514 629.776 -58.9863 660.993 -59.2245 661.232C-90.1869 689.351 -138.298 686.968 -166.402 655.751C-194.506 624.533 -192.125 576.635 -160.924 548.515C-160.924 548.515 356.386 80.4913 395.446 45.6992C397.114 44.2694 396.875 44.2694 399.257 42.363C399.733 42.1247 399.734 41.8864 400.686 41.1715C462.849 -11.2548 533.348 -46.7617 611.23 -47C647.433 -47 684.349 -38.6595 718.17 -21.9784C751.99 -5.29725 782.953 19.0095 810.342 49.7504C854.881 99.3171 886.081 161.99 886.081 232.289C886.081 272.086 875.84 312.597 856.072 350.248C836.541 387.662 808.437 422.93 771.997 455.816C771.997 455.816 771.759 456.054 771.52 456.293C771.044 456.769 770.568 457.246 769.853 457.722C768.662 458.676 767.233 460.105 765.328 461.774C761.517 465.348 756.039 470.352 749.132 476.548C735.318 489.178 715.788 506.812 692.209 528.021C645.289 570.439 583.126 626.916 520.963 683.394C437.127 759.412 353.29 835.192 307.561 876.656L301.845 881.899C297.319 886.903 293.985 893.099 293.985 898.818C293.985 904.299 294.699 909.542 298.748 914.308L346.859 967.687H347.336Z' fill='%23ffffff'/></svg>"); }

@media (min-width: 992px) {
  body.page-child {
    background-size: 760px auto;
    background-position: left -60px top -60px; } }
@media (min-width: 1600px) {
  body.page-child {
    background-size: 1100px auto;
    background-position: left -100px top -100px; } }
