/* BASE */

/* 12 colonnes */

:root {
  --grid-margin: 6.25vw; /* 120/1920 */
  --grid-column-width: 5.833vw;
  --grid-gutter: 1.5625vw; /* 30/1920 */
  --grid-column-color: rgba(255,0,0,0.1);
}
/*
html {
  background-image: linear-gradient(
      to right,
      transparent var(--grid-margin),
      var(--grid-column-color) var(--grid-margin),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width)),
      transparent calc(var(--grid-margin) + var(--grid-column-width)),
      transparent calc(var(--grid-margin) + var(--grid-column-width) + var(--grid-gutter)),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) + var(--grid-gutter)),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 2 + var(--grid-gutter)),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 2 + var(--grid-gutter)),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 2 + var(--grid-gutter) * 2),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 2 + var(--grid-gutter) * 2),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 3 + var(--grid-gutter) * 2),
       transparent calc(var(--grid-margin) + var(--grid-column-width) * 3 + var(--grid-gutter) * 2),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 3 + var(--grid-gutter) * 3),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 3 + var(--grid-gutter) * 3),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 4 + var(--grid-gutter) * 3),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 4 + var(--grid-gutter) * 3),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 4 + var(--grid-gutter) * 4),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 4 + var(--grid-gutter) * 4),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 5 + var(--grid-gutter) * 4),
       transparent calc(var(--grid-margin) + var(--grid-column-width) * 5 + var(--grid-gutter) * 4),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 5 + var(--grid-gutter) * 5),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 5 + var(--grid-gutter) * 5),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 6 + var(--grid-gutter) * 5),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 6 + var(--grid-gutter) * 5),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 6 + var(--grid-gutter) * 6),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 6 + var(--grid-gutter) * 6),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 7 + var(--grid-gutter) * 6),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 7 + var(--grid-gutter) * 6),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 7 + var(--grid-gutter) * 7),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 7 + var(--grid-gutter) * 7),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 8 + var(--grid-gutter) * 7),
       transparent calc(var(--grid-margin) + var(--grid-column-width) * 8 + var(--grid-gutter) * 7),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 8 + var(--grid-gutter) * 8),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 8 + var(--grid-gutter) * 8),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 9 + var(--grid-gutter) * 8),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 9 + var(--grid-gutter) * 8),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 9 + var(--grid-gutter) * 9),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 9 + var(--grid-gutter) * 9),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 10 + var(--grid-gutter) * 9),
        transparent calc(var(--grid-margin) + var(--grid-column-width) * 10 + var(--grid-gutter) * 9),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 10 + var(--grid-gutter) * 10),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 10 + var(--grid-gutter) * 10),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 11 + var(--grid-gutter) * 10),
       transparent calc(var(--grid-margin) + var(--grid-column-width) * 11 + var(--grid-gutter) * 10),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 11 + var(--grid-gutter) * 11),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 11 + var(--grid-gutter) * 11),
      var(--grid-column-color) calc(var(--grid-margin) + var(--grid-column-width) * 12 + var(--grid-gutter) * 11),
      transparent calc(var(--grid-margin) + var(--grid-column-width) * 12 + var(--grid-gutter) * 11)
    ),
    linear-gradient(to bottom, transparent 0%, transparent 100%);
    background-size: 100% 100%;
    min-height: 100vh;
}
*/

/*
html {
  background-color: var(--main-bgcolor0);
}
*/
/*
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/google-font/inter-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/google-font/inter-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*/

/*
:root {
  --font1: "Inter", sans-serif;
  --font2: "Antonio", sans-serif;
  --fontweight-regu: 400;
  --main-color1: #1f1f1f;
  --main-color2: #fe90ab;
  --main-color-error: #fe90ab;
  --main-bgcolor0: #fff;
  --main-bgcolor1: #1f1f1f;
  --main-bgcolor2: #fe90ab;
  --main-bgcolor3: #eae1e3;

  --padunit: 3.125vw;
  --pdlr-colbase: 1;
}
*/

:root {
  --font1: "darkmode-on", sans-serif; /* 400 + +500 + 700 */
  --font2: "darkmode-on", sans-serif;

  --fontsizeini: 20; /* body texte 1920 */

  --color-noir: #000;
  --color-error: #ff00c3;

  --main-color1: #000; /* couleur base typo */
  --main-bgcolor0: #fff; /* fond principale */
  --main-bgcolor1: #000;

  --column: 5.833vw;
  --gutter: 1.5625vw; /* 30/1920 */
  --columngutter: 7.3958vw; /* 142/1920 */

  --margelr: 4.8vw; /* 18/375 */

  --padunitvert: 3.125vw; /* 60/1920 */
  --rvm: 2; /* 1.5 ration verti mob */

  --padunit: 3.125vw;

  --padbloc: calc(var(--gutter)/2);  /* contentbuilder */

  --border-radius-val: 0.83em;
}
@media (min-width: 900px) {
  :root {
    --rvm: 1;
    /*--margelr: 6.25vw;*/ /* 120/1920 */
    --margelr: 3.125vw; /* 120/1920 */
  }
}


/* https://clamp.font-size.app/ */

.debug {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.65em;
  background-color: #ff00c3;
  color: #fff;
}
.debug::before {
  content: "debug ➔ ";
}

/*** RESET
  The new CSS reset - version 1.8.4 (last updated 14.2.2023)
  GitHub page: https://github.com/elad2412/the-new-css-reset
  ***/
*:where(
    :not(html, iframe, canvas, img, svg, video, audio, input):not(svg *, symbol *)
  ) {
  all: unset;
  display: revert;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
a,
button {
  cursor: revert;
}
ol,
ul,
menu {
  list-style: none;
}
img {
  max-inline-size: 100%;
  max-block-size: 100%;
} 
table {
  border-collapse: collapse;
}
input,
textarea {
  -webkit-user-select: auto;
}
textarea {
  white-space: revert;
}
meter {
  -webkit-appearance: revert;
  appearance: revert;
}
:where(pre) {
  all: revert;
}
::placeholder {
  color: unset;
}
::marker {
  content: initial;
}
:where([hidden]) {
  display: none;
}
:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}
:where([draggable="true"]) {
  -webkit-user-drag: element;
}
:where(dialog:modal) {
  all: revert;
}
/* RESPONSIVE */
img,
video {
  max-inline-size: 100%;
  block-size: auto;
  inline-size: 100%;
  vertical-align: middle;
  /*width: 100%;*/
}
img,
video,
iframe {
  max-inline-size: 100%;
  block-size: auto;
}
/*  */
strong {
  font-weight: 700;
}
/* SCROLLBAR */
/*
  ::-webkit-scrollbar {
    width: 10px;
  }
  ::-webkit-scrollbar-track {
    background: var(--main-bgcolor0);
    border-radius: 10px;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--main-color2);
    border-radius: 10px;
  }
  */
