@keyframes bounceIt {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(3px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bounceItReverse {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-3px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes scalyPagination {
  0% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(0.8);
  }
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, button, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

sup {
  vertical-align: super;
  font-size: 0.6rem;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html {
  background-color: #253875;
  font-family: "interstate", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #FFFFFF;
  max-width: 100vw;
  overflow-x: hidden;
  position: relative;
  left: 0;
}

html.cabinInteriorHtml {
  background-color: #080c17;
}

p, li, address, h1, h2, h3 {
  line-height: 1.3;
}

p strong, p b {
  font-weight: bold;
}

p a {
  text-decoration: underline;
}

li a {
  text-decoration: underline;
}
li strong, li b {
  font-weight: bold;
}

*, :before, :after {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  user-select: none;
}

picture {
  width: 100%;
  height: 100%;
  display: block;
  user-select: none;
}

section {
  padding: 5rem 5vw;
}

button {
  cursor: pointer;
  outline: none;
}

body {
  background-color: #253875;
  overflow: hidden;
  width: 100vw;
}
body.can-touch * {
  -webkit-tap-highlight-color: transparent;
}

@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation: page-fade-out 0.25s ease both;
}

::view-transition-new(root) {
  animation: page-fade-in 0.35s ease both;
}

@keyframes page-fade-out {
  to {
    opacity: 0;
  }
}
@keyframes page-fade-in {
  from {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .basicAppear {
    opacity: 0;
  }
  html.js .basicAppear.-y {
    transform: translate(0, 50px) scale(1);
  }
  html.js .basicAppear.-y.scaly {
    transform: translate(0, 50px) scale(0.8);
  }
  html.js .basicAppear.-scaleY {
    transform: scale(1, 0);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  html.js .basicAppear.-scaleY.reverse {
    transform-origin: 100% 100%;
  }
  html.js .basicAppear.-noOpaq {
    opacity: 1;
  }
  html.js .basicAppear.-xLeft {
    transform: translate(-200px, 0) scale(1);
  }
  html.js .basicAppear.-xRight {
    transform: translate(200px, 0) scale(1);
  }
  html.js .stickyAppear.show {
    opacity: 0;
  }
  html.js .stickyAppear.toScaleImg {
    transform: scale(1.2);
  }
  html.js .stickyAppear.toScale {
    transform: scale(0.9);
  }
  html.js .stickyAppear.toScale.increase {
    transform: scale(0.6);
  }
  html.js .stickyAppear.toScaleY {
    transform: scale(1, 0);
    transform-origin: 0% 0%;
  }
  html.js .stickyAppear.toScaleY.reverse {
    transform-origin: 100% 100%;
  }
  html.js .stickyAppear.fromBtm {
    transform: translate(0, 50px);
  }
  html.js .stickyAppear.fromBtm.increase {
    transform: translate(0, 100px);
  }
  html.js .stickyAppear.fromTop {
    transform: translate(0, -50px);
  }
  html.js .stickyAppear.fromTop.increase {
    transform: translate(0, -100px);
  }
  html.js .stickyAppear.fromLeft {
    transform: translate(-50px, 0);
  }
  html.js .stickyAppear.fromLeft.increase {
    transform: translate(-100px, 0);
  }
  html.js .stickyAppear.fromRight {
    transform: translate(50px, 0);
  }
  html.js .stickyAppear.fromRight.increase {
    transform: translate(100px, 0);
  }
  html.js .stickyAppear.fromRight.toScaleImg {
    transform: translate(50px, 0) scale(1.2);
  }
  .imgDepth {
    overflow: hidden;
  }
  .imgDepth picture {
    transform: scale(1.1);
  }
}
.siteLoader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: #253875;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}

.loading {
  visibility: hidden;
  opacity: 0;
}

.loaded {
  visibility: visible;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .siteLoader {
    transition: none;
  }
}
.btn {
  padding: 0.6rem 2rem 0.6rem 2rem;
  display: inline-block;
  font-size: 0.9rem;
  cursor: pointer;
  position: relative;
  text-transform: uppercase;
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  position: relative;
  min-width: 260px;
  height: 40px;
  padding: 0 16px;
  background: transparent;
}
.btn span {
  position: relative;
  z-index: 1;
}
.btn_border {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.btn_border path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.btn_border.reverse {
  transform: scaleX(-1);
}

.linkRow {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.5rem;
}
.linkRow.center {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}

.title {
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  font-weight: bold;
  text-transform: uppercase;
  text-wrap: balance;
  width: min(750px, 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.title span {
  font-size: clamp(1rem, 1.5vw, 1.4rem);
}
.title.center {
  text-align: center;
  align-items: center;
}

.titleReveal_line {
  display: block;
  overflow: hidden;
  padding-block-end: 0.14em;
  margin-block-end: -0.14em;
}

.text {
  margin: 1rem 0;
  max-width: 100%;
}
.text p {
  width: 750px;
  max-width: 100%;
  margin: 0 0 0.75rem 0;
}
.text h2 {
  font-size: clamp(1.2rem, 1.4vw, 1.4rem);
  font-weight: bold;
  text-wrap: balance;
  width: 750px;
  max-width: 100%;
  margin-bottom: 0.5rem;
}
.text h3 {
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  font-weight: bold;
  text-wrap: balance;
  width: 750px;
  max-width: 100%;
  margin-bottom: 0.5rem;
}
.text ul {
  margin: 1rem 0;
  list-style: disc;
  padding-left: 1.5rem;
  width: 750px;
  max-width: 100%;
}
.text ul li {
  margin: 0.7rem 0;
  line-height: 1.2;
}
.text ol {
  margin: 1rem 0;
  list-style: decimal;
  padding-left: 1.5rem;
  width: 750px;
  max-width: 100%;
}
.text ol li {
  margin: 0.7rem 0;
  line-height: 1.2;
}
.text em {
  font-style: italic;
  text-decoration: underline;
}
.text.center h2, .text.center h3, .text.center h4 {
  text-align: center;
}
.text.center p {
  text-align: center;
  margin: 0.75rem auto;
}
.text.center ul {
  text-align: center;
  list-style-position: inside;
}
.text.center ul li {
  margin: 1.1rem auto;
}
.text.justify p {
  text-align: justify;
}

.rowCenter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  max-width: 100%;
}
.rowCenter .text p {
  text-wrap: balance;
}

.spaceBtm {
  margin-bottom: 3rem;
}

.spaceTop {
  margin-top: 3rem;
}
.spaceTop-2 {
  margin-top: 6rem;
}
.spaceTop-3 {
  margin-top: 9rem;
}

@supports not (clip-path: shape(from 0 0, line to 100% 0, close)) {
  .maskIt {
    mask-image: url("../img/mask-image.svg");
    -webkit-mask-image: url("../img/mask-image.svg");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
  }
}
@supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
  .maskIt {
    --mask-tl: 100px;
    --mask-br: 60px;
    --mask-r: 10px;
    overflow: hidden;
    border-radius: 2rem;
    clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% calc(100% - var(--mask-br) - var(--mask-r)), curve to calc(100% - var(--mask-r)) calc(100% - var(--mask-br) + var(--mask-r)) with 100% calc(100% - var(--mask-br)), line to calc(100% - var(--mask-br) + var(--mask-r)) calc(100% - var(--mask-r)), curve to calc(100% - var(--mask-br) - var(--mask-r)) 100% with calc(100% - var(--mask-br)) 100%, line to 0 100%, line to 0 calc(var(--mask-tl) + var(--mask-r)), curve to var(--mask-r) calc(var(--mask-tl) - var(--mask-r)) with 0 var(--mask-tl), line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
  }
}
.maskIt img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -o-object-fit: cover;
  -o-object-position: center;
  vertical-align: middle;
}
@supports not (clip-path: shape(from 0 0, line to 100% 0, close)) {
  .maskIt.reverse {
    mask-image: url("../img/mask-image-reverse.svg");
    -webkit-mask-image: url("../img/mask-image-reverse.svg");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
  }
}
@supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
  .maskIt.reverse {
    --mask-tr: 100px;
    --mask-bl: 60px;
    --mask-r: 10px;
    overflow: hidden;
    border-radius: 2rem;
    clip-path: shape(from 0 0, line to calc(100% - var(--mask-tr) - var(--mask-r)) 0, curve to calc(100% - var(--mask-tr) + var(--mask-r)) var(--mask-r) with calc(100% - var(--mask-tr)) 0, line to calc(100% - var(--mask-r)) calc(var(--mask-tr) - var(--mask-r)), curve to 100% calc(var(--mask-tr) + var(--mask-r)) with 100% var(--mask-tr), line to 100% 100%, line to calc(var(--mask-bl) + var(--mask-r)) 100%, curve to calc(var(--mask-bl) - var(--mask-r)) calc(100% - var(--mask-r)) with var(--mask-bl) 100%, line to var(--mask-r) calc(100% - var(--mask-bl) + var(--mask-r)), curve to 0 calc(100% - var(--mask-bl) - var(--mask-r)) with 0 calc(100% - var(--mask-bl)), line to 0 0, close);
  }
}
@supports not (clip-path: shape(from 0 0, line to 100% 0, close)) {
  .maskIt.flip {
    mask-image: url("../img/mask-image.svg");
    -webkit-mask-image: url("../img/mask-image.svg");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
  }
}
@supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
  .maskIt.flip {
    --mask-tr: 100px;
    --mask-bl: 160px;
    --mask-r: 10px;
    overflow: hidden;
    border-radius: 2rem;
    clip-path: shape(from 0 0, line to calc(100% - var(--mask-tr) - var(--mask-r)) 0, curve to calc(100% - var(--mask-tr) + var(--mask-r)) var(--mask-r) with calc(100% - var(--mask-tr)) 0, line to calc(100% - var(--mask-r)) calc(var(--mask-tr) - var(--mask-r)), curve to 100% calc(var(--mask-tr) + var(--mask-r)) with 100% var(--mask-tr), line to 100% 100%, line to calc(var(--mask-bl) + var(--mask-r)) 100%, curve to calc(var(--mask-bl) - var(--mask-r)) calc(100% - var(--mask-r)) with var(--mask-bl) 100%, line to var(--mask-r) calc(100% - var(--mask-bl) + var(--mask-r)), curve to 0 calc(100% - var(--mask-bl) - var(--mask-r)) with 0 calc(100% - var(--mask-bl)), line to 0 0, close);
  }
}

.hexagoneClip {
  clip-path: polygon(75% 75%, 50% 100%, 0% 100%, 0% 50%, 25% 25%, 50% 0%, 100% 0%, 100% 50%);
  aspect-ratio: 1/1;
}
.hexagoneClip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -o-object-fit: cover;
  -o-object-position: center;
  vertical-align: middle;
}

.blackWhite {
  background-color: #1e2832;
}
.blackWhite picture {
  mix-blend-mode: exclusion;
}

.metalicBlue {
  position: relative;
  background-color: #44bced;
}
.metalicBlue picture {
  mix-blend-mode: hard-light;
}

.cabinBrown {
  position: relative;
  background-color: #9f7e58;
}
.cabinBrown picture {
  mix-blend-mode: soft-light;
}
.cabinBrown img {
  filter: grayscale(1);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 2rem;
  width: 100%;
  background: rgba(37, 56, 117, 0);
  padding: 1rem calc(5vw + 80px) 1rem 5vw;
}
header.is-sticky .logoLite {
  user-select: initial;
  pointer-events: auto;
}

.logo {
  display: inline-flex;
  align-items: center;
  width: 155px;
  position: relative;
  position: absolute;
  left: 2.5rem;
  top: calc(100% - 3rem);
}
.logo picture {
  display: inline-flex;
  align-items: center;
}
.logo img {
  display: block;
  width: 100%;
  height: auto;
}

.logoLite {
  display: inline-flex;
  width: 50px;
  pointer-events: none;
  user-select: none;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: calc(50% - 12.5px);
  left: 5vw;
  transform: translate(-100px, 0);
}
.logoLite picture {
  display: inline-flex;
  align-items: center;
}
.logoLite img {
  display: block;
  width: 100%;
  height: auto;
}

.header_menu {
  z-index: 10;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.header_menu_links {
  justify-self: end;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.5rem;
  position: relative;
  min-width: 150px;
  height: 34px;
  padding: 0 16px;
}
.header_menu_links a {
  text-transform: uppercase;
}
.header_menu_links_separator {
  width: 1px;
  height: 1rem;
  background-color: #FFFFFF;
}
.header_menu_links svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.header_menu_links svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.header_menu a {
  text-decoration: none;
}

.nav-primary {
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.nav-menu {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1.75rem;
}
.nav-menu li#menu-item-445 {
  display: none;
}
.nav-menu li#menu-item-23 a {
  color: #44bced;
}
.nav-menu li#menu-item-23 a:before {
  background-color: #44bced;
  opacity: 1;
}
.nav-menu li#menu-item-113 a {
  color: #9f7e58;
}
.nav-menu li#menu-item-113 a:before {
  background-color: #9f7e58;
  opacity: 1;
}
.nav-menu li.active a:before {
  width: 100%;
  opacity: 1;
}
.nav-menu a {
  text-transform: uppercase;
  font-weight: 500;
  position: relative;
}
.nav-menu a:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  width: 20px;
  height: 4px;
  transform: skewX(-30deg);
  background-color: #FFFFFF;
  opacity: 0;
  transition: opacity 0.1s ease, transform 0.5s ease, width 0.5s ease;
}
.nav-menu a:hover:before {
  opacity: 1;
  width: 100%;
}

#menuTrigger {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}

.btnMenu {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 10;
  width: 37px;
  height: 37px;
  cursor: pointer;
  background-color: rgba(1, 0, 88, 0);
  border: 2px solid #FFFFFF;
  border-radius: 50%;
  position: fixed;
  right: calc(5vw + 1rem);
  top: 4.5rem;
  transform: translateY(-50%);
  transition: all 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.btnMenu span {
  display: block;
  width: calc(100% - 1rem);
  height: 2px;
  background-color: #FFFFFF;
  margin: 2px 0;
  transition: all 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.btnMenu.open {
  border-color: #FFFFFF;
  background-color: rgba(255, 255, 255, 0);
}
.btnMenu.open span {
  background-color: #FFFFFF;
}
.btnMenu.open span:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}
.btnMenu.open span:nth-child(2) {
  opacity: 0;
}
.btnMenu.open span:nth-child(3) {
  transform: rotate(-45deg) translate(4.5px, -4.5px);
}

.header_menu_links {
  padding: 0 10px 0 16px;
  min-width: 129px;
  height: 30px;
  justify-content: center;
}
.header_menu_links .header_menu_links_separator {
  display: none !important;
}
.header_menu_links .langSelector {
  display: none !important;
}

/*Swiper common*/
.cursor-follower {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #FFFFFF;
  opacity: 0;
  z-index: 10000;
  user-select: none;
  pointer-events: none;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.25rem;
}
.cursor-follower svg {
  width: 12px;
  height: 12px;
  stroke: #253875;
  stroke-width: 2;
}
.cursor-follower.isActive svg:first-child {
  animation-name: bounceIt;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-fill-mode: both;
}
.cursor-follower.isActive svg:last-child {
  animation-name: bounceItReverse;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-fill-mode: both;
}
.cursor-follower.msColor {
  background-color: #44bced;
}
.cursor-follower.msColor svg {
  stroke: #FFFFFF;
}
.cursor-follower.ciColor {
  background-color: #9f7e58;
}
.cursor-follower.ciColor svg {
  stroke: #FFFFFF;
}

.swiper:not(.swiper-initialized) .tranding-slider-control {
  display: none;
}
.swiper.swiper-initialized {
  padding-bottom: 3rem;
}
.swiper.swiper-initialized.few-slides {
  padding-bottom: 0;
}
.swiper.swiper-initialized.few-slides .swiper-wrapper {
  justify-content: center;
}
.swiper.swiper-initialized.few-slides .tranding-slider-control {
  display: none;
}
.swiper .swiper-slide {
  height: auto;
}

.tranding-slider-control {
  position: absolute;
  bottom: 0;
  height: 3rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tranding-slider-control.white .swiper-button-next svg, .tranding-slider-control.white .swiper-button-prev svg {
  fill: #FFFFFF;
}
.tranding-slider-control.white .swiper-pagination-bullet {
  border-color: #FFFFFF;
}
.tranding-slider-control.white .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #FFFFFF;
}

.swiper-button-next, .swiper-button-prev {
  position: initial;
  width: 1.5rem;
  height: 1.2rem;
  margin-top: 0;
  margin: 0 0.5rem;
}
.swiper-button-next svg, .swiper-button-prev svg {
  width: 1.5rem;
  height: 1.5rem;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #FFFFFF;
}
.swiper-button-next:after, .swiper-button-prev:after {
  content: none;
}

.swiper-pagination {
  position: initial;
  display: flex;
  align-items: center;
}
.swiper-pagination:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) {
  width: auto !important;
}
.swiper-pagination.swiper-pagination-bullets-dynamic {
  display: block;
  transform: translateX(0) !important;
  width: 120px !important;
}
.swiper-pagination.swiper-pagination-fraction {
  font-size: 0.8rem;
  font-weight: bold;
}
.swiper-pagination.swiper-pagination-progressbar {
  width: 300px;
  max-width: 100%;
}
.swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background-color: #FFFFFF;
}

