@charset "UTF-8";
/* ---------------------------------------------------------------------------- */
/* Imports */
/* ---------------------------------------------------------------------------- */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

i[class^=icon],
i[class*=" icon"] {
  display: flex;
  align-items: center;
}

/* ---------------------------------------------------------------------------- */
/* Components - Buttons */
/* ---------------------------------------------------------------------------- */
.text-link:hover {
  text-decoration: underline;
}

.full-button .btn-holder {
  flex: 0 0 100%;
  max-width: 100%;
  box-shadow: 0 0 35px 5px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
  .full-button .btn-holder {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
.full-button .btn-holder .button {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  height: 150px;
}
@media (min-width: 1200px) {
  .full-button .btn-holder .button {
    height: 190px;
  }
}
.full-button .btn-holder .button .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  font-size: 100px;
  color: #005ff3;
}
@media (min-width: 1200px) {
  .full-button .btn-holder .button .icon {
    font-size: 135px;
  }
}
.full-button .btn-holder .button span {
  position: relative;
  z-index: 5;
  text-transform: uppercase;
}

.button {
  color: var(--color-white);
  text-decoration: none;
  background: none;
  cursor: pointer;
  padding: 12px 32px;
  font-weight: bold;
  position: relative;
  overflow: hidden;
  min-width: 176px;
  transition: all 0.3s ease;
}
.button.no-minw {
  min-width: auto;
  padding: 0;
  height: 41px;
  width: 41px;
  display: flex;
  justify-content: center;
  align-content: center;
  border-radius: 1000vh;
}
@media (min-width: 992px) {
  .button {
    padding: 12px 32px;
  }
}
.button.small-button {
  padding: 8px 16px;
}
.button.border-radius {
  border-radius: 30px;
}
.button.small-font {
  padding: 8px 16px;
}
.button span {
  position: relative;
  z-index: 1;
  letter-spacing: 0.02em;
}

.outline-color-main {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}
.outline-color-main:hover {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.outline-color-secondary {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.outline-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}

.opaque-color-white {
  border: 2px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-main);
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-white);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-white span {
  transition: all 0.3s ease;
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:hover span {
  color: var(--color-white) !important;
}
.opaque-color-white:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-main {
  border: 2px solid var(--color-main);
  background: var(--color-secondary);
}
.opaque-color-main:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-main);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-main:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-main:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-secondary {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-whtie);
}
.opaque-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-secondary);
}

.outline-color-main {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}
.outline-color-main:hover {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.outline-color-secondary {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.outline-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}

.opaque-color-white {
  border: 2px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-main);
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-white);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-white span {
  transition: all 0.3s ease;
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:hover span {
  color: var(--color-white) !important;
}
.opaque-color-white:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-main {
  border: 2px solid var(--color-main);
  background: var(--color-secondary);
}
.opaque-color-main:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-main);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-main:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-main:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-secondary {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-whtie);
}
.opaque-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-secondary);
}

.outline-color-main {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}
.outline-color-main:hover {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.outline-color-secondary {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.outline-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}

.opaque-color-white {
  border: 2px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-main);
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-white);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-white span {
  transition: all 0.3s ease;
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:hover span {
  color: var(--color-white) !important;
}
.opaque-color-white:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-main {
  border: 2px solid var(--color-main);
  background: var(--color-secondary);
}
.opaque-color-main:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-main);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-main:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-main:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-secondary {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-whtie);
}
.opaque-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-secondary);
}

.outline-color-main {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}
.outline-color-main:hover {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.outline-color-secondary {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.outline-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}

.opaque-color-white {
  border: 2px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-main);
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-white);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-white span {
  transition: all 0.3s ease;
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:hover span {
  color: var(--color-white) !important;
}
.opaque-color-white:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-main {
  border: 2px solid var(--color-main);
  background: var(--color-secondary);
}
.opaque-color-main:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-main);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-main:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-main:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-secondary {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-whtie);
}
.opaque-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-secondary);
}