.pdlr {
  padding-left: var(--margelr);
  padding-right: var(--margelr);
}
.pt_05 {
  padding-top: calc(0.5 * var(--padunitvert) * var(--rvm));
}
.mt_05 {
  margin-top: calc(0.5 * var(--padunitvert) * var(--rvm));
}
.pt_025 {
  padding-top: calc(0.25 * var(--padunitvert) * var(--rvm));
}
.pb_05 {
  padding-bottom: calc(0.5 * var(--padunitvert) * var(--rvm));
}
.pt_1 {
  padding-top: calc(1 * var(--padunitvert) * var(--rvm));
}

.pb_1 {
  padding-bottom: calc(1 * var(--padunitvert) * var(--rvm));
}
.pt_2 {
  padding-top: calc(2 * var(--padunitvert) * var(--rvm));
}
.pb_2 {
  padding-bottom: calc(2 * var(--padunitvert) * var(--rvm));
}
.pt_3 {
  padding-top: calc(3 * var(--padunitvert) * var(--rvm));
}
.pb_3 {
  padding-bottom: calc(3 * var(--padunitvert) * var(--rvm));
}
.pt_4 {
  padding-top: calc(4 * var(--padunitvert) * var(--rvm));
}
.pb_4 {
  padding-bottom: calc(4 * var(--padunitvert) * var(--rvm));
}
.pt_5 {
  padding-top: calc(5 * var(--padunitvert) * var(--rvm));
}
.pb_5 {
  padding-bottom: calc(5 * var(--padunitvert) * var(--rvm));
}
 
.bouton {
  font-family: var(--font1);
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background-color: var(--color-noir);
  color: #fff;
  font: inherit;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  font-weight: 700;
  font-size: .65em;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  border: 2px solid var(--color-noir);
  border-radius: 2em;
  padding: .75em 1em;
  margin-top: 2em;
  margin-bottom: 2em;
  transition: all ease 0.5s;
}
.bouton:hover {
  background-color: var(--main-bgcolor0);
  color: var(--main-color2);
}
.bouton--blanc {
  background-color: #fff;
  border-color: #fff;
  color: var(--color-noir);
  font-weight: 700;
}
.bouton--blanc:hover {
  background-color: var(--color-noir);
  border-color: #fff;
  color: #fff;
}
.bouton--mb0 {
  margin-bottom: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: var(--font1);
  font-weight: 400;
  color: var(--color-noir);
  font-size: clamp(1rem, 0.882rem + 0.5034vw, 1.6875rem); /* 16px 375 / 27px 2560 > 1920 24px */
  line-height: normal;
  fill: currentColor;
  -webkit-font-smoothing: antialiased;
  background-color: #fff;
}
/* /BASE */

/* HEADER */
.header__cont {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
}
 
.header__logo {
  background-size: 5em 1.53em;
  width: 5em;
  height: 1.53em;
}

.header__logo, .scrolling-up.body--headerclair .header__logo {
  text-indent: -99em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='98' height='30' fill='none' viewBox='0 0 98 30'%3E%3Cg fill='%23000' clip-path='url(%23a)'%3E%3Cpath d='M0 8.84a8.77 8.77 0 0 0 2.413 6.055A8.77 8.77 0 0 0 0 20.95v8.84h5.572v-8.84a3.3 3.3 0 0 1 .966-2.322 3.27 3.27 0 0 1 2.317-.953H19.35v-5.56H8.855a3.25 3.25 0 0 1-2.39-.913 3.28 3.28 0 0 1-1-2.364 3.3 3.3 0 0 1 1-2.365 3.26 3.26 0 0 1 2.39-.913h20.993V0H8.855a8.8 8.8 0 0 0-6.25 2.577A8.9 8.9 0 0 0 0 8.84M47.602 0a14.84 14.84 0 0 0-10.53 4.342 15 15 0 0 0-4.394 10.553V29.79h5.572v-9.335h18.704v9.335h5.572V14.895a15 15 0 0 0-4.394-10.553A14.84 14.84 0 0 0 47.603 0M38.25 14.895c0-2.493.985-4.884 2.739-6.647a9.33 9.33 0 0 1 6.613-2.753c2.48 0 4.86.99 6.613 2.753a9.42 9.42 0 0 1 2.74 6.647zM98 0h-5.57v14.895a9.42 9.42 0 0 1-2.74 6.647 9.33 9.33 0 0 1-6.613 2.753c-2.48 0-4.859-.99-6.613-2.753a9.42 9.42 0 0 1-2.74-6.647V0h-5.57v14.895a15.04 15.04 0 0 0 4.223 10.668 14.9 14.9 0 0 0 10.491 4.542 14.9 14.9 0 0 0 10.614-4.245 15.04 15.04 0 0 0 4.52-10.545V0'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23000' d='M0 0h98v30H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  pointer-events: visible;
}
.body--headerclair .header__logo {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='98' height='30' fill='none' viewBox='0 0 98 30'%3E%3Cg fill='%23fff' clip-path='url(%23a)'%3E%3Cpath d='M0 8.84a8.77 8.77 0 0 0 2.413 6.055A8.77 8.77 0 0 0 0 20.95v8.84h5.572v-8.84a3.3 3.3 0 0 1 .966-2.322 3.27 3.27 0 0 1 2.317-.953H19.35v-5.56H8.855a3.25 3.25 0 0 1-2.39-.913 3.28 3.28 0 0 1-1-2.364 3.3 3.3 0 0 1 1-2.365 3.26 3.26 0 0 1 2.39-.913h20.993V0H8.855a8.79 8.79 0 0 0-6.25 2.577A8.91 8.91 0 0 0 0 8.84M47.602 0a14.84 14.84 0 0 0-10.53 4.342 15 15 0 0 0-4.394 10.553V29.79h5.572v-9.335h18.704v9.335h5.572V14.895a15 15 0 0 0-4.394-10.553A14.84 14.84 0 0 0 47.603 0M38.25 14.895c0-2.493.985-4.884 2.739-6.647a9.33 9.33 0 0 1 6.613-2.753c2.48 0 4.86.99 6.613 2.753a9.42 9.42 0 0 1 2.74 6.647zM98 0H92.43v14.895a9.42 9.42 0 0 1-2.74 6.647 9.33 9.33 0 0 1-6.613 2.753c-2.48 0-4.859-.99-6.613-2.753a9.42 9.42 0 0 1-2.74-6.647V0h-5.57v14.895a15.04 15.04 0 0 0 4.223 10.668 14.9 14.9 0 0 0 10.491 4.542 14.89 14.89 0 0 0 10.614-4.245 15.04 15.04 0 0 0 4.52-10.545V0'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h98v30H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}

.scrolling-up .header__logo {
  background-size: 4.08em 1.25em;
  width: 4.08em;
  height: 1.25em;
}