.swiper-pagination-bullet {
  width: 1.5rem;
  height: 0.4rem;
  background-color: #FFFFFF;
  border: none;
  border-radius: 2px;
  transform: scale(0.7);
  opacity: 0.6;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  transform: scale(1);
  opacity: 1;
}

.page-accueil .hero_inner, .page-references .hero_inner {
  grid-template-columns: 1fr;
}
.page-accueil .hero_inner_content, .page-references .hero_inner_content {
  padding: 8rem 2rem 4rem 5rem;
  min-height: 700px;
  width: min(750px, 100%);
}
.page-accueil .hero_inner_content .text, .page-references .hero_inner_content .text {
  width: min(500px, 100%);
  margin-left: clamp(2rem, 5vw, 4rem);
}
.page-accueil .hero_inner_content .btn, .page-references .hero_inner_content .btn {
  margin-left: clamp(2rem, 5vw, 4rem);
}

.hero {
  margin-top: 100px;
  padding-block: 0;
  filter: drop-shadow(0 0px 20px rgba(0, 0, 0, 0.25));
}
.hero_inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(2rem, 4vw, 4rem);
  background-color: #21336e;
}
.hero_inner.hasVisualsGrid {
  grid-template-columns: auto minmax(600px, 720px);
}
.hero_inner_barLeft {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 200px;
  display: grid;
  gap: 0.4rem;
}
.hero_inner_barLeft div {
  width: 15px;
  height: 10px;
  background-color: rgba(255, 255, 255, 0.4);
  transform: skewY(30deg);
}
.hero_inner_barTop {
  position: absolute;
  z-index: 2;
  right: 80px;
  top: 0;
  display: grid;
  grid-template-columns: repeat(16, 10px);
  gap: 0.4rem;
}
.hero_inner_barTop div {
  width: 10px;
  height: 15px;
  background-color: rgba(68, 188, 237, 0.4);
  transform: skewX(-30deg);
}
.hero_inner_content {
  padding: 8rem 2rem 4rem 15%;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: nowrap;
  min-width: 0;
}
.hero_inner_visual {
  position: absolute;
  inset: 0;
  user-select: none;
  pointer-events: none;
}
.hero_inner_visual picture {
  user-select: none;
}
.hero_inner_visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -o-object-fit: cover;
  -o-object-position: center;
  vertical-align: middle;
  object-position: right;
  user-select: none;
}
.hero_inner_visuals {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: clamp(2rem, 5vw, 4rem);
  position: relative;
  z-index: 3;
}
@supports not (clip-path: shape(from 0 0, line to 100% 0, close)) {
  .hero_inner {
    mask-image: url("../img/mask-image.svg");
    -webkit-mask-image: url("../img/mask-image.svg");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
  }
}
@supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
  .hero_inner {
    --mask-tl: 160px;
    --mask-br: 90px;
    --mask-r: 10px;
    overflow: hidden;
    border-radius: 2rem;
    clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% calc(100% - var(--mask-br) - var(--mask-r)), curve to calc(100% - var(--mask-r)) calc(100% - var(--mask-br) + var(--mask-r)) with 100% calc(100% - var(--mask-br)), line to calc(100% - var(--mask-br) + var(--mask-r)) calc(100% - var(--mask-r)), curve to calc(100% - var(--mask-br) - var(--mask-r)) 100% with calc(100% - var(--mask-br)) 100%, line to 0 100%, line to 0 calc(var(--mask-tl) + var(--mask-r)), curve to var(--mask-r) calc(var(--mask-tl) - var(--mask-r)) with 0 var(--mask-tl), line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
  }
}
.hero_inner_overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  user-select: none;
  background: radial-gradient(circle at 0% 0%, rgba(0, 23, 67, 0.5) -10%, transparent 40%), radial-gradient(circle at 100% 100%, rgba(0, 23, 67, 0.5) -10%, transparent 20%), radial-gradient(circle at 100% 0%, rgba(68, 188, 237, 0.7) -20%, transparent 40%);
}

