/* =========== CSS RESET =========== */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html, body, button, input, textarea, select {
  font: inherit;
  color: inherit;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  background: transparent;
  border: 0;
  cursor: pointer;
}
input{
  border-width: 0;
}
button:focus, input:focus, textarea:focus, select:focus {
  outline: 0;
}
img, picture, svg, video {
  display: block;
  max-width: 100%;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* =========== NAMING CONVENTIONS ===========

u- for utility classes (single purposed styling classes)
o- for object classes (used in unrelated contexts, modify with caution)
c- for component (specific piece of UI, can be changed safely)
is- & has- for JavaScript states

Note : classes in plural form refers to the container of said elements
*/

/* =========== DESIGN TOKENS =========== */

:root {
  /* === Colors === */
  /* Primary Palette */
  --color-primary: #1F4761;
  --color-primary-dark: #13303D;
  --color-primary-light: #C0E1ED;

  /* Secondary Palette */
  --color-secondary: #A0101A;
  --color-secondary-dark: #810E15;
  --color-secondary-light: #F93F4B;

  /* Neutrals */
  --color-black: #000000;
  --color-neutral-darkest: #091B1F;
  --color-neutral-dark: #0E242E;
  --color-neutral-medium: #13303D;
  --color-neutral-light: #A5C4D4;
  --color-neutral-lighter: #E9ECEC;
  --color-neutral-lightest: #F3F4F3;
  --color-white: #ffffff;

  /* Semantic Colors */
  --color-text-dark: #132E34; /* -- Titles*/
  --color-text-primary: rgba(0, 0, 0, 0.6);
  --color-text-light: rgba(255, 255, 255, 0.9);
  --color-text-white: #ffffff;

  /* === Gradients === */
  --gradient-primary: linear-gradient(to bottom, var(--color-primary) 50%, var(--color-primary-dark) 50%);
  --gradient-secondary: linear-gradient(to bottom, var(--color-secondary) 50%, var(--color-secondary-dark) 50%);
  --gradient-dark: linear-gradient(to bottom, var(--color-neutral-dark) 50%, var(--color-neutral-darkest) 50%);
  --gradient-dark-linear: linear-gradient(to bottom, var(--color-neutral-dark), var(--color-neutral-darkest));
  --gradient-dark-sided: linear-gradient(to right, var(--color-neutral-dark), var(--color-neutral-darkest));
  --gradient-reversed-linear: linear-gradient(to top, var(--color-neutral-dark), var(--color-neutral-darkest));

  /* Borders */
  --color-border: rgba(119, 122, 127, 0.5);
  --color-border-dark: rgba(0, 0, 0, 0.3);
  --color-border-light: rgba(255, 255, 255, 0.3);

  /* === Spacing === */
  --space-2xs: 0.15rem;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lrg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 2.5rem;
  --space-3xl: 3rem;
  --space-4xl: 4rem;
  --space-5xl: 5rem;
  --space-6xl: 6rem;

  /* === Typography === */
  --font-family-base: 'quicksand', sans-serif;
  --font-family-title: 'lemonmilk', sans-serif;
  --font-size-vsm: 0.8rem;
  --font-size-sm: 0.9rem;
  --font-size-base: 1rem;
  --font-size-md: 1.1rem;
  --font-size-lrg: 1.2rem;
  --font-size-xl: 1.3rem;
  --font-size-2xl: 1.45rem;
  --font-size-3xl: 1.6rem;
  --font-size-4xl: 2rem;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 900;
  --line-height-tight: 1.2;
  --line-height-normal: 1.4;
  --line-height-relaxed: 1.7;

  /* === Component Sizes === */
  /* Buttons */
  --size-button-height: 4.25rem;
  --size-button-height-sm: 4rem;

  /* Navigation */
  --size-nav-height: 5rem;
  --size-nav-height-sm: 4.5rem;
  --size-logo-width: 13rem;
  --size-logo-icon: 3.5rem;

  /* Icons */
  --size-icon-sm: 1.25rem;
  --size-icon-md: 1.5rem;
  --size-icon-lg: 2.5rem;

  /* Menu burger */
  --menu-btn-top: 1.5rem;
  --menu-btn-right: 1rem;

  /* === Transitions === */
  --transition-fast: 0.2s;
  --transition-base: 0.3s;
  --transition-slow: 0.5s;
  --transition-slower: 0.7s;
  --transition-slowest: 1s;
  --ease-in-out: ease-in-out;
  --ease-out: ease-out;

  /* === Borders === */
  --border-radius-sm: 0.25rem;
  --border-radius-md: 0.5rem;
  --border-radius-lg: 0.75rem;
  --border-radius-xl: 1rem;
  --border-radius-full: 50%;

  /* === Shadows === */
  --shadow-sm: 0 2px 4px 0 rgba(33, 38, 44, 0.1);
  --shadow-md: 0.5rem 0.5rem 2rem rgba(0, 0, 0, 0.2);
  --shadow-lg: 1px 1px 0.4rem rgba(0, 0, 0, 0.5);
  --shadow-nav: 1px 1px 3px rgba(0, 0, 0, 0.1);

  /* === Z-index === */
  --z-loader: 21;
  --z-loader-sections: 20;
  --z-cookies: 16;
  --z-nav: 6;
  --z-slideshow: 11;
  --z-menu-screen: 4;
  --z-scroll-btn: 4;
  --z-latnav: 5;

  /* === Layout === */
  --container-max-width: 120rem;
  --content-max-width: 101rem;
  --content-narrow: 81rem;
  --content-vnarrow: 45rem;
  --text-max-width: 40rem;
  --heading-max-width: 40rem;

  /* === Scrollbar === */
  --scrollbar-width: 1rem;
  --scrollbar-bg: var(--color-primary-dark);
  --scrollbar-thumb: var(--color-secondary-light);
}

/* === Mobile adjustments === */
@media (max-width: 1365px){
  :root{
    --font-size-4xl: 1.8rem;
  }
}
@media (max-width: 1200px){
  :root{
    --font-size-md: 1rem;
    --font-size-lrg: 1.1rem;
    --font-size-xl: 1.2rem;
    --font-size-2xl: 1.35rem;
    --font-size-3xl: 1.5rem;
    --font-size-4xl: 1.7rem;
  }
}
@media (max-width: 800px){
  :root{
    --font-size-vsm: 0.75rem;
    --font-size-sm: 0.85rem;
    --font-size-base: 0.95rem;
    --font-size-md: 0.95rem;
    --font-size-lrg: 1.05rem;
    --font-size-xl: 1.15rem;
    --font-size-2xl: 1.3rem;
    --font-size-3xl: 1.45rem;
    --font-size-4xl: 1.65rem;
  }
}
@media (max-width: 550px) {
  :root {
    --font-size-vsm: 0.7rem;
    --font-size-sm: 0.8rem;
    --font-size-base: 0.9rem;
    --font-size-md: 0.9rem;
    --font-size-lrg: 1rem;
    --font-size-xl: 1.1rem;
    --font-size-2xl: 1.25rem;
    --font-size-3xl: 1.4rem;
    --font-size-4xl: 1.6rem;

    --size-button-height: 4rem;
    --size-button-height-sm: 3.5rem;

    /* Navigation */
    --size-nav-height: 4.5rem;
    --size-nav-height-sm: 4rem;
    --size-logo-width: 11rem;
    --size-logo-icon: 2.5rem;
    --menu-btn-right: 0.75rem;
  }
}

/* =========== BASE STYLING =========== */

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--size-nav-height-sm);
}
body {
  font-family: var(--font-family-base);
  line-height: var(--line-height-relaxed);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-bg);
}
::-webkit-scrollbar {
  background: var(--scrollbar-bg);
  width: var(--scrollbar-width);
}
::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}
::selection {
  background: var(--color-secondary-dark);
  color: var(--color-white);
}
.c-blocpage {
  min-height: 100vh;
  max-width: var(--container-max-width);
  margin: 0 auto;
  position: relative;
  overflow-x: hidden;
}

/* =========== TYPOGRAPHY =========== */