.header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-top: calc(2 * var(--padunit));
  padding-bottom: calc(2 * var(--padunit));
  align-items: center;
  color: var(--main-color1);
}
.header__navul {
  display: flex;
  flex-direction: column;
}
.header__nava {
  border-bottom: 3px solid transparent;
}
.header__nava:hover, .header__navli.activ a.header__nava {
  border-bottom: 2px solid var(--main-color1);
}
@media (min-width: 900px) {
  .header__cont {
    transform: translateY(0);
    transition: transform ease 0.3s;
  }
  .scrolling-down .header__cont {
    transform: translateY(-3em);
  }
  .scrolling-up .header__cont {
    position: fixed;
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, .5);
  }
  .header {
    padding-top: calc(0.5 * var(--padunit));
    padding-bottom: calc(0.5 * var(--padunit));
    color: var(--main-color1);
  }
  .header a {
    color: var(--main-color1);
  }
  .body--headerclair .header {
    color: #fff;
  }
  .body--headerclair .header a {
    color: #fff;
  }
  .body--headerclair .header a:hover, .body--headerclair .header__navli.activ .header__nava {
    border-bottom-color: #fff;
  }
  .scrolling-up .header {
    color: var(--color-noir);
  }
  .scrolling-up .header a {
    color: var(--color-noir);
  }
  .body--headerclair.scrolling-up .header a:hover, .body--headerclair.scrolling-up .header__navli.activ a {
    border-bottom-color: var(--color-noir);
  }
  .header__nav ul {
    flex-direction: row;
    justify-content: space-between;
  }
  .header__navli {
    font-size: 0.75em;
    font-weight: 500;
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
  /* masque contact */
  .header__navli:has(a[href="/contact"]) {
    display: none;
  }
  .header__navli--bouton a {
    border: none;
    padding: .5em .75em;
    border-radius: 2em;
    transition: background-color ease 0.3s;
  }
  .header__nav--rs a.header__nava {
    border: 2px solid var(--color-noir);
    padding: .65em 1em;
    color: #fff;
    background-color: var(--color-noir);
    border-radius: 2em;
  }
  .header__nav--rs a.header__nava:hover {
    border: 2px solid var(--color-noir);
    color: var(--color-noir);
    background-color: transparent;
  }
  .body--headerclair .header__nav--rs a.header__nava:hover {
    border: 2px solid #fff;
    color: #fff;
    background-color: transparent;
  }
  
  .header__navli--bouton a:hover {
    background-color: var(--main-color1);
    color: var(--main-bgcolor0);
    border: none;
  }
}
.header__burger {
  display: none;
  background-blend-mode: difference;
}
/* BURGER BARRES */
.burger__barres {
  padding: .85em .85em;
  width: calc(40px + 0.5em * 2);
  height: calc(27px + 0.85em * 2);
  background-color: var(--main-color1);
  border-radius: 2em;
}
.burger__barrespad {
  position: relative;
  width: 100%;
  height: 100%;
}
.burger__barres span {
  position: absolute;
  z-index: 100;
  left: 0;
  top: 11px;
  display: block;
  background-color: var(--main-bgcolor0);
  width: 100%;
  height: 4px;
  border-radius: 4px;
  transition: all ease 0.3s;
}
.burger__barres span:first-child {
  transform: translateY(0);
  top: .4em;
}
.burger__barres span:last-child {
  transform: translateY(0);
  top: auto;
  bottom: .4em;
}
body.nav_activ .burger__barres span {
  opacity: 0;
  top: 50%;
}
body.nav_activ .burger__barres span:first-child,
body.nav_activ .burger__barres span:last-child {
  opacity: 1;
  background-color: var(--main-bgcolor0);
}
body.nav_activ .burger__barres span:first-child {
  transform: rotate(-405deg);
}
body.nav_activ .burger__barres span:last-child {
  transform: rotate(405deg);
}
/* /BURGER */
/* burger desktop > supp @media (max-width...  */
@media (max-width: 900px) {
  .header__burger {
    display: block;
    position: fixed;
    z-index: 200;
    right: calc(1 * var(--padunit));
  }
  .header__nav {
    position: fixed;
    z-index: 100;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: var(--main-color1);
    display: flex;
  }
  .header__nav ul {
    flex-direction: column;
    width: 100%;
    align-items: center;
    justify-content: center;
  }
  .header__navli {
    text-align: center;
    font-size: 2em;
  }
  .header__nava {
    color: var(--main-bgcolor0);
  }
  .burger__fermer {
    display: none;
    color: var(--main-bgcolor0);
  }
  .header__nav--rs {
    display: none;
  }
  body.nav_activ .header__nav {
    left: 0;
  }
  body.nav_activ .burger__menu {
    display: none;
  }
  body.nav_activ .burger__fermer {
    display: block;
  }
}


.surtit {
  text-transform: uppercase;
}
.titbig {
  font-size: clamp(1.625rem, 1.0994rem + 2.2426vw, 4.6875rem); /*26:375 75:2560 */
  font-weight: 700;
  line-height: 1.2;
}
.titmedium {
  font-size: clamp(1.5rem, 1.1782rem + 1.373vw, 3.375rem); /*24:375 54:2560 */
  font-weight: 700;
  line-height: 1.2;
}
.mw9col--center {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 900px) {
  .mw9col {
    max-width: calc(9 * var(--column) + 8 * var(--gutter));
  }
  .mw7col {
    max-width: calc(7 * var(--column) + 6 * var(--gutter));
  }
}
.btntxt {
  text-transform: uppercase;
  color: var(--color-noir);
  text-decoration: underline;
}
.btntxt:hover {
  text-decoration: none;
}
.btntxt--pt {
  font-size: .66em;
}
.encart {
  background-color: var(--color-noir);
  color: #fff;
  border-radius: var(--border-radius-val);
  padding: 1.5em;
  text-align: center;
}

