/* Text utility */
/* Mobile utility */
/* link hover utility */
/* Container utility mixin */
/* Container avec variable CSS */
/* Text content styles */
/* Centered content */
/* from... */
/* to... */
/* from... to... */
/* at... */
/***
    The new CSS reset - version 1.5.1 (last updated 1.3.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-width: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly. */
:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

.h1 {
  font-size: 3rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.1;
  font-family: "Outfit", sans-serif;
  margin: 0;
}

.h2 {
  font-size: 2.25rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.2;
  font-family: "Outfit", sans-serif;
  margin: 0;
}

.h3 {
  font-size: 1.75rem;
  line-height: 1.2;
  font-style: normal;
  font-weight: 600;
  font-family: "Outfit", sans-serif;
  margin: 0;
}

.text-base {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.375;
  margin: 0;
}
.text-base:not(:last-of-type) {
  margin: 0 0 16px 0;
}

.textFormat .wp-block-embed {
  margin-top: 2rem;
  margin-bottom: 2rem;
  max-width: 100%;
}
.textFormat .wp-block-embed__wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
}
.textFormat .wp-block-embed__wrapper blockquote {
  display: none;
}
.textFormat .wp-block-embed__wrapper:before {
  display: none;
}
.textFormat .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  visibility: visible !important;
}
.textFormat .alignleft {
  float: none !important;
}
.textFormat p,
.textFormat a,
.textFormat mark {
  margin-top: 1rem;
  color: var(--wp--preset--color--gray-dark) !important;
  background-color: transparent;
}
.textFormat p.has-vivid-cyan-blue-color, .textFormat p.has-text-color,
.textFormat a.has-vivid-cyan-blue-color,
.textFormat a.has-text-color,
.textFormat mark.has-vivid-cyan-blue-color,
.textFormat mark.has-text-color {
  color: var(--wp--preset--color--gray-dark) !important;
}
.textFormat .wp-block-quote {
  margin-top: 1.5rem;
  padding: 1.5rem 2rem 1.5rem;
  border-radius: 0.625rem;
  background-color: var(--wp--preset--color--primary);
  border-left: none;
}
.textFormat .wp-block-quote blockquote {
  padding: 0;
  margin-bottom: 0;
}
.textFormat .wp-block-quote p,
.textFormat .wp-block-quote a {
  margin-top: 0;
  font-weight: 700;
  color: var(--wp--preset--color--white) !important;
  line-height: 1.875rem;
}
.textFormat .wp-block-quote p,
.textFormat .wp-block-quote a {
  font-size: 24px;
}
@media screen and (min-width: 569px) {
  .textFormat .wp-block-quote p,
  .textFormat .wp-block-quote a {
    font-size: calc(24px + 0 * (100vw - 569px) / 871);
  }
}
@media screen and (min-width: 1440px) {
  .textFormat .wp-block-quote p,
  .textFormat .wp-block-quote a {
    font-size: 1.5rem;
  }
}
.textFormat .wp-block-quote p br,
.textFormat .wp-block-quote a br {
  display: none;
}
.textFormat .wp-block-quote p + p {
  margin-top: 1.5rem;
}
.textFormat .wp-block-quote cite {
  display: block;
  margin-top: 1rem;
  color: var(--wp--preset--color--white);
}
.textFormat p + ul,
.textFormat h2 + p,
.textFormat h3 + p,
.textFormat h4 + p,
.textFormat h5 + p {
  margin-top: 1.25rem;
}
.textFormat b,
.textFormat strong {
  font-weight: 700;
}
.textFormat i,
.textFormat em {
  font-style: italic;
}
.textFormat p > a:not(.btn),
.textFormat li > a:not(.btn) {
  text-decoration: underline;
  color: var(--wp--preset--color--gray-dark);
}
.textFormat a:not(.btn) {
  text-decoration: underline;
  color: var(--wp--preset--color--gray-dark);
}
.textFormat ul {
  margin-top: 1.875rem;
  list-style: disc;
  margin-left: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.textFormat ul li {
  padding-left: 0;
}
.textFormat ul li a {
  font-size: 16px;
}
.textFormat ul li:last-child {
  margin-bottom: 0;
}
.textFormat img,
.textFormat .wp-block-image {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.textFormat *:first-child {
  margin-top: 0;
}

.padding-horizontal, .l-container {
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}
@media screen and (max-width: 1280px) {
  .padding-horizontal, .l-container {
    padding-left: calc(1.875rem / 2);
    padding-right: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 768px) {
  .padding-horizontal, .l-container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.padding-right-full {
  padding-right: 1.875rem;
}
@media screen and (max-width: 991px) {
  .padding-right-full {
    padding-right: 1.25rem;
  }
}

.padding-left-full {
  padding-left: 1.875rem;
}
@media screen and (max-width: 991px) {
  .padding-left-full {
    padding-left: 1.25rem;
  }
}

.padding-right,
.padding-right-large {
  padding-right: calc((100vw - 86.25rem) / 2);
}
@media screen and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-right,
  .padding-right-large {
    padding-right: 1.875rem;
  }
}
@media screen and (max-width: 1280px) {
  .padding-right,
  .padding-right-large {
    padding-right: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 768px) {
  .padding-right,
  .padding-right-large {
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) {
  .padding-right,
  .padding-right-large {
    padding-right: calc((100vw - 86.25rem) / 2);
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-right,
  .padding-right-large {
    padding-right: 1.875rem;
  }
}
@media screen and (min-width: 1920px) and (max-width: calc(2160px - 1px)) {
  .padding-right,
  .padding-right-large {
    padding-right: calc((100vw - 86.25rem) / 2);
  }
}
@media screen and (min-width: 1920px) and (max-width: calc(2160px - 1px)) and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-right,
  .padding-right-large {
    padding-right: 1.875rem;
  }
}
@media screen and (min-width: 2160px) {
  .padding-right,
  .padding-right-large {
    padding-right: calc((100vw - 86.25rem) / 2);
  }
}
@media screen and (min-width: 2160px) and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-right,
  .padding-right-large {
    padding-right: 1.875rem;
  }
}

.padding-left,
.padding-left-large {
  padding-left: calc((100vw - 86.25rem) / 2);
}
@media screen and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-left,
  .padding-left-large {
    padding-left: 1.875rem;
  }
}
@media screen and (max-width: 1280px) {
  .padding-left,
  .padding-left-large {
    padding-left: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 768px) {
  .padding-left,
  .padding-left-large {
    padding-left: 1.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) {
  .padding-left,
  .padding-left-large {
    padding-left: calc((100vw - 86.25rem) / 2);
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-left,
  .padding-left-large {
    padding-left: 1.875rem;
  }
}
@media screen and (min-width: 1920px) {
  .padding-left,
  .padding-left-large {
    padding-left: calc((100vw - 86.25rem) / 2);
  }
}
@media screen and (min-width: 1920px) and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-left,
  .padding-left-large {
    padding-left: 1.875rem;
  }
}
@media screen and (min-width: 2160px) {
  .padding-left,
  .padding-left-large {
    padding-left: calc((100vw - 86.25rem) / 2);
  }
}
@media screen and (min-width: 2160px) and (max-width: calc(86.25rem + 1.875rem * 2)) {
  .padding-left,
  .padding-left-large {
    padding-left: 1.875rem;
  }
}

.padding-right-small {
  padding-right: calc((100vw - 60rem) / 2);
}
@media screen and (max-width: calc(60rem + 1.875rem * 2)) {
  .padding-right-small {
    padding-right: 1.875rem;
  }
}
@media screen and (max-width: 1280px) {
  .padding-right-small {
    padding-right: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 768px) {
  .padding-right-small {
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) {
  .padding-right-small {
    padding-right: calc((100vw - 60rem) / 2);
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) and (max-width: calc(60rem + 1.875rem * 2)) {
  .padding-right-small {
    padding-right: 1.875rem;
  }
}
@media screen and (min-width: 1920px) and (max-width: calc(2160px - 1px)) {
  .padding-right-small {
    padding-right: calc((100vw - 60rem) / 2);
  }
}
@media screen and (min-width: 1920px) and (max-width: calc(2160px - 1px)) and (max-width: calc(60rem + 1.875rem * 2)) {
  .padding-right-small {
    padding-right: 1.875rem;
  }
}
@media screen and (min-width: 2160px) {
  .padding-right-small {
    padding-right: calc((100vw - 60rem) / 2);
  }
}
@media screen and (min-width: 2160px) and (min-width: calc(60rem + 1.875rem * 2)) {
  .padding-right-small {
    padding-right: 1.875rem;
  }
}

.padding-left-small {
  padding-left: calc((100vw - 60rem) / 2);
}
@media screen and (max-width: calc(60rem + 1.875rem * 2)) {
  .padding-left-small {
    padding-left: 1.875rem;
  }
}
@media screen and (max-width: 1280px) {
  .padding-left-small {
    padding-left: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 768px) {
  .padding-left-small {
    padding-left: 1.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) {
  .padding-left-small {
    padding-left: calc((100vw - 60rem) / 2);
  }
}
@media screen and (min-width: 1024px) and (max-width: calc(1920px - 1px)) and (max-width: calc(60rem + 1.875rem * 2)) {
  .padding-left-small {
    padding-left: 1.875rem;
  }
}
@media screen and (min-width: 1920px) and (max-width: calc(2160px - 1px)) {
  .padding-left-small {
    padding-left: calc((100vw - 60rem) / 2);
  }
}
@media screen and (min-width: 1920px) and (max-width: calc(2160px - 1px)) and (max-width: calc(60rem + 1.875rem * 2)) {
  .padding-left-small {
    padding-left: 1.875rem;
  }
}
@media screen and (min-width: 2160px) {
  .padding-left-small {
    padding-left: calc((100vw - 60rem) / 2);
  }
}
@media screen and (min-width: 2160px) and (min-width: calc(60rem + 1.875rem * 2)) {
  .padding-left-small {
    padding-left: 1.875rem;
  }
}

/* CONTAINER LARGEUR */
.l-container {
  width: 100%;
  margin-inline: auto;
  margin-block: 0;
}
.l-container-sm {
  width: 100%;
  margin-inline: auto;
  margin-block: 0;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  max-width: calc(60rem + 1.875rem * 2);
}
@media screen and (max-width: 1280px) {
  .l-container-sm {
    padding-left: calc(1.875rem / 2);
    padding-right: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 991px) {
  .l-container-sm {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .l-container-sm {
    max-width: calc(60rem + 1.875rem * 2);
  }
}
@media screen and (min-width: 1920px) {
  .l-container-sm {
    max-width: calc(60rem + 1.875rem * 2);
  }
}
@media screen and (min-width: 2160px) {
  .l-container-sm {
    max-width: calc(60rem + 1.875rem * 2);
  }
}
.l-container-md {
  width: 100%;
  margin-inline: auto;
  margin-block: 0;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  max-width: calc(71.25rem + 1.875rem * 2);
}
@media screen and (max-width: 1280px) {
  .l-container-md {
    padding-left: calc(1.875rem / 2);
    padding-right: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 991px) {
  .l-container-md {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .l-container-md {
    max-width: calc(71.25rem + 1.875rem * 2);
  }
}
@media screen and (min-width: 1920px) {
  .l-container-md {
    max-width: calc(71.25rem + 1.875rem * 2);
  }
}
@media screen and (min-width: 2160px) {
  .l-container-md {
    max-width: calc(71.25rem + 1.875rem * 2);
  }
}
.l-container-lg {
  width: 100%;
  margin-inline: auto;
  margin-block: 0;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  max-width: calc(86.25rem + 1.875rem * 2);
}
@media screen and (max-width: 1280px) {
  .l-container-lg {
    padding-left: calc(1.875rem / 2);
    padding-right: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 991px) {
  .l-container-lg {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .l-container-lg {
    max-width: calc(86.25rem + 1.875rem * 2);
  }
}
@media screen and (min-width: 1920px) {
  .l-container-lg {
    max-width: calc(86.25rem + 1.875rem * 2);
  }
}
@media screen and (min-width: 2160px) {
  .l-container-lg {
    max-width: calc(86.25rem + 1.875rem * 2);
  }
}
.l-container-full {
  width: 100%;
  margin-inline: auto;
  margin-block: 0;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  max-width: 100%;
}
@media screen and (max-width: 1280px) {
  .l-container-full {
    padding-left: calc(1.875rem / 2);
    padding-right: calc(1.875rem / 2);
  }
}
@media screen and (max-width: 991px) {
  .l-container-full {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

/* CONTAINER HAUTEUR */
.section-top {
  padding-top: 5rem;
}
@media screen and (max-width: 991px) {
  .section-top {
    padding-top: 2.5rem;
  }
}

.section .l-wrapper {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 991px) {
  .section .l-wrapper {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 991px) {
  .section .l-wrapper {
    padding-bottom: 2.5rem;
  }
}
.section .l-wrapper.spacing-top-sm {
  padding-top: 3.75rem;
}
.section .l-wrapper.spacing-bottom-sm {
  padding-bottom: 3.75rem;
}
.section .l-wrapper.spacing-top-md {
  padding-top: 5rem;
}
.section .l-wrapper.spacing-bottom-md {
  padding-bottom: 5rem;
}
.section .l-wrapper.spacing-top-lg {
  padding-top: 6.25rem;
}
.section .l-wrapper.spacing-bottom-lg {
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 991px) {
  .section .l-wrapper.spacing-top-mb-sm {
    padding-top: 1.25rem;
  }
}
@media screen and (max-width: 991px) {
  .section .l-wrapper.spacing-bottom-mb-sm {
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 991px) {
  .section .l-wrapper.spacing-top-mb-md {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 991px) {
  .section .l-wrapper.spacing-bottom-mb-md {
    padding-bottom: 2.5rem;
  }
}
@media screen and (max-width: 991px) {
  .section .l-wrapper.spacing-top-mb-lg {
    padding-top: 3.75rem;
  }
}
@media screen and (max-width: 991px) {
  .section .l-wrapper.spacing-bottom-mb-lg {
    padding-bottom: 3.75rem;
  }
}
@media screen and (min-width: 991px) {
  .section .l-wrapper.spacing-top-none {
    padding-top: 0;
  }
  .section .l-wrapper.spacing-bottom-none {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 991px) {
  .section .l-wrapper.spacing-top-mb-none {
    padding-top: 0;
  }
  .section .l-wrapper.spacing-bottom-mb-none {
    padding-bottom: 0;
  }
}

/* AFFICHAGE MOBILE */
.mobile {
  display: none;
}
@media screen and (max-width: 768px) {
  .mobile {
    display: block;
  }
}

.no-mobile {
  display: block;
}
@media screen and (max-width: 768px) {
  .no-mobile {
    display: none;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.stars-trio {
  position: absolute;
  width: 20%;
  height: 8.75rem;
  opacity: 0.3;
}
.stars-trio__star {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.stars-trio__star svg {
  width: 100%;
}
.stars-trio__star svg path {
  fill: #fff;
}
.stars-trio__star--sm {
  width: 15%;
  height: auto;
  top: 0;
  left: 52%;
  transform: translateX(-50%);
}
.stars-trio__star--md {
  width: 24%;
  top: 40%;
  left: 0;
}
.stars-trio__star--lg {
  width: 40%;
  bottom: -30%;
  right: 1%;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.media-frame a,
.attachment-info .edit-attachment,
div#link-selector p {
  font-size: inherit;
}

body a:where(:not(.wp-element-button)) {
  text-decoration: none;
}

html {
  font-size: 16px;
  font-family: sans-serif;
  line-height: 1.2;
  scroll-behavior: initial;
  -webkit-text-size-adjust: 100%;
  margin: 0 !important;
}
html {
  font-size: 16px;
}
@media screen and (min-width: 1440px) {
  html {
    font-size: calc(16px + 2 * (100vw - 1440px) / 480);
  }
}
@media screen and (min-width: 1920px) {
  html {
    font-size: 18px;
  }
}

body {
  -webkit-overflow: overlay;
  overflow: overlay;
  margin: 0;
  overflow-y: scroll;
  font-family: "Inter", sans-serif;
}
body.no-scroll {
  position: fixed;
  overflow: hidden;
}
body.topbar-on .wp-site-blocks {
  padding-top: 2rem;
}

:where([contenteditable=false]) {
  -moz-user-modify: read-only !important;
  -webkit-user-modify: read-only !important;
}

main {
  margin: 0 auto;
}

p,
ul li,
ol li {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  line-height: 1.375;
  font-style: normal;
  font-weight: 400;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

svg {
  display: block;
  max-width: 100%;
  height: auto;
}

.block-editor-block-list__layout.is-root-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: unset !important;
}