/* Base */
@font-face {
  font-family: 'assistant';
  src: url('/fonts/assistant/Assistant-Regular.woff2') format('woff2'),
       url('/fonts/assistant/Assistant-Regular.woff') format('woff');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'assistant';
  src: url('/fonts/assistant/Assistant-SemiBold.woff2') format('woff2'),
       url('/fonts/assistant/Assistant-SemiBold.woff') format('woff');
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'assistant';
  src: url('/fonts/assistant/Assistant-ExtraBold.woff2') format('woff2'),
       url('/fonts/assistant/Assistant-ExtraBold.woff') format('woff');
  font-weight: 900;
  font-display: swap;
}
/* Alt Base */
@font-face{
    font-family: 'quicksand';
    src: url('/fonts/quicksand/Quicksand-Regular.eot');
    src: url('/fonts/quicksand/Quicksand-Regular?#iefix') format('embedded-closetype'),
         url('/fonts/quicksand/Quicksand-Regular.woff2') format('woff2'),
         url('/fonts/quicksand/Quicksand-Regular.woff') format('woff'),
         url('/fonts/quicksand/Quicksand-Regular.ttf') format('truetype'),
         url('/fonts/quicksand/Quicksand-Regular.svg#Quicksand-Regular') format('svg');
    font-weight: 400;
    font-display: swap;
}
@font-face{
    font-family: 'quicksand';
    src: url('/fonts/quicksand/Quicksand-Bold.eot');
    src: url('/fonts/quicksand/Quicksand-Bold?#iefix') format('embedded-closetype'),
         url('/fonts/quicksand/Quicksand-Bold.woff2') format('woff2'),
         url('/fonts/quicksand/Quicksand-Bold.woff') format('woff'),
         url('/fonts/quicksand/Quicksand-Bold.ttf') format('truetype'),
         url('/fonts/quicksand/Quicksand-Bold.svg#Quicksand-Bold') format('svg');
    font-weight: 700;
    font-display: swap;
}
/* Alt Base 2 */
@font-face{
    font-family: 'gilroy';
    src: url('/fonts/gilroy/Gilroy-Light.eot');
    src: url('/fonts/gilroy/Gilroy-Light?#iefix') format('embedded-closetype'),
         url('/fonts/gilroy/Gilroy-Light.woff2') format('woff2'),
         url('/fonts/gilroy/Gilroy-Light.woff') format('woff'),
         url('/fonts/gilroy/Gilroy-Light.ttf') format('truetype'),
         url('/fonts/gilroy/Gilroy-Light.svg#Gilroy-Light') format('svg');
    font-weight: 400;
    font-display: swap;
}
@font-face{
    font-family: 'gilroy';
    src: url('/fonts/gilroy/Gilroy-ExtraBold.eot');
    src: url('/fonts/gilroy/Gilroy-ExtraBold?#iefix') format('embedded-closetype'),
         url('/fonts/gilroy/Gilroy-ExtraBold.woff2') format('woff2'),
         url('/fonts/gilroy/Gilroy-ExtraBold.woff') format('woff'),
         url('/fonts/gilroy/Gilroy-ExtraBold.ttf') format('truetype'),
         url('/fonts/gilroy/Gilroy-ExtraBold.svg#Gilroy-ExtraBold') format('svg');
    font-weight: 700;
    font-display: swap;
}
/* Logo et titres */
@font-face{
    font-family: 'lemonmilk';
    src: url('/fonts/lemonmilk/LEMONMILK-Bold.eot');
    src: url('/fonts/lemonmilk/LEMONMILK-Bold?#iefix') format('embedded-closetype'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.woff2') format('woff2'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.woff') format('woff'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.ttf') format('truetype'),
         url('/fonts/lemonmilk/LEMONMILK-Bold.svg#LEMONMILK-Bold') format('svg');
    font-weight: 400;
    font-display: swap;
}
p + p:not([class]) {
  margin-top: var(--space-md);
}
p:not([class]) {
  max-width: var(--text-max-width);
}
.u-lgt-thm p:not([class]) {
  color: var(--color-text-light);
}
h1, h2, h3, h4 {
  font-family: var(--font-family-title);
  line-height: var(--line-height-normal);
  font-weight: var(--font-weight-extrabold);
  max-width: var(--heading-max-width);
  color: var(--color-text-dark);
}
.u-lgt-thm,
.u-lgt-thm h1,
.u-lgt-thm h2,
.u-lgt-thm h3,
.u-lgt-thm h4 {
  color: var(--color-white);
}
b, strong {
  font-weight: var(--font-weight-bold);
}
.o-h1 {
  margin-bottom: var(--space-xl);
  font-size: var(--font-size-4xl);
}
.o-h2, h1.o-h2 {
  margin-bottom: var(--space-lrg);
  font-size: var(--font-size-3xl);
}
h1.o-h2 {
  margin-bottom: var(--space-xl);
}
.o-hn-sub {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-lrg);
  margin-bottom: 0.75rem;
  line-height: var(--line-height-tight);
}
.o-h3 {
  font-size: var(--font-size-xl);
  margin-bottom: 1.2rem;
}
.o-h4 {
  font-size: var(--font-size-lrg);
  margin-bottom: var(--space-md);
}
p + .o-h3, p + .o-h4 {
  margin-top: var(--space-xl);
}

/* =========== LINKS =========== */

.o-a {
  transition: color var(--transition-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary-dark);
  text-decoration: underline;
}
.o-a:hover { color: var(--color-primary); }
.u-lgt-thm .o-a { color: var(--color-white); }
.u-lgt-thm .o-a:hover { color: var(--color-secondary-light); }
.u-target-bk {
  position: relative;
  white-space: nowrap;
}
.u-target-bk::after {
  content: '';
  position: absolute;
  background-image: url('/medias/icons/base/lien-externe.svg');
  width: 0.9rem;
  height: 0.9rem;
  display: block;
  top: -0.25rem;
  opacity: 0.5;
  right: -1.15rem;
}

/* =========== UTILITY CLASSES =========== */

.u-nowrap { white-space: nowrap; }

/* Colors */
.u-dk { color: var(--color-text-dark); }
.u-fff { color: var(--color-white); }

.u-col1 { color: var(--color-primary); }
.u-col2 { color: var(--color-secondary); }
.u-lgt-thm .u-col1 { color: var(--color-primary-light); }
.u-lgt-thm .u-col2 { color: var(--color-secondary-light); }

.u-col1 path { fill: var(--color-primary); }
.u-col2 path { fill: var(--color-secondary); }
.u-lgt-thm .u-col1 path { fill: var(--color-primary-light); }
.u-lgt-thm .u-col2 path { fill: var(--color-secondary-light); }

/* Backgrounds */
.u-fbg { background-color: var(--color-white); }
.u-vvlbg { background-color: var(--color-neutral-lightest); }
.u-vlbg { background-color: var(--color-neutral-lighter); }
.u-lbg { background-color: var(--color-neutral-light); }
.u-mbg { background-color: var(--color-neutral-medium); }
.u-dbg { background-color: var(--color-neutral-dark); }
.u-vvdbg { background-color: var(--color-neutral-darkest); }
.u-dk-gradient { background-image: var(--gradient-dark-linear); }
.u-dk-gradient--alt { background-image: var(--gradient-reversed-linear); }

/* =========== LAYOUT HELPERS =========== */