/* HOME */
.prodsomm {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: calc(var(--gutter)*4);
  width: 100%;
  margin-top: calc(var(--gutter)*4);
}
@media (min-width: 480px) {
  .prodsomm {
    gap: var(--gutter);
    margin-top: var(--gutter);
  }
}
.prodsomm__item {
  position: relative;
  flex: 0 0 100%;
  transition: flex 1.75s ease;
  /*height: 32vw;*/
  aspect-ratio: 16/9;
  overflow: hidden;
}
.prodsomm__overlay {
  pointer-events: none;
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, .3) 100%);
  border-radius: var(--border-radius-val);
}
@media (min-width: 480px) {
  .prodsomm__item {
    flex: 0 0 calc(50% - var(--gutter)/2);
    height: 32vw;
    aspect-ratio: auto;
  }
}
.prodsomm__itemtit {
  font-size: .83em;
  text-transform: uppercase;
  border-bottom-left-radius: var(--border-radius-val);
  border-top-right-radius: var(--border-radius-val);
  padding: .75em 1em;
  font-weight: 600;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  transition: background-color .5s ease, backdrop-filter .5s ease;
}
.prodsomm__item:hover .prodsomm__itemtit {
  /*
  background-color: rgba(0, 0, 0, .2);
  backdrop-filter: blur(10px);
  */
}
.prodsomm__itemimg img, .prodsomm__itemimg video {
  position: absolute;
  aspect-ratio: 1.778;
  object-fit: cover;
  height: 100%;
  /*filter: brightness(.75);*/
  border-radius: var(--border-radius-val);
  transition: filter 1.25s ease;
}
.prodsomm__item:hover .prodsomm__itemimg img,
.prodsomm__item:has(video):hover .prodsomm__itemimg video {
  filter: brightness(1);
}
.prodsomm__itemimg img {
  z-index: 1;
  pointer-events: none;
}
.prodsomm__itemimg video {
  z-index: 0;
  overflow: hidden;
}
@media (min-width: 900px) {
  .prodsomm__item:has(video):hover .prodsomm__itemimg img { opacity: 0; }

  .prodsomm__item:nth-child(2), .prodsomm__item:nth-child(3) {
    flex: 0 0 calc(33.5% - var(--gutter)/2);
  }
  .prodsomm__item:nth-child(1),.prodsomm__item:nth-child(4) {
    flex: 0 0 calc(66.5% - var(--gutter)/2);
  }
  .prodsomm__item:hover {
    flex: 0 0 calc(66.5% - var(--gutter)/2);
  }
  .prodsomm:has(.prodsomm__item--2:hover) .prodsomm__item--1,
  .prodsomm:has(.prodsomm__item--3:hover) .prodsomm__item--4 {
    flex: 0 0 calc(33.5% - var(--gutter)/2);
  }

  .prodsomm__item:nth-child(n + 5) {
    flex: 0 0 calc(50% - var(--gutter)/2);
  }
  .prodsomm__item:nth-child(n + 5):hover {
    flex: 0 0 calc(66.5% - var(--gutter)/2);
  }
  .prodsomm:has(.prodsomm__item--5:hover) .prodsomm__item--6,
  .prodsomm:has(.prodsomm__item--6:hover) .prodsomm__item--5,
  .prodsomm:has(.prodsomm__item--7:hover) .prodsomm__item--8,
  .prodsomm:has(.prodsomm__item--8:hover) .prodsomm__item--7,
  .prodsomm:has(.prodsomm__item--9:hover) .prodsomm__item--10,
  .prodsomm:has(.prodsomm__item--10:hover) .prodsomm__item--9
  {
    flex: 0 0 calc(33.5% - var(--gutter)/2);
  }

}
.textaligncenter {
  text-align: center;
}
.hidden {
  display: none;
}
.closecontent h2 {
  position: relative;
  cursor: pointer;
  border-top: 1px solid var(--color-noir);
  padding-top: .5em;
  margin-top: .5em;
  padding-right: 3em;
  transition: all ease 0.3s;
}
.closecontent h2::after {
  content: "";
  position: absolute;
  right: 0;
  top: 1em;
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='11' y1='4.37115e-08' x2='11' y2='21' stroke='black' stroke-width='2'/%3E%3Cline y1='10' x2='21' y2='10' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
  background-size: .875em .875em;
  background-repeat: no-repeat;
  width: .875em;
  height: .875em;
  transform: rotate(135deg);
  transition: all ease 0.3s;
}
.closecontent h2.closed::after {
  transform: rotate(0);
}
.closecontent h2:hover::after {
  right: .5em;
}
.closecontent {
  padding-bottom: .5em;
  border-bottom: 1px solid var(--color-noir);
}

/* ACTU */
.actusom {
  display: flex;
  flex-direction: column;
  gap: calc(var(--gutter)*6);
}
.actusom__item {
  cursor: pointer;
}
.actusom__item:hover .bouton {
  background-color: #fff;
  color: var(--color-noir);
}
.actusom__img--equip {
  position: relative;
}
.actusom__img--equip img:nth-child(2) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .1s ease;
}
.actusom__img--equip:hover img:nth-child(2) {
    opacity: 1;
}
.actusom__txt {
  margin-top: .75em;
}
.actusom__date {
  font-size: .66em;
}
.actusom__tit {
  margin-top: .5em;
  font-size: 1em;
  font-weight: 700;
}
.actusom__soustit {
  margin-top: .25em;
  font-size: .83em;
  font-weight: 400;
}
.actusom__desc {
  display: none;
  padding-top: .75em;
  font-size: .66em;
}
.actusom__desc.is-visible {
    display: block;
}
.actusom__item img {
    border-radius: var(--border-radius-val);
  }
@media (min-width: 640px) {
  .actusom {
    flex-direction: row;
    flex-wrap: wrap;
    gap: calc(2*var(--gutter)) var(--gutter);
  }
  .actusom__item {
    flex: 0 1 calc((100% / 2) - (var(--gutter) * 1 / 2));
  }
  .actusom__tit {
    font-size: 1.25em;
  }
  .actusom--proj .actusom__tit {
    font-size: .83em;
  }
  .actusom--contact .actusom__tit {
    font-size: .83em;
  }

}
@media (min-width: 640px) {
  .actusom--proj .actusom__item {
    flex: 0 1 calc((100% / 2) - (var(--gutter) * 1 / 2 + 0.1px));
  }
}
@media (min-width: 1200px) {
  .actusom--proj .actusom__item {
    flex: 0 1 calc((100% / 3) - (var(--gutter) * 2 / 3 + 0.1px));
  }
  .actusom--proj .actusom__item--big {
    flex: 0 1 calc((100% / 2) - (var(--gutter) * 1 / 2));
  }
}
@media (min-width: 1800px) {
  .actusom--proj .actusom__item {
    flex: 0 1 calc((100% / 4) - (var(--gutter) * 3 / 4 + 0.1px));
  }
  .actusom--proj .actusom__item--big {
    flex: 0 1 calc((100% / 2) - (var(--gutter) * 1 / 2));
    max-width: calc((100% / 2) - (var(--gutter) * 1 / 2));
  }
}

.chiff {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(3*var(--gutter)) var(--gutter);
}
@media (min-width: 900px) {
  .chiff {
    grid-template-columns: repeat(4, 1fr);    
  }
}
.chiff__item {
  text-align: center;
}
.chiff__itemnum {
    font-size: clamp(1.875rem, 1.0169rem + 3.6613vw, 6.875rem);
    font-weight: 700;
}


/* CURSOR */
.cursor-label {
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 2em;
  border-top-left-radius: 0;
  padding: .75em 1em;
  background-color: rgba(255, 255, 255, .5);
  backdrop-filter: blur(6px);
  color: var(--color-noir);
  font-size: .65em;
  font-weight: 500;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 9999;
  /*white-space: nowrap;*/
  max-width: 16em;
  text-align: center;
}
.cursor-label.is-active {
  opacity: 1;
  transform: translate(0, calc(.5em)) scale(1);
}
.prodsomm__item {
  /*cursor: none;*/
}
.logoclients {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.logoclients__item {
  position: relative;
  aspect-ratio: 1;
  width: 50%;
}
@media (min-width: 640px) {
  .logoclients__item {
    width: 25%;
  }
}
@media (min-width: 1300px) {
  .logoclients__item {
    width: 16.66%;
  }
  .logoclients__item--home:nth-child(n + 7) {
    display: none;
  }
}
@media (min-width: 1600px) {
  .logoclients__item {
    width: 12.5%;
  }
  .logoclients__item--home:nth-child(n + 7) {
    display: block;
  }
}
.logoclients__item img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 1.25em;
  max-height: 60%;
  min-width: 70%;
  width: auto;
  filter: grayscale(100%) contrast(1.5);
}
.logoclients__item img[src$=".svg"] {
  filter: contrast(1) grayscale(100%) brightness(0%);
}
@media (min-width: 1200px) {
  .mwactu {
    max-width: calc(8 * var(--column) + 7 * var(--gutter));
    margin-left: auto;
    margin-right: auto;
  }
}
.imgborderradius img {
  border-radius: var(--border-radius-val);
}
.actudet__dat {
  font-size: .66em;
}