.clipSquare {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 2rem;
  position: relative;
  width: 200px;
  height: 200px;
  padding: 1.4rem;
}
.clipSquare_picto {
  width: 36px;
  height: 36px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.clipSquare_picture {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
}
.clipSquare_picture picture {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
.clipSquare_content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.clipSquare_content span {
  font-size: clamp(1.3rem, 2vw, 2rem);
  font-weight: bold;
  text-transform: uppercase;
}
.clipSquare_content span + p {
  text-transform: initial;
  font-size: 1rem;
  font-weight: 400;
}
.clipSquare_content span.lite {
  font-size: clamp(1.1rem, 1vw, 1.3rem);
}
.clipSquare_content p {
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 500;
}
.clipSquare svg {
  position: absolute;
  inset: 0;
}
.clipSquare svg path {
  fill: transparent;
  stroke: #FFFFFF;
  stroke-width: 2px;
  stroke-miterlimit: 10;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.page-groupe footer {
  background: transparent;
  position: absolute;
  width: 100%;
  bottom: 0;
}
.page-groupe footer .footerContainer {
  background-color: rgba(37, 56, 117, 0.7);
}

.home_hero_after {
  position: relative;
  padding: 0;
  margin-top: -10vw;
  user-select: none;
  pointer-events: none;
  overflow: hidden;
}
.home_hero_after_visual {
  position: relative;
  z-index: 1;
  mix-blend-mode: hard-light;
  opacity: 0.8;
}
.home_hero_after_visual picture {
  display: block;
}
.home_hero_after_visual img {
  display: block;
  width: 100%;
  height: auto;
}
.home_hero_after_lights {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
}
.home_hero_after_lights canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.MSIntro {
  margin-top: -10vw;
  position: relative;
  z-index: 1;
}

.MSIntro_inner {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(500px, 2fr);
  gap: clamp(2rem, 5vw, 4rem);
}
.MSIntro_inner_content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: nowrap;
  padding: 11rem 0 0 0;
  position: relative;
}
.MSIntro_inner_content_logo {
  width: 8rem;
  height: 16rem;
  position: absolute;
  top: -7rem;
  left: -4rem;
}
.MSIntro_inner_content_logo picture {
  height: 6rem;
  width: 8rem;
}
.MSIntro_inner_content_logo_bar {
  position: absolute;
  top: 7rem;
  left: calc(50% - 1px);
  width: 2px;
  height: 10rem;
  background-color: #FFFFFF;
}
.MSIntro_inner_content .title span {
  color: #44bced;
}
.MSIntro_inner_content .text {
  padding: 1rem 0 1rem 2rem;
  position: relative;
}
.MSIntro_inner_content_ul_bar {
  position: absolute;
  width: 2px;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #FFFFFF;
}
.MSIntro_inner_content ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.MSIntro_inner_content li {
  text-transform: uppercase;
  margin: 1rem 0;
  font-weight: 500;
}
.MSIntro_inner_content .btn {
  margin-left: -5rem;
}

.CIIntro {
  position: relative;
}
.CIIntro_bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.CIIntro_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -o-object-fit: cover;
  -o-object-position: center;
  vertical-align: middle;
}
.CIIntro_bg canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.CIIntro_inner {
  display: grid;
  grid-template-columns: minmax(500px, 2fr) minmax(300px, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  position: relative;
  z-index: 1;
}
.CIIntro_inner_content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: nowrap;
  padding: 11rem 0 0 0;
  position: relative;
}
.CIIntro_inner_content_logo {
  width: 8rem;
  height: 14rem;
  position: absolute;
  top: -4rem;
  right: -4rem;
}
.CIIntro_inner_content_logo picture {
  height: 6rem;
  width: 8rem;
}
.CIIntro_inner_content_logo_bar {
  position: absolute;
  top: 7rem;
  right: calc(50% - 1px);
  width: 2px;
  height: 7rem;
  background-color: #FFFFFF;
}
.CIIntro_inner_content .title {
  align-items: flex-end;
  text-align: right;
}
.CIIntro_inner_content .title span {
  color: #9f7e58;
}
.CIIntro_inner_content .text {
  padding: 1rem 2rem 1rem 0;
  position: relative;
  text-align: right;
}
.CIIntro_inner_content_ul_bar {
  position: absolute;
  width: 2px;
  height: 100%;
  top: 0;
  right: 0;
  background-color: #FFFFFF;
}
.CIIntro_inner_content ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.CIIntro_inner_content li {
  text-transform: uppercase;
  margin: 1rem 0;
  font-weight: 500;
}
.CIIntro_inner_content .btn {
  margin-right: -5rem;
}

.groupKeys {
  position: relative;
  overflow: hidden;
}
.groupKeys_bg {
  position: absolute;
  inset: 0;
  top: 3rem;
}
.groupKeys_bg picture {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 1050px;
  max-width: 80%;
  margin-inline: auto;
}
.groupKeys_inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8rem;
}
.groupKeys_inner_intro {
  width: 500px;
  max-width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.groupKeys_numbers {
  width: 100%;
  min-width: 0;
}

.groupKeys_numbers_grid {
  width: min(1600px, 100% - 6rem);
  margin-right: auto;
  margin-left: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
}
.groupKeys_numbers_grid_item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  width: 200px;
  height: 200px;
  padding: 1.4rem;
  gap: 2rem;
  position: relative;
}
.groupKeys_numbers_grid_item_picto {
  width: 36px;
  height: 36px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.groupKeys_numbers_grid_item_content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.groupKeys_numbers_grid_item_content span {
  font-size: clamp(1.6rem, 5vw, 3rem);
  font-weight: bold;
  text-transform: uppercase;
}
.groupKeys_numbers_grid_item svg {
  position: absolute;
  inset: 0;
}
.groupKeys_numbers_grid_item svg path {
  fill: transparent;
  stroke: #FFFFFF;
  stroke-width: 2px;
  stroke-miterlimit: 10;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.groupKeys_numbers_grid_item.normes {
  order: -1;
  margin-right: auto;
}
.groupKeys_numbers_grid_item.normes p {
  text-transform: uppercase;
  font-weight: 500;
}

.earthSpace {
  padding: 0;
  margin-top: -25vw;
  overflow: hidden;
}

.programs {
  position: relative;
  background-color: #001743;
}
.programs:before {
  content: "";
  position: absolute;
  inset: 0;
  top: -25vw;
  background: linear-gradient(0deg, #001743 70%, rgba(0, 23, 67, 0) 100%);
}

.programs_inner {
  margin-top: -25vw;
  position: relative;
  z-index: 1;
}

.swiperPrograms {
  width: 100%;
}
.swiperPrograms.few-slides {
  overflow: visible;
}
.swiperPrograms_slide {
  padding: 0 1rem;
}
.swiperPrograms_slide_content {
  padding: 1rem 1rem 1rem 60px;
}
.swiperPrograms_slide h3 {
  font-size: clamp(1.6rem, 2.5vw, 2.6rem);
  font-weight: bold;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
}
.swiperPrograms_slide .program_brand {
  font-weight: 500;
  font-size: 1.1rem;
}
.swiperPrograms_slide .program_spec {
  font-size: 0.9rem;
}
.swiperPrograms_slide_visual {
  position: relative;
}
.swiperPrograms_slide.ms .swiperPrograms_slide_visual:before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 80px;
  bottom: -5px;
  width: 100px;
  height: 10px;
  transform: skewX(45deg);
  background-color: #44bced;
}
.swiperPrograms_slide.ci .swiperPrograms_slide_visual:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 80px;
  bottom: -5px;
  width: 100px;
  height: 10px;
  transform: skewX(45deg);
  background-color: #9f7e58;
}
.swiperPrograms_slide.ci.ms .swiperPrograms_slide_visual:before {
  width: 50px;
}
.swiperPrograms_slide.ci.ms .swiperPrograms_slide_visual:after {
  width: 50px;
  left: 130px;
}

.programs_inner .rowCenter .text {
  margin-top: 0;
  margin-bottom: 0;
}
.programs_inner .rowCenter .rowCenter {
  margin: 2rem 0;
}

.groupKeysFull {
  position: relative;
}
.groupKeysFull_bg {
  position: absolute;
  inset: 0;
  right: 0;
  top: -10vw;
  mix-blend-mode: soft-light;
  pointer-events: none;
  user-select: none;
}
.groupKeysFull_bg picture {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: nowrap;
}

.groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 200px);
  grid-template-rows: repeat(3, 200px);
  gap: 1.75rem;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide {
  width: 200px;
  height: 200px;
  padding: 1.4rem;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(1) {
  grid-area: 1/1/2/2;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(2) {
  grid-area: 1/2/2/3;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(3) {
  grid-area: 1/3/2/4;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(4) {
  grid-area: 2/1/3/2;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(5) {
  grid-area: 2/2/3/3;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(6) {
  grid-area: 2/3/3/4;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(7) {
  grid-area: 3/2/4/3;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(8) {
  grid-area: 3/3/4/4;
}
.groupKeysFullSwiper:not(.swiper-initialized) .groupKeysFullSwiper_slide:nth-child(9) {
  grid-area: 3/4/4/5;
}
.groupKeysFullSwiper_slide {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 2rem;
  position: relative;
}
.groupKeysFullSwiper_slide_picto {
  width: 36px;
  height: 36px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.groupKeysFullSwiper_slide_content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.groupKeysFullSwiper_slide_content span {
  font-size: clamp(1.5rem, 3vw, 3rem);
  font-weight: bold;
  text-transform: uppercase;
}
.groupKeysFullSwiper_slide_content span + p {
  font-size: clamp(0.9rem, 1vw, 1rem);
  font-weight: 400;
}
.groupKeysFullSwiper_slide_content p {
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  font-weight: 500;
}
.groupKeysFullSwiper_slide svg {
  position: absolute;
  inset: 0;
}
.groupKeysFullSwiper_slide svg path {
  fill: transparent;
  stroke: #FFFFFF;
  stroke-width: 2px;
  stroke-miterlimit: 10;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.groupForce_inner_logos {
  --group-force-side-logo-size: clamp(7rem, 10vw, 8.5rem);
  --group-force-main-logo-size: clamp(10rem, 14vw, 12rem);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(4rem, 11vw, 11rem);
  position: relative;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 1rem 0;
}
.groupForce_inner_logos .linearStroke {
  position: absolute;
  z-index: 0;
  width: calc(100% - 2rem);
  top: 50%;
  left: 1rem;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.7);
  transform: scaleX(1);
  transform-origin: center;
}
.groupForce_inner_logos_item {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
}
.groupForce_inner_logos_item img {
  display: block;
  width: 100%;
  height: auto;
}
.groupForce_inner_logos_item.MS, .groupForce_inner_logos_item.CI {
  width: var(--group-force-side-logo-size);
}
.groupForce_inner_logos_item.GP {
  z-index: 2;
  width: var(--group-force-main-logo-size);
}

.groupForce_inner_grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(170px, 20vw) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1rem, 1.5vw, 1.5rem);
  width: min(100% - 2rem, 80rem);
  margin: 4rem auto 0;
  align-items: center;
}
.groupForce_inner_grid > div {
  min-width: 0;
}
.groupForce_inner_grid > div:nth-child(1) {
  grid-area: 1/1/2/2;
}
.groupForce_inner_grid > div:nth-child(2) {
  grid-area: 1/2/2/3;
}
.groupForce_inner_grid > div:nth-child(3) {
  grid-area: 1/3/2/4;
}
.groupForce_inner_grid > div:nth-child(4) {
  grid-area: 1/4/2/5;
}
.groupForce_inner_grid > div:nth-child(4) .hexagoneClip {
  background-color: #080c17;
}
.groupForce_inner_grid > div:nth-child(5) {
  grid-area: 1/5/2/6;
}
.groupForce_inner_grid > div:nth-child(5) .hexagoneClip {
  background-color: #080c17;
}
.groupForce_inner_grid > div:nth-child(6) {
  grid-area: 2/1/3/2;
}
.groupForce_inner_grid > div:nth-child(7) {
  grid-area: 2/2/3/3;
}
.groupForce_inner_grid > div:nth-child(8) {
  grid-area: 2/3/3/4;
}
.groupForce_inner_grid > div:nth-child(9) {
  grid-area: 2/4/3/5;
}
.groupForce_inner_grid > div:nth-child(9) .hexagoneClip {
  background-color: #080c17;
}
.groupForce_inner_grid > div:nth-child(10) {
  grid-area: 2/5/3/6;
}
.groupForce_inner_grid > div:nth-child(10) .hexagoneClip {
  background-color: #080c17;
}
.groupForce_inner_grid > div:nth-child(11) {
  grid-area: 3/1/4/2;
}
.groupForce_inner_grid > div:nth-child(12) {
  grid-area: 3/2/4/3;
}
.groupForce_inner_grid > div:nth-child(13) {
  grid-area: 3/3/4/4;
}
.groupForce_inner_grid > div:nth-child(14) {
  grid-area: 3/4/4/5;
}
.groupForce_inner_grid > div:nth-child(14) .hexagoneClip {
  background-color: #080c17;
}
.groupForce_inner_grid > div:nth-child(15) {
  grid-area: 3/5/4/6;
}
.groupForce_inner_grid > div:nth-child(15) .hexagoneClip {
  background-color: #080c17;
}
.groupForce_inner_grid > div:nth-child(16) {
  grid-area: 4/2/5/3;
}
.groupForce_inner_grid > div:nth-child(17) {
  grid-area: 4/4/5/5;
}

.groupForce_inner_grid_item {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.groupForce_inner_grid_item .hexagoneClip, .groupForce_inner_grid_item_visual,
.groupForce_inner_grid_item picture,
.groupForce_inner_grid_item img {
  width: 100%;
  height: 100%;
}
.groupForce_inner_grid_item_visual {
  position: absolute;
  inset: 0;
}
.groupForce_inner_grid_item picture {
  display: block;
}
.groupForce_inner_grid_item img {
  display: block;
  object-fit: cover;
}
.groupForce_inner_grid_item.isTitle {
  display: grid;
  place-items: center;
  text-align: center;
  aspect-ratio: initial;
}

.groupForce_inner_grid_item {
  position: relative;
}
.groupForce_inner_grid_item .hexagoneClip {
  aspect-ratio: 1/1;
  width: 100%;
  background-color: #001743;
}
.groupForce_inner_grid_item picture {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  height: 100%;
}
.groupForce_inner_grid_item picture img {
  object-fit: contain;
}
.groupForce_inner_grid_item.isTitle {
  text-align: center;
}
.groupForce_inner_grid_item.isTitle h3 {
  margin: 0;
  font-size: clamp(1.2rem, 1.7vw, 1.8rem);
  font-weight: bold;
  text-wrap: balance;
}

.globalPresence {
  position: relative;
  z-index: 1;
}

.globalPresence_inner_map {
  position: relative;
}
.globalPresence_inner_map picture {
  user-select: none;
  pointer-events: none;
}

.listeSiteFull {
  display: none;
}

.interactiveMapItems {
  position: absolute;
  inset: 0;
}
.interactiveMapItems .brownCircle {
  fill: #c89360;
  transition: fill 0.2s ease;
}
.interactiveMapItems .blueCircle {
  fill: #44bced;
  transition: fill 0.2s ease;
}
.interactiveMapItems .whiteText {
  fill: #fff;
  transition: fill 0.2s ease;
}
.interactiveMapItems #sites-trigger > g.is-muted .blueCircle,
.interactiveMapItems #sites-items > g.is-muted .blueCircle {
  fill: #05709a;
}
.interactiveMapItems #sites-trigger > g.is-muted .brownCircle,
.interactiveMapItems #sites-items > g.is-muted .brownCircle {
  fill: #8e6236;
}
.interactiveMapItems #sites-trigger > g.is-muted .whiteText,
.interactiveMapItems #sites-items > g.is-muted .whiteText {
  fill: #aeb6bb;
}
.interactiveMapItems #group-map-hit-areas rect {
  cursor: pointer;
}

.groupOperations {
  position: relative;
  padding-top: 15vw;
  margin-top: -20vw;
}
.groupOperations:before {
  content: "";
  position: absolute;
  top: -1rem;
  left: 0;
  width: 100%;
  height: calc(100% + 2rem);
  background: linear-gradient(0deg, #001743 50%, rgba(0, 23, 67, 0) 98%);
  user-select: none;
  pointer-events: none;
}
.groupOperations_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  position: relative;
  z-index: 1;
  width: min(1200px, 100%);
  margin-inline: auto;
}
.groupOperations_inner_content {
  min-width: 0;
}
.groupOperations_inner_content_investments ul {
  padding-left: 5%;
  list-style: none;
}
.groupOperations_inner_content_investments ul li {
  font-size: clamp(1rem, 2vw, 1.5rem);
  font-weight: bold;
}
.groupOperations_inner_content_investments ul li em {
  font-size: clamp(2rem, 3vw, 4rem);
  font-style: normal;
  text-decoration: none;
}
.groupOperations_inner_labels {
  display: grid;
  grid-template-columns: repeat(2, 200px);
  align-content: start;
  align-self: center;
  gap: 1rem;
}
.groupOperations_inner_labels_item:first-child {
  grid-column: 1/-1;
}

.engagmentsRse {
  position: relative;
  background-color: #001743;
  padding-top: 15rem;
  margin-top: -10rem;
  padding-bottom: 20rem;
}
.engagmentsRse .rowCenter {
  position: relative;
  z-index: 1;
}
.engagmentsRse .rowCenter .text {
  margin: 0;
}
.engagmentsRse_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.engagmentsRse_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -o-object-fit: cover;
  -o-object-position: center;
  vertical-align: middle;
  object-position: top;
}
.engagmentsRse_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  position: relative;
  z-index: 1;
  width: min(1200px, 100%);
  margin-inline: auto;
}
.engagmentsRse_inner_content {
  min-width: 0;
}
.engagmentsRse_inner_content ul {
  list-style: none;
}
.engagmentsRse_inner_content ul li {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  margin: 1rem 0;
  text-wrap: balance;
}
.engagmentsRse_inner_content ul li strong {
  font-size: clamp(1.2rem, 1.9vw, 2rem);
}
.engagmentsRse_inner_labels {
  display: grid;
  grid-template-columns: repeat(2, 200px);
  align-content: start;
  align-self: center;
  justify-content: center;
  gap: 1rem;
}

.metallicSolutions {
  --accent-color: #44bced;
}

.cabinInterior {
  background-color: #080c17;
  --accent-color: #9f7e58;
}
.cabinInterior header {
  background: rgba(8, 12, 23, 0);
}
.cabinInterior .hero_inner {
  background-color: #121b2c;
}
.cabinInterior .hero_inner_overlay {
  background: radial-gradient(circle at 0% 0%, rgb(26, 38, 59) -10%, transparent 40%), radial-gradient(circle at 100% 100%, rgb(26, 38, 59) -10%, transparent 20%), radial-gradient(circle at 100% 0%, rgb(14, 28, 45) -20%, transparent 40%);
}
.cabinInterior .knowHow_bg, .cabinInterior .products_bg, .cabinInterior .devlopment_bg {
  height: calc(100% + 10rem);
  top: -10rem;
}
.cabinInterior .ambitionsSwiper_slide_number .maskIt {
  background-color: #0f1523;
}
.cabinInterior .products_bg {
  right: -5vw;
}
.cabinInterior .activityKeys {
  overflow: hidden;
}
.cabinInterior .activityKeys .swiper-pagination.swiper-pagination-progressbar {
  background-color: #0f1523;
}
.cabinInterior .devlopment {
  background: none;
}
.cabinInterior .endActivity {
  background-color: #080c17;
}
.cabinInterior footer {
  background-color: #080c17;
}
.cabinInterior .footerContainer {
  background-color: #0c0f1d;
}

.page-activities .hero .title {
  color: var(--accent-color);
}

.activityKeysSwiper.swiper-initialized {
  overflow: visible;
}
.activityKeysSwiper.swiper-initialized .activityKeysSwiper_slide {
  padding: 0;
  width: 180px;
}

.activityKeysSwiper_slide {
  padding: 1rem;
  width: 16.6666666667%;
}
.activityKeysSwiper_slide .clipSquare {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
.activityKeysSwiper_slide .clipSquare_content span {
  font-size: clamp(1.6rem, 3vw, 3rem);
}
.activityKeysSwiper_slide .clipSquare_content span.lite {
  text-transform: initial;
  font-size: clamp(1.1rem, 1.5vw, 1.6rem);
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: nowrap;
}
.activityKeysSwiper_slide:last-child {
  color: var(--accent-color);
}

.knowHow, .products, .devlopment {
  position: relative;
  padding-top: 0;
}
.knowHow_bg, .products_bg, .devlopment_bg {
  position: absolute;
  width: 100%;
  height: calc(100% + 20rem);
  right: 0;
  top: -20rem;
  mix-blend-mode: soft-light;
  user-select: none;
  pointer-events: none;
}
.knowHow_bg picture, .products_bg picture, .devlopment_bg picture {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.knowHow_bg img, .products_bg img, .devlopment_bg img {
  object-fit: contain;
  object-position: right;
}
.knowHow_inner, .products_inner, .devlopment_inner {
  display: grid;
  grid-template-columns: minmax(500px, 0.55fr) minmax(500px, 0.45fr);
  gap: clamp(1rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem);
}
.knowHow_inner_title, .products_inner_title, .devlopment_inner_title {
  grid-column: 1/-1;
}
.knowHow_inner_title .text, .products_inner_title .text, .devlopment_inner_title .text {
  margin: 0;
}
.knowHow_inner_title .text p, .products_inner_title .text p, .devlopment_inner_title .text p {
  text-wrap: balance;
}
.knowHow_inner_visual, .products_inner_visual, .devlopment_inner_visual {
  max-height: 620px;
  min-width: 0;
  max-width: 100%;
}
.knowHow_inner_content, .products_inner_content, .devlopment_inner_content {
  min-width: 0;
  max-width: 100%;
  align-content: end;
}
.knowHow_inner_content h3, .products_inner_content h3, .devlopment_inner_content h3 {
  color: var(--accent-color);
  font-size: clamp(1.4rem, 1.5vw, 1.8rem);
}
.knowHow_inner_content ul, .products_inner_content ul, .devlopment_inner_content ul {
  list-style: none;
  padding-left: 0;
}
.knowHow_inner_content ul li, .products_inner_content ul li, .devlopment_inner_content ul li {
  margin: 1rem 0;
}
.knowHow_inner_content ul li strong, .products_inner_content ul li strong, .devlopment_inner_content ul li strong {
  color: var(--accent-color);
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
}
.knowHow_inner_contentMore, .products_inner_contentMore, .devlopment_inner_contentMore {
  padding-left: 160px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  grid-column: 1/-1;
}
.knowHow_inner_contentMore h3, .products_inner_contentMore h3, .devlopment_inner_contentMore h3 {
  color: var(--accent-color);
  font-size: clamp(1.2rem, 2.5vw, 1.4rem);
}

.softLight.is-pixi-soft-light {
  mix-blend-mode: normal;
}

.softLight-pixi-scope {
  position: relative;
}

.softLight-pixi-scope > :not(.softLight-pixi-canvas):not(.softLight) {
  position: relative;
  z-index: 2;
}

.softLight-pixi-canvas {
  position: absolute;
  z-index: 1;
  display: block;
  pointer-events: none;
}

.knowHow_inner,
.products_inner,
.devlopment_inner {
  position: relative;
  z-index: 2;
}

.activityMarkets {
  padding-top: 0;
}
.activityMarkets_inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem);
}
.activityMarkets_inner_title .text {
  margin: 0;
}
.activityMarkets_inner_title .text p {
  width: 500px;
  max-width: 100%;
  text-wrap: balance;
}

.activityMarkets_inner_swiper {
  max-width: 100%;
  min-width: 0;
}

.activityMarketsSwiper {
  max-width: 100%;
}

.activityMarketsSwiper_slide {
  padding: 0 1rem;
}
.activityMarketsSwiper_slide_visual picture {
  --mask-tl: 60px;
  --mask-br: 30px;
  --mask-r: 5px;
  border-radius: 1rem;
}
.activityMarketsSwiper_slide_content {
  margin-top: -0.75rem;
  padding: 0 2rem;
  position: relative;
  z-index: 1;
}
.activityMarketsSwiper_slide_content h3 {
  text-transform: uppercase;
  font-size: clamp(1.2rem, 1.5vw, 1.4rem);
  font-weight: bold;
  text-shadow: 0px 1px 7px rgba(37, 56, 117, 0.7);
}
.activityMarketsSwiper_slide_content p {
  margin-left: 2rem;
  margin-top: 1rem;
}

.ambitions_inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem);
}
.ambitions .rowCenter .text {
  margin: 0;
}

.ambitions_inner_swiper {
  max-width: 100%;
  min-width: 0;
}

.ambitionsSwiper {
  max-width: 100%;
}

.ambitionsSwiper_slide {
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1rem;
  text-align: center;
}
.ambitionsSwiper_slide_number {
  position: relative;
  width: 60%;
  aspect-ratio: 1/1.25;
}
.ambitionsSwiper_slide_number .maskIt {
  --mask-tr: 60px;
  --mask-bl: 30px;
  --mask-r: 5px;
  border-radius: 1rem;
  height: 100%;
  background-color: #223160;
}
.ambitionsSwiper_slide_number span {
  font-size: clamp(2.5rem, 7vw, 6rem);
  font-weight: bold;
  position: absolute;
  right: calc(25% - 4rem);
  bottom: 1rem;
}
.ambitionsSwiper_slide_content h3 {
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  font-weight: bold;
  color: var(--accent-color);
}
.ambitionsSwiper_slide_content p {
  font-size: clamp(0.9rem, 1.2vw, 1rem);
  width: 300px;
  max-width: 100%;
  text-wrap: balance;
}

.products {
  padding-bottom: 0;
}

.products_bg {
  right: -20vw;
  top: -15vw;
}

.productsSwiper {
  height: 100%;
}
.productsSwiper.swiper-initialized {
  padding-bottom: 0;
}
.productsSwiper .tranding-slider-control {
  bottom: 0.5rem;
  justify-content: flex-end;
}