.o-flexbox {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

/* Photo backgrounds */
.o-photo,
.o-photo--full {
  overflow: hidden;
  position: relative;
  background: var(--color-black);
}
.o-photo--full {
  min-height: 20rem;
  width: 100%;
}
.o-photo__cover,
.o-photo__contain {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.o-photo__contain {
  object-fit: contain;
}

/* =========== ICON + TEXT COMPONENTS =========== */

.o-icon-txts,
.o-icon-txts--fw,
.o-icon-txts--sq {
  margin: var(--space-2xl) 0;
  gap: var(--space-md) var(--space-xl);
  display: flex;
  flex-wrap: wrap;
}
.o-icon-txts--sq {
  max-width: 40rem;
  padding: var(--space-xl);
  border: 1px solid var(--color-border-dark);
  border-left: 3px solid var(--color-secondary);
}
.o-icon-txts--fw {
  flex-direction: column;
}
.u-lgt-thm .o-icon-txts {
  color: var(--color-white);
}
.u-lgt-thm .o-icon-txts--sq {
  border: 1px solid var(--color-border-light);
  border-left: 3px solid var(--color-secondary-light);
}
.o-icon-txt,
.o-icon-txt--subd {
  display: flex;
  align-items: center;
  font-weight: var(--font-weight-bold);
  text-align: left;
  line-height: var(--line-height-tight);
}
.o-icon-txt img,
.o-icon-txt svg {
  width: var(--size-icon-md);
  height: var(--size-icon-md);
  margin-right: 0.75rem;
}
.o-icon-txt img.u-unsq {
  width: auto;
}
.o-icon-txt svg path {
  transition: all var(--transition-base);
}
.o-icon-txt img + span:last-child {
  flex: 2;
}
.o-icon-txt__sep {
  display: block;
  height: 1px;
  flex: 1;
  min-width: 2.5rem;
  background: var(--color-neutral-lighter);
  opacity: 0.5;
  margin: 0 var(--space-lrg);
}
.o-icon-txt--subd {
  font-weight: var(--font-weight-normal);
}
/*.o-icon-txt--subd span span {
  font-weight: var(--font-weight-bold);
}*/
a.o-icon-txt {
  text-decoration: underline;
  transition: all var(--transition-base);
}
.o-icon-txts a.o-icon-txt:hover {
  color: var(--color-secondary);
}

.o-projet .o-icon-txts--sq{
  margin: var(--space-lrg) 0;
  gap: var(--space-xl) var(--space-xl);
}
.o-projet .o-icon-txt{
  line-height: var(--line-height-relaxed);
}

/* =========== BUTTONS =========== */

.o-btns,
.o-btns--r,
.o-btns--prv-nxt {
  justify-content: flex-start;
  gap: var(--space-md);
  margin-top: 3.5rem;
}
.o-btns--r {
  justify-content: flex-end;
}
.o-btns--prv-nxt {
  justify-content: space-between;
}
.o-btns a,
.o-btns--r a,
.o-btns--prv-nxt a {
  flex-grow: 1;
  max-width: 16rem;
}
.o-btn,
.o-btn--titled,
.o-btn--dv,
.o-btn--gh,
.o-btn--input {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px var(--space-lrg) 0;
  background-image: var(--gradient-primary);
  background-size: 100% 200%;
  background-position: center top;
  transition: all var(--transition-base);
  line-height: var(--line-height-tight);
  height: var(--size-button-height);
  font-weight: var(--font-weight-bold);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  border-radius: var(--border-radius-sm);
  color: var(--color-white);
  font-family: var(--font-family-title);
  font-size: var(--font-size-vsm);
}
.o-btn:hover,
.o-btn--titled:hover,
.o-btn--dv:hover,
.o-btn--gh:hover,
.o-btn--input:hover {
  background-position: center bottom;
}
.o-btn--titled {
  flex-direction: column;
  justify-content: center;
}
.o-btn__sub {
  font-size: var(--font-size-vsm);
  opacity: 0.75;
  margin-top: -2px;
  margin-bottom: var(--space-2xs);
}
.o-btn__sub + span {
  font-weight: var(--font-weight-extrabold);
  font-size: var(--font-size-md);
}
.o-btn img,
.o-btn--dv img,
.o-btn--gh img,
.o-btn--input img {
  margin-left: 0.75rem;
  width: var(--size-icon-sm);
  height: var(--size-icon-sm);
}
.o-btn img:first-child,
.o-btn--dv img:first-child,
.o-btn--gh img:first-child,
.o-btn--input img:first-child {
  margin-left: 0;
  margin-right: 0.75rem;
}
img.u-big-icbtn {
  margin-left: var(--space-md);
  width: 1.6rem;
  height: 1.6rem;
  margin-right: -0.5rem;
}
.o-btn--dv img {
  position: relative;
  top: 1px;
}
.o-btn span,
.o-btn--dv span,
.o-btn--gh span,
.o-btn--input span {
  margin: 0 0 0 0.35rem;
  position: relative;
  top: -1px;
}
.o-btn img + span,
.o-btn--dv img + span,
.o-btn--gh img + span,
.o-btn--input img + span {
  margin: 0 0.35rem 0 0;
}

/* Button more link */
a.o-more {
  max-width: 17rem;
  margin: var(--space-4xl) auto 0 auto;
}

/* Button input variant */
.o-btn--input {
  position: relative;
  padding: 0;
}
.o-btn--input input {
  height: 100%;
  cursor: pointer;
  padding: 0 4rem 0 var(--space-2xl);
  background: none;
  color: inherit;
  position: relative;
  z-index: 1;
}
.o-btn--input::before {
  position: absolute;
  display: block;
  width: var(--size-icon-sm);
  height: var(--size-icon-sm);
  right: var(--space-xl);
}

/* Button colors variant */
.u-btn-dk {
  background-image: var(--gradient-dark);
}
.u-btn-col2 {
  background-image: var(--gradient-secondary);
}
.o-btn--gh {
  background-image: none;
  color: var(--color-black);
  border: 1px solid var(--color-black);
  opacity: 0.4;
}
.o-btn--gh:hover {
  opacity: 1;
}

/* =========== LISTS =========== */

.o-ul,
.o-ol,
.o-ol--2 {
  position: relative;
  list-style: none;
  margin: var(--space-2xl) 0;
}
.o-h3 + .o-ul {
  margin-top: var(--space-xl);
}
.o-ul:first-child,
.o-ol:first-child,
.o-ol--2:first-child {
  margin-top: 0;
}
.o-ul:last-child,
.o-ol:last-child,
.o-ol--2:last-child {
  margin-bottom: 0;
}
.o-ul::before {
  content: '';
  height: 100%;
  position: absolute;
  width: 1px;
  background: var(--color-neutral-medium);
  opacity: 0.5;
  left: 0;
  top: 0;
}
.u-lgt-thm .o-ul::before {
  background: #f4f4f4;
}
.o-ul__li {
  margin: 0 0 var(--space-lrg) var(--space-lrg);
  line-height: var(--line-height-normal);
}
.o-ul__title {
  margin-bottom: 0.25rem;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-dark);
  display: block;
  font-size: var(--font-size-md);
}
.o-ol,
.o-ol--2 {
  list-style-position: outside;
  counter-reset: number;
  max-width: 60rem;
  text-align: left;
}
.o-ol--2 {
  counter-reset: number 1;
}
.o-ol__li {
  margin: 0 0 var(--space-lrg) 0;
  padding-left: var(--space-2xl);
  counter-increment: number;
  position: relative;
  transition: all var(--transition-slowest) 0.5s;
  max-width: 60rem;
}
.o-ol__li:last-child,
.o-ul__li:last-child {
  margin-bottom: 0;
}
.o-ol__p {
  margin: var(--space-lrg) 0 0 0;
}
.o-ol__title {
  font-size: var(--font-size-md);
  margin-bottom: var(--space-sm);
  font-weight: var(--font-weight-bold);
}
.o-ol__li::before {
  content: counter(number)'.';
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 1.5rem;
  line-height: 1.5rem;
  font-weight: var(--font-weight-extrabold);
}

.o-projet .o-ul__li{
  margin: 0 0 var(--space-md) var(--space-lrg);
  line-height: var(--line-height-normal);
}

/* Encadrés */
.o-sq-txt {
  padding: var(--space-xl);
  display: inline-block;
  margin: var(--space-md) 0;
  border: 1px solid var(--color-border-dark);
  border-left: 3px solid var(--color-secondary);
}
.u-lgt-thm .o-sq-txt {
  border: 1px solid var(--color-border-light);
  border-left: 3px solid var(--color-secondary-light);
}

/* =========== SECTIONS =========== */

.o-fullsec,
.o-fullsec--bar,
.o-cta,
.o-args {
  padding: var(--space-6xl) 4%;
  max-width: var(--content-max-width);
  margin: 0 auto;
  position: relative;
}
.o-args {
  max-width: var(--content-narrow);
}

/* Bar titled section */
.o-fullsec--bar::before {
  width: 100%;
  display: block;
  content: '';
  height: 1px;
  background: var(--color-border-dark);
}
.o-fullsec--bar::after {
  width: 7.5rem;
  position: absolute;
  top: var(--space-6xl);
  transform: translateY(-50%);
  display: block;
  content: '';
  height: 0.25rem;
  background: var(--color-secondary);
}
.u-lgt-thm .o-fullsec--bar::before {
  background: var(--color-border-light);
}
.u-lgt-thm .o-fullsec--bar::after {
  background: var(--color-secondary-light);
}
.o-fullsec--bar .o-h2:first-child {
  margin-top: var(--space-xl);
  max-width: none;
}

/* Bipart sections */
.o-bipart,
.o-bipart--reverse,
.o-bipart--2thd {
  display: flex;
  position: relative;
  width: 100%;
  align-items: center;
}
.o-bipart__txt,
.o-bipart__txt--br,
.o-bipart__txt--2thd {
  padding: var(--space-6xl) 5%;
  width: 50%;
  align-self: stretch;
  position: relative;
}
.o-bipart__img,
.o-bipart__img--2thd {
  flex: 1;
  align-self: stretch;
  min-height: 25rem;
}
.o-bipart__txt--2thd {
  width: 45%;
}
.o-bipart__img--2thd + .o-bipart__txt {
  width: 55%;
}
@media (min-width: 1201px) {
  div.o-bipart__txt--br {
    padding-bottom: 8.5rem;
  }
  .o-bipart__txt--br .o-btns {
    position: absolute;
    bottom: 0;
    gap: 0;
    right: 0;
  }
  .o-bipart__txt--br .o-btns a {
    border-radius: 0;
  }
}
@media all and (max-width: 1200px){
  .o-fullsec,
  .o-fullsec--bar,
  .o-cta,
  .o-args {
    padding: var(--space-5xl) 4%;
  }
  .o-fullsec--bar::after {
    top: var(--space-5xl);
  }
	.o-bipart{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.o-bipart--reverse{
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}
	.o-bipart__txt, .o-bipart__txt--br, .o-bipart__txt--2thd{
		width: 100%;
		max-width: 900px;
		padding: 5rem 6%;
		-ms-flex-item-align: auto;
		    -ms-grid-row-align: auto;
		    align-self: auto;
	}
}
@media all and (max-width: 800px){
  .o-fullsec,
  .o-fullsec--bar,
  .o-cta,
  .o-args {
    padding: var(--space-4xl) 4%;
  }
  .o-fullsec--bar::after {
    top: var(--space-4xl);
  }
}
@media all and (max-width: 600px){
	.o-bipart__txt, .o-bipart__txt--br, .o-bipart__txt--2thd{
		padding: 4rem 7%;
	}
}

/* Bipart within fullsec */
.o-fullsec .o-bipart__txt,
.o-fullsec--bar .o-bipart__txt {
  padding: 0;
  width: 47.5%;
}
.o-fullsec .o-bipart,
.o-fullsec--bar .o-bipart,
.o-fullsec .o-bipart--reverse,
.o-fullsec--bar .o-bipart--reverse {
  padding: var(--space-4xl) 0 0 0;
  gap: 5%;
}
@media (min-width: 1201px) {
  .o-fullsec .o-bipart__img,
  .o-fullsec--bar .o-bipart__img {
    min-height: 0;
  }
}

/* =========== HEADER =========== */

.c-header,
.c-header--fh {
  padding-top: var(--size-nav-height-sm);
  background-image: linear-gradient(to right, var(--color-neutral-lighter) var(--size-logo-width), var(--color-neutral-lightest) 1px, var(--color-neutral-lightest));
}
.c-header.u-lgt-thm {
  background-image: linear-gradient(to right, var(--color-neutral-darkest) var(--size-logo-width), var(--color-neutral-dark) 1px, var(--color-neutral-dark));
}
.c-header--fh {
  min-height: calc(50vh - 80px);
}
.c-header--fh .o-bipart__txt--2thd,
.c-header--fh .o-bipart__txt--br,
.c-header--fh .o-bipart__txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-header .o-btns.c-header__btns {
  right: -13rem;
}
.c-header__btns .o-btn--titled {
  width: 13rem;
}
.c-header__btns a {
  height: var(--size-nav-height-sm);
}
.c-header .o-bipart__txt,
.c-header .o-bipart__txt--br {
  z-index: 1;
  max-width: 53rem;
  padding-top: var(--space-5xl);
}

/* Video player */
.c-vid {
  position: fixed;
  top: -100%;
  width: 100%;
  height: 100%;
  z-index: 30;
  transform: translateY(0);
  transition: all 0s var(--transition-slow);
}
div[data-video-overlay] {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all var(--transition-slow);
  background: rgba(0, 0, 0, 0.65);
}
.c-vid.is-shown {
  transform: translateY(100%);
  transition: all 0s;
}
.c-vid.is-shown div[data-video-overlay] {
  opacity: 1;
}
.c-vid.is-shown .c-vidscreen__cross {
  transform: scale(1);
}
.c-vidscreen__cross {
  position: absolute;
  right: 2.5rem;
  top: 2.5rem;
  width: 4rem;
  height: 4rem;
  transform: scale(0);
  cursor: pointer;
  background-image: linear-gradient(to bottom, var(--color-primary) 50%, var(--color-primary-dark) 50%);
  background-size: 100% 200%;
  background-position: center top;
  transition: all 0.4s;
  border-radius: var(--border-radius-full);
  box-shadow: var(--shadow-lg);
}
.c-vidscreen__cross:hover {
  background-position: center bottom;
}
.c-vidscreen__cross img {
  width: 1rem;
  height: 1rem;
}
.c-vid__el {
  transform: translateY(10%);
  opacity: 0;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  height: 80vh;
  transition: all var(--transition-base);
}
.c-vid.is-shown .c-vid__el {
  transform: translateY(0);
  opacity: 1;
}
.o-vid-btn {
  width: 4rem;
  height: 4rem;
  position: absolute;
  right: var(--space-xl);
  bottom: var(--space-xl);
  border-radius: var(--border-radius-full);
  transition: all var(--transition-base);
  background-image: linear-gradient(to bottom, var(--color-primary) 50%, var(--color-secondary) 50%);
  background-size: 100% 200%;
  background-position: center top;
  box-shadow: var(--shadow-lg);
}
.o-vid-btn::after {
  content: '';
  position: relative;
  width: 0;
  height: 0;
  transition: all var(--transition-base);
  margin-left: 0.25rem;
  border-top: 0.4rem solid transparent;
  border-left: 0.8rem solid var(--color-white);
  border-bottom: 0.4rem solid transparent;
}
.o-vid-btn:hover {
  background-position: center bottom;
}

@media (max-height: 610px), (max-width: 1150px) {
  .c-vidscreen__cross img {
    width: 0.75rem;
    height: 0.75rem;
  }
  .c-vidscreen__cross {
    right: var(--space-xl);
    top: var(--space-xl);
    width: 3rem;
    height: 3rem;
  }
  .o-vid-btn {
    width: 3rem;
    height: 3rem;
    right: var(--space-lrg);
    bottom: var(--space-lrg);
  }
  .o-vid-btn::after {
    border-top: 0.35rem solid transparent;
    border-left: 0.7rem solid var(--color-white);
    border-bottom: 0.35rem solid transparent;
    margin-left: 0.2rem;
  }
}
@media (max-width: 450px) {
  .c-header,
  .c-header--fh {
    padding-top: var(--size-nav-height-sm);
    background: var(--color-neutral-lighter);
  }
  .c-header.u-lgt-thm {
    background: var(--color-neutral-dark);
  }
}
@media (max-width: 350px) {
  .c-vidscreen__cross img {
    width: 0.65rem;
    height: 0.65rem;
  }
  .c-vidscreen__cross {
    right: var(--space-md);
    top: var(--space-md);
    width: 2.5rem;
    height: 2.5rem;
  }
  .o-vid-btn {
    width: 2.5rem;
    height: 2.5rem;
    right: var(--space-md);
    bottom: var(--space-md);
  }
  .o-vid-btn::after {
    border-top: 0.3rem solid transparent;
    border-left: 0.6rem solid var(--color-white);
    border-bottom: 0.3rem solid transparent;
    margin-left: 0.15rem;
  }
}

/* =========== INTRO POST-HEADER =========== */

@media (min-width: 1201px) {
  .c-intro {
    background-image: linear-gradient(to right, #F7F7F7 var(--size-logo-width), var(--color-white) 1px, var(--color-white));
  }
  .c-intro .o-bipart__txt {
    padding-left: 0;
  }
}
.c-intro .o-bipart__txt:first-child {
  padding-bottom: 0;
  display: flex;
  align-self: stretch;
  flex-direction: column;
  align-items: flex-end;
}
.c-intro__titles {
  width: 30rem;
}
.c-intro__h2 {
  font-weight: var(--font-weight-extrabold);
  margin: 0 0 var(--space-xl) auto;
  text-align: right;
}
.c-intro__sub {
  position: relative;
  width: 18rem;
  font-size: var(--font-size-lrg);
  text-align: right;
  margin: 0 0 var(--space-xl) auto;
  line-height: var(--line-height-normal);
}
.c-intro__sub::before {
  content: '';
  width: 4rem;
  height: 1px;
  background: var(--color-neutral-medium);
  opacity: 0.5;
  position: absolute;
  left: -6rem;
  top: 50%;
}
.c-intro__img:not(.o-photo--full) {
  margin-top: var(--space-xl);
  width: 100%;
  flex: 1;
}
.c-intro__img.o-photo--full {
  display: none;
}
@media (max-width: 1200px) {
  .c-intro .o-bipart__txt:not(:first-child) {
    padding-top: 0;
  }
  .c-intro .o-bipart__txt:first-child {
    align-self: auto;
  }
  .c-intro__titles {
    width: 100%;
  }
  .c-intro .o-btns {
    justify-content: flex-end;
  }
  .c-intro p:not([class]) {
    text-align: right;
  }
  .c-intro .o-icon-txts {
    justify-content: flex-end;
  }
  .c-intro .o-rappel {
    margin-left: auto;
  }
  .c-intro__img:not(.o-photo--full) {
    display: none;
  }
  .c-intro__img.o-photo--full {
    display: block;
  }
  .o-bipart__txt,
  .o-bipart__txt--br,
  .o-bipart__txt--2thd {
    width: 100%;
    max-width: 900px;
    padding: var(--space-5xl) 6%;
    align-self: auto;
  }
  .o-fullsec .o-bipart__txt,
  .o-fullsec--bar .o-bipart__txt {
    width: 100%;
    max-width: 900px;
    align-self: auto;
    padding-bottom: var(--space-4xl);
  }
}
@media (max-width: 600px) {
  .c-intro__sub::before {
    left: -3.5rem;
    width: 2rem;
  }

  .c-intro__sub {
    width: auto;
  }

  .c-intro__h2 {
    font-size: var(--font-size-xl);
  }

  .o-bipart__txt,
  .o-bipart__txt--br,
  .o-bipart__txt--2thd {
    padding: var(--space-4xl) 7%;
  }
}
@media (max-width: 479px) {
  .c-intro__h2 {
    font-size: var(--font-size-lrg);
  }
}

/* =========== PITCH ICONS & CTA =========== */

.o-args {
  gap: var(--space-xl) var(--space-3xl);
  text-align: center;
}
.o-args h3 {
  min-width: 100%;
  margin-bottom: var(--space-md);
}
.o-arg {
  width: 15rem;
  opacity: 1;
  font-size: var(--font-size-base);
  transition: all var(--transition-slow) var(--ease-in-out);
  /*font-weight: var(--font-weight-extrabold);*/
  text-transform: uppercase;
  font-family: var(--font-family-title);
}
.o-arg img {
  width: 3rem;
  height: 3rem;
  margin: 0 auto var(--space-md) auto;
}
.o-arg.js-notinview {
  opacity: 0;
  transform: translateY(-50%);
}
.o-arg:nth-child(1) {
  transition-delay: 0.2s;
}
.o-arg:nth-child(2) {
  transition-delay: 0.4s;
}
.o-arg:nth-child(3) {
  transition-delay: 0.6s;
}
.u-lgt-thm .o-arg {
  color: var(--color-white);
}

/* CTA */
.o-cta.o-flexbox {
  gap: 0 5%;
  flex-wrap: nowrap;
}
.o-cta__col {
  flex: 1;
}
.o-cta__logo{
  width: 15vw;
  height: 15vw;
}
.o-cta__col:nth-child(2){
  max-width: 40rem;
}
.o-cta h3 {
  line-height: var(--line-height-relaxed);
  font-weight: var(--font-weight-extrabold);
  margin-bottom: var(--space-xl);
  font-size: var(--font-size-2xl);
}
.o-cta p.u-hidden {
  display: none;
  color: var(--color-text-light);
}
@media (max-width: 1420px){
  .o-cta__logo{
    display: none;
  }
  .o-cta {
    max-width: var(--content-narrow);
  }
}
@media (max-width: 1120px) {
  .o-cta__col:first-of-type {
    max-width: none;
  }
  .o-cta {
    max-width: var(--content-vnarrow);
  }
  .o-cta__col + .o-cta__col {
    display: none;
  }
  .o-cta p.u-hidden {
    display: block;
  }
  .o-cta p:not(.u-hidden) {
    display: none;
  }
}

/* =========== FAQ =========== */

.o-faq {
  margin-top: var(--space-3xl);
  gap: var(--space-4xl);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.o-faq__col {
  flex: 1;
  max-width: 50rem;
}
h3 + .o-faq__quest,
h4 + .o-faq__quest {
  margin-top: var(--space-xl);
}
.o-faq__quest h3{
  margin-bottom: 0;
}
.o-faq__quest {
  display: flex;
  position: relative;
  align-items: center;
  margin-bottom: 1.25rem;
  cursor: pointer;
  padding-right: var(--space-2xl);
  line-height: var(--line-height-tight);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
}
.o-faq__quest::before {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  border-bottom: 2px solid var(--color-primary-dark);
  border-right: 2px solid var(--color-primary-dark);
  width: 0.65rem;
  height: 0.65rem;
  transform: rotate(45deg);
  transition: transform 0.6s;
}
.o-faq__answer + .o-faq__quest {
  margin-top: var(--space-3xl);
}
.o-faq__quest.is-active::before {
  transform: rotate(225deg);
}
.o-faq__answer {
  max-height: 0;
  border-bottom: 1px solid var(--color-border);
  transition: all var(--transition-slowest);
  overflow-y: hidden;
}
.o-faq__answer *:last-child {
  margin-bottom: var(--space-xl);
}
.o-faq__answer .o-ul p:last-child,
.o-faq__answer .o-ol p:last-child {
  margin-bottom: var(--space-lrg);
}
.o-faq__quest.is-active + .o-faq__answer {
  max-height: 50rem;
}
.o-faq__quest.is-active + .o-faq__answer--long {
  max-height: 70rem;
}
@media (max-width: 970px) {
  .o-faq {
    flex-direction: column;
  }
}
@media (max-width: 400px) {
  .o-faq__quest.is-active + .o-faq__answer {
    max-height: 60rem;
  }
  .o-faq__quest.is-active + .o-faq__answer--long {
    max-height: 80rem;
  }
}

/* =========== PRESTATIONS / DOMAINS =========== */

.c-domains__icon,
.c-domains__icon--pt,
.c-domains__icon--py {
  height: var(--size-icon-lg);
  width: var(--size-icon-lg);
  margin-bottom: var(--space-lrg);
}
.c-domains__icon--pt {
  height: 3.75rem;
}
.c-domains__icon--py {
  width: 3.75rem;
}
.c-domains__h3 {
  margin-bottom: var(--space-lrg);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-lrg);
}
.c-domains {
  margin: var(--space-3xl) 0;
  gap: var(--space-5xl) 5%;
  display: flex;
  flex-wrap: wrap;
}
.c-domains__el a {
  position: absolute;
  bottom: -1.5rem;
  right: 0;
  color: var(--color-neutral-dark);
  display: inline-block;
  font-weight: var(--font-weight-bold);
  transition: color var(--transition-base);
}
.c-domains__el a::before {
  content: '';
  width: 5rem;
  position: absolute;
  top: 55%;
  left: -1.5rem;
  height: 1px;
  background: var(--color-neutral-dark);
  transform: translateX(-100%);
}
.c-domains__el a:hover {
  color: var(--color-primary-dark);
}
.u-lgt-thm .c-domains__el a {
  color: var(--color-white);
}
.u-lgt-thm .c-domains__el a::before {
  background: var(--color-white);
}
.u-lgt-thm .c-domains__el a:hover {
  color: var(--color-secondary-light);
}
.c-domains__el {
  display: flex;
  align-self: stretch;
  flex: 1;
  max-width: 40rem;
  min-width: 22rem;
  opacity: 1;
  transition: all var(--transition-slow) var(--ease-in-out);
  transform: translateY(0);
  flex-direction: column;
}
.c-domains__el .o-icon-txt {
  min-width: 15rem;
  color: var(--color-text-light);
  font-weight: var(--font-weight-normal);
}
.c-domains__el .o-icon-txt img {
  opacity: 0.35;
}
.c-domains__el.u-center {
  text-align: center;
  align-items: center;
}
.c-domains__el.js-notinview {
  opacity: 0;
  transform: translateY(-50%);
}
.c-domains__el:nth-child(1) {
  transition-delay: 0.2s;
}
.c-domains__el:nth-child(2) {
  transition-delay: 0.4s;
}
.c-domains__el:nth-child(3) {
  transition-delay: 0.6s;
}
.c-domains__el:nth-child(4) {
  transition-delay: 0.8s;
}
.c-domains__el:nth-child(5) {
  transition-delay: 1s;
}
.c-domains__el:nth-child(6) {
  transition-delay: 1.2s;
}

@media (max-width: 570px) {
  .c-domains__el {
    min-width: 15rem;
  }
}

/* =========== REALISATIONS / SLIDESHOWS =========== */

.c-reas {
  gap: var(--space-xl);
}
.c-reas:not(:first-child) {
  margin-top: var(--space-3xl);
}
.c-rea {
  margin: var(--space-md);
  position: relative;
  flex: 1;
  min-width: 17rem;
  max-width: 25rem;
  height: 25rem;
  background: var(--color-white);
  box-shadow: var(--shadow-md);
  cursor: pointer;
  display: flex;
  justify-content: center;
}
.c-rea__loc {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-neutral-dark);
  border-radius: 2.5rem;
  height: 3rem;
  color: var(--color-white);
  padding: 0 var(--space-xl);
  min-width: 3rem;
  font-size: var(--font-size-sm);
  font-family: var(--font-family-title);
}
.c-rea__overlay {
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 1;
  transition: all var(--transition-slow);
  width: 100%;
  height: 100%;
  position: absolute;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  bottom: 0;
  color: var(--color-white);
  padding: var(--space-xl);
  font-weight: var(--font-weight-bold);
}
.c-rea:hover .c-rea__overlay {
  background-color: rgba(0, 0, 0, 0.5);
}
.c-reas__slideshow {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  transform: translateX(-100%);
  transition: transform 0s 0.6s, opacity var(--transition-slow);
  opacity: 0;
  z-index: var(--z-slideshow);
  padding: 0 5.5rem 0 0;
}
.c-reas__slides {
  height: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.c-reas__slide {
  height: 100%;
  max-width: 100%;
  position: absolute;
  opacity: 0;
  transition: all var(--transition-slow);
  display: flex;
  justify-content: center;
}
.c-reas__slideshow.is-open {
  transform: translateX(0);
  transition: transform 0s, opacity var(--transition-slow);
  opacity: 1;
}
.c-reas__slide.is-shown {
  opacity: 1;
  position: relative;
}
.c-reas__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}
.c-reas__desc {
  position: absolute;
  bottom: 0;
  width: 100%;
  max-width: 100vw;
  background-color: rgba(0, 0, 0, 0.5);
  color: var(--color-white);
  padding: var(--space-xl);
  z-index: 1;
  justify-content: space-between;
}
.c-rea__txt {
  margin: 0 var(--space-md) var(--space-md) 0;
  font-size: var(--font-size-sm);
  font-family: var(--font-family-title);
  line-height: var(--line-height-tight);
  text-shadow: 1px 1px 0 var(--color-black);
}
.c-reas__close-scr {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #3E3A39;
  opacity: 0.8;
  top: 0;
  left: 0;
}
.c-reas__slideshow::before {
  content: '';
  width: 5.5rem;
  position: absolute;
  background: #232323;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 1;
}
.c-reas__ctrls {
  flex-direction: column;
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
}
.c-reas__ctrl {
  padding: 0;
  width: 5.5rem;
  height: 7.25rem;
  background-color: var(--color-secondary);
  cursor: pointer;
}
.c-reas__ctrl:hover .c-reas__icon {
  transform: scale(1.5);
}
.c-reas__ctrl:last-of-type {
  background-color: var(--color-primary);
}
.c-reas__cross {
  position: absolute;
  width: 1.5rem;
  top: var(--space-xl);
  right: var(--space-xl);
  cursor: pointer;
  z-index: 1;
}
.c-reas__path {
  fill: var(--color-white);
}
.c-reas__path--dk {
  fill: var(--color-white);
}
.c-reas__icon {
  width: 1rem;
  height: 1rem;
  transition: var(--transition-slow);
}
@media (max-width: 479px) {
  .c-reas__ctrl {
    width: 3.5rem;
  }
  .c-reas__cross {
    right: var(--space-md);
  }
  .c-reas__slideshow::before {
    width: 3.5rem;
  }
  .c-reas__slideshow {
    padding: 0 3.5rem 0 0;
  }
}
@media (max-height: 350px) {
  .c-reas__ctrl {
    height: 5.5rem;
  }
}

/* Slideshow with thumbnails */
.o-projet .o-slideshow{
  min-height: 35rem;
}
.o-slideshow {
  min-height: 40rem;
  flex-direction: column;
}
.o-slideshow__imgs {
  flex: 1;
  position: relative;
  width: 100%;
  background: var(--color-neutral-darkest);
}
.o-slideshow__img {
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: all var(--transition-base);
}
.o-slideshow__img.is-shown {
  opacity: 1;
}
.o-slideshow__vigs {
  height: 6rem;
  width: 100%;
  background: var(--color-neutral-darkest);
  position: relative;
}
.o-slideshow__vig {
  margin: 0 0.75rem;
  width: 6rem;
  height: 4.5rem;
  border-radius: 0.75rem;
  cursor: pointer;
}
.o-slideshow__filter {
  min-width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  transition: all var(--transition-slow);
}
.o-slideshow__vig.is-active .o-slideshow__filter,
.o-slideshow__vig:hover .o-slideshow__filter {
  opacity: 0;
}
.o-slideshow__ctrl {
  position: absolute;
  width: 3rem;
  height: 3rem;
  border-radius: var(--border-radius-full);
  background-image: linear-gradient(to bottom, var(--color-secondary) 50%, var(--color-primary) 50%);
  background-size: 100% 200%;
  background-position: center top;
  cursor: pointer;
  z-index: 2;
  transition: all var(--transition-base);
}
.o-slideshow__ctrl:first-of-type {
  left: var(--space-lrg);
}
.o-slideshow__ctrl:last-of-type {
  right: var(--space-lrg);
}
.o-slideshow__ctrl path {
  fill: var(--color-white);
  transition: all var(--transition-base);
}
.o-slideshow__ctrl svg {
  position: relative;
  width: 1rem;
  height: 1rem;
}
.o-slideshow__ctrl:first-of-type svg {
  right: 0.1rem;
}
.o-slideshow__ctrl:last-of-type svg {
  left: 0.1rem;
}
.o-slideshow__ctrl:hover {
  background-position: center bottom;
}

@media (max-width: 1330px) {
  .o-slideshow {
    flex: auto;
  }
  .o-slideshow__img.o-photo__cover {
    object-fit: contain;
  }
}
@media (max-width: 660px) {
  .o-slideshow__vigs {
    height: 5rem;
  }
  .o-slideshow__vig {
    width: 3rem;
    height: 3rem;
    margin: 0 var(--space-sm);
    border-radius: var(--border-radius-sm);
  }
  .o-slideshow__ctrl {
    border-radius: 0 var(--space-sm) var(--space-sm) 0;
    width: 1.75rem;
    height: 3.75rem;
  }
  .o-slideshow__ctrl:first-of-type {
    left: 0;
  }
  .o-slideshow__ctrl:last-of-type {
    border-radius: var(--space-sm) 0 0 var(--space-sm);
    right: 0;
  }
}

/* =========== FORMULAIRES =========== */

/* Rappel encadré */
.o-rappel {
  display: flex;
  padding: var(--space-xl) var(--space-xl) var(--space-md) var(--space-xl);
  width: 100%;
  max-width: 35rem;
  border: 1px solid var(--color-border);
  justify-content: flex-end;
  flex-wrap: wrap;
}
* + .o-rappel,
.o-rappel + *:not([class]) {
  margin-top: var(--space-3xl);
}
.o-rappel__input {
  flex: 1;
  padding: var(--space-md) var(--space-lrg);
  background: var(--color-neutral-lighter);
  height: 4rem;
  color: var(--color-text-dark);
}
.o-rappel__input--fff {
  background: var(--color-white);
  color: var(--color-neutral-dark);
}
.o-rappel .o-btn {
  height: 4rem;
  border-radius: 0;
}
.o-rappel .o-btn::before {
  content: url('/medias/icons/base/tel-fff.svg');
}
.o-rappel p {
  font-size: var(--font-size-sm);
  font-style: italic;
  min-width: 100%;
  line-height: var(--line-height-tight);
  margin-top: 0.7rem;
}
@media (max-width: 350px) {
  .o-rappel {
    padding: var(--space-xl) var(--space-md) var(--space-md) var(--space-md);
  }

  .o-rappel .o-btn {
    width: 100%;
    justify-content: center;
  }

  .o-rappel .o-btn::before {
    right: 18%;
  }
}

/* Inner labeled form */
.o-form-bk {
  padding: var(--space-6xl) 5%;
  flex: 1;
}

@media (max-width: 1200px) {
  .o-form-bk {
    padding: var(--space-5xl) 6%;
    min-width: 100%;
  }
}
@media (max-width: 600px) {
  .o-form-bk {
    padding: var(--space-4xl) 7%;
  }
}

.o-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-md) var(--space-xl);
  position: relative;
  max-width: 900px;
}
.o-form__radios {
  justify-content: flex-start;
  width: 100%;
  margin-bottom: var(--space-md);
  gap: var(--space-sm) var(--space-lrg);
}
.o-form__range {
  min-width: 100%;
  font-weight: var(--font-weight-bold);
  margin: var(--space-sm) 0 var(--space-lrg) 0;
  gap: var(--space-xs) var(--space-md);
  justify-content: flex-start;
}
.o-form__range input {
  flex: 1;
  max-width: 20rem;
  cursor: pointer;
  background-color: var(--color-white);
}
.o-form__range p:first-child {
  min-width: 100%;
}
.o-form__range p:last-child {
  margin: 0;
  min-width: 4rem;
  line-height: var(--line-height-tight);
}
.o-form__p {
  min-width: 100%;
  font-weight: var(--font-weight-bold);
  margin: var(--space-sm) 0 calc(var(--space-sm) * -1) 0;
}
.o-form__h3 {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-lrg);
  position: relative;
  font-weight: var(--font-weight-extrabold);
  min-width: 100%;
  text-align: center;
}
.o-form__h3::after {
  content: "";
  position: absolute;
  width: 4rem;
  height: 1px;
  background: #22333B;
  bottom: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.o-form .o-btn {
  margin-top: var(--space-xl);
}
.o-form .o-btn::before {
  content: url('/medias/icons/base/mail-fff.svg');
}
.o-form__legend {
  margin-bottom: var(--space-md);
  min-width: 100%;
  text-align: center;
}
.o-form__legend p {
  position: relative;
  display: inline-block;
}
.o-form__legend p::before {
  content: '*';
  left: -0.75rem;
  top: 0;
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
  position: absolute;
}
.o-form__lb {
  position: relative;
  border-bottom: 1px solid #22333B;
  margin-bottom: var(--space-md);
  min-width: 47%;
  flex: 1;
  background: transparent;
}
.o-form__lb input {
  background: none;
  position: relative;
  z-index: 1;
}
.o-form__lb span,
.o-form__lb .o-form__input:focus + span,
input:-webkit-autofill + span,
input:-webkit-autofill:hover + span,
input:-webkit-autofill:focus + span,
input:-webkit-autofill:active + span {
  display: block;
  position: absolute;
  top: 0;
  transform: translate(-0.5rem, -50%) scale(0.9);
  transition: all var(--transition-base);
  transform-origin: left;
}
.o-form__input {
  width: 100%;
  padding: var(--space-md) 0;
  line-height: var(--line-height-tight);
  border-radius: 0.35rem;
}
.o-form__input--txt {
  min-width: 100%;
  min-height: 10rem;
  resize: none;
  padding: var(--space-md);
  line-height: var(--line-height-relaxed);
}
.o-form__input:placeholder-shown + span {
  transform: translateY(-50%);
  top: 50%;
  color: #6a7f84;
}

/* Autofill handling */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
}