/*SERVICES*/
.blochead {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1200px) {
  .blochead {
    flex-direction: row;
    gap: var(--gutter);
    align-items: flex-start;
  }
  .blochead__1 {
    flex: 0 0 calc(50% - var(--gutter) / 2);
  }
  .blochead__2 {
    flex: 0 0 calc(50% - var(--gutter) / 2);
  }
  .blochead__2--contact {
    padding-left: calc(var(--columngutter));
    position: sticky;
    top: var(--padunit);
  }
  .blochead--2 .blochead__1 {
    flex: 0 0 calc(65% - var(--gutter) / 2);
    padding-right: var(--columngutter);
  }
  .blochead--2 .blochead__2 {
    flex: 0 0 calc(35% - var(--gutter) / 2);
  }
  .blochead__2--pfirst .editor p:first-child {
    padding-top: 0;
  }
}

.gri {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gutter);
}
.gri__item {
  position: relative;
  overflow: hidden;
  /*grid-column: span 12;*/
  grid-column: span 6;
  aspect-ratio: 1;
  border-radius: var(--border-radius-val);
}
.gri__overlay {
  pointer-events: none;
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, .5) 100%);
}
@media (min-width: 480px) {
  .gri__overlay {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, .3) 100%);
  }
}
.gri__tit {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  font-size: .6em;
  text-transform: uppercase;
  border-bottom-left-radius: var(--border-radius-val);
  border-top-right-radius: var(--border-radius-val);
  padding: .75em 1em;
  font-weight: 600;
  color: #fff;  
  transition: background-color .5s ease, backdrop-filter .5s ease;
}
.gri__item:hover .gri__tit {
  /*
  background-color: rgba(0, 0, 0, .2);
  backdrop-filter: blur(10px);
  */
}
.gri__img {
  border-radius: var(--border-radius-val);
}
.gri__img img, .gri__img video {
  position: absolute;
  aspect-ratio: 1.778;
  object-fit: cover;
  height: 100%;
  /*filter: brightness(.75);*/
  border-radius: var(--border-radius-val);
  transition: filter 1.25s ease;
}
.gri__item img {
  z-index: 1;
  pointer-events: none;
}
.gri__item video {
  z-index: 0;
  overflow: hidden;
}
.gri__item:hover .gri__img img,
.gri__item:has(video):hover .gri__img video {
  filter: brightness(1);
}
.gri__item:has(video):hover img { opacity: 0; }
@media (min-width: 480px) {
  .gri__item {
    aspect-ratio: 16/9;
    grid-column: span 6;
  }
}
@media (min-width: 1200px) {
  .gri__item {
    grid-column: span 4;
  }
  .gri--4 .gri__item {
    grid-column: span 3;
  }
}

@media (min-width: 1360px) {
  .gri--serv {
    & .gri__item--1 {
      grid-column: span 6;
      grid-row: span 2;
      aspect-ratio: initial;
    }
    & :is(.gri__item--2, .gri__item--3, .gri__item--4, .gri__item--5) {
      grid-column: span 3;
    }
    & :is(.gri__item--6, .gri__item--7) {
      grid-column: span 3;
    }
    & .gri__item--8 {
      grid-column: span 6;
      grid-row: span 2;
      aspect-ratio: initial;
    }
    & :is(.gri__item--9, .gri__item--10) {
      grid-column: span 3;
    }
    /*
    .gri__item--6, .gri__item--7, .gri__item--8 {
      grid-column: span 4;
      aspect-ratio: 16/9;
    }
    */
  }
}
.ariane {
  font-size: .7em;
}
.ariane a {
  border-bottom: 1px solid rgba(0,0,0,.1);
  transition: border-color ease 0.3s;
}
.ariane a:hover {
  border-bottom: 1px solid rgba(0,0,0,1);
}
.media-arrondi-parent img,
.media-arrondi-parent video {
  border-radius: var(--border-radius-val);
}
.projhead {
    position: relative;
    height: 75vh;
    overflow: hidden;
}
.projhead__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(180deg,rgba(0, 0, 0, .25) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 85%, rgba(0, 0, 0, .25) 100%);
}
.projhead__tith1 {
  font-size: 1.25em;
  color: #fff;
  padding: .5em 0;
  padding-bottom: 1.5em;
  font-weight: 700;
}
.projhead img, .projhead video {
    object-fit: cover;
    height: 75vh;
}
.projhead__tit {
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (min-width: 640px) {
  .projhead {
    height: 100vh;
  }
  .projhead img, .projhead video {
    height: 100vh;
  }
}
.projlogo {
  display: flex;
  gap: var(--gutter);
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 2em;
}
.projlogo__item {
  /*margin-bottom: 1em;*/
}
.projlogo__item img {
  filter: grayscale(100%) contrast(1.5);
  max-width: 8em;
  max-height: 3em;
  /*width: auto;*/
}
.projlogo__item img[src$=".svg"] {
  filter: grayscale(100%) brightness(0%);
}

.imgmulti__cont {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: calc(var(--gutter)*4);
}
.imgmulti img {
  border-radius: var(--border-radius-val);
}
.imgmulti__leg {
  font-size: .83em;
  padding-top: .25em;
}
@media (min-width: 900px) {
  .imgmulti__cont {
    flex-direction: row;
    gap: var(--gutter);
    /*gap: calc(var(--gutter)*3) var(--gutter);*/
  }
  .imgmulti--portrait {
    flex: 0 0 calc(50% - var(--gutter)/2);
  }
}


.faq__item {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    margin-bottom: .5em;
    border-radius: var(--border-radius-val);
    transition: all 0.3s ease;
}
.faq__item:hover {
    border: 1px solid var(--color-noir);
}
.faq__question {
    position: relative;
    padding: 1em;
    padding-right: 2.5em;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
}
/* Supprime la flèche par défaut sur Firefox */
.faq__question::-webkit-details-marker {
    display: none;
}
.faq__icon {
    position: absolute;
    right: 1em;
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}
.faq__icon::before,
.faq__icon::after {
    content: "";
    position: absolute;
    background-color: var(--color-noir); /* Couleur du + */
    transition: transform 0.3s ease;
}
.faq__icon::before {
    top: 9px;
    left: 0;
    width: 100%;
    height: 2px;
}
.faq__icon::after {
    top: 0;
    left: 9px;
    width: 2px;
    height: 100%;
}
.faq__item[open] .faq__icon {
    transform: rotate(135deg);
}
.faq__reponse {
    padding: 0 1em 1em 1em;
    line-height: 1.5;
}

/* FOOTER */
.foot__cont {
  background-color: var(--color-noir);
  color: #fff;
}
.foot__cont a(:not(.bouton)) {
  text-decoration: underline;
}
.foot__cont a:hover {
  text-decoration: none;
}
.foot {
  font-size: .83em;
  display: flex;
  flex-direction: row;
  gap: var(--columngutter);
  flex-wrap: wrap;
}
.foot__item {
  flex: 1 1 calc(50% - var(--columngutter));
}
@media (min-width: 900px) {
  .foot__item {
    flex: 1 1 calc(25% - var(--columngutter));
  }
}



/* POPUP */
.popup__cont {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.5);
  backdrop-filter: blur(5px);
}
.popup__cont.show {
  display: block;
}
.popup {
  opacity: 0;
  position: absolute;
  z-index: 1100;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 960px;
  width: 90%;
  max-height: 90%;
  background-color: var(--main-bgcolor0);
  padding: calc(1*var(--padunit));
  padding-top: calc(1*var(--padunit));
  transition: opacity .5s ease;
  overflow-y: auto;
  border-radius: var(--border-radius-media);
}
@media (min-width: 800px) {
  .popup {
      min-width: 50%;
      padding: calc(1*var(--padunit));
  }
}
.popup.show {
  opacity: 1;
}
.popup__txt {
  font-size: .85em;
  font-weight: 400;
}
.popup__text1 {
  padding-bottom: .75em;        
}
.popup__tit {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.14;
  padding-bottom: .75em;
}
.popup__btn {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
  position: absolute;
  right: .5em;
  top: .5em;
  padding: .5em;
  cursor: pointer;
}
.popup__btn svg path {
  fill: var(--color-noir);
  transition: fill ease .3s;
}
.popup__btn:hover svg path {
  fill: var(--color-noir);
}
.popup__btn svg {
  width: 1.5em;
  height: 1.5em;
}