.interactiveMapItems_modal {
  position: absolute;
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  width: 240px;
  padding: 2rem 1rem 1rem 1rem;
  background-color: var(--accent-color);
  text-wrap: balance;
}
@supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
  .interactiveMapItems_modal {
    --mask-tl: 100px;
    --mask-br: 60px;
    --mask-r: 10px;
    overflow: hidden;
    border-radius: 2rem;
    clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% calc(100% - var(--mask-br) - var(--mask-r)), curve to calc(100% - var(--mask-r)) calc(100% - var(--mask-br) + var(--mask-r)) with 100% calc(100% - var(--mask-br)), line to calc(100% - var(--mask-br) + var(--mask-r)) calc(100% - var(--mask-r)), curve to calc(100% - var(--mask-br) - var(--mask-r)) 100% with calc(100% - var(--mask-br)) 100%, line to 0 100%, line to 0 calc(var(--mask-tl) + var(--mask-r)), curve to var(--mask-r) calc(var(--mask-tl) - var(--mask-r)) with 0 var(--mask-tl), line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
    --mask-tl: 30px;
    --mask-br: 15px;
    --mask-r: 5px;
    border-radius: 0.5rem;
  }
}
.interactiveMapItems_modal_title {
  display: none;
}
.interactiveMapItems_modal_title p {
  font-size: clamp(1.3rem, 1.7vw, 1.8rem);
  text-transform: uppercase;
  font-weight: bold;
}
.interactiveMapItems_modal_title span {
  font-size: 1rem;
  font-weight: bold;
  color: var(--accent-color);
}
.interactiveMapItems_modal ul {
  margin-bottom: 0.7rem;
  list-style: disc;
  padding-left: 1rem;
}
.interactiveMapItems_modal li {
  margin: 0.25rem 0;
}
.interactiveMapItems_modal a {
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.5rem;
}
.interactiveMapItems_modal a:before {
  content: "";
  width: 1rem;
  height: 1rem;
  display: inline-block;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLXJpZ2h0IHByZXZpZXctaWNvbiI+PHBhdGggZD0ibTkgMTggNi02LTYtNiIvPjwvc3ZnPg==");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.interactiveMapItems_modal.is-active {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
  pointer-events: initial;
}

.interactiveMapItems #sites-items > g.is-active .blueCircle,
.interactiveMapItems #sites-items > g.is-active .brownCircle {
  fill: #fff;
}

.interactiveMapItems #sites-items > g.is-active .whiteText {
  fill: var(--accent-color);
}

.interactiveMapItems #sites-trigger > g {
  cursor: pointer;
}
.interactiveMapItems #sites-trigger > g path.blueCircle,
.interactiveMapItems #sites-trigger > g path.brownCircle {
  fill: color-mix(in srgb, var(--accent-color) 80%, transparent);
}
.interactiveMapItems #sites-trigger > g path.ctaLabel {
  fill: #080c17;
}
.interactiveMapItems #sites-trigger > g.is-active .blueCircle, .interactiveMapItems #sites-trigger > g.is-active .brownCircle {
  fill: color-mix(in srgb, var(--accent-color) 100%, transparent);
}
.interactiveMapItems #sites-trigger > g.is-active > g:last-child {
  animation-name: bounceIt;
  animation-duration: 0.6s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-fill-mode: both;
}

.interactiveMapItems #activities-map-hit-areas rect {
  cursor: pointer;
}

.devlopment {
  padding-top: 35vw;
  margin-top: -45vw;
  background: linear-gradient(0deg, #001743 50%, rgba(0, 23, 67, 0) 98%);
}
.devlopment_inner {
  position: relative;
  z-index: 2;
}

.endActivity {
  padding: 0;
  background-color: #001743;
  margin-top: -30vw;
  user-select: none;
  pointer-events: none;
}
.endActivity_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -o-object-fit: cover;
  -o-object-position: center;
  vertical-align: middle;
  object-position: top;
}

.page-references {
  background: linear-gradient(180deg, #253875 0%, #001743 40%);
}

.refLogosSwiper:not(.swiper-initialized) .swiper-wrapper {
  justify-content: center;
}

.refLogosSwiper_slide {
  padding: 0 0.5rem;
  width: 200px;
  height: 200px;
}
.refLogosSwiper_slide .clipSquare {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  align-items: center;
  justify-content: center;
}
.refLogosSwiper_slide .clipSquare picture {
  height: auto;
}

.refMs, .refCi {
  overflow: hidden;
  padding-top: 0;
}
.refMs .rowCenter, .refCi .rowCenter {
  flex-direction: row;
  gap: 1rem;
}
.refMs .rowCenter .programLogo, .refCi .rowCenter .programLogo {
  width: 100px;
}
.refMs .rowCenter .title, .refCi .rowCenter .title {
  width: auto;
  flex-direction: column;
  align-items: flex-start;
}
.refMs .rowCenter .title br, .refCi .rowCenter .title br {
  display: none;
}
.refMs .rowCenter .title em, .refCi .rowCenter .title em {
  color: #FFFFFF;
  font-size: clamp(1rem, 1.5vw, 1.4rem);
}

.refMs .rowCenter .title {
  color: #44bced;
}

.refCi .rowCenter .title {
  color: #9f7e58;
}

.refSwiper {
  overflow: visible;
}

.refSwiper_slide {
  padding: 0 1rem;
}
.refSwiper_slide .maskIt {
  --mask-tr: 40px;
  --mask-bl: 80px;
  --mask-r: 10px;
  border-radius: 1rem;
}
.refSwiper_slide_content {
  padding: 1rem 1rem 1rem 80px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.refSwiper_slide_title {
  font-size: clamp(1.6rem, 2.4vw, 2.6rem);
  font-weight: bold;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
}
.refSwiper_slide_client {
  font-weight: 500;
  font-size: 1.1rem;
}
.refSwiper_slide_prestations {
  font-size: 0.9rem;
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 0.25rem;
}

.metallicSolutions {
  --accent-color: #44bced;
}

.cabinInterior {
  background-color: #080c17;
  --accent-color: #9f7e58;
}
.cabinInterior header {
  background: rgba(8, 12, 23, 0);
}
.cabinInterior .hero_inner {
  background-color: #121b2c;
}
.cabinInterior .hero_inner_overlay {
  background: radial-gradient(circle at 0% 0%, rgb(26, 38, 59) -10%, transparent 40%), radial-gradient(circle at 100% 100%, rgb(26, 38, 59) -10%, transparent 20%), radial-gradient(circle at 100% 0%, rgb(14, 28, 45) -20%, transparent 40%);
}

.singleHero .hero_inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.singleHero .hero_inner_overlay {
  background: radial-gradient(circle at 0% 0%, rgba(0, 23, 67, 0.5) -10%, transparent 40%), radial-gradient(circle at 100% 100%, rgba(0, 23, 67, 0.5) -10%, transparent 20%), radial-gradient(circle at 100% 0%, rgba(68, 188, 237, 0.4) -20%, transparent 40%);
}
.singleHero .hero_inner_content .title {
  width: auto;
  color: var(--accent-color);
}
.singleHero .hero_inner_content .siteType {
  text-transform: uppercase;
  font-weight: 500;
}
.singleHero .hero_inner_site {
  padding: 8rem 15% 4rem 2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.hero_inner_site_client,
.hero_inner_site_marches {
  border-left: 1px solid var(--accent-color);
  padding: 0 1.3rem;
}

.hero_inner_site_client .siteContent_label,
.hero_inner_site_marches .siteContent_label,
.siteContent_inner_details_products .siteContent_label,
.siteContent_inner_details_spec .siteContent_label {
  text-transform: uppercase;
  color: var(--accent-color);
  font-weight: bold;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}
.hero_inner_site_client p,
.hero_inner_site_marches p,
.siteContent_inner_details_products p,
.siteContent_inner_details_spec p {
  line-height: 1.8;
}
.hero_inner_site_client ul,
.hero_inner_site_marches ul,
.siteContent_inner_details_products ul,
.siteContent_inner_details_spec ul {
  padding-left: 2rem;
  list-style: disc;
}
.hero_inner_site_client ul li,
.hero_inner_site_marches ul li,
.siteContent_inner_details_products ul li,
.siteContent_inner_details_spec ul li {
  margin: 0.2rem 0;
}

.siteContent_inner_kpis {
  width: 100%;
}

.siteContent_inner {
  display: grid;
  grid-template-columns: minmax(600px, 2fr) minmax(min-content, 1fr);
  gap: 2rem;
}
.siteContent_inner_details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 2rem;
}

.kpiSwiper:not(.swiper-initialized) {
  display: flex;
  justify-content: flex-end;
}
.kpiSwiper:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 180px);
  gap: 1rem;
  width: auto;
}
.kpiSwiper:not(.swiper-initialized) .swiper-wrapper .clipSquare {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}

.page-contact {
  background: linear-gradient(180deg, #253875 0%, #001743 40%);
}

.contactHero .hero_inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
}
.contactHero .hero_inner_overlay {
  background: radial-gradient(circle at 0% 0%, rgba(0, 23, 67, 0.5) -10%, transparent 40%), radial-gradient(circle at 100% 100%, rgba(0, 23, 67, 0.5) -10%, transparent 20%), radial-gradient(circle at 100% 0%, rgba(68, 188, 237, 0.4) -20%, transparent 40%);
}
.contactHero .hero_inner_content .title {
  width: auto;
}
.contactHero .hero_inner_contact {
  padding: 8rem 15% 4rem 2rem;
}
.contactHero .hero_inner_contact_adress {
  border-left: 1px solid #FFFFFF;
  padding: 0 1.3rem;
}

body.drag-over {
  position: relative;
}
body.drag-over .heroContact {
  overflow: visible;
  z-index: 1000;
}
body.drag-over .heroContact .hero_form {
  position: relative;
  z-index: 10000;
}
body.drag-over .heroContact .hero_form .wpcf7-form [data-name=files] {
  position: relative;
  z-index: 10001;
  color: #FFFFFF;
  animation: scaleBox 1.5s infinite alternate;
}
body.drag-over .heroContact .hero_form .wpcf7-form .codedropz-upload-handler {
  border-color: #FFFFFF;
}
body.drag-over .heroContact .hero_form .wpcf7-form .codedropz-upload-inner h3 {
  color: #FFFFFF;
}
@keyframes scaleBox {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.03);
  }
}
body.drag-over::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  backdrop-filter: blur(5px);
  background-color: rgba(52, 54, 62, 0.85);
  pointer-events: none;
  z-index: 999;
}
body.noHover .wpcf7-form .codedropz-upload-handler {
  height: 80px;
}
body.noHover .wpcf7-form .codedropz-upload-container {
  width: 100%;
}
body.noHover .wpcf7-form .codedropz-btn-wrap {
  width: 100%;
}
body.noHover .wpcf7-form .codedropz-btn-wrap a.cd-upload-btn {
  width: 100%;
}
body.noHover .wpcf7-form .codedropz-upload-inner h3, body.noHover .wpcf7-form .codedropz-upload-inner span {
  display: none;
}

.wpcf7 {
  max-width: 100%;
  width: 900px;
  margin: 0 auto;
}