.outline-color-main {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}
.outline-color-main:hover {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.outline-color-secondary {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.outline-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}

.opaque-color-white {
  border: 2px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-main);
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-white);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-white span {
  transition: all 0.3s ease;
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:hover span {
  color: var(--color-white) !important;
}
.opaque-color-white:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-main {
  border: 2px solid var(--color-main);
  background: var(--color-secondary);
}
.opaque-color-main:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-main);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-main:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-main:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-secondary {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-whtie);
}
.opaque-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-secondary);
}

.outline-color-main {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}
.outline-color-main:hover {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.outline-color-secondary {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.outline-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}

.opaque-color-white {
  border: 2px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-main);
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-white);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-white span {
  transition: all 0.3s ease;
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:hover span {
  color: var(--color-white) !important;
}
.opaque-color-white:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-main {
  border: 2px solid var(--color-main);
  background: var(--color-secondary);
}
.opaque-color-main:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-main);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-main:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-main:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-secondary {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-whtie);
}
.opaque-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-secondary);
}

.outline-color-main {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}
.outline-color-main:hover {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.outline-color-secondary {
  border: 2px solid var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}
.outline-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: transparent;
  color: var(--color-main);
}

.opaque-color-white {
  border: 2px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-main);
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-white);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-white span {
  transition: all 0.3s ease;
}
.opaque-color-white:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-white:hover span {
  color: var(--color-white) !important;
}
.opaque-color-white:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-main {
  border: 2px solid var(--color-main);
  background: var(--color-secondary);
}
.opaque-color-main:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--color-main);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
.opaque-color-main:hover {
  border: 2px solid var(--color-secondary);
  color: var(--color-white);
}
.opaque-color-main:hover:before {
  transform: translate3d(0, -105%, 0);
}

.opaque-color-secondary {
  border: 2px solid var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-whtie);
}
.opaque-color-secondary:hover {
  border: 2px solid var(--color-main);
  background: var(--color-main);
  color: var(--color-secondary);
}

.style-dark .content-text .opaque-color-white span {
  color: var(--color-main);
}

/* ---------------------------------------------------------------------------- */
/* Components - Content-text */
/* ---------------------------------------------------------------------------- */
.style-h1,
h1 {
  font-size: clamp(42px, 2.6041666667vw, 50px);
}
.style-h2,
h2 {
  font-size: clamp(36px, 2.1875vw, 42px);
}
.style-h3,
h3 {
  font-size: clamp(32px, 1.875vw, 36px);
}
.style-h4,
h4 {
  font-size: clamp(29px, 1.6666666667vw, 32px);
}
.style-h5,
h5 {
  font-size: clamp(26px, 1.5104166667vw, 29px);
}
.style-h6,
h6 {
  font-size: clamp(23px, 1.1979166667vw, 23px);
}
.style-font-menu-mobile,
font-menu-mobile {
  font-size: clamp(26px, 3.2911392405vh, 26px);
}
.style-font-content-text {
  font-size: clamp(16px, 0.8333333333vw, 16px);
}
.style-font-content-text-big {
  font-size: clamp(18px, 1.1458333333vw, 22px);
}
.style-font-button, .text-link, .button {
  font-size: clamp(18px, 0.9375vw, 18px);
}
.style-font-button-small, .text-link.small-font, .button.small-font {
  font-size: clamp(16px, 0.8333333333vw, 16px);
}
.style-font-main-menu, header nav ul li a {
  font-size: clamp(18px, 1.0416666667vw, 20px);
}
.style-font-main-sub-menu, header nav ul li ul li a {
  font-size: clamp(16px, 0.8333333333vw, 16px);
}
.style-font-form {
  font-size: clamp(16px, 0.8333333333vw, 16px);
}
.style-font-70-52 {
  font-size: clamp(52px, 3.6458333333vw, 70px);
}
.style-font-50 {
  font-size: clamp(50px, 2.6041666667vw, 50px);
}
.style-font-50-36 {
  font-size: clamp(36px, 2.6041666667vw, 50px);
}
.style-font-42-36 {
  font-size: clamp(36px, 2.1875vw, 42px);
}
.style-font-50-29 {
  font-size: clamp(29px, 2.6041666667vw, 50px);
}
.style-font-29 {
  font-size: clamp(29px, 1.5104166667vw, 29px);
}
.style-font-23 {
  font-size: clamp(20px, 1.1979166667vw, 23px);
}
.style-font-20 {
  font-size: clamp(18px, 1.0416666667vw, 20px);
}
.style-font-18 {
  font-size: clamp(18px, 0.9375vw, 18px);
}
.style-font-18-14 {
  font-size: clamp(14px, 0.9375vw, 18px);
}
.style-font-16 {
  font-size: clamp(16px, 0.8333333333vw, 16px);
}
.style-font-14 {
  font-size: clamp(14px, 0.7291666667vw, 14px);
}
/* Font Weight */
.fw-thin {
  font-weight: 100 !important;
}