/* FILTRES */
.filtre {
  margin-top: 0;
  margin-bottom: .5em;
}
.filt__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
.filt__item {
  padding: .25em;
}
.filt__btn {
  text-transform: uppercase;
  font-size: .5em;
  font-weight: 700;
  text-decoration: none;
  padding: .5em 1em;
  background-color: transparent;
  transition: background-color ease .3s;
  border-radius: 1.5em;
  border: 2px solid var(--color-noir);
  color: var(--color-noir);
}
.filt__btn.active {
  background-color: var(--color-noir);
  color: #fff;
}
.filt__btn:hover {
  background-color: var(--color-noir);
  color: #fff;
}
@media (min-width: 700px) {
  .filt__list {
      justify-content: flex-end;
  }
}
@media (min-width: 1300px) {
  .filtre {
      margin-top: 0;
      margin-bottom: 0;
  }
}

/* PAGINATION */
.pagination {
  padding: 5em 0;
  text-align: center;
}
.pagination li {
  display: inline-block;
  font-size: 1.2em;
  line-height: 1;
  font-weight: 700;
  color: #D2D2D2;
  padding-left: .25em;
  padding-right: .25em;
}
.pagination li a, .pagination__activ {
  border: #D2D2D2 2px solid;
  color: #D2D2D2;
  text-decoration: none;
  padding-left: .6em;
  padding-right: .6em;
  padding-top: .2em;
  padding-bottom: .2em;
  transition: .3s ease border-color, .3s ease color;
  border-radius: .5em;
}
.pagination__activ, .pagination li a:hover {
  border-color: var(--color-noir);
  color: var(--color-noir);
}

/* EFFECT */
.imgeffect_1 {
  background: repeating-radial-gradient(
    circle at 0 -25%,
    #fff,
    #333 0.125em,
    #fff 0.15em
  );
  filter: contrast(400%);
}
.imgeffect_1 img {
  mix-blend-mode: hard-light;
  filter: grayscale(1) brightness(90%) contrast(150%) blur(3px);
}

/*CONTACT FORM */
.formtit {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.33;
}
.qu {
  margin-top: 1.5em;
}
.qu__intitule {
  font-weight: 700;
  display: block;
  font-size: 1.1em;
  line-height: 1.1;
  padding-bottom: .5em;
  
}

.qu__radioin {
position: absolute;
left: -999em;
visibility: hidden;
height: 0;
width: 0;
transform: scale(0);
}
.qu__radiolab {
position: relative;
display: inline-block;
font-size: .8em;
font-weight: 400;
cursor: pointer;
color: #0D181C;
padding: .5em .75em;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;
  margin-right: .5em;
  margin-bottom: 1em;
  border: 1px solid #777777;
}
.qu__radiolab:hover {
  
}
.qu__radioin:checked + label:after {
  transform: scale(1);
}
.qu__radioin:checked + label {
  color: #fff;
  background-color: #044563;
}
.qu__radiolab:hover:not(:checked) + label {
  color: #fff;
  border-color: #fff;
}