.wpcf7-form {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 0 auto;
}
.wpcf7-form .legend {
  width: 100%;
  margin: 0.75rem;
  text-wrap: balance;
  font-size: 0.9rem;
}
.wpcf7-form .legend em {
  font-size: 0.7rem;
  font-style: italic;
}
.wpcf7-form label > p {
  font-size: 0.8rem;
  font-style: italic;
  font-weight: 300;
  text-align: left;
  display: inline-block;
  width: auto;
  text-wrap: balance;
  margin-bottom: 0.35rem;
}
.wpcf7-form label {
  width: calc(50% - 1.5rem);
  margin: 0.75rem;
  position: relative;
}
.wpcf7-form label .wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form label input, .wpcf7-form label textarea {
  width: 100%;
  background-color: transparent;
  border: none;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: #FFFFFF;
  resize: none;
  display: block;
  border-radius: 1rem;
  font-size: 16px;
  font-family: "interstate", sans-serif;
  font-weight: 300;
}
.wpcf7-form label input::placeholder, .wpcf7-form label textarea::placeholder {
  color: #FFFFFF;
  opacity: 0.6;
  transition: opacity 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
  font-size: 16px;
  font-family: "interstate", sans-serif;
  font-weight: 300;
}
.wpcf7-form label input:focus, .wpcf7-form label input:hover, .wpcf7-form label textarea:focus, .wpcf7-form label textarea:hover {
  outline: none;
}
.wpcf7-form label input:focus::placeholder, .wpcf7-form label input:focus::placeholder, .wpcf7-form label input:hover::placeholder, .wpcf7-form label input:hover::placeholder, .wpcf7-form label textarea:focus::placeholder, .wpcf7-form label textarea:focus::placeholder, .wpcf7-form label textarea:hover::placeholder, .wpcf7-form label textarea:hover::placeholder {
  opacity: 1;
}
.wpcf7-form label input:focus + i, .wpcf7-form label input:hover + i, .wpcf7-form label textarea:focus + i, .wpcf7-form label textarea:hover + i {
  opacity: 1;
}
.wpcf7-form label input:-webkit-autofill, .wpcf7-form label textarea:-webkit-autofill {
  appearance: none;
  background-color: transparent !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  -webkit-text-fill-color: #FFFFFF !important;
  -webkit-box-shadow: 0 0 0px 1000px #001743 inset !important;
}
.wpcf7-form label input:focus::-webkit-contacts-auto-fill-button, .wpcf7-form label textarea:focus::-webkit-contacts-auto-fill-button {
  visibility: hidden;
  display: none !important;
  pointer-events: none;
  position: absolute;
  right: 0;
}
.wpcf7-form label input:not(:placeholder-shown) + i, .wpcf7-form label textarea:not(:placeholder-shown) + i {
  opacity: 1;
}
.wpcf7-form label input.wpcf7-not-valid, .wpcf7-form label textarea.wpcf7-not-valid {
  padding: 0.5rem 1rem 1.5rem 1rem;
}
.wpcf7-form label input.wpcf7-not-valid + i svg path, .wpcf7-form label textarea.wpcf7-not-valid + i svg path {
  fill: #ff9c9c;
}
.wpcf7-form label.big {
  width: 100%;
}
.wpcf7-form label.big i {
  top: 1rem;
}
.wpcf7-form i {
  position: absolute;
  right: 1rem;
  top: calc(50% - 0.5rem);
  width: 1rem;
  height: 1rem;
  opacity: 0.8;
  transition: opacity 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.wpcf7-form i svg path {
  fill: rgba(255, 255, 255, 0.6);
  transition: fill 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.wpcf7-form .wpcf7-form-control-wrap {
  width: 100%;
}
.wpcf7-form .wpcf7-form-control-wrap[data-name=rgpd-consent] {
  max-width: 100%;
}
.wpcf7-form .selectizeEl {
  margin: 0.75rem;
  width: calc(50% - 1.5rem);
}
.wpcf7-form .selectizeEl.fullWidth {
  width: 100%;
}
.wpcf7-form .selectizeEl .wpcf7-form-control-wrap {
  height: 58.4px;
  display: block;
  width: 100%;
}
.wpcf7-form .selectize-control {
  height: 100%;
  width: 100%;
}
.wpcf7-form .selectize-control.single .selectize-input, .wpcf7-form .selectize-control.multi .selectize-input {
  background-color: transparent;
  background-image: none;
  padding: 1rem 1rem 0.9rem 1rem;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.6);
  border-width: 1px;
}
.wpcf7-form .selectize-control.single .selectize-input.input-active, .wpcf7-form .selectize-control.multi .selectize-input.input-active {
  display: flex;
}
.wpcf7-form .selectize-control.single .selectize-input.dropdown-active::before, .wpcf7-form .selectize-control.multi .selectize-input.dropdown-active::before {
  content: none;
}
.wpcf7-form .selectize-control.single .selectize-input.dropdown-active:after, .wpcf7-form .selectize-control.multi .selectize-input.dropdown-active:after {
  border-color: transparent transparent rgba(255, 255, 255, 0.6) transparent;
}
.wpcf7-form .selectize-control.single .selectize-input:after, .wpcf7-form .selectize-control.multi .selectize-input:after {
  border-color: rgba(255, 255, 255, 0.6) transparent transparent transparent;
}
.wpcf7-form .selectize-control.multi .selectize-input [data-value] {
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 1rem;
  background-image: none;
  border: none;
  text-shadow: none;
}
.wpcf7-form .selectize-control.multi .selectize-input > div {
  margin: 0 3px 0 0;
  padding: 2px 10px;
}
.wpcf7-form .selectize-control.multi.plugin-remove_button .item .remove {
  border-left-color: #FFFFFF;
}
.wpcf7-form .selectize-control.wpcf7-not-valid .selectize-input {
  padding-top: 0.5rem;
  padding-bottom: 1.5rem;
}
.wpcf7-form .selectize-input {
  height: 100%;
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 1rem;
  padding: 8px 1rem;
  display: flex;
  align-items: center;
}
.wpcf7-form .selectize-input input {
  border-radius: 0;
  max-width: 100%;
  color: #FFFFFF;
  font-weight: 300;
  font-size: 16px;
}
.wpcf7-form .selectize-input input::-moz-placeholder {
  color: #FFFFFF;
  opacity: 0.8;
  -moz-transition: opacity 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
  transition: opacity 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
  font-weight: 300;
}
.wpcf7-form .selectize-input input::placeholder {
  color: #FFFFFF;
  opacity: 0.8;
  transition: opacity 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
  font-weight: 300;
}
.wpcf7-form .selectize-input .item {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 300;
}
.wpcf7-form .selectize-dropdown {
  box-shadow: 0 1px 20px -15px rgba(153, 197, 85, 0.2);
  border: none;
  background-color: #001743;
  color: #FFFFFF;
  border-radius: 5px;
  overflow: hidden;
}
.wpcf7-form .selectize-dropdown.animate {
  overflow-y: hidden;
}
.wpcf7-form .selectize-dropdown.animate .selectize-dropdown-content {
  overflow-y: hidden;
}
.wpcf7-form .selectize-dropdown .option {
  cursor: pointer;
  padding: 7.5px 1rem 5px 1rem;
  background-color: #FFFFFF;
  color: #001743;
}
.wpcf7-form .selectize-dropdown .option:hover {
  background-color: rgba(255, 255, 255, 0.5);
  color: #FFFFFF;
}
.wpcf7-form .selectize-dropdown .option.selected {
  background-color: rgba(255, 255, 255, 0.6);
  color: #FFFFFF;
}
.wpcf7-form .selectize-dropdown .option.active:not(.selected) {
  background-color: rgba(255, 255, 255, 0.5);
  color: #FFFFFF;
}
.wpcf7-form .selectize-dropdown-content {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.45) rgba(255, 255, 255, 0.1);
}
.wpcf7-form .selectize-dropdown-content::-webkit-scrollbar {
  width: 10px;
}
.wpcf7-form .selectize-dropdown-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 999px;
}
.wpcf7-form .selectize-dropdown-content::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.3));
  border-radius: 999px;
  border: 2px solid rgba(1, 40, 48, 0.35);
}
.wpcf7-form .selectize-dropdown-content::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.45));
}
.wpcf7-form .wpcf7-radio,
.wpcf7-form .wpcf7-checkbox {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  display: inline-block;
  margin: 0;
  width: 100%;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item label,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item [type=checkbox], .wpcf7-form .wpcf7-radio .wpcf7-list-item [type=radio],
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=checkbox],
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=radio] {
  visibility: hidden;
  position: absolute;
  left: -100000px;
  opacity: 0;
  z-index: -10000;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item [type=checkbox]:not(:checked) + .wpcf7-list-item-label:hover, .wpcf7-form .wpcf7-radio .wpcf7-list-item [type=radio]:not(:checked) + .wpcf7-list-item-label:hover,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=checkbox]:not(:checked) + .wpcf7-list-item-label:hover,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=radio]:not(:checked) + .wpcf7-list-item-label:hover {
  color: #001743;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item [type=checkbox]:not(:checked) + .wpcf7-list-item-label:hover:before, .wpcf7-form .wpcf7-radio .wpcf7-list-item [type=radio]:not(:checked) + .wpcf7-list-item-label:hover:before,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=checkbox]:not(:checked) + .wpcf7-list-item-label:hover:before,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=radio]:not(:checked) + .wpcf7-list-item-label:hover:before {
  opacity: 0;
  transform: scale(0.5);
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item [type=checkbox]:not(:checked) + .wpcf7-list-item-label:hover:after, .wpcf7-form .wpcf7-radio .wpcf7-list-item [type=radio]:not(:checked) + .wpcf7-list-item-label:hover:after,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=checkbox]:not(:checked) + .wpcf7-list-item-label:hover:after,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=radio]:not(:checked) + .wpcf7-list-item-label:hover:after {
  transform: scale(1);
  opacity: 1;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label, .wpcf7-form .wpcf7-radio .wpcf7-list-item [type=radio]:checked + .wpcf7-list-item-label,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=radio]:checked + .wpcf7-list-item-label {
  background-color: #FFFFFF;
  color: #001743;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label::before, .wpcf7-form .wpcf7-radio .wpcf7-list-item [type=radio]:checked + .wpcf7-list-item-label::before,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label::before,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=radio]:checked + .wpcf7-list-item-label::before {
  opacity: 0;
  transform: scale(0.5);
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label:after, .wpcf7-form .wpcf7-radio .wpcf7-list-item [type=radio]:checked + .wpcf7-list-item-label:after,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=checkbox]:checked + .wpcf7-list-item-label:after,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item [type=radio]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
  transform: scale(1);
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
  padding: 0.4rem 1rem 0.4rem 2.5rem;
  border-radius: 2rem;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
  font-weight: 400;
  user-select: none;
  cursor: pointer;
  position: relative;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: 5px center;
  transition: all 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label:before,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label:before {
  content: "";
  position: absolute;
  left: 10px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaXJjbGUtaWNvbiBsdWNpZGUtY2lyY2xlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label:after,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  left: 10px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDExNTMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaXJjbGUtY2hlY2staWNvbiBsdWNpZGUtY2lyY2xlLWNoZWNrIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Im05IDEyIDIgMiA0LTQiLz48L3N2Zz4=");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.wpcf7-form .wpcf7-radio .wpcf7-checkbox + .wpcf7-not-valid-tip,
.wpcf7-form .wpcf7-checkbox .wpcf7-checkbox + .wpcf7-not-valid-tip {
  display: none !important;
}
.wpcf7-form .cf-turnstile {
  margin-inline: auto;
}
.wpcf7-form .endForm {
  width: calc(100% - 1.5rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wpcf7-form .submitContainer {
  margin-top: 1rem;
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
}
.wpcf7-form .formBtn {
  padding: 0;
  border-radius: 0;
  background: transparent;
  background-color: transparent;
}
.wpcf7-form .formBtn span {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  padding: 0.75rem 1.5rem 0.6rem 1.5rem;
  display: inline-block;
  font-size: 0.9rem;
  color: #001743;
  cursor: pointer;
  position: relative;
  text-transform: uppercase;
  background-color: #FFFFFF;
  border-radius: 2rem;
  font-weight: 400;
}
.wpcf7-form .formBtn:hover {
  background-color: transparent;
}
.wpcf7-form input[type=submit] {
  visibility: hidden;
  position: absolute;
  right: auto;
  opacity: 0;
  width: 0;
  height: 0;
  z-index: -1000;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: none;
}
.wpcf7-form .wpcf7-not-valid-tip {
  color: #ff9c9c;
  font-size: 0.8rem;
  position: absolute;
  bottom: 6px;
  left: 1.2rem;
  transition: opacity 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
  z-index: 1;
}
.wpcf7-form .wpcf7-spinner {
  position: absolute;
  right: calc(50% - 15.5px);
  top: calc(50% - 15.5px);
  margin: 0;
  width: 31px;
  height: 31px;
  background-color: transparent;
  opacity: 1;
  user-select: none;
  pointer-events: none;
}
.wpcf7-form .wpcf7-spinner:after, .wpcf7-form .wpcf7-spinner:before {
  content: "";
  box-sizing: border-box;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: 50% 50%;
  animation: animloader 2s linear infinite;
}
.wpcf7-form .wpcf7-spinner:after:after, .wpcf7-form .wpcf7-spinner:before:after {
  animation-delay: 1s;
}
@keyframes animloader {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

@media (max-width: 767px) {
  .submitContainer {
    width: 100%;
  }
  .wpcf7-form .formBtn {
    width: 100%;
    text-align: center;
  }
  .wpcf7-form .formBtn .btn, .wpcf7-form .formBtn span {
    width: 100%;
  }
}
/*Acceptance*/
[data-name=rgpd-consent] {
  padding: 0.1rem 0.25rem 0.1rem 0;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0);
  width: 290px;
  max-width: 100%;
  text-align: center;
}

.wpcf7-acceptance {
  display: inline-block;
}
.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
  width: auto;
}
.wpcf7-acceptance .wpcf7-list-item > label {
  cursor: pointer;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  visibility: visible;
  opacity: 1;
  transform: none;
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 6px;
  overflow: hidden;
  transition: all 0.2s ease;
  display: inline-block;
  width: 34px;
  min-width: 34px;
  width: auto !important;
  margin: 0;
  visibility: visible;
  opacity: 1;
  transform: none;
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx:not(:last-child) {
  margin-right: 6px;
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx:hover {
  background: rgba(124, 96, 86, 0.5);
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx:hover span:first-child {
  border-color: #FFFFFF;
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx span {
  float: left;
  vertical-align: middle;
  transform: translate3d(0, 0, 0);
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx span:first-child {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  transform: scale(1);
  border: 1px solid #FFFFFF;
  transition: all 0.2s ease;
  box-shadow: 0 1px 1px rgba(0, 16, 75, 0.05);
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx span:first-child svg {
  position: absolute;
  top: 3px;
  left: 2px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 16px;
  stroke-dashoffset: 16px;
  transition: all 0.3s ease;
  transition-delay: 0.1s;
  transform: translate3d(0, 0, 0);
}
.wpcf7-acceptance .wpcf7-list-item > label .cbx span:last-child {
  padding-left: 8px;
  line-height: 18px;
}
.wpcf7-acceptance .wpcf7-list-item > label .inp-cbx {
  position: absolute;
  visibility: hidden;
  width: 0;
  padding: 0;
  margin: 0;
}
.wpcf7-acceptance .wpcf7-list-item > label .inp-cbx:checked + .wpcf7-list-item-label .cbx span:first-child {
  animation: wave-4 0.4s ease;
  background-color: #001743;
  border-color: #FFFFFF;
}
.wpcf7-acceptance .wpcf7-list-item > label .inp-cbx:checked + .wpcf7-list-item-label .cbx span:first-child svg {
  stroke-dashoffset: 0;
  stroke: #FFFFFF;
}
.wpcf7-acceptance .wpcf7-list-item > label .inline-svg {
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.wpcf7-acceptance .checkbox__text {
  font-size: 0.8rem;
  font-style: italic;
  font-weight: 300;
  text-align: left;
  display: inline-block;
  width: auto;
  text-wrap: balance;
  line-height: 1.2;
}
.wpcf7-acceptance .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  justify-content: center;
}
.wpcf7-acceptance + .wpcf7-not-valid-tip {
  position: initial;
  padding: 2px 2px 2px 5px;
  text-align: center;
}

@keyframes wave-4 {
  50% {
    transform: scale(0.9);
  }
}
.wpcf7 .wpcf7-form {
  position: relative;
}
.wpcf7 .wpcf7-form .wpcf7-response-output {
  margin: 1rem auto;
  padding: 3rem 1rem 2rem 1rem;
  border: none;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  font-size: 1.1rem;
  text-wrap: balance;
  line-height: 1.2;
  width: 600px;
  height: auto;
  max-width: 90%;
  max-height: calc(100dvh - 2rem);
  overflow: hidden;
  bottom: 15%;
  left: 50%;
  z-index: 100;
  background-color: #001743;
  border-radius: 1rem;
  color: #fff;
  box-shadow: 0px 0px 50px -40px #000;
  opacity: 0;
  transform: translate(-50%, 50px);
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.wpcf7 .wpcf7-form .wpcf7-response-output .wpcf7-response-content {
  width: 100%;
  padding: 0 0.5rem;
}
.wpcf7 .wpcf7-form .wpcf7-response-output .wpcf7-response-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 5px;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.3s cubic-bezier(0, 0.07, 0.57, 0.99), border-color 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.wpcf7 .wpcf7-form .wpcf7-response-output .wpcf7-response-close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1px;
  background-color: #FFFFFF;
  transform-origin: center;
  transition: background-color 0.3s cubic-bezier(0, 0.07, 0.57, 0.99);
}
.wpcf7 .wpcf7-form .wpcf7-response-output .wpcf7-response-close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.wpcf7 .wpcf7-form .wpcf7-response-output .wpcf7-response-close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.wpcf7 .wpcf7-form .wpcf7-response-output .wpcf7-response-close:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: #FFFFFF;
}
.wpcf7 .wpcf7-form .wpcf7-response-output p {
  font-size: 0.9rem;
  margin: 0.5rem 0;
  max-width: 46rem;
}
.wpcf7 .wpcf7-form .wpcf7-response-output strong {
  font-size: 1.2rem;
  font-weight: 300;
}
.wpcf7 .wpcf7-form .wpcf7-response-output a {
  font-size: 0.9rem;
  text-decoration: underline;
}
.wpcf7 .wpcf7-form .wpcf7-response-output .btn {
  margin-top: 1rem;
  text-decoration: none;
}
.wpcf7 .wpcf7-form .wpcf7-response-output:before {
  content: "";
  width: 6rem;
  height: 6rem;
  margin-bottom: 1rem;
  background: url("../img/logo.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.wpcf7 .wpcf7-form.validating .wpcf7-response-output {
  display: none;
}
.wpcf7 .wpcf7-form.invalid .wpcf7-response-output {
  color: #fff;
  background-color: #080c17;
}
.wpcf7 .wpcf7-form.invalid .wpcf7-response-output:before {
  background: url("../img/logo.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.wpcf7 .wpcf7-form.sent .wpcf7-response-output:before, .wpcf7 .wpcf7-form.resetting .wpcf7-response-output:before {
  background: url("../img/logo.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (max-width: 767px) {
  .wpcf7 {
    width: 100%;
    max-width: 100%;
  }
  .wpcf7 .wpcf7-form label {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
  .wpcf7 .wpcf7-form .fileUploadContainer {
    margin: 0.75rem 0;
  }
  .wpcf7 .wpcf7-form .selectizeEl {
    margin: 0.75rem 0;
  }
}
@media (max-width: 580px) {
  .wpcf7-form .endForm {
    width: 100%;
  }
  [data-name=rgpd-consent] {
    width: 280px;
  }
  .wpcf7-acceptance .checkbox__text {
    font-size: 0.7rem;
  }
}
@media (max-width: 420px) {
  .wpcf7-form .formBtn span {
    font-size: 0.8rem;
  }
}
footer {
  padding: 4rem 5vw 0 5vw;
  background-color: #001743;
}

.footerContainer {
  display: grid;
  grid-template-columns: minmax(330px, 0.4fr) minmax(400px, 1fr);
  padding: 3rem 3rem 2rem 12rem;
  --mask-tl: 160px;
  --mask-r: 30px;
  border-radius: 0 3rem 0 0;
  overflow: hidden;
  clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% 100%, line to 0 100%, line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
  background-color: #0b2152;
}

.footerLogo {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.footerLogo .logoFooter {
  display: block;
  width: 100px;
}
.footerLogo img {
  display: block;
  width: 100%;
  height: auto;
}

.footerLinks {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
}
.footerLinks a {
  transition: opacity 0.2s cubic-bezier(0, 0.07, 0.57, 0.99);
  color: rgba(255, 255, 255, 0.8);
}
.footerLinks a:hover {
  opacity: 0.72;
}

.footerMentions {
  grid-column: 1/-1;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  width: 100%;
  font-size: 0.85rem;
  line-height: 1.4;
  text-align: center;
}
.footerMentions p {
  margin: 0;
}
.footerMentions a,
.footerMentions button {
  transition: opacity 0.2s cubic-bezier(0, 0.07, 0.57, 0.99);
  background-color: transparent;
  outline: none;
  color: rgba(255, 255, 255, 0.8);
}
.footerMentions a:hover,
.footerMentions button:hover {
  opacity: 0.72;
}

#cmplz-manage-consent, #cmplz-manage-consent .cmplz-manage-consent {
  display: none;
}

.mention_page {
  padding-top: 14rem;
}
.mention_page_inner {
  width: min(980px, 100%);
  margin: 0 auto;
}
.mention_page_inner_content {
  color: rgba(255, 255, 255, 0.86);
  line-height: 1.7;
}
.mention_page_inner_content h1 {
  font-size: clamp(1.4rem, 2vw, 2rem);
  margin-bottom: 2rem;
  color: #FFFFFF;
  font-weight: 500;
  text-transform: uppercase;
}
.mention_page_inner_content h2,
.mention_page_inner_content h3,
.mention_page_inner_content h4 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  color: #FFFFFF;
  font-weight: 500;
  text-transform: uppercase;
}
.mention_page_inner_content h2 {
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  letter-spacing: 0.16rem;
}
.mention_page_inner_content h3,
.mention_page_inner_content h4 {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  letter-spacing: 0.1rem;
}
.mention_page_inner_content p,
.mention_page_inner_content ul,
.mention_page_inner_content ol {
  margin-bottom: 1.25rem;
}
.mention_page_inner_content li {
  margin-bottom: 0.65rem;
}
.mention_page_inner_content a {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}
.mention_page_inner_content strong {
  color: #FFFFFF;
  font-weight: 500;
}
.mention_page_inner_content table {
  width: 100%;
  color: #FFFFFF !important;
  background-color: #5b6b94 !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  border-collapse: collapse;
}
.mention_page_inner_content table thead,
.mention_page_inner_content table tbody,
.mention_page_inner_content table tfoot,
.mention_page_inner_content table tr {
  color: #FFFFFF !important;
  background-color: #5b6b94 !important;
}
.mention_page_inner_content table th,
.mention_page_inner_content table td {
  color: #FFFFFF !important;
  background-color: #5b6b94 !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}
.mention_page_inner_content table th,
.mention_page_inner_content table td,
.mention_page_inner_content table th *,
.mention_page_inner_content table td * {
  color: #FFFFFF !important;
  background-color: transparent !important;
}

#cmplz-document a[target=_blank]::after, .editor-styles-wrapper .cmplz-unlinked-mode a[target=_blank]::after {
  filter: invert(1);
}

#cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose .name-header, #cmplz-document .cmplz-dropdown .cookies-per-purpose .name-header, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose .name-header, #cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose .retention-header, #cmplz-document .cmplz-dropdown .cookies-per-purpose .retention-header, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose .retention-header, #cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose .function-header, #cmplz-document .cmplz-dropdown .cookies-per-purpose .function-header, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose .function-header {
  background-color: #253875;
}

#cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose div, #cmplz-document .cmplz-dropdown .cookies-per-purpose div, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose div {
  background-color: #253875;
}

@media (max-width: 1200px) {
  .page-mentions .logo {
    left: 2rem;
    top: 2rem;
  }
}
@media (max-width: 767px) {
  .mention_page {
    padding-top: 8rem;
  }
  .mention_page_inner_content {
    margin-bottom: 0;
  }
}
.notfound_page {
  min-height: 60vh;
  padding-top: 10rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  text-align: center;
}
.notfound_page_inner {
  max-width: 100%;
}

.notfound_content {
  width: 700px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(1rem, 2vw, 1.5rem);
  max-width: 100%;
}
.notfound_content .title {
  margin: 0;
  text-align: center;
  align-items: center;
}
.notfound_content .text {
  max-width: 100%;
}
.notfound_content .text p {
  margin: 0;
  line-height: 1.6;
}

.notfound_code {
  color: #FFFFFF;
  font-size: clamp(4rem, 12vw, 9rem);
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: 0.2rem;
}

.notfound_actions {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.5rem;
}

.notFound footer {
  background-color: transparent;
}

@media (max-width: 1200px) {
  .notFound .logo {
    left: 2rem;
    top: 2rem;
  }
}
@media (max-width: 767px) {
  .notfound_actions {
    width: 100%;
  }
  .notfound_actions .btn {
    width: 100%;
  }
}
.usageSection {
  min-height: 60vh;
  padding-top: 10rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  text-align: center;
}
.usageSection_inner {
  max-width: 100%;
}
.usageSection_inner_content {
  width: 700px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(1rem, 2vw, 1.5rem);
  max-width: 100%;
}
.usageSection_inner_content .title {
  margin: 0;
  text-align: center;
  align-items: center;
  font-size: clamp(2.5rem, 5vw, 5rem);
}
.usageSection_inner_content .title span {
  font-size: 1rem;
}
.usageSection_inner_content .text {
  max-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
.usageSection_inner_content .text p {
  margin: 0.2rem 0;
  line-height: 1.6;
}
.usageSection_inner_content .usageSection_file {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: 1px solid #FFFFFF;
  padding: 2rem;
  gap: 0.5rem;
  border-radius: 0.5rem;
  background-color: rgba(255, 255, 255, 0);
  position: relative;
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.usageSection_inner_content .usageSection_file em {
  text-transform: uppercase;
  font-size: 0.8rem;
  font-weight: bold;
}
.usageSection_inner_content .usageSection_file:before {
  content: "";
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1kb3dubG9hZCBwcmV2aWV3LWljb24iPjxwYXRoIGQ9Ik0xMiAxNVYzIi8+PHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLz48cGF0aCBkPSJtNyAxMCA1IDUgNS01Ii8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.usageSection_inner_content .usageSection_file:hover {
  transform: scale(1.05);
  background-color: rgba(255, 255, 255, 0.3);
}

.page-simair footer {
  background-color: transparent;
}

@media (max-width: 1200px) {
  .page-simair .logo {
    left: 2rem;
    top: 2rem;
  }
}
@media (max-width: 1599px) {
  .logo {
    width: 135px;
    left: 3rem;
    top: calc(100% - 2rem);
  }
  header {
    padding: 1rem calc(5vw + 30px) 1rem 5vw;
  }
  .hero_inner_barTop {
    right: 30px;
  }
  .hero_inner.hasVisualsGrid {
    grid-template-columns: auto minmax(590px, 1fr);
    gap: 0;
  }
  .knowHow_inner, .products_inner, .devlopment_inner {
    grid-template-columns: minmax(400px, 0.45fr) minmax(500px, 0.55fr);
  }
  .products_bg {
    right: -20vw;
    top: -15vw;
  }
  .metallicSolutions .products_bg picture {
    opacity: 0.5;
  }
  .refLogosSwiper_slide {
    width: 170px;
    height: 170px;
  }
}
@media (max-width: 1500px) {
  .page-accueil .hero_inner_content, .page-references .hero_inner_content {
    min-height: 630px;
  }
  .groupKeys_bg {
    top: 0;
  }
  .groupKeys_bg picture {
    width: 900px;
    margin-inline: 0;
    margin-left: 30%;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 200px);
    grid-template-rows: 200px 200px;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide {
    grid-area: initial;
  }
  .groupKeysFull_bg picture {
    opacity: 0.35;
  }
  .activityMarketsSwiper_slide_content {
    padding: 0 1.5rem;
  }
}
@media (max-width: 1400px) {
  .page-accueil .hero_inner_content, .page-references .hero_inner_content {
    min-height: 580px;
  }
  .hero_inner.hasVisualsGrid {
    grid-template-columns: auto minmax(540px, 1fr);
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 160px);
    grid-template-rows: 160px 160px;
    gap: 1.5rem;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide {
    width: 160px;
    height: 160px;
    padding: 1.1rem;
  }
  .groupKeysFullSwiper_slide {
    gap: 1rem;
  }
  .groupKeysFullSwiper_slide_picto {
    width: 30px;
    height: 30px;
  }
  .groupKeysFullSwiper_slide span {
    font-size: clamp(1.5rem, 2vw, 2rem);
  }
  .knowHow_bg, .products_bg, .devlopment_bg {
    width: 100%;
    height: 100vh;
    top: -5rem;
  }
  .knowHow_inner, .products_inner, .devlopment_inner {
    grid-template-columns: minmax(370px, 0.45fr) minmax(450px, 0.55fr);
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .knowHow_inner .maskIt.flip, .products_inner .maskIt.flip, .devlopment_inner .maskIt.flip {
      --mask-tr: 60px;
      --mask-bl: 100px;
      border-radius: 1rem;
    }
  }
  .knowHow_inner_contentMore, .products_inner_contentMore, .devlopment_inner_contentMore {
    padding-left: 100px;
  }
  .globalPresence {
    padding-left: 0;
    padding-right: 0;
  }
  .refLogosSwiper_slide {
    width: 150px;
    height: 150px;
  }
  .siteContent_inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .kpiSwiper:not(.swiper-initialized) .swiper-wrapper {
    grid-template-columns: repeat(3, 160px);
  }
  .footerContainer {
    gap: 2rem 1rem;
  }
}
@media (max-width: 1200px) {
  body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -100;
    background: rgba(8, 12, 23, 0.8);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  body.menuOpen:before {
    opacity: 1;
    z-index: 9;
  }
  body.menuOpen .logo {
    opacity: 0.2 !important;
  }
  header {
    position: absolute;
  }
  .logo {
    width: 90px;
    left: 7rem;
    top: calc(100% + 2rem);
    transition: opacity 0.3s ease;
  }
  .header_menu {
    z-index: 10;
    height: 100vh;
    height: 100dvh;
    width: 400px;
    position: fixed;
    top: 0;
    right: 0;
    background: radial-gradient(circle at 0% 0%, rgba(0, 23, 67, 0.5) -10%, transparent 40%), radial-gradient(circle at 100% 100%, rgba(0, 23, 67, 0.5) -10%, transparent 20%), radial-gradient(circle at 100% 0%, rgba(68, 188, 237, 0.4) -60%, transparent 60%), linear-gradient(0deg, #253875 0%, #253875 100%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 2rem;
    display: none;
    box-shadow: -12px 0 36px rgba(0, 0, 0, 0.25);
  }
  .nav-primary {
    margin: 0;
  }
  .nav-menu {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    gap: 1.5rem;
  }
  .nav-menu li#menu-item-445 {
    display: flex;
  }
  .nav-menu a:before {
    left: 0;
  }
  .header_menu_links {
    min-width: 1px;
    height: auto;
    padding: 0;
    margin-bottom: 0.75rem;
  }
  .header_menu_links .quickContact {
    display: none;
  }
  .header_menu_links .langSelector {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.5rem;
    font-weight: 500;
  }
  .header_menu_links .langSelector:before {
    content: "";
    width: 1rem;
    height: 1rem;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1nbG9iZSBwcmV2aWV3LWljb24iPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBhdGggZD0iTTEyIDJhMTQuNSAxNC41IDAgMCAwIDAgMjAgMTQuNSAxNC41IDAgMCAwIDAtMjAiLz48cGF0aCBkPSJNMiAxMmgyMCIvPjwvc3ZnPg==");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .header_menu_links .header_menu_links_separator {
    display: none;
  }
  .header_menu_links svg {
    display: none;
  }
  .btnMenu {
    display: flex;
  }
  .btnMenu.is-relocated {
    right: 1rem;
    transform: translateY(-150%);
  }
  .hero {
    margin-top: 2rem;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .hero_inner {
      --mask-tl: 70px;
      --mask-br: 70px;
      border-radius: 1rem;
    }
  }
  .hero_inner_barTop {
    right: 60px;
  }
  .hero_inner_barLeft {
    top: 160px;
  }
  .hero_inner_visual {
    opacity: 0.5;
  }
  .hero_inner.hasVisualsGrid {
    grid-template-columns: auto minmax(400px, 1fr);
  }
  .hero_inner_visuals {
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
    position: relative;
    height: calc(100% - 10rem);
    width: calc(100% - 4rem);
    justify-self: center;
    align-self: end;
    margin-bottom: 2rem;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .hero_inner_visuals {
      --mask-tl: 100px;
      --mask-br: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% calc(100% - var(--mask-br) - var(--mask-r)), curve to calc(100% - var(--mask-r)) calc(100% - var(--mask-br) + var(--mask-r)) with 100% calc(100% - var(--mask-br)), line to calc(100% - var(--mask-br) + var(--mask-r)) calc(100% - var(--mask-r)), curve to calc(100% - var(--mask-br) - var(--mask-r)) 100% with calc(100% - var(--mask-br)) 100%, line to 0 100%, line to 0 calc(var(--mask-tl) + var(--mask-r)), curve to var(--mask-r) calc(var(--mask-tl) - var(--mask-r)) with 0 var(--mask-tl), line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
    }
  }
  .hero_inner_visuals .hexagoneClip {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    aspect-ratio: initial;
    opacity: 0;
    clip-path: none;
  }
  .hero_inner_visuals .hexagoneClip:first-child {
    position: initial;
    opacity: 1;
  }
  .page-accueil .hero_inner_content .text, .page-accueil .hero_inner_content .btn, .page-references .hero_inner_content .text, .page-references .hero_inner_content .btn {
    margin-left: 0;
  }
  .groupKeys_numbers_grid {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    justify-content: center;
  }
  .groupKeys_numbers_grid_item.normes {
    order: initial;
    margin-right: 0;
  }
  .swiperPrograms_slide_visual {
    height: 450px;
  }
  .ambitions {
    padding-top: 0;
  }
  .activityMarketsSwiper_slide_content {
    padding: 1rem;
    margin-top: 0;
  }
  .activityMarketsSwiper_slide_content h3 {
    margin-top: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: clamp(1.4rem, 2vw, 2rem);
  }
  .activityMarketsSwiper_slide_content p {
    margin-left: 1rem;
    margin-top: 0.4rem;
  }
  .refLogosSwiper {
    overflow: visible;
  }
  .refLogosSwiper_slide {
    width: 200px;
    height: 200px;
  }
  .singleHero .hero_inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
  }
  .singleHero .hero_inner_content {
    padding: 8rem 2.5rem 2rem 2.5rem;
    align-items: center;
  }
  .singleHero .hero_inner_content .title {
    align-items: center;
    text-align: center;
  }
  .singleHero .hero_inner_site {
    padding: 1rem;
    grid-template-columns: repeat(2, 1fr);
    text-align: center;
  }
  .hero_inner_site_marches {
    border-left: none;
  }
  .siteContent_inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .siteContent_inner_kpis {
    width: 100%;
    min-width: 0;
  }
  .kpiSwiper {
    overflow: visible;
  }
  .kpiSwiper_slide {
    width: 160px;
    height: 160px;
    aspect-ratio: 1/1;
  }
  .kpiSwiper_slide .clipSquare {
    width: 100%;
    height: 100%;
  }
  .siteContent_inner_details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: min(650px, 100%);
    margin-inline: auto;
  }
  .siteContent_inner_details_btn {
    grid-column: 1/-1;
  }
  footer {
    padding-bottom: 3rem;
  }
  .footerContainer {
    padding: 2rem 5vw;
    border-radius: 2rem;
    clip-path: none;
  }
}
@media (max-width: 1024px) {
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 160px);
    grid-template-rows: 160px 160px 160px;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(3) {
    grid-area: 2/1/3/2;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(4) {
    grid-area: 2/2/3/3;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(5) {
    grid-area: 2/3/3/4;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(6) {
    grid-area: 2/4/3/5;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(7) {
    grid-area: 3/2/4/3;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(8) {
    grid-area: 3/3/4/4;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide:nth-child(9) {
    grid-area: 3/4/4/5;
  }
}
@media (max-width: 991px) {
  .home_hero_after {
    padding: 0;
    margin-top: -15vw;
  }
  .hero_inner.hasVisualsGrid {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero_inner.hasVisualsGrid .hero_inner_content {
    padding: 10rem calc(5vw + 1rem) 2rem;
  }
  .hero_inner_visuals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    gap: 1rem;
    padding: 0 calc(5vw + 1rem);
    width: 100%;
    height: auto;
    clip-path: none;
    margin-bottom: 4rem;
  }
  .hero_inner_visuals .hexagoneClip {
    position: initial;
    aspect-ratio: 1/1;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .hero_inner_visuals .hexagoneClip {
      --mask-tr: 100px;
      --mask-bl: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from 0 0, line to calc(100% - var(--mask-tr) - var(--mask-r)) 0, curve to calc(100% - var(--mask-tr) + var(--mask-r)) var(--mask-r) with calc(100% - var(--mask-tr)) 0, line to calc(100% - var(--mask-r)) calc(var(--mask-tr) - var(--mask-r)), curve to 100% calc(var(--mask-tr) + var(--mask-r)) with 100% var(--mask-tr), line to 100% 100%, line to calc(var(--mask-bl) + var(--mask-r)) 100%, curve to calc(var(--mask-bl) - var(--mask-r)) calc(100% - var(--mask-r)) with var(--mask-bl) 100%, line to var(--mask-r) calc(100% - var(--mask-bl) + var(--mask-r)), curve to 0 calc(100% - var(--mask-bl) - var(--mask-r)) with 0 calc(100% - var(--mask-bl)), line to 0 0, close);
      --mask-tr: 40px;
      --mask-bl: 40px;
      border-radius: 1rem;
    }
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .hero_inner_visuals .hexagoneClip:nth-child(2), .hero_inner_visuals .hexagoneClip:nth-child(3) {
      --mask-tl: 100px;
      --mask-br: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% calc(100% - var(--mask-br) - var(--mask-r)), curve to calc(100% - var(--mask-r)) calc(100% - var(--mask-br) + var(--mask-r)) with 100% calc(100% - var(--mask-br)), line to calc(100% - var(--mask-br) + var(--mask-r)) calc(100% - var(--mask-r)), curve to calc(100% - var(--mask-br) - var(--mask-r)) 100% with calc(100% - var(--mask-br)) 100%, line to 0 100%, line to 0 calc(var(--mask-tl) + var(--mask-r)), curve to var(--mask-r) calc(var(--mask-tl) - var(--mask-r)) with 0 var(--mask-tl), line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
      --mask-tl: 40px;
      --mask-br: 40px;
      border-radius: 1rem;
    }
  }
  .MSIntro {
    margin-top: -15vw;
  }
  .MSIntro_inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .MSIntro_inner_content .btn {
    margin-left: -4rem;
  }
  .MSIntro_inner_content {
    padding: 7rem 0 0 0;
  }
  .MSIntro_inner_content_logo {
    width: 6rem;
    height: 11rem;
    position: absolute;
    top: -7rem;
    left: -3rem;
  }
  .MSIntro_inner_content_logo_bar {
    top: 6rem;
    height: 7rem;
  }
  .MSIntro_inner_content_logo picture {
    height: 5rem;
    width: 6rem;
  }
  .CIIntro {
    background-color: #080c17;
  }
  .CIIntro_bg {
    opacity: 0.4;
  }
  .CIIntro_inner {
    grid-template-columns: repeat(2, 1fr);
  }
  .CIIntro_inner_content .btn {
    margin-right: -4rem;
  }
  .CIIntro_inner_content {
    padding: 8rem 0 0 0;
  }
  .CIIntro_inner_content_logo {
    width: 6rem;
    height: 10rem;
    position: absolute;
    top: -4rem;
    right: -3rem;
  }
  .CIIntro_inner_content_logo_bar {
    top: 6rem;
    height: 5rem;
  }
  .CIIntro_inner_content_logo picture {
    height: 5rem;
    width: 6rem;
  }
  .groupKeys {
    background: #001743;
  }
  .groupKeys_bg {
    top: 15vw;
  }
  .groupKeys_bg picture {
    align-items: flex-start;
    max-width: 90%;
  }
  .groupKeys_numbers_grid {
    display: grid;
    grid-template-columns: repeat(2, 200px);
  }
  .earthSpace {
    margin-top: -35vw;
    position: relative;
    background-color: #001743;
  }
  .earthSpace:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(0deg, #001743 0%, rgba(0, 23, 67, 0) 15%);
  }
  .programs_inner {
    margin-top: -35vw;
  }
  .swiperPrograms_slide_visual {
    height: auto;
  }
  .swiperPrograms_slide_visual .maskIt.reverse {
    --mask-tr: 60px;
    --mask-bl: 30px;
    border-radius: 1rem;
  }
  .swiperPrograms_slide_content {
    padding: 1rem 1rem 1rem 30px;
  }
  .swiperPrograms_slide.ms .swiperPrograms_slide_visual:before {
    left: 30px;
  }
  .swiperPrograms_slide.ci.ms .swiperPrograms_slide_visual:after {
    left: 80px;
  }
  .groupKeysFull_bg {
    top: 0;
    height: 900px;
    width: 120%;
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 160px);
  }
  .groupKeysFullSwiper:not(.swiper-initialized) .swiper-wrapper .groupKeysFullSwiper_slide {
    grid-area: initial !important;
  }
  .groupForce_inner_grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 1rem 0 0 0;
  }
  .groupForce_inner_grid_item.isTitle h3 {
    font-size: clamp(1.5rem, 1.8vw, 2rem);
  }
  .groupForce_inner_grid > .isTitle {
    padding: 2rem 0;
  }
  .groupForce_inner_grid > .isTitle:nth-child(3) {
    grid-area: 1/1/2/5;
  }
  .groupForce_inner_grid > div:nth-child(1) {
    grid-area: 2/1/3/2;
  }
  .groupForce_inner_grid > div:nth-child(2) {
    grid-area: 2/2/3/3;
  }
  .groupForce_inner_grid > div:nth-child(4) {
    grid-area: 2/3/3/4;
  }
  .groupForce_inner_grid > div:nth-child(5) {
    grid-area: 2/4/3/5;
  }
  .groupForce_inner_grid > .isTitle:nth-child(8) {
    grid-area: 3/1/4/5;
  }
  .groupForce_inner_grid > div:nth-child(6) {
    grid-area: 4/1/5/2;
  }
  .groupForce_inner_grid > div:nth-child(7) {
    grid-area: 4/2/5/3;
  }
  .groupForce_inner_grid > div:nth-child(9) {
    grid-area: 4/3/5/4;
  }
  .groupForce_inner_grid > div:nth-child(10) {
    grid-area: 4/4/5/5;
  }
  .groupForce_inner_grid > .isTitle:nth-child(13) {
    grid-area: 5/1/6/5;
  }
  .groupForce_inner_grid > div:nth-child(11) {
    grid-area: 6/1/7/2;
  }
  .groupForce_inner_grid > div:nth-child(12) {
    grid-area: 6/2/7/3;
  }
  .groupForce_inner_grid > div:nth-child(14) {
    grid-area: 6/3/7/4;
  }
  .groupForce_inner_grid > div:nth-child(15) {
    grid-area: 6/4/7/5;
  }
  .groupForce_inner_grid > div:nth-child(16) {
    grid-area: 7/1/8/3;
    padding-top: 1rem;
  }
  .groupForce_inner_grid > div:nth-child(17) {
    grid-area: 7/3/8/5;
    padding-top: 1rem;
  }
  .groupOperations_inner, .engagmentsRse_inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    width: min(635px, 100%);
  }
  .groupOperations_inner_content, .engagmentsRse_inner_content {
    text-align: center;
  }
  .groupOperations_inner_content .title, .engagmentsRse_inner_content .title {
    align-items: center;
    text-align: center;
  }
  .groupOperations_inner_content .text, .engagmentsRse_inner_content .text {
    text-wrap: balance;
  }
  .groupOperations_inner_content ul, .engagmentsRse_inner_content ul {
    list-style: none;
    padding-left: 0;
  }
  .groupOperations_inner_content ul li, .engagmentsRse_inner_content ul li {
    align-items: center;
    justify-content: center;
  }
  .groupOperations_inner_content_investments ul, .engagmentsRse_inner_content_investments ul {
    padding-left: 0;
    list-style: none;
  }
  .groupOperations_inner_labels {
    grid-template-columns: repeat(3, 1fr);
    align-content: center;
  }
  .groupOperations_inner_labels_item:first-child {
    grid-column: auto;
  }
  .groupOperations_inner_labels .clipSquare {
    aspect-ratio: 1/1;
    width: 100%;
    height: auto;
  }
  .engagmentsRse {
    padding-top: 0;
    margin-top: 0;
    padding-bottom: 30rem;
  }
  .engagmentsRse .rowCenter {
    margin-bottom: 1rem;
  }
  .engagmentsRse_bg {
    inset: auto;
    width: 100%;
    left: 0;
    bottom: 20%;
  }
  .engagmentsRse_inner_labels {
    grid-template-columns: repeat(4, 1fr);
    align-content: center;
  }
  .engagmentsRse_inner_labels .clipSquare {
    aspect-ratio: 1/1;
    width: 100%;
    height: auto;
  }
  .knowHow_bg, .products_bg, .devlopment_bg {
    top: 0;
  }
  .knowHow_bg picture, .products_bg picture, .devlopment_bg picture {
    opacity: 0.7;
  }
  .knowHow_inner, .products_inner, .devlopment_inner {
    grid-template-columns: minmax(270px, 0.4fr) minmax(380px, 0.6fr);
  }
  .knowHow_inner_visual, .products_inner_visual, .devlopment_inner_visual {
    height: auto;
    max-height: 360px;
  }
  .knowHow_inner .maskIt.flip, .products_inner .maskIt.flip, .devlopment_inner .maskIt.flip {
    --mask-tr: 40px;
    --mask-bl: 60px;
    border-radius: 1rem;
  }
  .knowHow_inner_contentMore, .products_inner_contentMore, .devlopment_inner_contentMore {
    padding-left: 0;
  }
  .products_bg {
    right: -45vw;
  }
  .cabinInterior .products_bg {
    height: 100vh;
    right: -25vw;
  }
  .ambitionsSwiper_slide_number .maskIt {
    --mask-tr: 40px;
    --mask-bl: 20px;
    --mask-r: 5px;
  }
  .ambitionsSwiper_slide_number span {
    right: calc(25% - 2.5rem);
  }
  .globalPresence {
    padding-left: calc(5vw + 1rem);
    padding-right: calc(5vw + 1rem);
  }
  .globalPresence_inner_map {
    margin-top: 2rem;
  }
  .globalPresence_inner_map picture {
    display: none;
  }
  .interactiveMapItems {
    position: initial;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    inset: auto;
  }
  .interactiveMapItems_modal {
    position: initial;
    opacity: 1;
    visibility: visible;
    background-color: transparent;
    clip-path: none;
    justify-content: center;
    width: 100%;
    padding: 2rem;
    min-height: 270px;
    background-color: #223160;
    pointer-events: auto;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .interactiveMapItems_modal {
      --mask-tr: 100px;
      --mask-bl: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from 0 0, line to calc(100% - var(--mask-tr) - var(--mask-r)) 0, curve to calc(100% - var(--mask-tr) + var(--mask-r)) var(--mask-r) with calc(100% - var(--mask-tr)) 0, line to calc(100% - var(--mask-r)) calc(var(--mask-tr) - var(--mask-r)), curve to 100% calc(var(--mask-tr) + var(--mask-r)) with 100% var(--mask-tr), line to 100% 100%, line to calc(var(--mask-bl) + var(--mask-r)) 100%, curve to calc(var(--mask-bl) - var(--mask-r)) calc(100% - var(--mask-r)) with var(--mask-bl) 100%, line to var(--mask-r) calc(100% - var(--mask-bl) + var(--mask-r)), curve to 0 calc(100% - var(--mask-bl) - var(--mask-r)) with 0 calc(100% - var(--mask-bl)), line to 0 0, close);
    }
  }
  .interactiveMapItems_modal {
    --mask-tr: 40px;
    --mask-bl: 20px;
    --mask-r: 5px;
    border-radius: 1rem;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .interactiveMapItems_modal:nth-child(odd) {
      --mask-tl: 100px;
      --mask-br: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% calc(100% - var(--mask-br) - var(--mask-r)), curve to calc(100% - var(--mask-r)) calc(100% - var(--mask-br) + var(--mask-r)) with 100% calc(100% - var(--mask-br)), line to calc(100% - var(--mask-br) + var(--mask-r)) calc(100% - var(--mask-r)), curve to calc(100% - var(--mask-br) - var(--mask-r)) 100% with calc(100% - var(--mask-br)) 100%, line to 0 100%, line to 0 calc(var(--mask-tl) + var(--mask-r)), curve to var(--mask-r) calc(var(--mask-tl) - var(--mask-r)) with 0 var(--mask-tl), line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
    }
  }
  .interactiveMapItems_modal:nth-child(odd) {
    --mask-tl: 40px;
    --mask-br: 20px;
    --mask-r: 5px;
    border-radius: 1rem;
  }
  .interactiveMapItems_modal_title {
    display: block;
  }
  .interactiveMapItems_modal_title span {
    margin-top: 0.4rem;
    display: inline-block;
  }
  .interactiveMapItems_modal_content {
    padding-left: 1rem;
    margin-top: 1rem;
  }
  .interactiveMapItems_modal_content a {
    font-size: 1rem;
    margin-top: 0.75rem;
  }
  .interactiveMapItems svg {
    display: none;
  }
  .cabinInterior .interactiveMapItems_modal {
    background-color: #0f1523;
  }
  .globalPresence .interactiveMapItems {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .listeSiteFull {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 0 1.5rem;
    width: min(100%, 1000px);
    margin-inline: auto;
  }
  .listeSiteFull_item {
    position: relative;
    width: 100%;
    min-height: 76px;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 0 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    color: inherit;
    text-decoration: none;
  }
  .listeSiteFull_item.ms .listeSiteFull_item_arrow svg {
    stroke: #44bced;
  }
  .listeSiteFull_item.ci .listeSiteFull_item_arrow svg {
    stroke: #9f7e58;
  }
  .listeSiteFull_item:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
  }
  .listeSiteFull_item h3 {
    margin: 0;
    font-size: clamp(1rem, 1.4vw, 1.25rem);
    text-transform: uppercase;
    font-weight: bold;
  }
  .listeSiteFull_item p {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
    line-height: 1.4;
  }
  .listeSiteFull_item_spec {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    width: 50px;
    gap: 4px;
  }
  .listeSiteFull_item_spec_item {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
  }
  .listeSiteFull_item_spec img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .listeSiteFull_item_title {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  .listeSiteFull_item_arrow {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    display: block;
    width: 20px;
    height: 20px;
  }
  .listeSiteFull_item_arrow svg {
    width: 20px;
    height: 20px;
    display: block;
  }
  .devlopment {
    padding-top: 3rem;
    margin-top: 0;
    background: linear-gradient(0deg, #001743 50%, rgba(0, 23, 67, 0) 98%);
  }
  .endActivity {
    margin-top: -50vw;
  }
  .page-activite .cabinInterior footer, .page-activite .metallicSolutions footer {
    margin-top: -20vw;
  }
  .page-references .hero_inner_visual {
    opacity: 0.3;
    width: 700px;
    max-width: 90%;
    inset: initial;
    right: 0;
    top: 0;
  }
  .footerContainer {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
  }
  .footerLogo {
    flex-direction: column;
    align-items: center;
  }
  .footerLinks {
    justify-content: center;
  }
  .footerMentions {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }
}
@media (max-width: 767px) {
  .listeSiteFull {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .logo {
    width: 80px;
    left: 4rem;
    top: calc(100% + 2rem);
  }
  .btnMenu {
    right: calc(5vw + 1.5rem);
  }
  .hero {
    margin-top: 5vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .page-accueil .hero_inner_content, .page-references .hero_inner_content {
    padding: 8rem 2.5rem 2rem 2.5rem;
    min-height: 500px;
  }
  .hero_inner_content {
    padding: 8rem 2.5rem 2rem 2.5rem;
  }
  .hero_inner.hasVisualsGrid .hero_inner_content {
    padding: 8rem 2.5rem 2rem 2.5rem;
  }
  .hero_inner_barLeft {
    left: -7px;
    top: 120px;
  }
  .hero_inner_barLeft div:nth-child(n+10) {
    display: none;
  }
  .hero_inner_barTop {
    top: -7px;
    right: -60px;
  }
  .hero_inner_barTop div:nth-child(n+10) {
    display: none;
  }
  .home_hero_after {
    margin-top: -7vw;
  }
  .MSIntro_inner, .CIIntro_inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .MSIntro_inner_content, .CIIntro_inner_content {
    order: 1;
    padding: 0;
    width: 500px;
    max-width: 100%;
    margin-inline: auto;
  }
  .MSIntro_inner_content_logo, .CIIntro_inner_content_logo {
    display: none;
  }
  .MSIntro_inner_content .text, .CIIntro_inner_content .text {
    padding: 0;
  }
  .MSIntro_inner_content .btn, .CIIntro_inner_content .btn {
    margin-left: 0;
    margin-right: 0;
  }
  .MSIntro_inner_content_ul_bar, .CIIntro_inner_content_ul_bar {
    display: none;
  }
  .MSIntro_inner_visual, .CIIntro_inner_visual {
    display: none;
  }
  .MSIntro_inner_content .title {
    padding-left: 5rem;
  }
  .MSIntro_inner_content .title:before {
    content: "";
    width: 4rem;
    height: 3rem;
    background-image: url("../img/logo-metallic-solutions.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
  }
  .MSIntro_inner_content .text {
    padding: 0;
  }
  .MSIntro_inner_content .btn {
    margin-top: -4rem;
    margin-left: 45%;
    margin-right: 0;
  }
  .CIIntro_bg {
    opacity: 0.2;
  }
  .CIIntro_inner_content .title {
    padding-right: 5rem;
  }
  .CIIntro_inner_content .title:before {
    content: "";
    width: 4rem;
    height: 3rem;
    background-image: url("../img/logo-cabin-interior.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    right: 0;
  }
  .CIIntro_inner_content .text {
    padding: 0;
  }
  .CIIntro_inner_content .btn {
    margin-top: -4rem;
    margin-right: 50%;
    margin-left: 0;
  }
  .groupKeys_bg {
    display: none;
  }
  .groupKeys_inner {
    gap: 3rem;
  }
  .groupKeysFullSwiper {
    overflow: visible;
  }
  .groupKeysFullSwiper .groupKeysFullSwiper_slide {
    width: 160px;
    height: 160px;
    padding: 1rem;
  }
  .groupForce_inner_logos {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: clamp(1.25rem, 5vw, 2rem);
    padding: 0;
  }
  .groupForce_inner_logos .linearStroke {
    display: none;
  }
  .groupForce_inner_logos_item.GP {
    order: 1;
  }
  .groupForce_inner_logos_item.MS {
    order: 2;
  }
  .groupForce_inner_logos_item.CI {
    order: 3;
  }
  .groupForce_inner_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1rem auto 0 auto;
    width: 100%;
  }
  .groupForce_inner_grid > div:nth-child(1) {
    grid-area: 2/1/3/2 !important;
  }
  .groupForce_inner_grid > div:nth-child(2) {
    grid-area: 2/2/3/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(3) {
    grid-area: 1/1/2/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(4) {
    grid-area: 3/1/4/2 !important;
  }
  .groupForce_inner_grid > div:nth-child(5) {
    grid-area: 3/2/4/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(6) {
    grid-area: 5/1/6/2 !important;
  }
  .groupForce_inner_grid > div:nth-child(7) {
    grid-area: 5/2/6/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(8) {
    grid-area: 4/1/5/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(9) {
    grid-area: 6/1/7/2 !important;
  }
  .groupForce_inner_grid > div:nth-child(10) {
    grid-area: 6/2/7/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(11) {
    grid-area: 8/1/9/2 !important;
  }
  .groupForce_inner_grid > div:nth-child(12) {
    grid-area: 8/2/9/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(13) {
    grid-area: 7/1/8/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(14) {
    grid-area: 9/1/10/2 !important;
  }
  .groupForce_inner_grid > div:nth-child(15) {
    grid-area: 9/2/10/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(16) {
    grid-area: 10/1/11/3 !important;
  }
  .groupForce_inner_grid > div:nth-child(17) {
    grid-area: 11/1/12/3 !important;
  }
  .engagmentsRse_bg {
    width: 900px;
    left: calc(50% - 450px);
  }
  .engagmentsRse_inner_labels {
    width: min(500px, 100%);
    margin-inline: auto;
    grid-template-columns: repeat(2, 1fr);
  }
  .activityKeysSwiper.swiper-initialized .activityKeysSwiper_slide {
    width: 160px;
  }
  .knowHow_bg, .products_bg, .devlopment_bg {
    top: auto;
    bottom: 0;
    width: 520px;
  }
  .knowHow_bg picture, .products_bg picture, .devlopment_bg picture {
    align-items: flex-end;
  }
  .knowHow_inner, .products_inner, .devlopment_inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .knowHow_inner_visual, .products_inner_visual, .devlopment_inner_visual {
    max-height: initial;
  }
  .products_bg {
    right: -25vw;
  }
  .activityMarkets_inner_swiper {
    margin-top: 1rem;
  }
  .ambitions_inner_swiper {
    margin-top: 1rem;
  }
  .ambitionsSwiper_slide_number span {
    right: calc(25% - 3.5rem);
    font-size: 3rem;
  }
  .contactHero .hero_inner {
    flex-direction: column;
    align-items: center;
  }
  .contactHero .hero_inner_contact {
    padding: 0 2.5rem 2rem 2.5rem;
  }
  .contactHero .hero_inner_contact_adress {
    border-left: none;
    padding: 0 0;
    text-align: center;
  }
}
@media (max-width: 580px) {
  .hero {
    filter: none;
  }
  .header_menu {
    background: #253875;
  }
  .nav-menu a {
    font-size: 1.1rem;
  }
  .MSIntro_inner_content .text {
    padding: 0 0 0 5rem;
  }
  .MSIntro_inner_content .btn {
    margin-top: 0;
    margin-left: 5rem;
    margin-right: 0;
  }
  .CIIntro {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .CIIntro_bg {
    opacity: 0.6;
  }
  .CIIntro_inner_content {
    align-items: flex-start;
  }
  .CIIntro_inner_content .title {
    align-items: flex-start;
    text-align: left;
    padding-left: 5rem;
    padding-right: 0;
  }
  .CIIntro_inner_content .title::before {
    left: 0;
    right: auto;
  }
  .CIIntro_inner_content .text {
    padding: 0 0 0 5rem;
    text-align: left;
  }
  .CIIntro_inner_content .btn {
    margin-top: 0;
    margin-left: 5rem;
    margin-right: 0;
  }
  .swiperPrograms_slide {
    padding: 0;
  }
  .swiperPrograms_slide_visual {
    height: 450px;
  }
  .groupKeysFull_bg {
    top: 0;
    height: 900px;
    width: 900px;
    right: 0;
    inset: auto;
    right: -20vw;
    top: 0;
  }
  .groupKeysFull_bg picture {
    opacity: 0.2;
  }
  .groupOperations_inner_labels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(300px, 100%);
    margin-inline: auto;
  }
  .groupOperations_inner_labels_item:first-child {
    grid-column: 1/-1;
    aspect-ratio: auto;
    width: 200px;
    margin-inline: auto;
    height: auto;
  }
  .groupOperations_inner_labels_item:first-child svg {
    display: none;
  }
  .groupOperations_inner_labels .clipSquare, .engagmentsRse_inner_labels .clipSquare {
    padding: 1rem;
  }
  .groupOperations_inner_labels .clipSquare span + p, .engagmentsRse_inner_labels .clipSquare span + p {
    font-size: 0.9rem;
  }
  .activityMarketsSwiper_slide {
    padding: 0;
  }
  .activityMarketsSwiper_slide_content {
    text-align: center;
  }
  .activityMarketsSwiper_slide_content p {
    margin-left: 0;
  }
  .ambitionsSwiper_slide_number {
    width: 200px;
    aspect-ratio: 1/1;
  }
  .ambitionsSwiper_slide_number span {
    right: 1rem;
    bottom: 1rem;
    font-size: 6rem;
    color: rgba(255, 255, 255, 0.4);
  }
  .ambitionsSwiper_slide_content h3 {
    font-size: clamp(1.2rem, 1.3vw, 1.5rem);
  }
  .interactiveMapItems {
    grid-template-columns: minmax(0, 1fr);
  }
  .interactiveMapItems_modal {
    padding: 2rem;
    min-height: auto;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .interactiveMapItems_modal {
      --mask-tr: 100px;
      --mask-bl: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from 0 0, line to calc(100% - var(--mask-tr) - var(--mask-r)) 0, curve to calc(100% - var(--mask-tr) + var(--mask-r)) var(--mask-r) with calc(100% - var(--mask-tr)) 0, line to calc(100% - var(--mask-r)) calc(var(--mask-tr) - var(--mask-r)), curve to 100% calc(var(--mask-tr) + var(--mask-r)) with 100% var(--mask-tr), line to 100% 100%, line to calc(var(--mask-bl) + var(--mask-r)) 100%, curve to calc(var(--mask-bl) - var(--mask-r)) calc(100% - var(--mask-r)) with var(--mask-bl) 100%, line to var(--mask-r) calc(100% - var(--mask-bl) + var(--mask-r)), curve to 0 calc(100% - var(--mask-bl) - var(--mask-r)) with 0 calc(100% - var(--mask-bl)), line to 0 0, close);
    }
  }
  .interactiveMapItems_modal {
    --mask-tr: 40px;
    --mask-bl: 20px;
    --mask-r: 5px;
    border-radius: 1rem;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .interactiveMapItems_modal:nth-child(odd) {
      --mask-tr: 100px;
      --mask-bl: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from 0 0, line to calc(100% - var(--mask-tr) - var(--mask-r)) 0, curve to calc(100% - var(--mask-tr) + var(--mask-r)) var(--mask-r) with calc(100% - var(--mask-tr)) 0, line to calc(100% - var(--mask-r)) calc(var(--mask-tr) - var(--mask-r)), curve to 100% calc(var(--mask-tr) + var(--mask-r)) with 100% var(--mask-tr), line to 100% 100%, line to calc(var(--mask-bl) + var(--mask-r)) 100%, curve to calc(var(--mask-bl) - var(--mask-r)) calc(100% - var(--mask-r)) with var(--mask-bl) 100%, line to var(--mask-r) calc(100% - var(--mask-bl) + var(--mask-r)), curve to 0 calc(100% - var(--mask-bl) - var(--mask-r)) with 0 calc(100% - var(--mask-bl)), line to 0 0, close);
    }
  }
  .interactiveMapItems_modal:nth-child(odd) {
    --mask-tr: 40px;
    --mask-bl: 20px;
    --mask-r: 5px;
    border-radius: 1rem;
  }
  .interactiveMapItems_modal_title {
    display: block;
  }
  .interactiveMapItems_modal_title span {
    margin-top: 0.4rem;
    display: inline-block;
  }
  .interactiveMapItems_modal_content {
    padding-left: 0.5rem;
  }
  .refMs .rowCenter, .refCi .rowCenter {
    flex-direction: column;
  }
  .refMs .rowCenter .title, .refCi .rowCenter .title {
    align-items: center;
    text-align: center;
  }
  html.js .refMs .rowCenter .title.stickyAppear.fromRight, html.js .refCi .rowCenter .title.stickyAppear.fromRight {
    transform: translate(0, -30px);
  }
  .refLogosSwiper_slide {
    width: 160px;
    height: 160px;
  }
  .singleHero .hero_inner_content {
    padding: 7rem 2.5rem 2rem 2.5rem;
  }
  .singleHero .hero_inner_site {
    grid-template-columns: minmax(0, 1fr);
    padding: 0 2.5rem 2rem 2.5rem;
  }
  .siteContent_inner_details {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero_inner_site_client, .hero_inner_site_marches {
    border-left: none;
    padding: 0;
  }
}
@media (max-width: 500px) {
  section {
    padding: 3rem calc(5vw + 1rem);
  }
  .groupKeys_numbers_grid {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    max-width: none;
    justify-content: flex-start;
  }
  .groupKeys_numbers_grid_item {
    flex: 0 0 170px;
    height: 170px;
    width: 170px;
  }
}
@media (max-width: 500px) and (prefers-reduced-motion: reduce) {
  .groupKeys_numbers {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .groupKeys_numbers::-webkit-scrollbar {
    display: none;
  }
}
@media (max-width: 480px) {
  .header_menu {
    width: 100%;
  }
  .logo {
    left: 2rem;
    top: calc(100% + 0rem);
  }
  .btnMenu {
    right: calc(5vw + 1rem);
    top: 3.5rem;
  }
  .btnMenu.is-relocated {
    transform: translateY(-100%);
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .hero_inner {
      --mask-tl: 0px;
      --mask-br: 40px;
      border-radius: 1rem;
    }
  }
  .hero_inner_barTop {
    display: none;
  }
  .hero_inner_visuals {
    gap: 0.5rem;
    margin-bottom: 3rem;
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .hero_inner_visuals .hexagoneClip {
      --mask-tr: 100px;
      --mask-bl: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from 0 0, line to calc(100% - var(--mask-tr) - var(--mask-r)) 0, curve to calc(100% - var(--mask-tr) + var(--mask-r)) var(--mask-r) with calc(100% - var(--mask-tr)) 0, line to calc(100% - var(--mask-r)) calc(var(--mask-tr) - var(--mask-r)), curve to 100% calc(var(--mask-tr) + var(--mask-r)) with 100% var(--mask-tr), line to 100% 100%, line to calc(var(--mask-bl) + var(--mask-r)) 100%, curve to calc(var(--mask-bl) - var(--mask-r)) calc(100% - var(--mask-r)) with var(--mask-bl) 100%, line to var(--mask-r) calc(100% - var(--mask-bl) + var(--mask-r)), curve to 0 calc(100% - var(--mask-bl) - var(--mask-r)) with 0 calc(100% - var(--mask-bl)), line to 0 0, close);
      --mask-tr: 30px;
      --mask-bl: 30px;
      --mask-r: 5px;
      border-radius: 0.5rem;
    }
  }
  @supports (clip-path: shape(from 0 0, line to 10px 10px, close)) {
    .hero_inner_visuals .hexagoneClip:nth-child(2), .hero_inner_visuals .hexagoneClip:nth-child(3) {
      --mask-tl: 100px;
      --mask-br: 60px;
      --mask-r: 10px;
      overflow: hidden;
      border-radius: 2rem;
      clip-path: shape(from calc(var(--mask-tl) + var(--mask-r)) 0, line to 100% 0, line to 100% calc(100% - var(--mask-br) - var(--mask-r)), curve to calc(100% - var(--mask-r)) calc(100% - var(--mask-br) + var(--mask-r)) with 100% calc(100% - var(--mask-br)), line to calc(100% - var(--mask-br) + var(--mask-r)) calc(100% - var(--mask-r)), curve to calc(100% - var(--mask-br) - var(--mask-r)) 100% with calc(100% - var(--mask-br)) 100%, line to 0 100%, line to 0 calc(var(--mask-tl) + var(--mask-r)), curve to var(--mask-r) calc(var(--mask-tl) - var(--mask-r)) with 0 var(--mask-tl), line to calc(var(--mask-tl) - var(--mask-r)) var(--mask-r), curve to calc(var(--mask-tl) + var(--mask-r)) 0 with var(--mask-tl) 0, close);
      --mask-tl: 30px;
      --mask-br: 30px;
      --mask-r: 5px;
      border-radius: 0.5rem;
    }
  }
  .productsSwiper .tranding-slider-control {
    bottom: 0;
  }
  .refSwiper_slide .maskIt {
    --mask-tr: 30px;
    --mask-bl: 50px;
  }
  .refSwiper_slide_content {
    padding: 1rem 1rem 1rem 50px;
  }
}
@media (max-width: 420px) {
  .MSIntro_inner_content .title, .CIIntro_inner_content .title {
    padding-left: 0;
    padding-right: 0;
  }
  .MSIntro_inner_content .title::before, .CIIntro_inner_content .title::before {
    width: 6rem;
    height: 5rem;
    position: initial;
    margin-bottom: 0.75rem;
  }
  .MSIntro_inner_content .text, .CIIntro_inner_content .text {
    padding: 0;
  }
  .MSIntro_inner_content .btn, .CIIntro_inner_content .btn {
    margin-left: 0;
  }
  .swiperPrograms_slide_visual {
    height: 300px;
  }
  .swiperPrograms_slide_visual .maskIt.reverse {
    --mask-tr: 60px;
    --mask-bl: 15px;
    border-radius: 1rem 1rem 1rem 0;
  }
  .swiperPrograms_slide_content {
    padding: 1rem;
  }
}
@media (max-width: 380px) {
  .btn {
    font-size: 0.85rem;
    min-width: 230px;
    height: 40px;
    padding: 0 30px;
  }
  .hero_inner.hasVisualsGrid .hero_inner_content, .page-accueil .hero_inner_content, .page-references .hero_inner_content {
    padding: 7rem 2rem 2rem 2rem;
  }
}/*# sourceMappingURL=screen.css.map */