*:not(ul, ol, li),
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

a {
  text-decoration-skip-ink: auto;
}

h1, .h1 {
  font-size: clamp(30px, 5vw, 35px) !important;
}

h2, .h2 {
  font-size: clamp(24px, 4vw, 30px) !important;
}

h3, .h3 {
  font-size: clamp(20px, 3vw, 25px) !important;
}

header {
  position: fixed;
  top: calc(0px + var(--wp-admin--admin-bar--height, 0px));
  z-index: 1000;
  width: 100%;
}

a:not(.wrapper-link) {
  text-decoration: none;
}
a:not(.wrapper-link):hover {
  text-decoration: underline;
}

nav[aria-label=breadcrumbs] a {
  font-size: 14px;
  color: white;
}
nav[aria-label=breadcrumbs] span {
  font-size: 14px;
}
nav[aria-label=breadcrumbs] .last {
  color: var(--wp--preset--color--custom-orange, #de683a);
}

.page-template-g2-m nav[aria-label=breadcrumbs] a {
  color: var(--wp--preset--color--custom-black, #202020);
}
.page-template-g2-m nav[aria-label=breadcrumbs] .last {
  color: var(--wp--preset--color--custom-red, #d7373d);
}
.page-template-g2-m .red-banner nav[aria-label=breadcrumbs] a {
  color: var(--wp--preset--color--custom-white, #ffffff);
}
.page-template-g2-m .red-banner nav[aria-label=breadcrumbs] .last {
  color: var(--wp--preset--color--custom-white, #ffffff);
}

.wp-block-button {
  display: inline-block;
  background-color: var(--wp--preset--color--custom-blue, #243c7e);
  transform: skewX(-12deg);
  transition: background-color 0.2s ease;
  border: solid 2px var(--wp--preset--color--custom-blue, #243c7e);
}
.wp-block-button:hover {
  background: var(--wp--preset--color--custom-white, #ffffff);
}
.wp-block-button:hover .wp-block-button__link {
  color: var(--wp--preset--color--custom-blue, #243c7e);
}
.wp-block-button:hover a {
  text-decoration: none;
}
.wp-block-button.red {
  border: solid 2px var(--wp--preset--color--custom-red, #d7373d);
  background-color: var(--wp--preset--color--custom-red, #d7373d);
}
.wp-block-button.red:hover {
  background-color: white;
}
.wp-block-button.red:hover .wp-block-button__link {
  color: var(--wp--preset--color--custom-red, #d7373d);
}
.wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  background-color: transparent !important;
  color: var(--wp--preset--color--custom-white, #ffffff);
  text-decoration: none;
  transform: skewX(12deg);
  gap: 10px;
}
.wp-block-button.arrow .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 25px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.413 11.993 14.04 5.57l-1.08 1.088 5.087 5.123H3v1.511h15.047l-5.087 5.12 1.08 1.088 6.373-6.423.517-.54z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transition: transform 0.2s ease;
}
.wp-block-button.arrow:hover .wp-block-button__link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.413 11.993 14.04 5.57l-1.08 1.088 5.087 5.123H3v1.511h15.047l-5.087 5.12 1.08 1.088 6.373-6.423.517-.54z' fill='%23243c7e'/%3E%3C/svg%3E");
  transform: translateX(4px);
}
.wp-block-button.arrow:hover.red .wp-block-button__link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.413 11.993 14.04 5.57l-1.08 1.088 5.087 5.123H3v1.511h15.047l-5.087 5.12 1.08 1.088 6.373-6.423.517-.54z' fill='%23D22027'/%3E%3C/svg%3E%0A");
}
.wp-block-button.arrow.is-style-outline .wp-block-button__link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.413 11.993 14.04 5.57l-1.08 1.088 5.087 5.123H3v1.511h15.047l-5.087 5.12 1.08 1.088 6.373-6.423.517-.54z' fill='%23243c7e'/%3E%3C/svg%3E");
}
.wp-block-button.arrow.is-style-outline.red .wp-block-button__link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.413 11.993 14.04 5.57l-1.08 1.088 5.087 5.123H3v1.511h15.047l-5.087 5.12 1.08 1.088 6.373-6.423.517-.54z' fill='%23D22027'/%3E%3C/svg%3E%0A");
}
.wp-block-button.arrow.is-style-outline:hover .wp-block-button__link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.413 11.993 14.04 5.57l-1.08 1.088 5.087 5.123H3v1.511h15.047l-5.087 5.12 1.08 1.088 6.373-6.423.517-.54z' fill='%23ffffff'/%3E%3C/svg%3E");
  transform: translateX(4px);
}
.wp-block-button.is-style-outline {
  border: solid 2px var(--wp--preset--color--custom-blue, #243c7e);
  background-color: var(--wp--preset--color--custom-white, #ffffff);
}
.wp-block-button.is-style-outline.red {
  border: solid 2px var(--wp--preset--color--custom-red, #d7373d);
}
.wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--wp--preset--color--custom-blue, #243c7e);
  border: none;
}
.wp-block-button.is-style-outline.red .wp-block-button__link {
  color: var(--wp--preset--color--custom-red, #d7373d);
}
.wp-block-button.is-style-outline:hover {
  background-color: var(--wp--preset--color--custom-blue, #243c7e);
}
.wp-block-button.is-style-outline:hover .wp-block-button__link {
  color: var(--wp--preset--color--custom-white, #ffffff);
}
.wp-block-button.is-style-outline.red:hover {
  background-color: var(--wp--preset--color--custom-red, #d7373d);
}
.wp-block-button.is-style-outline.red:hover .wp-block-button__link {
  color: var(--wp--preset--color--custom-white, #ffffff);
}

.checked-list {
  list-style: none;
  padding-left: 0;
}
.checked-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.checked-list li::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 0.1em;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_160_2027)'%3E%3Cpath d='M19.6875 10C19.6875 15.3503 15.3503 19.6875 10 19.6875C4.64973 19.6875 0.3125 15.3503 0.3125 10C0.3125 4.64973 4.64973 0.3125 10 0.3125C15.3503 0.3125 19.6875 4.64973 19.6875 10ZM8.87945 15.1295L16.067 7.94195C16.311 7.69789 16.311 7.30215 16.067 7.05809L15.1831 6.17422C14.939 5.93012 14.5433 5.93012 14.2992 6.17422L8.4375 12.0359L5.70082 9.29918C5.45676 9.05512 5.06102 9.05512 4.81691 9.29918L3.93305 10.183C3.68898 10.4271 3.68898 10.8229 3.93305 11.0669L7.99555 15.1294C8.23965 15.3735 8.63535 15.3735 8.87945 15.1295Z' fill='%23DE683A'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_160_2027'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

@keyframes mega-img-enter {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0% 0 0);
    opacity: 1;
  }
}
@keyframes mega-img-swap {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0% 0 0);
    opacity: 1;
  }
}
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner, #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::after, #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::before {
  border-radius: 0px !important;
}

.g2m-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner,
.g2m-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::before,
.g2m-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::after {
  background-color: var(--wp--preset--color--custom-red, #d7373d);
}

html body {
  padding-top: clamp(75px, 6vw, 90px);
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
  min-height: clamp(30px, 6vw, 90px);
}

@media only screen and (min-width: 769px) {
  .g2m-header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, .g2m-header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    color: var(--wp--preset--color--custom-red, #d7373d);
  }
}
@media (min-width: 767px) {
  .g2m-header #mega-menu-max_mega_menu_1.mega-menu li.mega-menu-item-has-children:hover:before {
    background-color: var(--wp--preset--color--custom-red, #d7373d);
  }
  .g2m-header #mega-menu-max_mega_menu_1.mega-menu .mega-dot-elements li:before {
    background: var(--wp--preset--color--custom-red, #d7373d);
  }
  .g2m-header #mega-menu-max_mega_menu_1.mega-menu .mega-line-left-col a:hover {
    color: var(--wp--preset--color--custom-red, #d7373d) !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu li.mega-menu-item-has-children {
    position: relative !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu li.mega-menu-item-has-children:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: skewX(-10deg);
    transition: all ease-in-out 0.2s;
  }
  #mega-menu-max_mega_menu_1.mega-menu li.mega-menu-item-has-children:hover > a {
    text-decoration: none !important;
    position: relative !important;
    color: white !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu li.mega-menu-item-has-children:hover:before {
    background-color: var(--wp--preset--color--custom-blue, #243c7e);
  }
  #mega-menu-max_mega_menu_1.mega-menu li.mega-menu-item-has-children .mega-sub-menu {
    width: max-content !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .mega-dot-elements ul {
    height: 100%;
    justify-content: space-around !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .mega-dot-elements li {
    position: relative;
    padding: 5px 5px 5px 25px !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .mega-dot-elements li:hover {
    background: var(--wp--preset--color--custom-light-grey, #f8f8f8) !important;
    border-radius: 5px !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .mega-dot-elements li:before {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    background: var(--wp--preset--color--custom-blue, #243c7e);
    border-radius: 50px;
    top: 50%;
    left: 5px;
    transform: translateY(-65%);
  }
  #mega-menu-max_mega_menu_1.mega-menu .mega-line-left-col {
    border-left: solid 2px var(--wp--preset--color--custom-border, #e5e5e5) !important;
    padding-left: 20px !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .mega-line-left-col a:hover {
    color: var(--wp--preset--color--custom-blue, #243c7e) !important;
    text-decoration: underline !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .widget_maxmegamenu_image_swap img.mega-placeholder {
    border-radius: 5px !important;
    max-height: 175px !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .widget_maxmegamenu_image_swap img.mega-placeholder.is-swapping {
    animation: mega-img-swap 0.35s ease forwards !important;
  }
  #mega-menu-max_mega_menu_1.mega-menu .mega-menu-column .mega-sub-menu {
    display: flex !important;
    gap: 25px !important;
  }
}
#mega-menu-max_mega_menu_1 .mega-logo-grid {
  gap: 10px;
}
#mega-menu-max_mega_menu_1 .mega-logo-grid .mega-sub-menu {
  gap: 5px !important;
}
#mega-menu-max_mega_menu_1 .mega-logo-grid .mega-menu-column {
  display: flex !important;
  gap: 5px !important;
}
#mega-menu-max_mega_menu_1 .mega-logo-grid .mega-menu-column .mega-sub-menu {
  display: flex !important;
  flex: 1 !important;
  gap: 5px !important;
}
#mega-menu-max_mega_menu_1 .mega-logo-grid .mega-menu-column .mega-sub-menu li {
  border-radius: 2px !important;
  border: solid 1px var(--wp--preset--color--custom-border, #e5e5e5) !important;
  padding: 10px !important;
  transition: all ease-in-out 0.2s !important;
}
#mega-menu-max_mega_menu_1 .mega-logo-grid .mega-menu-column .mega-sub-menu li:hover {
  background-color: var(--wp--preset--color--custom-light-grey, #f8f8f8) !important;
}
#mega-menu-max_mega_menu_1 .mega-logo-grid .mega-menu-column .mega-sub-menu li p {
  display: flex;
  flex-direction: column;
  gap: 0px;
  color: var(--wp--preset--color--custom-black, #202020);
  font-weight: 300;
  margin-bottom: 0 !important;
}
#mega-menu-max_mega_menu_1 .mega-logo-grid .mega-menu-column .mega-sub-menu li p span {
  font-size: 14px;
  color: var(--wp--preset--color--custom-grey-text, #464646);
}

@media (max-width: 767px) {
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu {
    padding: 15px;
  }
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding: 0;
  }
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column-standard > a.mega-menu-link, #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 14px;
  }
  .wp-block-button.contact a {
    padding: 5px 7px;
  }
}
.link-image-linked .wrapper-link {
  margin-block-start: 0;
}
.link-image-linked [class^=link-] img, .link-image-linked [class*=" link-"] img {
  opacity: 0;
  transform: translateX(-20px);
  transition: all ease-in-out 0.2s;
}
.link-image-linked [class^=link-]:hover img, .link-image-linked [class*=" link-"]:hover img {
  opacity: 1;
  transform: translateX(0);
}
.link-image-linked [class^=image-link-], .link-image-linked [class*=" image-link-"] {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: all ease-in-out 0.2s;
}
.link-image-linked:has(.link-1:hover) .image-link-1 {
  opacity: 1;
}
.link-image-linked:has(.link-2:hover) .image-link-2 {
  opacity: 1;
}
.link-image-linked:has(.link-3:hover) .image-link-3 {
  opacity: 1;
}
.link-image-linked:has(.link-4:hover) .image-link-4 {
  opacity: 1;
}
.link-image-linked:has(.link-5:hover) .image-link-5 {
  opacity: 1;
}
.link-image-linked:has(.link-6:hover) .image-link-6 {
  opacity: 1;
}
.link-image-linked:has(.link-7:hover) .image-link-7 {
  opacity: 1;
}
.link-image-linked:has(.link-8:hover) .image-link-8 {
  opacity: 1;
}
.link-image-linked:has(.link-9:hover) .image-link-9 {
  opacity: 1;
}
.link-image-linked:has(.link-10:hover) .image-link-10 {
  opacity: 1;
}
.link-image-linked:has(.link-11:hover) .image-link-11 {
  opacity: 1;
}
.link-image-linked:has(.link-12:hover) .image-link-12 {
  opacity: 1;
}
.link-image-linked:has(.link-13:hover) .image-link-13 {
  opacity: 1;
}
.link-image-linked:has(.link-14:hover) .image-link-14 {
  opacity: 1;
}
.link-image-linked:has(.link-15:hover) .image-link-15 {
  opacity: 1;
}
.link-image-linked:has(.link-16:hover) .image-link-16 {
  opacity: 1;
}
.link-image-linked:has(.link-17:hover) .image-link-17 {
  opacity: 1;
}
.link-image-linked:has(.link-18:hover) .image-link-18 {
  opacity: 1;
}
.link-image-linked:has(.link-19:hover) .image-link-19 {
  opacity: 1;
}
.link-image-linked:has(.link-20:hover) .image-link-20 {
  opacity: 1;
}

.company-card .wp-block-cover__image-background, .company-card .wp-block-cover__background {
  opacity: 0 !important;
  transition: all ease-in-out 0.3s;
}
.company-card:hover .wp-block-cover__image-background {
  opacity: 1 !important;
}
.company-card:hover .wp-block-cover__background {
  opacity: 0.7 !important;
}
.company-card__logo {
  position: absolute;
  transition: all ease-in-out 0.3s;
}
.company-card:hover .company-card__logo {
  opacity: 0;
}
.company-card:hover .company-card__text {
  transition: all ease-in-out 0.3s;
  color: #fff !important;
}

.realisations-container .realisations-swiper {
  overflow: hidden;
  width: 100%;
}
.realisations-container ul.realisations.swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: none !important;
  width: auto !important;
  box-sizing: content-box;
}
.realisations-container li.swiper-slide {
  flex-shrink: 0 !important;
  width: auto;
  height: auto;
  display: block !important;
}
.realisations-container li.swiper-slide .wp-block-cover {
  height: 400px;
}
.realisations-container .next-realisation,
.realisations-container .prev-realisation {
  cursor: pointer;
  margin: 0;
}
.realisations-container .next-realisation img,
.realisations-container .prev-realisation img {
  display: block;
}

.taxo-localisation a {
  text-decoration: none;
}

.taxo-prestations a {
  text-decoration: none;
  border-radius: 100px;
  border: 1px solid white;
  padding: 4px;
  font-size: 12px;
}

.realisation-card a {
  text-decoration: none !important;
}
.realisation-card__link {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all ease-in-out 0.2s;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
}
.realisation-card__text {
  transform: translateY(20px);
  transition: all ease-in-out 0.2s;
}
.realisation-card .wp-block-cover__background {
  transition: all ease-in-out 0.2s;
}
.realisation-card:hover .wp-block-cover__background {
  background: rgba(36, 60, 126, 0.8) !important;
  opacity: 1 !important;
}
.realisation-card:hover .realisation-card__link {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.realisation-card:hover .realisation-card__text {
  transform: translateY(0px);
}

.swiper-realisation-g2m {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.swiper-realisation-inner-g2m {
  width: 100%;
}

.swiper-realisation-g2m ul.wp-block-post-template.swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: none !important;
  width: auto !important;
  box-sizing: content-box;
}

.swiper-realisation-g2m li.swiper-slide {
  flex-shrink: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

.swiper-realisation-pagination-g2m {
  width: auto !important;
  position: absolute;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 6px;
  align-items: center;
}
.swiper-realisation-pagination-g2m .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s;
  margin: 0 !important;
}
.swiper-realisation-pagination-g2m .swiper-pagination-bullet-active {
  background: #fff;
}

.text-switcher {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.text-switcher__content {
  position: relative;
  min-height: 120px;
}

.text-switcher__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.text-switcher__panel.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  position: relative;
}
.text-switcher__panel.is-leaving {
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
}

.text-switcher__nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 24px !important;
  align-items: center;
  margin: 0 !important;
}

.text-switcher__num {
  position: relative;
  padding: 0 0 8px;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: rgba(0, 0, 0, 0.35);
  cursor: pointer;
  transition: color 0.2s ease;
  line-height: 1;
  margin: 0 !important;
}
.text-switcher__num::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width 0.25s ease;
}
.text-switcher__num:hover {
  color: rgba(0, 0, 0, 0.65);
}
.text-switcher__num.is-active {
  color: #000;
  font-weight: 400;
}
.text-switcher__num.is-active::after {
  width: 100%;
}

#rank-math-faq {
  background-color: var(--wp--preset--color--custom-white, #ffffff);
}
#rank-math-faq .rank-math-list-item {
  background: #ffffff;
  border: 1px solid var(--wp--preset--color--custom-border, #e5e5e5);
  padding: 15px 20px;
  list-style: none !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
#rank-math-faq .rank-math-question {
  cursor: pointer;
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 350;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 10px;
}
#rank-math-faq .rank-math-question::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12.375a.56.56 0 0 1-.398-.165L2.977 6.585a.562.562 0 1 1 .796-.795L9 11.017l5.227-5.227a.562.562 0 1 1 .796.795L9.398 12.21a.56.56 0 0 1-.398.165' fill='%23464646'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease;
}
#rank-math-faq .rank-math-list-item {
  transition: all ease-in-out 0.3s;
}
#rank-math-faq .rank-math-list-item.active {
  border-left: solid 3px var(--wp--preset--color--custom-orange, #de683a);
}
#rank-math-faq .rank-math-list-item.active .rank-math-question::after {
  transform: rotate(180deg);
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12.375a.56.56 0 0 1-.398-.165L2.977 6.585a.562.562 0 1 1 .796-.795L9 11.017l5.227-5.227a.562.562 0 1 1 .796.795L9.398 12.21a.56.56 0 0 1-.398.165' fill='%23DE683A'/%3E%3C/svg%3E");
}
#rank-math-faq .rank-math-answer {
  display: none;
  padding-top: 15px;
  color: #555;
  line-height: 1.6;
}

.typing-fade {
  position: relative;
  display: inline-block;
  visibility: hidden;
}
.typing-fade__inner {
  display: inline;
}
.typing-fade__char {
  opacity: 0;
  transition: opacity 300ms ease;
  display: inline;
  white-space: pre;
}
.typing-fade__char--visible {
  opacity: 1;
}

.scroll-image {
  transform: translateY(-100px);
  will-change: transform;
}

.banniere-metier.cyan {
  --accent-color: var(--wp--preset--color--custom-cyan, #23afe2);
}
.banniere-metier.bleu {
  --accent-color: var(--wp--preset--color--custom-blue, #243c7e);
}
.banniere-metier.rouge {
  --accent-color: var(--wp--preset--color--custom-red, #d7373d);
}
.banniere-metier.vert {
  --accent-color: var(--wp--preset--color--custom-green, #329E5C);
}
.banniere-metier.jaune {
  --accent-color: var(--wp--preset--color--custom-yellow, #fee332);
}
.banniere-metier.orange {
  --accent-color: var(--wp--preset--color--custom-orange, #de683a);
}
.banniere-metier.cyan nav[aria-label=breadcrumbs] a, .banniere-metier.bleu nav[aria-label=breadcrumbs] a, .banniere-metier.rouge nav[aria-label=breadcrumbs] a, .banniere-metier.vert nav[aria-label=breadcrumbs] a, .banniere-metier.orange nav[aria-label=breadcrumbs] a, .banniere-metier.jaune nav[aria-label=breadcrumbs] a {
  color: var(--wp--preset--color--custom-white, #ffffff);
}
.banniere-metier.cyan nav[aria-label=breadcrumbs] .last, .banniere-metier.bleu nav[aria-label=breadcrumbs] .last, .banniere-metier.rouge nav[aria-label=breadcrumbs] .last, .banniere-metier.vert nav[aria-label=breadcrumbs] .last, .banniere-metier.orange nav[aria-label=breadcrumbs] .last, .banniere-metier.jaune nav[aria-label=breadcrumbs] .last {
  color: var(--accent-color);
}
.banniere-metier .wp-block-button {
  background-color: var(--accent-color) !important;
  border: 1px solid var(--accent-color) !important;
}
.banniere-metier .wp-block-button a {
  color: var(--wp--preset--color--custom-black, #202020);
}
.banniere-metier .wp-block-button:hover {
  background-color: var(--wp--preset--color--custom-white, #ffffff) !important;
}
.banniere-metier .wp-block-button:hover a {
  color: var(--accent-color) !important;
}
.banniere-metier.jaune .wp-block-button:hover a {
  color: black !important;
}

.banniere-metier-image {
  position: relative;
}
.banniere-metier-image::before, .banniere-metier-image::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  z-index: 1;
}
.banniere-metier-image::before {
  top: 0;
  right: 0;
  border-width: 0 60px 60px 0;
  border-color: transparent var(--accent-color);
}
.banniere-metier-image::after {
  bottom: 0;
  left: 0;
  border-width: 0 60px 60px 0;
  border-color: var(--accent-color) transparent;
}

.page-card {
  transition: all ease-in-out 0.3s;
}
.page-card .arrow-container {
  opacity: 0;
  transition: all ease-in-out 0.3s;
}
.page-card.blue:hover {
  border-color: var(--wp--preset--color--custom-cyan, #23afe2) !important;
}
.page-card.yellow:hover {
  border-color: var(--wp--preset--color--custom-yellow, #fee332) !important;
}
.page-card.orange:hover {
  border-color: var(--wp--preset--color--custom-orange, #de683a) !important;
}
.page-card.green:hover {
  border-color: var(--wp--preset--color--custom-green, #329E5C) !important;
}
.page-card:hover .arrow-container {
  opacity: 1;
}

.extrait-gonzalez {
  color: var(--wp--preset--color--custom-grey-text, #464646);
  text-align: center;
}

.home .wp-block-cover .wp-block-cover__embed-background iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 56.25vw;
  min-height: 100%;
  min-width: 177.78vh;
  pointer-events: none;
}

.wpcf7-form {
  container-type: normal;
}
.wpcf7-form br {
  display: none;
}
.wpcf7-form .row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@container (min-width: 600px) {
  .wpcf7-form .row {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.wpcf7-form .wpcf7-not-valid-tip {
  margin-bottom: 20px;
}
.wpcf7-form sup {
  color: red;
  line-height: 1;
}
.wpcf7-form .opt {
  color: #666666;
  font-size: 12px;
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
.wpcf7-form textarea,
.wpcf7-form select {
  border: 1px solid rgba(80, 80, 80, 0.2);
  border-radius: 4px;
  padding: 10px 15px;
  width: 100%;
  margin-bottom: 10px;
  background: #F8F8F8;
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.0745098039) inset;
}
.wpcf7-form input[type=submit] {
  margin-top: 25px;
  background: var(--wp--preset--color--custom-blue, #243c7e);
  color: white;
  padding: 10px 20px;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
  border: solid 1px var(--wp--preset--color--custom-blue, #243c7e);
}
.wpcf7-form input[type=submit]:hover {
  color: var(--wp--preset--color--custom-blue, #243c7e);
  background: white;
}
.wpcf7-form .complete-name {
  position: relative;
  line-height: 1.5;
  margin-left: 5px;
}
.wpcf7-form .complete-name::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='13' viewBox='0 0 11 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.679 7.719H4.32q-1.84.051-3.044 1.32Q.049 10.284 0 12.188q0 .354.221.583A.75.75 0 0 0 .786 13h9.428q.345 0 .565-.229a.8.8 0 0 0 .221-.584q-.049-1.904-1.277-3.148Q8.52 7.77 6.68 7.72m-5.477 4.06q.172-1.219 1.031-2.031.86-.788 2.087-.812H6.68q1.227.024 2.087.812.86.813 1.03 2.031zM5.5 6.5q1.326-.025 2.234-.94.884-.939.909-2.31-.025-1.371-.909-2.31Q6.826.024 5.5 0 4.174.025 3.266.94q-.884.939-.909 2.31.025 1.371.909 2.31.908.915 2.234.94m0-5.281q.835.025 1.4.584.54.584.564 1.447-.024.864-.564 1.447-.565.559-1.4.584-.835-.025-1.4-.584-.54-.584-.564-1.447.024-.864.564-1.447.565-.559 1.4-.584' fill='%23202020'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  width: 15px;
  height: 15px;
  left: -2px;
  bottom: -2px;
  position: relative;
}
.wpcf7-form .company {
  position: relative;
  line-height: 1.5;
  margin-left: 5px;
}
.wpcf7-form .company::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23a)' stroke='%23202020' stroke-linejoin='round'%3E%3Cpath d='M1.25 13.125h12.5' stroke-linecap='round'/%3E%3Cpath d='M5.625 6.875h-2.5A.625.625 0 0 0 2.5 7.5v5c0 .345.28.625.625.625h2.5c.345 0 .625-.28.625-.625v-5a.625.625 0 0 0-.625-.625Zm6.25-5.625h-5a.625.625 0 0 0-.625.625V12.5c0 .345.28.625.625.625h5c.345 0 .625-.28.625-.625V1.875a.625.625 0 0 0-.625-.625Z'/%3E%3Cpath d='M8.75 10.003H10m-6.25 0H5M8.75 7.19H10M8.75 4.378H10' stroke-linecap='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h15v15H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  width: 15px;
  height: 15px;
  left: -2px;
  bottom: -2px;
  position: relative;
}
.wpcf7-form .email {
  position: relative;
  line-height: 1.5;
  margin-left: 5px;
}
.wpcf7-form .email::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.075 2h-9.75a1.62 1.62 0 0 0-1.142.495Q.726 2.963.7 3.667v6.666q.026.704.483 1.172.456.47 1.142.495h9.75a1.62 1.62 0 0 0 1.143-.495q.457-.468.482-1.172V3.667q-.025-.705-.482-1.172A1.62 1.62 0 0 0 12.075 2m-9.75 1.25h9.75q.381.026.406.417v.573l-4.24 3.593q-.456.39-1.04.391-.585 0-1.042-.39L1.92 4.24v-.573q.025-.39.406-.417m9.75 7.5h-9.75q-.381-.026-.406-.417V5.88l3.453 2.943Q6.185 9.5 7.2 9.5t1.828-.677l3.453-2.943v4.453q-.025.39-.406.417' fill='%23202020'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  width: 15px;
  height: 15px;
  left: -2px;
  bottom: -2px;
  position: relative;
}
.wpcf7-form .tel {
  position: relative;
  line-height: 1.5;
  margin-left: 5px;
}
.wpcf7-form .tel::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.888 9.125-2.489-1.066a1.3 1.3 0 0 0-.837-.077q-.432.102-.711.457l-.711.864a7.7 7.7 0 0 1-2.743-2.717l.864-.711q.356-.28.457-.71a1.3 1.3 0 0 0-.076-.839L6.575 1.813a1.27 1.27 0 0 0-.635-.66 1.24 1.24 0 0 0-.888-.128l-2.31.534a1.4 1.4 0 0 0-.763.482 1.28 1.28 0 0 0-.279.813q.026 3.123 1.524 5.636a11.5 11.5 0 0 0 3.986 3.987Q9.724 13.974 12.847 14q.456 0 .812-.28t.457-.761l.533-2.31a1.32 1.32 0 0 0-.101-.89 1.27 1.27 0 0 0-.66-.634m-.407 1.244-.533 2.336q-.025.051-.101.076-2.768-.025-5.002-1.346a10.36 10.36 0 0 1-3.58-3.58Q2.944 5.621 2.919 2.854q0-.076.076-.102l2.336-.533h.025q.051 0 .102.076l1.066 2.488q.026.076-.025.127l-1.244.99q-.355.306-.178.737.66 1.294 1.65 2.31a8.6 8.6 0 0 0 2.311 1.65q.406.18.736-.177L10.79 9.2q.05-.076.127-.05l2.488 1.066q.076.075.076.152' fill='%23202020'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  width: 15px;
  height: 15px;
  left: -2px;
  bottom: -2px;
  position: relative;
}
.wpcf7-form .message {
  position: relative;
  line-height: 1.5;
  margin-left: 5px;
}
.wpcf7-form .message::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.189 1.407A1.44 1.44 0 0 1 11.207 1q.56 0 .992.407l1.094 1.095q.408.434.407.994 0 .585-.407 1.018l-7.964 7.97a2.4 2.4 0 0 1-1.018.612l-3.079.891q-.254.051-.407-.102-.178-.152-.102-.382l.89-3.08q.18-.612.611-1.045zm1.45.586q-.433-.357-.865 0l-1.4 1.375 1.96 1.936 1.374-1.376q.356-.432 0-.865zm-8.142 9.219 1.603.33 5.623-5.627L8.79 3.954 3.166 9.607zm-.993-.815a.8.8 0 0 0-.102.254l-.687 2.343 2.341-.687q.128-.026.255-.077l-1.247-.255a.47.47 0 0 1-.33-.33z' fill='%23202020'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  width: 15px;
  height: 15px;
  left: -2px;
  bottom: -2px;
  position: relative;
}
.wpcf7-form .wpcf7-list-item.first.last {
  margin-left: 0px;
}
.wpcf7-form .wpcf7-list-item.first.last input[type=checkbox] {
  appearance: none;
  border: solid 1px var(--wp--preset--color--custom-border, #e5e5e5);
  background: var(--wp--preset--color--custom-light-grey, #f8f8f8);
  width: 20px;
  height: 20px;
}
.wpcf7-form .wpcf7-list-item.first.last input[type=checkbox]:checked {
  background: var(--wp--preset--color--custom-blue, #243c7e);
  outline: 3px solid var(--wp--preset--color--custom-light-grey, #f8f8f8);
  outline-offset: -4px;
}

.page-id-99 .skew-card, .page-id-763 .skew-card {
  position: relative;
}
.page-id-99 .skew-card::before, .page-id-763 .skew-card::before {
  z-index: -1;
  content: "";
  position: absolute;
  inset: 0;
  background: var(--wp--preset--color--custom-light-grey, #f8f8f8);
  transform: skewX(-10deg);
}

.page-template-g2-m form input[type=submit] {
  background: var(--wp--preset--color--custom-red, #d7373d);
  border-color: var(--wp--preset--color--custom-red, #d7373d);
}
.page-template-g2-m form input[type=submit]:hover {
  color: var(--wp--preset--color--custom-red, #d7373d);
  background: white;
}
.page-template-g2-m form .wpcf7-list-item.first.last input[type=checkbox]:checked {
  background: var(--wp--preset--color--custom-red, #d7373d);
}

.tel-gonzalez {
  font-size: 20px;
  font-weight: 400;
  color: var(--wp--preset--color--custom-blue, #243c7e);
}

.realisation-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 40px;
  align-items: flex-end;
}
.realisation-filters__group {
  border: none;
  padding: 0;
  margin: 0;
  min-width: 0;
  margin-right: 50px;
}
.realisation-filters__legend {
  font-size: 13px;
  font-weight: 400;
  color: var(--wp--preset--color--custom-black, #202020);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.realisation-filters__checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.realisation-filters__label {
  display: flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  font-size: 14px;
  color: var(--wp--preset--color--custom-grey-text, #464646);
  user-select: none;
}
.realisation-filters__label:hover span {
  color: var(--wp--preset--color--custom-blue, #243c7e);
}
.realisation-filters__checkbox {
  appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 1px solid var(--wp--preset--color--custom-border, #e5e5e5);
  background: var(--wp--preset--color--custom-light-grey, #f8f8f8);
  cursor: pointer;
  position: relative;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.realisation-filters__checkbox:checked {
  background: var(--wp--preset--color--custom-blue, #243c7e);
  border-color: var(--wp--preset--color--custom-blue, #243c7e);
}
.realisation-filters__checkbox:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 3.5L3.8 6.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.realisation-filters__checkbox:focus-visible {
  outline: 2px solid var(--wp--preset--color--custom-blue, #243c7e);
  outline-offset: 2px;
}
.realisation-filters__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}
.realisation-filters__submit {
  background: var(--wp--preset--color--custom-blue, #243c7e);
  color: var(--wp--preset--color--custom-white, #ffffff);
  border: 1px solid var(--wp--preset--color--custom-blue, #243c7e);
  border-radius: 4px;
  padding: 10px 24px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.realisation-filters__submit:hover {
  background: var(--wp--preset--color--custom-white, #ffffff);
  color: var(--wp--preset--color--custom-blue, #243c7e);
}
.realisation-filters__reset {
  font-size: 13px;
  color: var(--wp--preset--color--custom-grey-text, #464646);
  text-decoration: underline;
  white-space: nowrap;
}
.realisation-filters__reset:hover {
  color: var(--wp--preset--color--custom-blue, #243c7e);
}

.g2m-link {
  transition: all 0.2s ease-in-out;
}
.g2m-link:hover {
  background: var(--wp--preset--color--custom-red, #d7373d);
  color: var(--wp--preset--color--custom-white, #ffffff);
}
.g2m-link:hover img {
  filter: brightness(100);
}

.page-template-g2-m .hero-g2m nav[aria-label=breadcrumbs] a, .page-template-g2-m .hero-g2m nav[aria-label=breadcrumbs] .last {
  color: white;
}

.hero-g2m nav[aria-label=breadcrumbs] .last {
  font-weight: 400;
}

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