.qu__select {
  margin: 0;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  
  width: 100%;
  border: 2px solid #AAAAAA;
  font-size: 1em;
  padding: .75em 1.25em;
  /*margin-top: 1em;*/
}
.form__lab  {
  font-size: .65em;
  line-height: normal;
  display: block;
  margin-bottom: .25em;
}
.form__lab--block {
  display: block;
  font-size: .8em;
}
.requis:before {
  content: " *";
}
.form__chp {
  font-family: var(--font1);
  -moz-appearance: none;
  -webkit-appearance: none;
  font-size: 16px;
  font-weight: 400;
  border: 2px solid var(--color-noir);
  border-radius: .5em;
  background-color: #fff;
  width: 100%;
  margin-top: 0;
  margin-bottom: 1em;
  padding: .75em .75em;
  color:var(--color-noir);
  outline: none;
  transition: border ease .3s;
}
@media (min-width: 700px) {
  .form__chp {
      font-size: .65em;
  }
}
.form__chp:focus {
  box-shadow: inset 0 0 0 1px var(--color-noir);
}
.inputlab  {
  margin-top: .5em;
  position: relative;
}
.inputlab input {
  position: relative;
}
.inputlab .form__lab  {
  position: absolute;
  top: .75em;
  left: .9em;
  transition: transform 100ms ease;
  transform: translateY(0);
  pointer-events: none;
}
.inputlab--select {
  position: relative;
}
.inputlab--select .form__lab, .inputlab .form__lab--file {
  font-size: .55em;
  padding-left: .15em;
  padding-right: .15em;
  top: -0.65em;
  background-color: #fff;
}
.inputlab input.form__chp--full + .form__lab, .inputlab input:focus + .form__lab {
  transform: translateY(-1.5em);
  font-size: .55em;
  background-color: #fff;
  padding-left: .15em;
  padding-right: .15em;
}
.form__chp--area {
  height: 6em;
  border: 2px solid var(--color-noir);
  padding-left: .5em;
  padding-right: .5em;
}
.formselect__cont {
  position: relative;
}
.formselect__cont::before {
  content: "▼";
  color: var(--color-noir);
  position: absolute;
  z-index: 10;
  top: 50%;
  transform: translateY(-1em);
  right: 1em;
}
.formselect__cont--2::before {
  top: calc(50% - .55em);
}
.error .form__lab::before {
  content: "⌦ ";
  color: var(color-error);
}
.error .form__chp {
  border-bottom-color: var(--color-error);
}
.error.quradio::before {
  content: "⌦ Choisissez";
  color: var(--color-error);
  display: block;
  padding-bottom: .5em;
}
@media (min-width: 700px) {
  .form__2col {
      display: flex;
      display: -ms-flexbox;
      flex-wrap: wrap;
  }
  .form__2col__item  {
      width: 50%;
  }
  .form__2col__item:nth-child(2n)  {
      padding-left: 1.5625%;
  }
  .form__2col__item:nth-child(2n+1)  {
      padding-right: 1.5625%;
  }
}
.form__info {
  position:relative;
  max-width: 20em;
  font-size: .85em;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
  color: #fff;
  background-color: var(--color-error);
  border-radius: 1.5em;
  padding: 1em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  animation: .3s shake;
  animation-delay: 1s
}
.form__info::after {
  position: absolute;
  content:'';
  display:block;
  background: var(--color-error);
  height: 1em;
  width: 1em;
  transform: rotate(45deg);
  bottom: -.4em;
  left:50%;
}
.form_alert {
  display: none;
}
.form_alert.go {
  font-weight: 700;
  display: inline-block;
  padding: .5em;
  color: #fff;
  background-color: var(--color-error);
}
.shakeit {
  animation: .3s shake;
}
@keyframes shake {
from, to {
  transform: translate3d(0, 0, 0);
}
10%, 50%, 90% {
  transform: translate3d(-.5em, 0, 0);
}
20%, 60% {
  transform: translate3d(.5em, 0, 0);
}
}
.form__chpfichier__cont {
  position: relative;
}
.form__chpfichier {
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
}
.form__labfichier {
  position: relative;
  z-index: 2;
  font-size: .8em;
  line-height: 1.1;
  margin-bottom: .5em;
  display: inline-block;
  padding: .75em 2em;
  padding-left: 3.5em;
  position: relative;
  border: 1px solid #0D181C;
  color: #0D181C;
  background-color: #fff;
  text-align: left;
  cursor: pointer;
  border-radius: 0;
}
.form__labfichier:hover {
  background-color: #044563;
  color: #fff;
  border-color: #fff;
}
.form__labfichier svg {
  position: absolute;
  left: 1em;
  top: .85em;
  text-decoration: underline;
  width: 1.4em;
  height: 1em;
}
.form__labfichier svg path {
  fill: #044563;
}
.form__labfichier:hover svg path {
  fill: #fff;
}
.form__chpfichier__restric {
  font-size: .72em;
  color: #777777;
}
.form__group {
  margin-top: .25em;
}
.form__group--captcha {
  margin-top: 1.5em;
}
.g-recaptcha{
  max-width: 305px;
  margin: 0 auto;
}
.accept__cont.error:before {
  content: "⌦ merci de cocher la case";
  color: var(--color-error);
  font-weight: 700;
  font-size: .87em;
}
.form__boutoncont {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.form__mention__cont {
  margin-top: 1em;
}
.form__mention {
  color: #777777;
  font-size: .72em;
}
.form__mention a {
  color: #777777;
  border-bottom: 1px solid #777777;
}
.boutonsub__cont {
  text-align: center;
}


/* EDITOR */
.editor p:empty {
  display: none;
}
.editor p,
.editor ul,
.editor ol {
  font-size: .83em;
  padding-top: 1em;
  padding-bottom: 0.75em;
}
.editor--medium p,
.editor--medium ul,
.editor--medium ol {
  font-size: 1em;
}


.editor ul {
  list-style: disc;
  padding-left: 1em;
}
.editor ol {
  list-style: decimal;
  padding-left: 1em;
}
.editor a:not(.bouton) {
  border-bottom: 2px solid rgba(0,0,0,.1);
  transition: border-color ease 0.3s;
}
.editor a:not(.bouton):hover {
  border-bottom-color: rgba(0,0,0,1);
}
.editor h2 {
  font-weight: 700;
  font-size: 1.25em;
  line-height: normal;
  padding-top: 0.75em;
  padding-bottom: 0.25em;
}
.editor h3 {
  font-weight: 700;
  /*font-size: clamp(1.875rem, 1.5532rem + 1.373vw, 3.75rem);*/
  font-size: 1.1em;
  line-height: normal;
  padding-top: 0.75em;
  padding-bottom: 0.25em;
}
/* chapeau */
.editor .chapeau {
  font-size: 1.25em;
  font-weight: 400;
}
/* table */
.editor table {
  font-size: .66em;
  width: 100%;
  border-collapse: collapse;
  border: 0;
  margin-top: 4em;
  margin-bottom: 3em;
}
.editor table th {
  padding: 0.75em;
  background-color: #f0f0f0;
  border-bottom: 1px solid var(--color-noir);
  text-align: left;
  font-weight: 700;
}
.editor table tr:nth-child(2n) {
  background-color: #fff;
}
.editor table tr:nth-child(2n + 1) {
  background-color: #f8f8f8;
}
.editor table td {
  border-bottom: 1px solid var(--color-noir);
  padding: 0.75em;
  color: var(--color-noir);
}
/* exergue */
.editor .exergue {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 4em;
  margin-bottom: 3em;
  color: var(--color-noir);
  padding-left: 1.5em;
  border-left: 6px solid var(--color-noir);
  font-weight: 700;
}
/* blockquote */
.editor blockquote {
  position: relative;
  font-family: var(--font2);
  width: 95%;
  padding-top: 1.5em;
  margin-top: 3em;
  margin-bottom: 4em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  line-height: 1.2;
}
.editor blockquote p {
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  word-break: break-word;
  padding: 0.15em 0.5em;
  font-size: 1.5em;
  font-weight: 400;
  font-style: italic;
}
.editor blockquote p strong {
  font-size: .65em;
}
.editor blockquote:before {
  left: 0;
  top: 0;
  content: "\201C";
  position: absolute;
  font-size: 7em;
  line-height: 0.49;
}
@media (min-width: 540px) {
  .editor blockquote:before {
    font-size: 9em;
  }
  .editor blockquote {
    padding-top: 0;
    padding-left: 4em;
  }
}
@media (min-width: 1300px) {
  .editor blockquote:before {
    font-size: 8em;
  }
}
.ckeditor-html5-video {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.ckeditor-html5-video video {
  border-radius: var(--border-radius-val);
}

.video__cont {
    margin: 2em 0;
}
.embed-container {
    margin: 0 0;
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.embed-youtube {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  /*aspect-ratio: 1.861;*/
  background-color: transparent;
  color: #fff;
  margin-top: 2em;
  margin-bottom: 2em;
}
.embed-youtube a::after {
  content: "►";
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 1.5em;
  line-height: 1;
  padding: .85em .75em .75em .85em;
  z-index: 10;
  color: var(--color-noir);
  pointer-events: none;
  transition: all ease .3s;
  background-color: #fff;
}
.embed-youtube a:hover::after {
  background-color: var(--color-noir);
  color: #fff;
}
.embed-youtube--1-6 {
  aspect-ratio: 1.6;
}
.embed-youtube iframe, .embed-youtube a {
  position: absolute;
  width: 100%;
  height: 100%;
}
.embed-youtube img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.imgmultiins {
  margin-top: 2em;
  margin-bottom: 2em;
}
.imgmultiins img {
  
}
.editor .imgmultiins img {
  max-height: 100vh;
  width: auto;
  border-radius: var(--border-radius-val);
}
.imgmultiins__figcaption {
  font-size: .8em;
  color: #AAAAAA;
  margin-top: .75em;
}
@media (min-width: 900px) {
  .imgmultiins {
      margin-left: 0;
      margin-right: 0;
  }
}
/*ACCORDION*/
*:not(.accordion) + .accordion {
  margin-top: 4em;
}
.accordion + *:not(.accordion) {
  margin-top: 3em;
}
.accordion {
  border-top: 2px solid var(--color-noir);
  border-bottom: 2px solid var(--color-noir);
}
.accordion + .accordion {
  border-top-width: 0;
}
.accordion__btn, .editor h2.accordion__btn {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background-color: #fff;
  color: var(--color-noir);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='36' height='21'%3E%3Cpath d='M0 2.821 2.8 0 18 15.352 33.2 0 36 2.821 20.8 18.175 18 21Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: .75em .44em;
  background-position: right 1.15em;
  padding-right: 1.5em;
  padding-top: .7em;
  padding-bottom: 0;
}
/*
.accordion__btn:hover {
  background-color: #fff
}
*/
.accordion__btn.active {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='36' height='21'%3E%3Cpath d='M36 18.179 33.2 21 18 5.648 2.8 21 0 18.179 15.2 2.825 18 0Z'/%3E%3C/svg%3E")
}
.accordion__contenu {
  padding-top: 1em;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height .5s ease-out;
  transition: max-height .5s ease-out;
  font-size: 1em;
  line-height: 1.5;
}
.accordion__contenu::after {
  content: "-";
  opacity: 0;
}
/* CONTENTBUILDER */
.contentbuild {
  overflow-x: hidden;
  font-size: 1em;
}
.contentbuild .row {
  width: 100%;
}
.contentbuild .column {
  width: 100%;
}
.bloc {
  display: flex;
  flex-direction: column;
  padding-left: var(--margelr);
  padding-right: var(--margelr);
}
.bloc--full {
  padding-left: 0;
  padding-right: 0;
}
.bloc--bg {
  padding-top: calc(var(--padunitvert) * var(--rvm));
  padding-bottom: calc(var(--padunitvert) * var(--rvm));
  margin-top: 2em;
}
.bloc__item {
  margin-top: var(--margelr);
  /*margin-bottom: var(--margelr);*/
}
@media (min-width: 760px) {
  .bloc {
    flex-direction: row;
    /*
    padding-left: calc(var(--pdlr-colbase) * var(--padunit));
    padding-right: calc(var(--pdlr-colbase) * var(--padunit));
    */
    margin-left: calc(-1 * var(--padbloc));
    margin-right: calc(-1 * var(--padbloc));
    margin-top: calc(var(--padunitvert) * var(--rvm));
  }
  .bloc__item {
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    padding: var(--padbloc);
  }
  .bloc__item--center {
    margin-left: auto;
    margin-right: auto;
  }
  .bloc__item--30 {
    width: 28.125%;
  }
  .bloc__item--35 {
    width: 34.375%;
  }
  .bloc__item--40 {
    width: 40.625%;
  }
  .bloc__item--50 {
    width: 50%;
  }
  .bloc__item--60 {
    width: 59.375%;
  }
  .bloc__item--65 {
    width: 65.625%;
  }
  .bloc__item--70 {
    width: 71.875%;
  }
}
.contentbuild img, .contentbuild video {
  border-radius: var(--border-radius-val);
}
.contentbuild video {
  max-height: 100vh;
}
.contentbuild p, .contentbuild ul, .contentbuild ol {
  font-size: .83em;
  margin-bottom: .75em;
}
.contentbuild a {
  border-bottom: 2px solid rgba(0,0,0,.1);
  transition: border-color ease 0.3s;
}
.contentbuild a:hover {
  border-bottom: 2px solid rgba(0,0,0,1);
}
.contentbuild ul {
  margin-bottom: .75em;
  margin-left: 1em;
  list-style-type: disc;
}
.contentbuild ol {
  margin-bottom: .75em;
  margin-left: 1em;
  list-style-type: decimal;
}
.contentbuild .font-semibold {
  font-weight: 600;
}

.contentbuild .embed-container {
  margin: 0 0;
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  background-color: #a1a1a1;
}
.contentbuild .embed-container--carre {
  aspect-ratio: 1;
}
.contentbuild .embed-container iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.contentbuild h2 {
  font-size: 1.25em;
  font-weight: 700;
  margin-bottom: .5em;
}
.contentbuild h3 {
  font-size: 1.1em;
  font-weight: 700;
  margin-bottom: .5em;
}
.contentbuild .bloc--bg h2, .contentbuild .bloc--bg h3 {
  color: #fff;
}

/* ANIMATIONS */
.animate-in {
  -webkit-animation: fadeIn .7s ease-in;
  animation: fadeIn .7s ease-in;
}
.animate-out {
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
  opacity: 0;
}
@-webkit-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.js .animscroll.effecttoimg1 img, .js .effecttoimg1 img {
  /*border-radius: 0;*/
  transition: all ease .75s;
}
.js .animscroll--go.effecttoimg1 img {
  /*border-radius: 1.2em;*/
  transform: matrix(1, 0, 0, 1, 0, 0);
}
.js .animscroll.imgeffect1, .js .imgeffect1 {
  position: relative;
  overflow: hidden;
  /*
  -webkit-transform: scale(.85);
  transform: scale(.85);
  */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  transition: transform 1.5s ease;
}
.js .animscroll--go.imgeffect1 {
  transform: scale(1);
}
.js .animscroll.imgeffect1 img {
  display: block;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  transition: transform 1.5s ease;
}
.js .animscroll--go.imgeffect1 img {
  transform: scale(1);
}
.js .animscroll.animscroll_fadeandup {
  transform: matrix(1, 0, 0, 1, 0, 60);
  opacity: 0;
  transition: all ease 1s;
}
.js .animscroll.animscroll_fadeandup--delay {
  transition-delay: .1s;
}
.js .animscroll--go.animscroll_fadeandup {
  transform: matrix(1, 0, 0, 1, 0, 0);
  opacity: 1;
}