/* Checkbox disclaimer */
.o-form__lcheck {
  margin-top: var(--space-lrg);
  padding-left: 1.75rem;
  display: flex;
  position: relative;
  cursor: pointer;
  line-height: var(--line-height-normal);
  transition: all var(--transition-base);
}
.o-form__lcheck:hover {
  color: #627477;
}
.o-form__lcheck span {
  line-height: var(--line-height-normal);
  position: relative;
  font-size: var(--font-size-sm);
}
.o-form__lcheck:hover .o-form__check + span::before,
.o-form__lcheck:focus .o-form__check + span::before {
  background: rgba(255, 255, 255, 0.3);
}
.o-form__check:not(:checked),
.o-form__check:checked {
  position: absolute;
  left: 0.45rem;
  top: 0.4rem;
  opacity: 0.01;
}
.o-form__check + span::before {
  content: '';
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: -1.75rem;
  top: -1px;
  width: 18px;
  height: 18px;
  border-radius: var(--border-radius-sm);
  margin: 0.2rem var(--space-md) 0 0;
  background: transparent;
  box-sizing: border-box;
  transition: all var(--transition-base);
  border: 1px solid #22333B;
  transition: all 250ms cubic-bezier(0.4, 0.0, 0.23, 1);
}
.o-form__check:checked + span::before {
  animation: shrink-bounce 200ms cubic-bezier(0.4, 0.0, 0.23, 1);
  border: 9px solid var(--color-secondary-light);
}
.o-form__check:checked + span::after {
  content: '';
  position: absolute;
  left: -1.45rem;
  top: 12px;
  width: 0.25rem;
  height: 0.6rem;
  border-right: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transform: rotate(45deg);
  transform-origin: 0% 100%;
  animation: checkbox-check 125ms 250ms cubic-bezier(0.4, 0.0, 0.23, 1) forwards;
}