.fw-extralight {
  font-weight: 200 !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-regular {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-extrabold {
  font-weight: 800 !important;
}

.fw-black {
  font-weight: 900 !important;
}

/* Paragraphes */
.style-p strong,
p strong {
  font-weight: 700;
}

b, strong {
  font-weight: bold;
}

i, em {
  font-style: italic;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.4rem;
}

sub {
  bottom: -0.25rem;
}

.content-text .style-h4 {
  line-height: 1.3;
}
.content-text p {
  line-height: 1.5;
}
.content-text a {
  color: inherit !important;
  text-decoration: underline;
}
.content-text a:hover {
  text-decoration: none !important;
}

.line-height-1 {
  line-height: 1;
}

.line-height-1-2 {
  line-height: 1.2;
}

.ls-0-5 {
  letter-spacing: 0.05em;
}

.ls-0-18 {
  letter-spacing: 0.18px;
}

.ls-0-16 {
  letter-spacing: 0.16px;
}

.ls-0-23 {
  letter-spacing: 0.23px;
}

.ls-0-36 {
  letter-spacing: 0.36px;
}

.ls-4 {
  letter-spacing: 4.92px;
}

.content-text,
.element_texte {
  /* ---------- Images ---------- */
}
.content-text > *:first-child,
.element_texte > *:first-child {
  margin-top: 0;
}
.content-text > *:last-child,
.element_texte > *:last-child {
  margin-bottom: 0;
}
.content-text .style-p,
.content-text p,
.element_texte .style-p,
.element_texte p {
  margin-bottom: 30px;
}
.content-text .style-p strong,
.content-text p strong,
.element_texte .style-p strong,
.element_texte p strong {
  font-weight: 700;
}
.content-text .style-p + *:not(p):not(ol):not(ul):not(img),
.content-text p + *:not(p):not(ol):not(ul):not(img),
.element_texte .style-p + *:not(p):not(ol):not(ul):not(img),
.element_texte p + *:not(p):not(ol):not(ul):not(img) {
  margin-top: 50px;
}
.content-text .style-p:last-of-type,
.content-text p:last-of-type,
.element_texte .style-p:last-of-type,
.element_texte p:last-of-type {
  margin-bottom: 0 !important;
}
.content-text hr,
.element_texte hr {
  height: 1px;
  display: block;
  margin: 3rem auto;
  background: var(--color-grey-light);
  border: none;
  clear: both;
}
.content-text img,
.element_texte img {
  border-radius: 2px;
}
.content-text .alignleft,
.element_texte .alignleft {
  float: left;
  max-width: 45%;
  margin: 5px 35px 15px 0;
}
.content-text .alignleft.wp-caption,
.element_texte .alignleft.wp-caption {
  margin-right: 2rem;
}
.content-text .alignright,
.element_texte .alignright {
  float: right;
  max-width: 45%;
  margin: 5px 0 15px 35px;
}
.content-text .alignright.wp-caption,
.element_texte .alignright.wp-caption {
  margin-left: 2rem;
}
.content-text .aligncenter,
.element_texte .aligncenter {
  padding: 10px 0;
  margin: 0 auto 2rem;
  clear: both;
}
.content-text .aligncenter.wp-caption,
.element_texte .aligncenter.wp-caption {
  max-width: 100%;
}
.content-text .wp-caption p,
.element_texte .wp-caption p {
  color: #888;
  font: italic 12px/16px var(--font-main);
  text-align: center;
  padding: 0 5px;
  margin: 10px 10px 0 0;
}

.content-text h4 {
  line-height: 1.3;
}

.style-font-20-20 {
  font-size: 20px;
}

.content-text .style-h4 {
  line-height: 1.3;
}
.content-text p {
  line-height: 1.5;
}

.line-height-1 {
  line-height: 1;
}

.line-height-1-2 {
  line-height: 1.2;
}

.ls-0-5 {
  letter-spacing: 0.05em;
}

.ls-0-18 {
  letter-spacing: 0.18px;
}

.ls-0-16 {
  letter-spacing: 0.16px;
}

.ls-0-23 {
  letter-spacing: 0.23px;
}

.ls-0-36 {
  letter-spacing: 0.36px;
}

/* ---------------------------------------------------------------------------- */
/* Layout - Header */
/* ---------------------------------------------------------------------------- */
/*
Utiliser la fonction map-get($colors, nom-de-la-couleur) pour les variables de couleur dynamique.
Les variables root ne fonctionneront pas vue à cause de l'utilisation de certaines mixins.
*/
/* ***** GÉNÉRAL ***** */
header {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1111;
  position: relative;
  transition: all 0.3s ease;
  /* Hint General classes */
  /* Hint Colors */
  /* Hint General Elements */
  /* Hint Logo */
  /* Hint Menu */
  /* Hint Burger */
}
header.burger-active .menu-border-bottom {
  border: 0;
}
header .menu-border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
header .second-background {
  background: #002d73;
}
header .contact-infos p {
  margin-bottom: 0;
  margin-right: 35px;
}
header .contact-infos p span {
  display: inline-block;
  margin-left: 10px;
  transition: all 0.3s ease;
}
header .button-holder {
  display: none;
}
@media (min-width: 768px) {
  header .button-holder {
    display: block;
  }
}
header .button-holder .button {
  background: #000000;
}
header .button-holder .button i,
header .button-holder .button span {
  color: var(--color-white);
}
header .searchbar-holder form input {
  border-color: #000000;
  color: #000000;
  transition: all 0.3s ease;
}
header .searchbar-holder form input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
header .searchbar-holder form input:-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
header .searchbar-holder form input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
header .searchbar-holder form input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
header i {
  font-size: 21px !important;
  cursor: pointer;
  transition: all 0.3s ease;
}
header .button-holder span {
  white-space: nowrap;
}
header .logo-holder {
  flex: 0 0 150px;
}
@media (min-width: 576px) {
  header .logo-holder {
    flex: 0 0 220px;
  }
}
header .logo-holder .logo {
  position: relative;
  padding: 16px 0;
}
@media (min-width: 1600px) {
  header .logo-holder .logo {
    padding: 14px 0 26px;
  }
}
header .logo-holder .logo img {
  width: 150px;
}
@media (min-width: 576px) {
  header .logo-holder .logo img {
    width: 220px;
  }
}
header .menu-principal {
  flex: 1;
}
header .menu-principal .menu > li > a {
  white-space: nowrap;
}
header .hamburger-holder {
  display: none;
}
header .hamburger-holder.active {
  display: flex;
}
header .hamburger-holder .hamburger {
  transition: all 0.3s ease-in-out;
}
header .hamburger-holder .hamburger .line {
  width: 24px;
  height: 2px;
  display: block;
  margin: 7px auto;
  transition: all 0.3s ease-in-out;
  background-color: #000000;
  border-radius: 100vh;
}
header .hamburger-holder .hamburger .line:first-of-type {
  margin-top: 0;
}
header .hamburger-holder .hamburger .line:last-of-type {
  margin-bottom: 0;
}
header .hamburger-holder .hamburger:hover {
  cursor: pointer;
}
header .hamburger-holder .hamburger.is-active {
  animation: smallbig 0.6s forwards;
}
header .hamburger-holder .hamburger.is-active .line:nth-child(1),
header .hamburger-holder .hamburger.is-active .line:nth-child(2),
header .hamburger-holder .hamburger.is-active .line:nth-child(3) {
  transition-delay: 0.2s;
}
header .hamburger-holder .hamburger.is-active .line:nth-child(2) {
  opacity: 0;
}
header .hamburger-holder .hamburger.is-active .line:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}
header .hamburger-holder .hamburger.is-active .line:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

header {
  /* ***** Menu Custom ***** */
  /* ***** Template 1 ***** */
  /* ***** Template 2 ***** */
  /* ***** Template 3 ***** */
  /* ***** Template 4 ***** */
  /* ***** Template 5 ***** */
  /* ***** Template 6 ***** */
}
header.header-custom .user-control .header-control {
  margin-left: 25px;
}
header.header-custom .user-control .header-control:first-child {
  margin-left: 0;
}
header.header-custom .user-control .header-control.socials-holder {
  margin-left: 0;
  margin-right: clamp(10px, 3.3854166667vw, 65px);
}
header.header-template1.burger-active .header-content-top {
  height: 100%;
}
header.header-template1 .logo-holder {
  display: flex;
  align-items: center;
  margin-right: clamp(35px, 2.8645833333vw, 55px);
}
header.header-template1 .header-content-holder .header-content-top {
  padding: 15px 0;
}
header.header-template1 .header-content-holder .header-content-bottom .menu-principal {
  flex: 0;
  padding: 0;
}
header.header-template1 .header-content-holder .header-content-bottom .menu-principal .menu > li > a {
  padding: 25px 0;
}
header.header-template2.burger-active .header-content-top {
  display: none;
}
header.header-template2 .header-content-holder .header-content-top {
  padding: 10px 0;
}
header.header-template2 .header-content-holder .header-content-bottom .menu-side.right {
  padding-right: 0;
}
header.header-template2 .header-content-holder .header-content-bottom .menu-side.left {
  padding-left: 0;
}
header.header-template3.burger-active .header-content-top {
  display: none;
}
header.header-template3 .header-content-holder .header-content-top {
  padding: 6px 40px;
}
header.header-template3 .header-content-holder .header-content-bottom .menu-principal {
  flex: 0;
  padding: 0;
}
header.header-template4.burger-active .header-content-top .search-toggle {
  display: flex;
}
header.header-template4.burger-active .header-content-bottom {
  display: none !important;
}
header.header-template4 .header-content-holder .header-content-bottom {
  padding: 15px 0;
}
header.header-template4 .header-content-holder .header-content-bottom .searchbar-holder {
  width: 100%;
  max-width: 860px;
}
header.header-template5.burger-active .header-content-top .menu-secondaire {
  display: none;
}
header.header-template5.burger-active .header-content-top .language-switch {
  display: flex !important;
}
header.header-template5.burger-active .header-content-top .search-toggle {
  display: flex !important;
}
header.header-template5 .header-content-holder .header-content-top .socials-holder {
  margin-left: 50px;
}
header.header-template5 .header-content-holder .header-content-bottom .menu-principal {
  flex: 0;
  padding: 0;
}
header.header-template5 .header-content-holder .header-content-bottom .menu-principal .menu > li > a {
  padding: 25px 0;
}
header.header-template5 .header-content-holder .header-content-bottom .search-holder {
  margin-left: 2.2916666667vw;
}
header.header-template6.burger-active .header-content-top .menu-secondaire {
  display: none;
}
header.header-template6.burger-active .header-content-bottom .button-holder {
  display: none;
}
header.header-template6 .header-content-holder .header-content-top .menu-secondaire {
  margin-right: 50px;
}
header.header-template6 .header-content-holder .header-content-bottom .menu-principal {
  flex: 0;
  padding: 0;
}
header.header-template6 .header-content-holder .header-content-bottom .menu-principal .menu > li > a {
  padding: 25px 0;
}

header .cheese-mega-menu-holder {
  position: absolute;
  top: -500%;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  min-height: 458px;
  max-height: 100vh;
  transition: all 0.5s ease;
}
header .cheese-mega-menu-holder:before {
  transform: translateX(-50%);
  left: 50%;
  top: 0;
  height: 110%;
  width: 120vw;
  content: "";
  position: absolute;
  background-color: var(--color-creme);
  z-index: 0;
  box-shadow: 0px 15px 15px 0px rgba(22, 38, 67, 0.06);
}
header .cheese-mega-menu-holder .menu-category {
  border-top: 1px solid rgba(0, 45, 115, 0.2);
}
header .cheese-mega-menu-holder .posts-list {
  position: relative;
  overflow: auto;
}
header .cheese-mega-menu-holder .posts-list img.new-tag {
  width: 70px;
  right: -5px;
  top: -10px;
  z-index: 2;
}
header .cheese-mega-menu-holder label {
  letter-spacing: 0.18px;
  color: var(--color-main);
  cursor: pointer;
}
header .cheese-mega-menu-holder label:hover {
  color: var(--color-secondary);
}
header .cheese-mega-menu-holder .current-filter label {
  color: var(--color-secondary);
}
header nav ul {
  display: flex;
}
header nav ul li {
  position: relative;
  display: flex;
  align-items: stretch;
}
header nav ul li:hover > a {
  color: var(--color-secondary);
}
header nav ul li:hover svg {
  transform: rotate(-180deg);
}
header nav ul li:hover svg path {
  stroke: var(--color-secondary);
}
header nav ul li:hover > ul {
  pointer-events: auto;
  opacity: 1;
  top: 70%;
}
header nav ul li:last-of-type {
  margin-right: 0;
}
header nav ul li:last-of-type a {
  padding-right: 0;
}
header nav ul li:first-of-type {
  margin-left: 0;
}
header nav ul li:first-of-type a {
  padding-left: 0;
}
header nav ul li.menu-item-has-children:hover > a:before {
  opacity: 1;
}
header nav ul li.cheese-list {
  position: inherit;
}
header nav ul li.cheese-list:hover .cheese-mega-menu-holder {
  top: 100%;
  opacity: 1;
  pointer-events: auto;
}
header nav ul li.current_page_parent > a, header nav ul li.current-menu-item > a, header nav ul li.current-menu-parent > a, header nav ul li.current-page-parent > a, header nav ul li.current_page_item > a {
  color: var(--color-secondary);
}
header nav ul li.current_page_parent > a svg path, header nav ul li.current-menu-item > a svg path, header nav ul li.current-menu-parent > a svg path, header nav ul li.current-page-parent > a svg path, header nav ul li.current_page_item > a svg path {
  stroke: var(--color-secondary);
}
header nav ul li.current_page_parent ul li a, header nav ul li.current-menu-item ul li a, header nav ul li.current-menu-parent ul li a, header nav ul li.current-page-parent ul li a, header nav ul li.current_page_item ul li a {
  color: var(--color-main);
}
header nav ul li svg {
  transform: rotate(0deg);
  transition: all 0.3s ease;
}
header nav ul li a {
  padding: 0 clamp(18px, 1.3020833333vw, 25px);
  font-weight: var(--fw-bold);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1px;
  color: var(--color-main);
  transition: all 0.3s ease;
}
header nav ul li ul {
  transition: all 0.3s ease;
  padding: clamp(14px, 0.625vw, 12px) 0;
  pointer-events: none;
  opacity: 0;
  width: 200px;
  display: block;
  margin: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  position: absolute;
  top: 50%;
  z-index: 1;
  background-color: var(--color-creme);
  border-radius: 16px;
  padding: clamp(6px, 0.4166666667vw, 8px) clamp(12px, 0.8333333333vw, 16px);
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.05);
}
header nav ul li ul li {
  margin: 0;
  position: relative;
  border-bottom: 1px solid var(--color-main);
}
header nav ul li ul li:last-of-type {
  border-bottom: transparent !important;
}
header nav ul li ul li a {
  padding: clamp(12px, 0.8333333333vw, 16px) 0;
  width: 100%;
  display: block;
  color: var(--color-main);
  margin: 0 !important;
  position: relative;
}
header nav ul li ul li a:hover {
  color: var(--color-secondary) !important;
}
header nav ul li ul li a:before {
  display: none;
}

.header-content-top .current-menu-item a {
  color: var(--color-secondary);
}

.inner-banner {
  min-height: clamp(275px, 14.3229166667vw, 275px);
  background-image: url("../images/bg-inner-banner.jpg");
  background-size: cover;
  background-position: center bottom;
}
.inner-banner svg {
  bottom: -1px;
  width: 100%;
  position: absolute;
  height: auto;
}