@keyframes shrink-bounce {
  0% {
    transform: scale(1);
  }
  33% {
    transform: scale(0.85);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes checkbox-check {
  0% {
    max-width: 0;
    max-height: 0;
    border-color: var(--color-white);
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
  33% {
    max-width: 0.25rem;
    max-height: 0;
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
  100% {
    max-width: 0.25rem;
    max-height: 0.5rem;
    border-color: var(--color-white);
    transform: translate3d(0, -0.5rem, 0) rotate(45deg);
  }
}

/* =========== LOADER =========== */

.c-loader__section--left,
.c-loader__section--right {
  width: 52%;
  height: 100%;
  position: fixed;
  background: var(--color-neutral-darkest);
  transition: transform var(--transition-slowest) var(--transition-fast);
  z-index: var(--z-loader-sections);
  top: 0;
}
.c-loader__section--left {
  left: -1%;
}
.c-loader__section--right {
  right: -1%;
}
.c-loader__section--left.is-loaded {
  transform: translateX(-100%);
}
.c-loader__section--right.is-loaded {
  transform: translateX(100%);
}
.c-loader {
  width: 100vw;
  height: 100%;
  max-height: 100vh;
  top: 0;
  left: 0;
  position: fixed;
  z-index: var(--z-loader);
}
.c-loader__logo {
  width: 16rem;
  height: 16rem;
  opacity: 0;
  animation: loader 1.25s infinite 0.5s alternate var(--ease-in-out);
}
.c-loader.is-loaded {
  transition: opacity var(--transition-base), transform 0s 0.4s;
  opacity: 0;
  transform: translateX(-100vw);
}

@keyframes loader {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media (max-width: 600px) {
  .c-loader__logo {
    width: 12rem;
    height: 12rem;
  }
}
@media (max-width: 400px) {
  .c-loader__logo {
    width: 8rem;
    height: 8rem;
  }
}

/* =========== COOKIES =========== */

.c-cks {
  z-index: var(--z-cookies);
  right: var(--space-md);
  bottom: -50rem;
  height: auto;
  max-width: 28rem;
  margin-left: var(--space-md);
  position: fixed;
  background-color: var(--color-white);
  line-height: var(--line-height-normal);
  opacity: 0;
  padding: var(--space-3xl);
  border-radius: var(--border-radius-xl);
  transition: all var(--transition-slow), opacity 0s 0.8s;
  box-shadow: 1px 0 2rem rgba(0, 0, 0, 0.25);
}
.c-cks.has-appeared {
  transform: translateY(-51rem);
  opacity: 1;
  transition: all var(--transition-slowest), opacity 0s;
}
.c-cks__h2 {
  font-size: var(--font-size-2xl);
  margin: 0 0 var(--space-xl) 0;
  width: 65%;
}
.c-cks__p {
  margin: 0 0 var(--space-lrg) 0;
}
.c-cks__p + .c-cks__p {
  margin: 0;
}
.c-cks .o-btn,
.c-cks .o-btn--gh {
  flex: 1;
  height: 3.5rem;
  margin: 0;
  flex-wrap: nowrap;
  line-height: 1;
  min-width: 8.5rem;
  padding: 0;
}
.c-cks .o-btn img,
.c-cks .o-btn--gh img {
  width: 1rem;
  height: 1rem;
}
.c-cks .o-btns {
  margin-top: var(--space-2xl);
  gap: var(--space-md);
}
.c-cks__icon {
  position: absolute;
  top: 1.8rem;
  right: 1.8rem;
  width: 5rem;
  height: 5rem;
}
.c-dark-scr {
  z-index: var(--z-menu-screen);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  transition: opacity var(--transition-slow), transform 0s 0.6s;
  background: rgba(0, 0, 0, 0.2);
  transform: translateX(-100%);
}
.c-dark-scr.has-appeared {
  opacity: 1;
  transform: translateX(0);
  transition: opacity var(--transition-slow), transform 0s;
}

@media (max-width: 500px), (max-height: 550px) {
  .c-cks {
    padding: var(--space-xl) var(--space-lrg) var(--space-lrg) var(--space-lrg);
    font-size: var(--font-size-base);
    right: 0.25rem;
    bottom: -30.75rem;
    margin-left: 0.25rem;
  }

  .c-cks__h2 {
    font-size: var(--font-size-lrg);
    margin: 0 0 var(--space-md) 0;
    width: 65%;
  }

  .c-cks__p {
    margin: 0 0 var(--space-sm) 0;
    width: 80%;
  }

  .c-cks__p + .c-cks__p {
    width: auto;
  }

  .c-cks .o-btn,
  .c-cks .o-btn--gh {
    height: 3rem;
  }

  .c-cks .o-btns {
    margin-top: var(--space-lrg);
    gap: var(--space-sm);
  }

  .c-cks__icon {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 4rem;
    height: 4rem;
  }
}
@media (max-width: 410px) {
  .c-cks__p {
    width: 100%;
  }
}

/* =========== NAVIGATION =========== */

.c-nav, .c-nav--anchored {
  width: 100%;
  position: fixed;
  top: 0;
  box-shadow: var(--shadow-nav);
  background-color: var(--color-white);
  max-width: var(--container-max-width);
  height: var(--size-nav-height);
  margin: 0 auto;
  z-index: var(--z-nav);
  transition: all var(--transition-base);
}
.c-nav__menu {
  padding: 0 var(--space-3xl);
  gap: var(--space-md) var(--space-xl);
  flex: 1;
  justify-content: flex-end;
}
.c-nav__a {
  font-family: var(--font-family-title);
  font-size: var(--font-size-sm);
  position: relative;
  font-weight: var(--font-weight-extrabold);
  transition: all var(--transition-base);
  color: var(--color-text-dark);
  text-transform: uppercase;
}
.c-nav__a:hover {
  color: var(--color-secondary);
}
.c-nav__a.is-active {
  color: var(--color-primary);
  transition: all var(--transition-base) 0.25s;
}
.c-nav__a::after {
  content: '';
  background: var(--color-secondary);
  height: 3px;
  width: 4rem;
  max-width: 0;
  transition: all var(--transition-base);
  position: absolute;
  bottom: -0.25rem;
  left: 50%;
  transform: translateX(-50%);
}
.c-nav__a.is-active::after {
  background: var(--color-primary);
  transition: all var(--transition-base) 0.25s;
}
.c-nav__a:hover::after,
.c-nav__a.is-active::after {
  max-width: 4rem;
}

.c-menu-scr {
  z-index: var(--z-menu-screen);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  transition: opacity var(--transition-slow), transform 0s 0.6s;
  background: rgba(0, 0, 0, 0.5);
  transform: translateX(-100%);
}
.c-menu-scr.has-appeared {
  opacity: 1;
  transform: translateX(0);
  transition: opacity var(--transition-slow), transform 0s;
}

.c-nav__logo {
  height: var(--size-nav-height);
  width: var(--size-logo-width);
  color: var(--color-text-dark);
  background: var(--color-neutral-lighter);
  flex-wrap: nowrap;
}
.c-nav__logo img {
  height: var(--size-logo-icon);
  width: var(--size-logo-icon);
}
.c-nav__logo span {
  font-family: var(--font-family-title);
  font-size: var(--font-size-base);
  text-transform: uppercase;
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  position: relative;
  margin-left: 0.25rem;
}
.c-nav__logo span span:first-child{
  position: relative;
  left: -0.5rem;
}
.c-nav__num {
  margin-left: var(--space-xl);
  font-weight: var(--font-weight-extrabold);
  font-size: var(--font-size-base);
  transition: all var(--transition-base);
  color: var(--color-primary);
  min-width: 0;
  font-family: var(--font-family-title);
}
.c-nav__num:hover {
  color: var(--color-secondary);
}
.c-nav__num:hover svg path {
  fill: var(--color-secondary);
}

/* Burger menu button */
.c-menu-btn {
  width: 2.5rem;
  height: 2.5rem;
  right: var(--menu-btn-right);
  cursor: pointer;
  position: absolute;
  z-index: var(--z-nav);
  display: none;
}
.c-menu-btn span {
  font-weight: var(--font-weight-extrabold);
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  font-family: var(--font-family-title);
  color: var(--color-text-dark);
  right: var(--space-3xl);
  line-height: 2.5rem;
  font-size: var(--font-size-sm);
  transition: all var(--transition-base) var(--transition-fast);
}
.c-menu-btn.is-switched span {
  color: var(--color-white);
  transition: all var(--transition-base);
}
.c-menu-btn__bar1::before,
.c-menu-btn__bar1::after,
.c-menu-btn__bar3::before,
.c-menu-btn__bar3::after {
  content: '';
  left: var(--space-sm);
  top: var(--space-sm);
  position: absolute;
  width: 0.75rem;
  transform-origin: left bottom;
  height: 0.25rem;
  background-color: var(--color-text-dark);
  transition: all var(--transition-fast) var(--transition-fast), top var(--transition-base), transform var(--transition-base);
}
.c-menu-btn__bar1::after {
  right: var(--space-sm);
  left: auto;
  transform-origin: right bottom;
}
.c-menu-btn__bar2 {
  position: absolute;
  width: 1.5rem;
  top: 50%;
  left: 50%;
  height: 0.25rem;
  background: var(--color-text-dark);
  transform: translate(-50%, -50%);
  transition: all var(--transition-fast) var(--transition-fast), transform var(--transition-base) var(--transition-base), width var(--transition-base) 0.6s;
}
.c-menu-btn__bar3::before,
.c-menu-btn__bar3::after {
  top: auto;
  bottom: var(--space-sm);
  transform-origin: left top;
}
.c-menu-btn__bar3::after {
  right: var(--space-sm);
  left: auto;
  transform-origin: right top;
}
.c-menu-btn.is-switched .c-menu-btn__bar1::before {
  left: 0.6rem;
  top: 0.55rem;
  width: 0.9rem;
  background: var(--color-secondary);
  transform: rotate(45deg);
  transform-origin: left bottom;
  transition: width var(--transition-base) var(--transition-base), top var(--transition-base) var(--transition-base), left var(--transition-base) var(--transition-base), transform var(--transition-base) var(--transition-base);
}
.c-menu-btn.is-switched .c-menu-btn__bar1::after {
  right: 0.6rem;
  width: 0.9rem;
  top: 0.55rem;
  background: var(--color-secondary);
  transform: rotate(-45deg);
  transform-origin: right bottom;
  transition: width var(--transition-base) var(--transition-base), top var(--transition-base) var(--transition-base), right var(--transition-base) var(--transition-base), transform var(--transition-base) var(--transition-base);
}
.c-menu-btn.is-switched .c-menu-btn__bar2 {
  width: 0.2rem;
  background: var(--color-secondary);
  transform: translate(-50%, -50%);
  transition: width var(--transition-slow), transform var(--transition-base) var(--transition-base);
}
.c-menu-btn.is-switched .c-menu-btn__bar3::before {
  left: 0.6rem;
  bottom: 0.55rem;
  width: 0.9rem;
  background: var(--color-secondary);
  transform: rotate(-45deg);
  transform-origin: left top;
  transition: width var(--transition-base) var(--transition-base), bottom var(--transition-base) var(--transition-base), left var(--transition-base) var(--transition-base), transform var(--transition-base) var(--transition-base);
}
.c-menu-btn.is-switched .c-menu-btn__bar3::after {
  right: 0.6rem;
  width: 0.9rem;
  background: var(--color-secondary);
  bottom: 0.55rem;
  transform: rotate(45deg);
  transform-origin: right top;
  transition: width var(--transition-base) var(--transition-base), right var(--transition-base) var(--transition-base), bottom var(--transition-base) var(--transition-base), transform var(--transition-base) var(--transition-base);
}

@media (max-width: 1500px) {
  .c-nav__menu {
    gap: var(--space-md) var(--space-lrg);
  }
}
@media (max-width: 1365px){
  .c-nav__a {
    font-size: var(--font-size-vsm);
  }
}
@media (max-width: 1200px) {
  .c-nav, .c-nav--anchored {
    height: var(--size-nav-height-sm);
    padding: 0 7rem 0 0;
    justify-content: flex-start;
  }
  .c-nav__menu {
    opacity: 0;
    position: fixed;
    background-image: var(--gradient-dark-sided);
    top: 0;
    right: -20rem;
    height: 100%;
    max-height: 100vh;
    z-index: var(--z-menu);
    width: 20rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0 var(--space-xl);
    text-align: left;
    box-shadow: -1px 0 0.4rem rgba(0, 0, 0, 0.2);
    transition: all var(--transition-slower), opacity 0s 0.8s;
  }
  .c-nav__a {
    color: var(--color-white);
    font-size: var(--font-size-sm);
  }
  .c-nav__a:hover,
  .c-nav__a.is-active {
    color: var(--color-secondary-light);
  }
  .c-nav__a.is-active::after {
    background: var(--color-secondary-light);
    left: 0;
    transform: none;
  }
  .c-nav__menu.has-appeared {
    opacity: 1;
    transition: all var(--transition-slower), opacity 0s;
    transform: translateX(-100%);
  }
  .c-menu-btn {
    display: flex;
  }
  .c-nav__logo {
    height: var(--size-nav-height-sm);
  }
}
@media (max-width: 550px) {
  .c-nav__num {
    display: none;
  }
  .c-nav, .c-nav--anchored {
    padding: 0;
  }
  .c-nav__logo span {
    left: 0;
  }
}
@media (max-width: 450px) {
  .c-nav__menu {
    right: -80vw;
    width: 80vw;
  }
}

/* =========== LATERAL NAVIGATION =========== */

.c-latnav__icons {
  position: fixed;
  right: -12rem;
  bottom: 40%;
  width: 16rem;
  z-index: var(--z-latnav);
  transition: all var(--transition-slow);
}
.c-latnav__icons.is-hidden {
  transform: translateX(4.5rem);
}
.c-latnav__el {
  height: 4rem;
  transition: all var(--transition-slower);
  margin: var(--space-xs) 0;
  font-weight: var(--font-weight-extrabold);
  font-family: var(--font-family-title);
  font-size: var(--font-size-base);
  text-transform: uppercase;
  box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.75);
}
.c-latnav__img {
  height: 100%;
  padding: 1.15rem;
  display: block;
  background-color: var(--color-neutral-darkest);
}
.c-latnav__el svg {
  height: 1.7rem;
	width: 1.7rem;
}
.c-latnav__el svg path {
  fill: var(--color-primary-light);
}
.c-latnav__el:first-of-type .c-latnav__img {
  background-color: var(--color-primary-light);
}
.c-latnav__el:first-of-type svg path {
  fill: var(--color-neutral-darkest);
}
.c-latnav__el:first-of-type,
.c-latnav__el:first-of-type .c-latnav__img {
  border-radius: var(--border-radius-xl) 0 0 0;
  font-size: var(--font-size-sm);
}
.c-latnav__el:last-of-type,
.c-latnav__el:last-of-type .c-latnav__img {
  border-radius: 0 0 0 var(--border-radius-xl);
}
.c-latnav__el p {
  flex: 1;
  align-self: stretch;
  padding-left: var(--space-lrg);
  text-transform: uppercase;
  background-color: #ededed;
  line-height: 4rem;
}
.c-latnav__el:hover {
  transform: translateX(-12rem);
}

@media (max-width: 700px) {
  .c-latnav__icons {
    display: flex;
    right: auto;
    left: 0;
    bottom: 0;
    width: auto;
  }
  .c-latnav__el {
    margin: 0 var(--space-xs) 0 0;
  }
  .c-latnav__el p {
    display: none;
  }
  .c-latnav__el:hover {
    transform: none;
  }
  .c-latnav__el:first-of-type,
  .c-latnav__el:first-of-type .c-latnav__img {
    border-radius: 0;
  }
  .c-latnav__el:last-of-type,
  .c-latnav__el:last-of-type .c-latnav__img {
    border-radius: 0 var(--border-radius-xl) 0 0;
  }
	.c-latnav__icons.is-hidden {
    transform: translateX(-100%);
  }
}

/* =========== FOOTER =========== */

.c-footline {
  background-color: var(--color-neutral-darkest);
  height: 5rem;
  text-align: center;
  color: var(--color-neutral-lightest);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  padding: 0 5%;
  display: flex;
  justify-content: space-between;
  box-shadow: var(--shadow-sm);
}
.c-footline .o-flexbox {
  gap: 0.8rem var(--space-lrg);
}
@media (max-width: 840px) {
  .c-footline {
    height: auto;
    padding: var(--space-xl);
    flex-direction: column;
    gap: var(--space-md);
  }
}

/* =========== SCROLL BUTTON =========== */

.c-scroll-btn {
  position: fixed;
  bottom: 2.5rem;
  left: 2.5%;
  background-image: var(--gradient-primary);
  background-size: 100% 200%;
  border-radius: var(--border-radius-full);
  width: 2.5rem;
  height: 2.5rem;
  transition: all var(--transition-base);
  transform: translate(-50%, 50%);
  cursor: pointer;
  z-index: var(--z-scroll-btn);
}
.c-scroll-btn:hover {
  background-position: center bottom;
}
.c-scroll-btn__icon {
  width: 0.75rem;
  height: 0.75rem;
}
.c-scroll-btn__path {
  fill: var(--color-white);
}

/* =========== BREADCRUMB =========== */

.o-breadcrumb {
  margin: var(--space-xl) auto;
  max-width: var(--content-max-width);
  padding: 0 4%;
  justify-content: flex-start;
}
.o-breadcrumb ul {
  list-style-type: none;
  justify-content: flex-start;
}
.o-breadcrumb li {
  position: relative;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  opacity: 0.8;
}
.o-breadcrumb li:hover,
.o-breadcrumb li:last-child {
  color: var(--color-secondary);
  opacity: 1;
}
.o-breadcrumb li:not(:last-child) {
  padding-right: var(--space-xl);
}
.o-breadcrumb li:not(:last-child)::after {
  content: '\203a';
  position: absolute;
  right: 0.9rem;
  font-size: var(--font-size-lrg);
  line-height: var(--line-height-tight);
}
.o-breadcrumb + .o-fullsec--bar {
  padding-top: 0;
}
.o-breadcrumb + .o-fullsec--bar::after {
  top: 0;
}
