/* **************************************************************************/
/********** Compilation des styles 5440 ************************************/
/************************************************************************** */
/* ==============================================
. Variables
============================================== */
:root {
  --c-g2: #2a0a0a;
  /* border */
  --c-g3: #e3e3e3;
  /* Soft */
  --c-g4: #414141;
  /* couleur paragraphe */
  --c-1: #114478;
  /* Couleur primaire || #164194 */
  --c-pink: #f6afb8;
  /* Rose */
  --c-green: #32b878;
  /* Vert */
  --c-blue: #19b1e4;
  /* Bleu */
  --c-orange: #ffbd59;
  /* Orange */
  --c-list-bullet: #fa3c05;
  /* Puces listes */
  --c-list-counter: #004494;
  /* Chiffres listes ordonnées */
  --c-table-border: #a9a9a9;
  /* Bordure des tableaux */
  --c-circle-border1: #f4eedb;
  /* Bordure du rond animé */
  --c-circle-border2: #d9edf0;
  /* Bordure du rond animé 2 */
  --c-circle-fill: #fa3c05;
  /* Remplissage du cercle */
  --c-light-box-bt: #004494;
  /* Croix fermeture lightbox */
  --c-light-box-bt-hover: #0069e0;
  /* Survol croix fermeture lightbox */
  --c-play-bt: #002d61;
  /* Bouton play */
  --c-play-bt-hover: #0069e0;
  /* Survol bouton play */
  --c-pictos: #fa3c05;
  /* Pictos */
  --font-light: 300;
  --font-regular: 400;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --font-size-base: 1rem;
  --font-size-button: 1rem;
  --font-size-title-s: 1.25rem;
  --font-size-title-m: 1.5rem;
  --font-size-title-ml: 1.75rem;
  --font-size-title-l: 2rem;
  --font-size-title-tile: 1.25rem;
  --font-size-infos: 0.8125rem;
  --font-family-primary: Poppins, Verdana, sans-serif;
  --font-family-title: Livvic, Helvetica, sans-serif;
  --radius-img: 1.25rem;
  --base-desktop-width: 1364;
  --max-desktop-width: 1440;
  --wrapper-xs: 69.375rem;
  --wrapper-s: 76.25rem;
  --wrapper-m: 81.25rem;
  --wrapper-l: 85rem;
  --wrapper-xl: 90rem;
  --v-xsmall: 0.3125rem;
  --v-small: 0.625rem;
  --v-medium: 1.25rem;
  --v-large: 1.875rem;
  --v-xlarge: 3.125rem;
  --v-xmlarge: 4.0625rem;
  --v-xxlarge: 5rem;
  --v-space-bottom: 3.75rem;
  --h-small: 0.9375rem;
  --h-medium: 1.25rem;
  --h-xlarge: 3.125rem;
  --default-delay: 0.15s;
  --duo-block-duration: 0.25s;
}
@media only screen and (min-width: 48rem) {
  :root {
    --v-space-bottom: 5.625rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  :root {
    --font-size-base: 1rem;
    --font-size-title-s: 1.5rem;
    --font-size-title-m: 1.75rem;
    --font-size-title-ml: 2rem;
    --font-size-title-l: 2.5rem;
    --font-size-title-tile: 1.5rem;
    --font-size-infos: 1rem;
    --v-xsmall: 0.625rem;
    --v-small: 1.25rem;
    --v-medium: 1.5625rem;
    --v-large: 3.125rem;
    --v-xlarge: 5.625rem;
    --v-xmlarge: 6.875rem;
    --v-xxlarge: 8.125rem;
    --v-space-bottom: 7.5rem;
    --h-small: 1.25rem;
    --h-medium: 1.5625rem;
    --h-xlarge: 4.6875rem;
  }
}
.cc a {
  color: currentcolor;
}
.cc summary {
  cursor: pointer;
}
.ei_content:has(.flexible_table) {
  padding-top: 0;
}
.ei_content .a_titre1 {
  color: var(--c-1);
  font-weight: 600;
  margin-block: 3.125rem;
  width: fit-content;
}
/* stylelint-disable selector-class-pattern, declaration-block-no-redundant-longhand-properties */
.cc [class*="-green"] {
  --color: var(--c-green);
}
.cc [class*="-pink"],
.ei_content .a_titre1 {
  --color: var(--c-pink);
}
.cc [class*="-blue"] {
  --color: var(--c-blue);
}
.cc [class*="-orange"] {
  --color: var(--c-orange);
}
.cc [class*="deco-"],
.ei_content .a_titre1 {
  position: relative;
}
.cc [class*="deco-"]::after,
.ei_content .a_titre1::after {
  position: absolute;
  top: 100%;
  left: calc(100% - 2.9375rem);
  flex-shrink: 0;
  height: var(--deco-height, 0.25rem);
  width: var(--deco-width, 4.25rem);
  background-color: var(--color, currentcolor);
  content: "";
}
.cc [class*="deco-"][class*="-right"],
.ei_content .a_titre1[class*="-right"] {
  left: auto;
  right: calc(100% - 2.9375rem);
}
.cc [class*="deco-"][class*="-medium"]::after,
.ei_content .a_titre1[class*="-medium"]::after {
  height: 2.25rem;
}
.cc [class*="deco-"][class*="-big"]::after,
.ei_content .a_titre1[class*="-big"]::after {
  height: 2.8125rem;
}
.cc [class^="feeble-"] {
  position: absolute;
  z-index: -1;
  max-width: calc(var(--width) / 16 * 1rem);
  width: calc(var(--width) / var(--max-desktop-width) * 100%);
  transition: all 0.1s ease-in;
  pointer-events: none;
}
.cc .feeble-environnement_forme_eau_matiere {
  --width: 737;
  top: 0;
  translate: 0 -13%;
  left: calc(-170 / var(--max-desktop-width) * 100%);
}
.cc .feeble-generique_rond_rose {
  --width: 230;
  top: -0.3125rem;
  left: calc(-140 / var(--max-desktop-width) * 100%);
}
.cc .page-header .feeble-territoire_main_pouce_02 {
  --left: -110;
  --width: 150;
  top: 99%;
  translate: none;
}
@media only screen and (max-width: 47.9375rem) {
  .cc .page-header .feeble-territoire_main_pouce_02 {
    left: -3.75rem;
  }
}
@media only screen and (min-width: 48rem) {
  .cc .page-header .feeble-territoire_main_pouce_02 {
    margin-top: -0.9375rem;
  }
}
@media only screen and (min-width: 75rem) {
  .cc .page-header .feeble-territoire_main_pouce_02 {
    margin-top: 1.875rem;
    --left: -140;
  }
}
@media only screen and (min-width: 87.5rem) {
  .cc .page-header .feeble-territoire_main_pouce_02 {
    --left: -160;
  }
}
.cc .feeble-territoire_main_pouce_02 {
  --left: -149;
  --width: 251;
  min-width: 5rem;
  left: calc(var(--left) / var(--max-desktop-width) * 100%);
  top: 0;
  translate: 0 -40%;
}
@media only screen and (min-width: 36rem) {
  .cc .feeble-territoire_main_pouce_02 {
    --left: -49;
  }
}
#home.cc .feeble-territoire_main_pouce_02 {
  z-index: 5;
}
.cc .feeble-environnement_fleur_01 {
  --width: 232;
  bottom: 0;
  right: calc(100% - var(--h-medium) / 2);
}
#team.cc .feeble-environnement_fleur_01 {
  --width: 356;
  top: 0;
  bottom: auto;
  right: -5%;
  rotate: -15deg;
}
.grid-press.cc .feeble-environnement_fleur_01 {
  --width: 300;
  right: calc((-110 / var(--max-desktop-width)) * 100%);
  top: 90%;
  rotate: 17deg;
}
.cc .feeble-environnement_fleur_02 {
  --width: 232;
  bottom: 0;
  right: calc(100% - 1.25rem);
  scale: -1 1;
}
#home.cc .feeble-environnement_fleur_02 {
  --width: 356;
  inset: -3.75rem calc((-132 / var(--max-desktop-width)) * 100%) auto auto;
  scale: none;
}
.cc .feeble-territoire_carre_vitre {
  --width: 462;
  left: calc((1284 / var(--max-desktop-width)) * 100%);
  top: 0;
}
.cc .feeble-territoire_lignes_vagues {
  --width: 190;
  top: 0;
  right: 1.25rem;
  translate: 80% -25%;
}
.cc .feeble-environnement_atomes {
  --width: 147;
  right: calc((35 / var(--max-desktop-width)) * 100%);
  rotate: -38deg;
  top: 5.625rem;
}
.cc .feeble-environnement_feuilles {
  --width: 500;
  right: calc((100 / var(--max-desktop-width)) * 100%);
  rotate: 15deg;
  top: 0;
}
.cc .feeble-generique_immeuble {
  --width: 190;
  left: calc((-135 / var(--max-desktop-width)) * 100%);
  bottom: 0;
}
@media only screen and (max-width: 35.9375rem) {
  #team.cc .feeble-generique_immeuble {
    --width: 190px;
    left: -26%;
    bottom: -8%;
  }
}
.cc .feeble-generique_planete {
  --width: 900;
  right: calc((-300 / var(--max-desktop-width)) * 100%);
  rotate: 30deg;
  opacity: 0.5;
}
.cc .media-deco {
  --deco-height: 2.875rem;
  display: inline-block;
}
.cc .media-deco::after {
  left: -4.82758621%;
}
.cc .media-deco img {
  position: relative;
  width: auto;
  z-index: 1;
}
.cc .feeble-environnement_coeur {
  --width: 60;
  right: calc((150 / var(--max-desktop-width)) * 100%);
  top: 0;
}
.cc .feeble-generique_note_02 {
  --width: 30;
  right: calc((110 / var(--max-desktop-width)) * 100%);
  top: 1.875rem;
}
.cc .feeble-environnement_fleur_03 {
  --width: 60;
  right: calc((60 / var(--max-desktop-width)) * 100%);
  rotate: 30deg;
  top: 0;
}
.cc .feeble-environnement_feuilles_double {
  --width: 93;
  right: calc((-90 / var(--max-desktop-width)) * 100%);
  rotate: -15deg;
}
.notre-histoire.cc .feeble-environnement_feuilles_double,
.nos-missions.cc .feeble-environnement_feuilles_double {
  top: 60%;
}
.environnement.cc .feeble-environnement_feuilles_double,
.solidarite-et-territoires.cc .feeble-environnement_feuilles_double {
  top: 40%;
}
.mecenat.cc .feeble-environnement_feuilles_double {
  top: 0;
}
.mentorat.cc .feeble-environnement_feuilles_double {
  rotate: 5deg;
  bottom: 0;
  transform: scaleX(-1);
}
.mentorat.cc .feeble-generique_plante_verte {
  --width: 150;
  right: calc((-123 / var(--max-desktop-width)) * 100%);
  rotate: -37deg;
  top: 0;
}
.mecenat.cc .feeble-generique_plante_verte {
  --width: 100;
  left: calc((-90 / var(--max-desktop-width)) * 100%);
  rotate: 50deg;
  bottom: 0;
}
.cc .feeble-territoire_maison {
  --width: 100;
  right: calc((0 / var(--max-desktop-width)) * 100%);
  top: 0;
}
.mobilisation-collective.cc .feeble-generique_trace_rouge {
  --width: 100%;
  right: -30rem;
  rotate: 120deg;
  top: 34.375rem;
  opacity: 0.1;
}
@media only screen and (max-width: 35.9375rem) {
  .cc.articles [class*="feeble"] {
    display: none;
  }
}
/* ==============================================
. EDITO
============================================== */
.cc {
  color: var(--c-1);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
}
.cc [class*="title-"].offset {
  margin-left: 1.25rem;
}
@media only screen and (min-width: 48rem) {
  .cc [class*="title-"].offset {
    margin-left: 1.875rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc [class*="title-"].offset {
    margin-left: 2.8125rem;
  }
}
@media only screen and (min-width: 80rem) {
  .cc [class*="title-"].offset {
    margin-left: 3.75rem;
  }
}
.cc h1,
.cc h2,
.cc h3,
.cc h4,
.cc h5,
.cc h6,
.ei_content .a_titre1 {
  font-family: var(--font-family-title);
  text-transform: uppercase;
}
.cc h1,
.ei_content .a_titre1 {
  font-size: 2.1875rem;
  line-height: 1.2;
}
@media only screen and (min-width: 48rem) {
  .cc h1,
  .ei_content .a_titre1 {
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 75rem) {
  .cc h1,
  .ei_content .a_titre1 {
    font-size: 3.25rem;
    line-height: 1.5;
  }
}
.cc h2 {
  margin: 0 0 0.9375rem;
  font-size: 1.375rem;
  line-height: 1.1;
}
@media only screen and (min-width: 48rem) {
  .cc h2 {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc h2 {
    font-size: 2rem;
    margin: 0.9375rem 0 1.875rem;
  }
}
.cc h3 {
  margin: 0.9375rem 0;
  font-size: 1.25rem;
  line-height: 1.1;
}
@media only screen and (min-width: 48rem) {
  .cc h3 {
    font-size: 1.625rem;
  }
}
.cc h4 {
  margin: 0.9375rem 0;
  font-size: 1.25rem;
}
.cc p {
  margin-bottom: 1.25rem;
  line-height: 1.4;
}
.cc figure {
  margin: 0;
  color: var(--c-1);
}
.cc figcaption b {
  display: block;
  font-family: var(--font-family-title);
}
.cc .edito-zone p:first-child {
  margin-top: 0;
}
.cc .edito-zone ol {
  padding-left: 2.5rem;
  counter-reset: list;
  list-style-position: inside;
}
@media only screen and (min-width: 62.5rem) {
  .cc .edito-zone ol {
    padding-left: 4.375rem;
  }
}
.cc .edito-zone ol > li {
  position: relative;
  margin-bottom: 1.25rem;
  padding-left: 0.625rem;
  counter-increment: list;
}
@media only screen and (min-width: 48rem) {
  .cc .edito-zone ol > li {
    padding-left: 0.3125rem;
  }
}
.cc .edito-zone ol > li::before {
  position: absolute;
  left: -2.1875rem;
  top: -0.3125rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.875rem;
  width: 1.875rem;
  background-color: var(--c-list-counter);
  color: #fff;
  font-size: 1.25rem;
  font-weight: var(--font-semibold);
  border-radius: 50%;
  content: counter(list);
  direction: rtl;
  text-align: center;
}
@media only screen and (max-width: 47.9375rem) {
  .cc .edito-zone ol > li::before {
    margin-left: -2.625rem;
    font-size: 0.875rem;
  }
}
.cc .edito-zone ul {
  padding-left: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .edito-zone ul {
    padding-left: 2.5rem;
  }
}
.cc .edito-zone ul > li {
  position: relative;
  margin-bottom: 0.25rem;
}
.cc .edito-zone ul > li::before {
  left: -0.9375rem;
  top: 0.6em;
  position: absolute;
  height: 0.4em;
  width: 0.4em;
  display: inline-block;
  background-color: currentcolor;
  border-radius: 50%;
  content: "";
}
.cc .edito-zone ul,
.cc .edito-zone ol {
  margin: 1.25rem 0rem;
  list-style: none;
}
.cc .edito-zone ul > li,
.cc .edito-zone ol > li {
  line-height: 1.6;
  list-style-position: outside;
}
.cc .edito-zone ul > li:last-child,
.cc .edito-zone ol > li:last-child {
  margin-bottom: 0;
}
.cc .edito-zone ul > li h2,
.cc .edito-zone ol > li h2 {
  margin: 0;
}
.cc .edito-zone ul ul,
.cc .edito-zone ol ul,
.cc .edito-zone ul ol,
.cc .edito-zone ol ol {
  margin: 0.625rem 1.875rem;
  padding-left: 0;
}
.cc .edito-zone ul ul li,
.cc .edito-zone ol ul li {
  position: relative;
  margin-bottom: 0.625rem;
}
.cc .edito-zone ul ul li::before,
.cc .edito-zone ol ul li::before {
  position: absolute;
  left: -0.9375rem;
  top: 0.4375rem;
  display: inline-block;
  height: 0.4em;
  width: 0.4em;
  background-color: var(--c-list-bullet);
  border-radius: 50%;
  content: "";
}
.cc footer {
  max-width: var(--wrapper-m);
  margin-inline: auto;
  margin: 0 auto;
  padding: 1.25rem;
}
@media only screen and (max-width: 47.9375rem) {
  .cc footer {
    padding: 2.5rem;
  }
}
.cc footer h1,
.cc footer h2,
.cc footer h3,
.cc footer h4,
.cc footer h5,
.cc footer p,
.cc footer li {
  font-style: italic;
}
/* ==============================================
. Layout
============================================== */
.cc {
  padding-bottom: var(--v-space-bottom);
  overflow: hidden;
  /* Style du bandeau Appel à projet sur Accueil */
  /* Header avec image */
}
.cc * {
  box-sizing: border-box;
}
.cc header h1,
.cc header p {
  margin: 0;
}
@media only screen and (min-width: 75rem) {
  .cc .home-wrapper {
    margin-top: 12.5rem;
  }
}
.cc .bandeau-appel-projet {
  color: var(--c-1);
  text-align: center;
  width: 100%;
  padding: 1.25rem;
  z-index: 6;
  margin-top: -0.3125rem;
  left: 0;
  background: var(--c-orange);
}
@media only screen and (min-width: 75rem) {
  .cc .bandeau-appel-projet {
    background: var(--c-orange) no-repeat url("../../assets/homepage/background_bandeau.png") center bottom;
    position: fixed;
    margin-bottom: 12.5rem;
  }
}
.cc .bandeau-appel-projet .bandeau-content {
  max-width: 62.5rem;
  margin: 0 auto;
}
.cc .bandeau-appel-projet .bandeau-content p {
  margin-top: 0;
}
.cc .bandeau-appel-projet .bandeau-content a {
  cursor: pointer;
}
.cc header.hero,
.cc .section-hero .hero-content {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: min(50vh, 27.625rem);
  max-width: none;
  padding: 2.5rem;
  overflow: hidden;
}
.cc header.hero .banner,
.cc .section-hero .hero-content .banner {
  position: relative;
  z-index: 1;
  max-width: 80rem;
  width: clamp(17.5rem, 70%, 80rem);
  padding: var(--v-large) min(10%, var(--h-xlarge));
  translate: 0 -0.625rem;
  background: #fff;
}
.cc header.hero [class*="title-"],
.cc .section-hero .hero-content [class*="title-"] {
  margin: 0 0 var(--v-small);
  text-transform: none;
}
.cc header.hero .figure,
.cc .section-hero .hero-content .figure,
.cc header.hero figure,
.cc .section-hero .hero-content figure,
.cc header.hero img,
.cc .section-hero .hero-content img {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.cc header.hero .figure,
.cc .section-hero .hero-content .figure,
.cc header.hero figure,
.cc .section-hero .hero-content figure {
  display: flex;
  flex-direction: column;
}
.cc header.hero .figure picture,
.cc .section-hero .hero-content .figure picture,
.cc header.hero figure picture,
.cc .section-hero .hero-content figure picture {
  overflow: hidden;
  height: 100%;
}
.cc header.hero .figure picture,
.cc .section-hero .hero-content .figure picture,
.cc header.hero figure picture,
.cc .section-hero .hero-content figure picture,
.cc header.hero .figure img,
.cc .section-hero .hero-content .figure img,
.cc header.hero figure img,
.cc .section-hero .hero-content figure img {
  flex-shrink: 1;
  flex-grow: 0;
  position: static;
  translate: 0 0;
}
.cc header.hero .figure > img,
.cc .section-hero .hero-content .figure > img,
.cc header.hero figure > img,
.cc .section-hero .hero-content figure > img {
  max-height: calc(100% - 1.6875rem);
}
.cc .section-hero .hero-content .banner {
  padding-block: var(--v-medium);
  width: auto;
}
.cc .section-space-small {
  margin-top: var(--v-large);
}
.cc .section-space {
  margin-top: var(--v-xlarge);
}
.cc .section-space-l {
  margin-top: var(--v-xmlarge);
}
.cc .section-space-xl {
  margin-top: var(--v-xxlarge);
}
.cc > section {
  position: relative;
}
.cc > section.bg {
  background-color: black;
  color: #fff;
}
.cc [class*="wrapper-"] {
  margin-inline: auto;
  padding-inline: var(--h-medium);
  position: relative;
}
.cc [class*="wrapper-"] p:last-child {
  margin-bottom: 0;
}
.cc .wrapper-border {
  padding-left: 0;
  padding-right: 0;
}
.cc .wrapper-min {
  max-width: var(--wrapper-xs);
}
.cc .wrapper-narrow {
  max-width: var(--wrapper-s);
}
.cc .wrapper-default {
  max-width: var(--wrapper-m);
}
.cc .wrapper-wide {
  max-width: var(--wrapper-l);
}
.cc .wrapper-max,
.cc .wrapper-border {
  max-width: var(--wrapper-xl);
}
.cc .edito-zone a:not([class]) {
  transition: all 0.3s ease-in-out;
  color: var(--c-1);
}
.cc .edito-zone a:not([class]):hover {
  text-decoration: none;
  color: var(--c-3);
}
.cc abbr[title] {
  border: none;
}
.cc img {
  display: block;
  height: auto;
}
.cc .page-header {
  position: relative;
}
.cc .page-header [class*="title"] {
  margin-bottom: var(--v-large);
  word-wrap: break-word;
}
.cc .page-header .bg {
  overflow: hidden;
}
.cc .page-header .bg .figure,
.cc .page-header .bg figure {
  display: flex;
  flex-direction: column;
}
.cc .page-header .bg .figure picture,
.cc .page-header .bg figure picture,
.cc .page-header .bg .figure img,
.cc .page-header .bg figure img {
  flex-grow: 1;
  flex-shrink: 0;
  position: static;
  translate: 0 0;
}
.cc .page-header .bg .figure[data-anim],
.cc .page-header .bg figure[data-anim] {
  translate: none;
}
.cc .page-header .bg img {
  display: block;
  height: 100%;
  width: 100%;
  min-height: 9.375rem;
  max-height: 19.625rem;
  object-fit: cover;
}
.cc .page-description {
  color: #000;
}
.cc .page-description .content p:last-child {
  margin-bottom: 0;
}
.cc .page-description .content a {
  display: inline-block;
  margin-top: 1.25rem;
  color: var(--c-1);
}
.cc .page-description .logo {
  --size: 7.1875rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2), 0 0 0 inset rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 100%;
  right: 0;
  height: var(--size);
  width: var(--size);
  overflow: hidden;
  background: #fff;
  border-radius: 50%;
  transition: all 0.15s ease-in-out;
}
.cc .page-description .logo:hover {
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 1px 5px inset rgba(0, 0, 0, 0.1);
}
.cc .page-description .logo a {
  display: block;
  height: 100%;
}
.cc .page-description .logo img {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  max-height: 65%;
  max-width: 65%;
  object-fit: contain;
}
.cc .page-description aside {
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.15);
  position: relative;
  padding: 2rem 2.5rem;
  border-radius: 0 var(--radius-img);
}
.cc .page-description dl {
  margin: 0;
}
.cc .page-description dt {
  color: var(--c-1);
  font-weight: 600;
}
.cc .page-description dt:not(:first-child) {
  margin-top: 1rem;
}
.cc .page-description dd {
  margin: 0;
}
@media only screen and (max-width: 47.9375rem) {
  .cc .page-description .logo {
    translate: 0.9375rem -65%;
  }
  .cc .page-description .content {
    margin-bottom: 1.25rem;
  }
  .cc .page-description aside {
    width: 100%;
    padding: 1.875rem 1.875rem 3.125rem;
  }
}
@media only screen and (min-width: 48rem) {
  .cc .page-description {
    display: grid;
    align-items: start;
    grid-template-columns: auto min(38%, 19.375rem);
    column-gap: min(11.11111111%, 10rem);
    padding-right: 4.16666667%;
  }
  .cc .page-description .logo {
    --size: 8.125rem;
    translate: 30% -50%;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .page-description .logo {
    --size: 9.375rem;
    translate: 35% -40%;
  }
}
.cc .page-credits {
  margin-bottom: 0;
  margin-top: var(--v-xxlarge);
  font-size: 0.75rem;
}
.cc .credit {
  position: relative;
  z-index: 5;
  width: 100%;
  padding: 0.3125rem 0.75rem;
  background-color: #fff;
  font-size: 0.75rem;
  color: #000;
}
@media (pointer: coarse) {
  .cc .pdf:not(.newsletter-frame),
  .cc object {
    display: none;
  }
}
#filters-zone {
  scroll-margin-top: calc(var(--header-height) / 16 * 1rem + 2rem);
}
/* ==============================================
. EDITO
============================================== */
.cc .title-small {
  font-size: var(--font-size-title-s);
}
.cc .title-small:not([class*="section-space"]) {
  margin-top: 0;
}
.cc .title-medium {
  font-size: var(--font-size-title-m);
}
.cc .title-medium:not([class*="section-space"]) {
  margin-top: 0;
}
.cc .title-medium-large {
  font-size: var(--font-size-title-ml);
}
.cc .title-big,
.ei_content .a_titre1 {
  margin-top: 0;
  font-size: var(--font-size-title-l);
}
.cc .title-big.h-offset {
  --offset: 11.66666667%;
}
.cc .title-big.h-offset:not(.right) {
  padding-left: var(--offset);
}
.cc .title-big.h-offset.right {
  padding-right: var(--offset);
}
.cc .soft {
  font-size: 0.75rem;
  color: var(--c-g3);
}
.cc .teaser {
  font-size: 1rem;
  font-weight: var(--font-bold);
  line-height: 1.2;
}
.cc .bigger {
  font-size: 1.125rem;
  line-height: 1.2;
}
.cc .smaller {
  font-size: 0.75rem;
}
.cc .italic {
  font-style: italic;
}
.cc .light {
  font-weight: var(--font-light);
}
.cc .regular {
  font-weight: var(--font-regular);
}
.cc .semibold {
  font-weight: var(--font-semibold);
}
.cc .bold {
  font-weight: var(--font-bold);
}
.cc .extrabold {
  font-weight: var(--font-extrabold);
}
.cc .insert {
  margin: 0 auto;
  padding: 1.25rem;
  background-color: color-mix(in srgb, undefined, transparent 0.05%);
  border-radius: 1.25rem;
}
@media only screen and (min-width: 48rem) {
  .cc .insert {
    padding: 2.25rem 2.5rem 2.5rem;
  }
}
.cc .center {
  text-align: center;
}
.cc .center p {
  text-align: center;
}
.cc .left {
  text-align: left;
}
.cc .left p {
  text-align: left;
}
.cc .right {
  text-align: right;
}
.cc .right p {
  text-align: right;
}
/* ==============================================
. GLOBAL
============================================== */
.cc .button {
  display: inline-block;
  padding: 0.625rem 1.125rem;
  border: 2px solid var(--c-1);
  border-radius: 3.125rem;
  background-color: var(--c-1);
  color: #fff;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.cc .button[disabled] {
  background-color: var(--c-g2);
  border-color: var(--c-g2);
  color: var(--c-g3);
  cursor: default;
}
.cc .button[disabled]:hover,
.cc .button[disabled]:focus {
  background-color: var(--c-g2);
  border-color: var(--c-g2);
  color: var(--c-g3);
  box-shadow: none;
}
.cc .button:hover {
  text-decoration: none;
  background-color: var(--c-3);
  border-color: var(--c-3);
  color: #fff;
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.3);
}
.cc .button:focus {
  background-color: color-mix(in srgb, undefined, transparent 10%);
  color: var(--c-3);
}
.cc .border {
  border: 1px solid var(--c-g2);
}
.cc .all-caps,
.cc .uppercase {
  text-transform: uppercase;
}
.cc .clickable {
  cursor: pointer;
}
.cc .border-radius img {
  border-radius: 5px;
}
.cc .relative {
  position: relative;
}
.cc .invisible,
.cc .hide,
.cc .hidden {
  position: absolute;
  margin: -1px;
  padding: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: circle(0);
  white-space: nowrap;
}
.cc .svg::after {
  display: inline-block;
  min-height: 1.5rem;
  min-width: 1.5rem;
  mask-position: center;
  vertical-align: middle;
  mask-repeat: no-repeat;
  mask-size: 1.5rem;
  background-color: var(--c-pictos);
  content: "";
}
/* ==============================================
. LAYOUT
============================================== */
.cc .posr {
  position: relative;
}
.cc .height100 {
  height: auto;
}
@media only screen and (min-width: 48rem) {
  .cc .height100 {
    height: 100%;
  }
}
.cc .width100 {
  width: auto;
}
@media only screen and (min-width: 48rem) {
  .cc .width100 {
    width: 100%;
  }
}
.cc .marginauto {
  margin-left: auto;
  margin-right: auto;
}
.cc .actions {
  margin-top: 1.25rem;
}
.cc .margins {
  margin: 0.9375rem;
}
.cc .margin-top {
  margin-top: 0.9375rem;
}
.cc .margin-right {
  margin-right: 0.9375rem;
}
.cc .margin-left {
  margin-left: 0.9375rem;
}
.cc .margin-bottom {
  margin-bottom: 0.9375rem;
}
.cc .medium-margins {
  margin: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-margins {
    margin: 3.125rem;
  }
}
.cc .medium-margin-top {
  margin-top: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-margin-top {
    margin-top: 3.125rem;
  }
}
.cc .medium-margin-right {
  margin-right: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-margin-right {
    margin-right: 3.125rem;
  }
}
.cc .medium-margin-left {
  margin-left: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-margin-left {
    margin-left: 3.125rem;
  }
}
.cc .medium-margin-bottom {
  margin-bottom: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-margin-bottom {
    margin-bottom: 3.125rem;
  }
}
.cc .big-margins {
  margin: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-margins {
    margin: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-margins {
    margin: 9.375rem;
  }
}
.cc .big-margin-top {
  margin-top: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-margin-top {
    margin-top: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-margin-top {
    margin-top: 9.375rem;
  }
}
.cc .big-margin-right {
  margin-right: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-margin-right {
    margin-right: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-margin-right {
    margin-right: 9.375rem;
  }
}
.cc .big-margin-left {
  margin-left: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-margin-left {
    margin-left: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-margin-left {
    margin-left: 9.375rem;
  }
}
.cc .big-margin-bottom {
  margin-bottom: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-margin-bottom {
    margin-bottom: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-margin-bottom {
    margin-bottom: 9.375rem;
  }
}
.cc .nomargin {
  margin: 0;
}
.cc .nomargin-top {
  margin-top: 0;
}
.cc .nomargin-bottom {
  margin-bottom: 0;
}
.cc .nomargin-right {
  margin-right: 0;
}
.cc .nomargin-left {
  margin-left: 0;
}
.cc .paddings {
  padding: 0.9375rem;
}
.cc .padding-top {
  padding-top: 0.9375rem;
}
.cc .padding-right {
  padding-right: 0.9375rem;
}
.cc .padding-left {
  padding-left: 0.9375rem;
}
.cc .padding-bottom {
  padding-bottom: 0.9375rem;
}
.cc .medium-paddings {
  padding: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-paddings {
    padding: 3.125rem;
  }
}
.cc .medium-padding-top {
  padding-top: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-padding-top {
    padding-top: 3.125rem;
  }
}
.cc .medium-padding-right {
  padding-right: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-padding-right {
    padding-right: 3.125rem;
  }
}
.cc .medium-padding-left {
  padding-left: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-padding-left {
    padding-left: 3.125rem;
  }
}
.cc .medium-padding-bottom {
  padding-bottom: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .medium-padding-bottom {
    padding-bottom: 3.125rem;
  }
}
.cc .big-paddings {
  padding: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-paddings {
    padding: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-paddings {
    padding: 9.375rem;
  }
}
.cc .big-padding-top {
  padding-top: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-padding-top {
    padding-top: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-padding-top {
    padding-top: 9.375rem;
  }
}
.cc .big-padding-right {
  padding-right: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-padding-right {
    padding-right: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-padding-right {
    padding-right: 9.375rem;
  }
}
.cc .big-padding-left {
  padding-left: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-padding-left {
    padding-left: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-padding-left {
    padding-left: 9.375rem;
  }
}
.cc .big-padding-bottom {
  padding-bottom: 1.875rem;
}
@media only screen and (min-width: 48rem) {
  .cc .big-padding-bottom {
    padding-bottom: 3.125rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .big-padding-bottom {
    padding-bottom: 9.375rem;
  }
}
.cc .nopadding {
  padding: 0;
}
.cc .nopadding-top {
  padding-top: 0;
}
.cc .nopadding-bottom {
  padding-bottom: 0;
}
.cc .nopadding-right {
  padding-right: 0;
}
.cc .nopadding-left {
  padding-left: 0;
}
/* ==============================================
. DISPLAY
============================================== */
.cc .center-align {
  align-self: center;
}
.cc .justify-center {
  justify-content: center;
}
.cc .vertical-align-bottom {
  vertical-align: bottom;
}
.cc .inline {
  display: inline;
}
.cc .block {
  display: block;
}
.cc .inline-block {
  display: inline-block;
}
.cc [class*="flex"] {
  display: flex;
}
.cc .grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.cc .grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.cc .grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.cc .grid-2,
.cc .grid-3,
.cc .grid-4 {
  gap: 1.25rem;
}
@media only screen and (min-width: 48rem) {
  .cc .grid-2,
  .cc .grid-3,
  .cc .grid-4 {
    display: grid;
  }
}
.cc .flex-center {
  align-items: center;
  justify-content: center;
}
.cc .flex-column {
  flex-direction: column;
}
@media only screen and (min-width: 48rem) {
  .cc .flex,
  .cc .flex-center,
  .cc .flex-column {
    gap: 1.25rem;
  }
  .cc .flex .flex10,
  .cc .flex-center .flex10,
  .cc .flex-column .flex10 {
    width: 10%;
  }
  .cc .flex .flex15,
  .cc .flex-center .flex15,
  .cc .flex-column .flex15 {
    width: 15%;
  }
  .cc .flex .flex20,
  .cc .flex-center .flex20,
  .cc .flex-column .flex20 {
    width: 20%;
  }
  .cc .flex .flex25,
  .cc .flex-center .flex25,
  .cc .flex-column .flex25 {
    width: 25%;
  }
  .cc .flex .flex30,
  .cc .flex-center .flex30,
  .cc .flex-column .flex30 {
    width: 30%;
  }
  .cc .flex .flex33,
  .cc .flex-center .flex33,
  .cc .flex-column .flex33 {
    width: 33.3%;
  }
  .cc .flex .flex40,
  .cc .flex-center .flex40,
  .cc .flex-column .flex40 {
    width: 40%;
  }
  .cc .flex .flex45,
  .cc .flex-center .flex45,
  .cc .flex-column .flex45 {
    width: 45%;
  }
  .cc .flex .flex50,
  .cc .flex-center .flex50,
  .cc .flex-column .flex50 {
    width: 50%;
  }
  .cc .flex .flex60,
  .cc .flex-center .flex60,
  .cc .flex-column .flex60 {
    width: 60%;
  }
  .cc .flex .flex66,
  .cc .flex-center .flex66,
  .cc .flex-column .flex66 {
    width: 66%;
  }
  .cc .flex .flex70,
  .cc .flex-center .flex70,
  .cc .flex-column .flex70 {
    width: 70%;
  }
  .cc .flex .flex80,
  .cc .flex-center .flex80,
  .cc .flex-column .flex80 {
    width: 80%;
  }
  .cc .flex .flex90,
  .cc .flex-center .flex90,
  .cc .flex-column .flex90 {
    width: 90%;
  }
  .cc .flex .flex100,
  .cc .flex-center .flex100,
  .cc .flex-column .flex100 {
    width: 100%;
  }
}
@keyframes ripple {
  0% {
    box-shadow: 0 0 0 var(--bt-color);
  }
  50% {
    box-shadow: 0 0 0 0.25rem var(--bt-color);
  }
  100% {
    box-shadow: 0 0 0 var(--bt-color);
  }
}
.cc .buttons {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc .bt-01,
.cc .bt-02,
.cc .bt-03 {
  --height: 2.5rem;
  display: inline-flex;
  min-height: var(--height);
  padding: 0.5rem 2rem;
  border: 1px solid currentcolor;
  border-radius: var(--height);
  font-size: var(--font-size-button);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s linear;
}
@media (prefers-reduced-motion) {
  .cc .bt-01,
  .cc .bt-02,
  .cc .bt-03 {
    transition: none;
  }
}
.cc .bt-01:hover,
.cc .bt-02:hover,
.cc .bt-03:hover {
  background-color: var(--c-1);
  color: #fff;
}
.cc .bt-01.arrow-right::after,
.cc .bt-02.arrow-right::after,
.cc .bt-03.arrow-right::after {
  margin-left: 0.25em;
  transition: all linear 0.15s;
  content: "->";
  white-space: nowrap;
}
.cc .bt-01.arrow-right:hover::after,
.cc .bt-02.arrow-right:hover::after,
.cc .bt-03.arrow-right:hover::after {
  translate: 0.1875rem 0;
}
.cc .bt-01 {
  background-color: #fff;
  color: var(--c-1);
}
.cc .bt-02 {
  background-color: var(--c-1);
  color: #fff;
  outline-color: var(--c-1);
}
.cc .bt-02:hover {
  background-color: #fff;
  color: var(--c-1);
  text-decoration: none;
}
.cc .bt-03 {
  background-color: var(--c-orange);
  color: var(--c-1);
  outline-color: var(--c-1);
}
.cc .bt-plus {
  --size: 1.875rem;
  --spacing: 0.3125rem;
  display: block;
  height: var(--size);
  width: var(--size);
}
.article-aside .cc .bt-plus span {
  background: #fff;
}
.cc .bt-plus span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  box-shadow: 0 0 0 0 var(--c-1);
  border: 1px solid currentcolor;
  border-radius: 50%;
  color: var(--color, var(--c-1));
  text-decoration: none;
  transition: all 0.2s ease-out;
}
.cc .bt-plus span::before,
.cc .bt-plus span::after {
  position: absolute;
  display: block;
  height: calc(100% - 2 * var(--spacing));
  width: 0.125rem;
  background: currentcolor;
  transition: all 0.2s ease-out;
  content: "";
}
.cc .bt-plus span::after {
  rotate: 90deg;
}
.cc .bt-plus:focus span,
.cc .bt-plus:hover span,
.cc .tile:hover .bt-plus span,
.cc .tile:has(:focus-visible) .bt-plus span,
.cc .tile:focus .bt-plus span,
.cc .article-capsule li:hover .bt-plus span,
.cc .article-capsule li:has(:focus-visible) .bt-plus span,
.cc .article-capsule li:focus .bt-plus span {
  --bt-color: var(--color, var(--c-1));
  background-color: var(--bt-color);
  color: #fff;
  border-color: #fff;
  border-width: 2px;
  animation: 2s linear infinite forwards ripple;
}
.cc .bt-reset {
  position: relative;
  display: inline-block;
  height: 1.25rem;
  width: 1.25rem;
}
.cc .bt-reset::before,
.cc .bt-reset::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  height: 1.25rem;
  width: 0.125rem;
  background: currentcolor;
  content: "";
}
.cc .bt-reset::before {
  rotate: 45deg;
}
.cc .bt-reset::after {
  rotate: -45deg;
}
.cc .bt-document {
  font-weight: bold;
}
.cc .bt-document::before {
  background-color: currentcolor !important;
}
.cc .duo-block {
  --deco-height: 1rem;
  --gap: var(--v-medium);
  position: relative;
}
.cc .duo-block[class*="category-block"] .category-name {
  margin-right: 0;
}
.cc .duo-block > [class*="wrapper"] {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: var(--gap);
}
.cc .duo-block.media-first .media[class*="deco-"]::after,
.cc .duo-block.media-first .media [class*="deco-"]::after {
  left: 12.4137931%;
}
.cc .duo-block:not(.media-first) .media[class*="deco-"]::after,
.cc .duo-block:not(.media-first) .media [class*="deco-"]::after {
  left: auto;
  right: 12.4137931%;
}
.cc .duo-block:not(.media-first) .media img {
  border-radius: 0 var(--radius-img) 0 var(--radius-img);
}
.cc .duo-block .media {
  width: 100%;
  transition-property: opacity, translate;
}
.cc .duo-block .media[class*="multiple"] {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1.5625rem;
}
.cc .duo-block .media[class*="multiple"] > *:first-child img,
.cc .duo-block .media[class*="multiple"] > img:first-child {
  border-radius: var(--radius-img) 0 0 0;
}
.cc .duo-block .media[class*="multiple"] > *:first-child [class*="deco-"]::after {
  left: -10%;
}
.cc .duo-block .media[class*="multiple"] > *:last-child img,
.cc .duo-block .media[class*="multiple"] > img:last-child {
  border-radius: 0 0 var(--radius-img) 0;
}
.cc .duo-block .media[class*="multiple"] > *:last-child [class*="deco-"]::after {
  left: auto;
  right: -10%;
}
.cc .duo-block .media.multiple-2 > * {
  flex: 0 0 auto;
  width: calc(100% / 2 - 1.5625rem / 2);
}
.cc .duo-block .media[class*="deco-"]::after,
.cc .duo-block .media [class*="deco-"]::after,
.cc .media-deco::after {
  translate: 0 -60%;
  width: 90.68965517%;
}
.cc .duo-block .media figure {
  position: relative;
}
.cc .duo-block .media figure[class*="deco-"] {
  --deco-height: 2.8125rem;
  --deco-width: 90%;
}
.cc .duo-block .media figure[class*="deco-"] img {
  position: relative;
  z-index: 1;
}
.cc .duo-block .media figure[class*="deco-"]::after {
  left: -10%;
  top: calc(100% - 1.5625rem);
  translate: 0;
}
.cc .duo-block .media figcaption:not(.credit) {
  padding: var(--v-medium) var(--h-medium);
}
.cc .duo-block .media img {
  position: relative;
  z-index: 1;
  width: 100%;
  border-radius: var(--radius-img) 0 var(--radius-img) 0;
}
.cc .duo-block .content {
  padding-bottom: var(--v-small);
}
.cc .duo-block .edito-zone p:first-child {
  margin-top: 0;
}
.cc .duo-block .edito-zone p:last-child {
  margin-bottom: 0;
}
.cc .duo-block .header {
  font-size: var(--font-size-infos);
  font-weight: 500;
}
.cc .duo-block .header p {
  margin: 0;
}
.cc .duo-block .uptitle {
  font-size: 1.25rem;
  font-family: var(--font-family-title);
  margin-bottom: 0.3125rem;
  text-transform: uppercase;
}
.cc .duo-block .title {
  font-size: 1.5625rem;
  margin: 1.25rem 0;
  text-transform: none;
}
.cc .duo-block [class*="bt-"] {
  margin-top: var(--v-small);
}
@media only screen and (max-width: 47.9375rem) {
  .cc .duo-block .content {
    order: 1;
  }
  .cc .duo-block .content p:first-child {
    margin-top: 0;
  }
}
@media only screen and (min-width: 48rem) {
  .cc .duo-block {
    --img-width: 580;
  }
  .cc .duo-block.overlap {
    --gap: 0;
  }
  .cc .duo-block.overlap.media-first .content {
    margin-left: calc(var(--h-xlarge) * -1);
  }
  .cc .duo-block.overlap.media-first .credit {
    padding-right: calc(var(--h-xlarge) + 1.25rem);
  }
  .cc .duo-block.overlap:not(.media-first) .content {
    margin-right: calc(var(--h-xlarge) * -1);
  }
  .cc .duo-block.overlap:not(.media-first) .credit {
    padding-left: calc(var(--h-xlarge) + 1.25rem);
    text-align: right;
  }
  .cc .duo-block.overlap .media figure {
    height: 100%;
    max-height: 18.75rem;
  }
  .cc .duo-block.overlap .media img {
    height: 100%;
    aspect-ratio: var(--img-width) / 364;
    object-fit: cover;
  }
  .cc .duo-block.overlap .content {
    box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 5;
    align-self: center;
    padding: var(--v-large) var(--h-xlarge);
    margin: 3.125rem 0;
    background-color: #fff;
    border-radius: var(--radius-img) 0 0 0;
  }
  .associations.cc .duo-block.overlap .content {
    color: #000;
  }
  .cc .duo-block.flow > [class*="wrapper"] {
    display: block;
    overflow: hidden;
  }
  .cc .duo-block.flow.media-first .media {
    float: left;
    margin-left: 0;
    margin-right: var(--gap);
  }
  .cc .duo-block.flow .media {
    float: right;
    margin-left: var(--gap);
    margin-bottom: 2.5rem;
  }
  .cc .duo-block.flow .content {
    width: 100%;
  }
  .cc .duo-block.small-media {
    --img-width: 356;
  }
  .cc .duo-block > [class*="wrapper"] {
    flex-direction: row;
  }
  .cc .duo-block .media {
    flex-shrink: 0;
    width: calc(var(--img-width) / 1330 * 100%);
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .duo-block {
    --deco-height: 1.4375rem;
    --gap: 2.5rem;
    --img-width: 645;
  }
  .cc .duo-block.overlap {
    --img-width: 398;
  }
  .cc .duo-block.media-first .content {
    order: 1;
  }
  .cc .duo-block:not(.media-first) .media {
    order: 1;
  }
  .cc .duo-block .media.multiple-3 > * {
    width: calc(100% / 3 - 1.5625rem / 3);
  }
  .cc .duo-block .media img {
    display: block;
    width: 100%;
  }
  .cc .duo-block .media[class*="multiple"] {
    flex-flow: row wrap;
    align-items: start;
  }
  .cc .duo-block .content {
    width: calc((var(--base-desktop-width) - var(--img-width)) / var(--base-desktop-width) * 100%);
  }
  .cc .duo-block .title {
    font-size: var(--font-size-title-m);
  }
}
@media only screen and (min-width: 80rem) {
  .cc .duo-block {
    --gap: 4.125rem;
  }
  .cc .duo-block[class*="category-block"] {
    --gap: 2.0625rem;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .hero-article .duo-block .media {
    padding-bottom: var(--v-xlarge);
  }
}
@media only screen and (min-width: 80rem) {
  .cc .hero-article .duo-block {
    --img-width: 715;
  }
}
.cc .main-article .duo-block.media-first .media[class*="deco-"]::after,
.cc .main-article .duo-block.media-first .media [class*="deco-"]::after {
  left: auto;
  right: 12.4137931%;
}
.cc .main-article .duo-block .content {
  align-self: stretch;
}
.cc .main-article .media figure {
  aspect-ratio: 715/406;
}
.cc .main-article .media figure img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media only screen and (min-width: 80rem) {
  .cc .main-article .duo-block {
    --img-width: 715;
  }
}
[class*="category-block"].tile [class*="title-"] {
  text-transform: none;
}
[class*="category-block"] .content {
  padding-left: var(--gap);
  border-left: 0.25rem solid var(--color);
  transition: all 0.15s ease-out;
}
[class*="category-block"] .date {
  font-size: 0.875rem;
  margin: 0.9375rem 0;
  line-height: 1.1;
}
[class*="category-block"] .category-name {
  padding: 0.5rem var(--gap);
  margin: 0 calc(var(--gap) * -1) var(--v-medium);
  background: var(--color);
  color: #000;
  line-height: 1.1;
  text-transform: uppercase;
  font-weight: bold;
  transition: all 0.2s ease-out;
}
[class*="category-block"] .category-name + .date {
  margin-top: 0;
}
.cc .stats-blocks {
  --spacing: 1.875rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  gap: var(--spacing);
  margin-left: 0;
  padding: 0;
}
.cc .stats-blocks .prefix,
.cc .stats-blocks .suffix {
  font-size: 0.75em;
}
.cc .stats-blocks li {
  container: stat / inline-size;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  aspect-ratio: 333/307;
  width: clamp(15.625rem, 40%, 19.375rem);
  padding: 0.625rem;
  background-color: #fff;
  box-shadow: 0 0.8125rem 1.875rem rgba(0, 0, 0, 0.25);
  font-family: var(--font-family-title);
  font-size: clamp(1.25rem, var(--font-size-title-m), 2.5cqw);
  font-weight: bold;
  text-align: center;
}
.cc .stats-blocks li::after {
  position: absolute;
  z-index: -1;
  height: 100%;
  width: 100%;
  margin-left: 2.5rem;
  margin-bottom: 2.5rem;
  border: 1.25rem solid var(--color);
  border-width: 1.25rem 1.25rem 0 0;
  content: "";
}
.cc .stats-blocks p {
  margin: 0;
}
.cc .stats-blocks strong {
  display: block;
  line-height: 1;
  font-size: 40cqw;
}
.cc .stats-blocks strong span {
  display: inline-block;
  vertical-align: middle;
}
/* ==============================================
. Lightbox
============================================== */
.cc .video-description {
  margin-top: 1.5625rem;
}
.cc .section-video.media-deco::after {
  left: -2.35294118%;
}
.cc .section-video .video-ct {
  --width: 100%;
}
@media only screen and (min-width: 48rem) {
  .cc .section-video .video-ct.multiple {
    display: flex;
    flex-wrap: wrap;
    gap: 1.875rem;
    justify-content: space-evenly;
  }
  .cc .section-video .video-ct.multiple .item {
    --width: 41.12903226%;
  }
  .cc .section-video .video-ct .item {
    --width: 64.83870968%;
    min-width: 18.75rem;
  }
}
.cc .section-video .item {
  position: relative;
  width: var(--width);
  margin-inline: auto;
}
@media only screen and (max-width: 47.9375rem) {
  .cc .section-video .item + .item {
    margin-top: var(--v-large);
  }
}
.cc .section-video .item .media-deco {
  display: block;
}
.cc .section-video .item img {
  width: 100%;
}
.cc .section-video iframe {
  position: relative;
  z-index: 2;
  aspect-ratio: 640/360;
  height: auto;
  width: 100%;
}
.cc iframe {
  display: block;
  border: 0 none;
}
.cc .filters-ct {
  position: relative;
}
.cc .filters-ct .bt-reset {
  position: absolute;
  left: 0;
  bottom: 50%;
  translate: -50% calc(50% + 0.75rem);
  z-index: 10;
}
@media only screen and (min-width: 62.5rem) {
  .cc .filters-ct {
    --cols: 4;
  }
  .cc .filters-ct .bt-reset {
    bottom: 0.5rem;
    translate: -50% 0;
  }
}
.cc .filters {
  --cols: 1;
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: var(--v-small);
}
@media only screen and (min-width: 36rem) {
  .cc .filters {
    --cols: 2;
    flex-flow: row wrap;
    align-items: end;
    justify-content: center;
  }
  .cc .filters:has(.filter:only-child) {
    justify-content: start;
    padding-left: 1.25rem;
  }
}
.cc .filters .filter {
  width: calc((100% - 2.1875rem) / var(--cols));
  position: relative;
  padding: 0 0.875rem;
  transition-property: transform, opacity;
}
.cc .filters .filter.open {
  z-index: 2;
}
.cc .filters .filter [aria-hidden="true"] {
  display: none;
  opacity: 0;
}
.cc .filters .filter-title {
  margin: 0 0 0.1875rem;
  font-size: 1rem;
  font-family: var(--font-family-primary);
  font-weight: normal;
  text-transform: none;
}
.cc .filters .select {
  position: relative;
}
.cc .filters .label .disabled {
  background-color: rgba(150, 150, 150, 0.1);
  opacity: 0.6;
}
.cc .filters .label button {
  padding-block: 0.5rem;
  width: 100%;
  padding: 0.5rem 1.125rem;
  text-align: left;
  border-radius: 0.5rem;
  background-color: #fff;
  border: 1px solid #bccbd9;
  color: currentcolor;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc .filters .label button::after {
  flex-shrink: 0;
  flex-grow: 0;
  display: block;
  height: 0.625rem;
  width: 0.625rem;
  margin-left: 0.3125rem;
  border: 2px solid currentcolor;
  border-width: 0 2px 2px 0;
  rotate: 45deg;
  transition: rotate 0.15s ease-in-out;
  content: "";
}
.cc .filters .label button[aria-expanded="true"]::after {
  rotate: -45deg;
}
.cc .filters .items {
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.15);
  position: absolute;
  z-index: 5;
  max-height: 50vh;
  overflow: auto;
  width: 100%;
  background-color: #fff;
  border-radius: 0.5rem;
  transition: opacity 0.15s ease-in-out, top 0.15s ease-in-out, display 0.15s allow-discrete;
}
.cc .filters .items li:first-child a {
  border-radius: 0.5rem 0.5rem 0 0;
}
.cc .filters .items li:last-child a {
  border-radius: 0 0 0.5rem 0.5rem;
}
.cc .filters .items a {
  line-height: 1.3;
}
.cc .filters .items a:focus-visible {
  outline-offset: -0.125rem;
}
.cc .filters .items a:hover {
  background: color-mix(in srgb, currentcolor, transparent 90%);
}
.cc .filters .label button,
.cc .filters .items a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3125rem 1.125rem;
  text-decoration: none;
}
.cc .filters [aria-current] {
  font-weight: bold;
  position: relative;
  padding-right: 1.25rem;
}
.cc .filters [aria-current]::before,
.cc .filters [aria-current]::after {
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  translate: 0 -50%;
  display: block;
  height: 0.9375rem;
  width: 0.125rem;
  background: currentcolor;
  content: "";
}
.cc .filters [aria-current]::before {
  rotate: 45deg;
}
.cc .filters [aria-current]::after {
  rotate: -45deg;
}
.cc .filters .category {
  display: block;
  margin-bottom: 0.25rem;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  text-transform: uppercase;
}
@media only screen and (min-width: 62.5rem) {
  .cc .filters {
    --cols: 4;
  }
  .cc .filters .filter:nth-last-child(3):first-child,
  .cc .filters .filter:nth-last-child(3):first-child ~ .filter {
    --cols: 3;
  }
}
@media only screen and (min-width: 75rem) {
  .cc .filters .filter:nth-last-child(3):first-child,
  .cc .filters .filter:nth-last-child(3):first-child ~ .filter {
    --cols: 3.5;
  }
}
/* stylelint-disable-next-line at-rule-no-unknown */
@starting-style {
  .cc .filters .items {
    opacity: 0;
  }
}
/* ==============================================
. Tiles
============================================== */
.cc .tiles {
  --cols: 1;
  display: grid;
  flex-wrap: wrap;
  gap: var(--v-large) var(--h-small);
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
}
@media only screen and (min-width: 36rem) {
  .cc .tiles {
    --cols: 2;
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .tiles {
    --cols: 3;
  }
}
@media only screen and (min-width: 75rem) {
  .cc .tiles:not(.categories) {
    --cols: 4;
  }
}
.cc .tiles.categories .tile .media {
  aspect-ratio: 366/200;
}
.cc .tiles li {
  display: block;
}
.cc .tiles li .tile {
  width: 100%;
}
.cc .tiles li .media {
  flex-grow: 0;
  flex-shrink: 0;
  aspect-ratio: 308/212;
  max-height: 19.25rem;
  overflow: hidden;
  width: 100%;
}
.cc .tile {
  --cols: 1;
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: start;
  height: 100%;
  width: calc(100% / var(--cols) - (var(--h-small) * (var(--cols) - 1)) / var(--cols));
  overflow: hidden;
  background-color: #fff;
  transition: all 0.2s ease-out;
}
.cc .tile:has(:focus-visible) {
  outline: 0.125rem dashed;
  outline-offset: 0.125rem;
}
@media only screen and (min-width: 75rem) {
  .cc .tile:not(.categories) {
    --cols: 4;
  }
}
.cc .tile:hover .media img,
.cc .tile:focus-within .media img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: all 10s linear;
  scale: 1.08;
}
.cc .tile:not([class*="category-block"]) {
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.15);
  border-radius: 0 var(--radius-img) var(--radius-img) var(--radius-img);
}
.cc .tile:not([class*="category-block"]):hover,
.cc .tile:not([class*="category-block"]):focus-within {
  border-radius: 0;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.05);
}
.cc .tile[class*="category-block"] {
  --gap: var(--h-medium);
}
.cc .tile[class*="category-block"]:hover,
.cc .tile[class*="category-block"]:focus-within {
  border-radius: 0 var(--radius-img) 0 0;
  box-shadow: -2px 0px 12px rgba(50, 50, 50, 0.05) inset, -10px -10px 10px white inset;
}
.cc .tile[class*="category-block"]:hover .category-name,
.cc .tile[class*="category-block"]:focus-within .category-name {
  padding-left: calc(var(--gap) - 0.125rem);
}
.cc .tile[class*="category-block"] .text {
  --max-rows: 4;
}
.cc .tile .category-name {
  margin-bottom: 0;
}
.cc .tile .infos {
  margin: 0.9375rem 0;
}
.cc .tile .infos span + span::before {
  display: inline-block;
  margin: 0 0.25rem 0 0.125rem;
  content: "|";
}
.cc .tile .media {
  flex-grow: 0;
  flex-shrink: 0;
  aspect-ratio: 308/212;
  max-height: 19.25rem;
  overflow: hidden;
  width: 100%;
}
.cc .tile .media img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: all 10s linear;
  rotate: 0.0001deg;
  scale: 1;
}
.cc .tile .banner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
}
.cc .tile .content {
  display: flex;
  flex-direction: column;
  margin-top: var(--h-small);
  padding: 0 var(--gap, var(--h-small)) 0;
  flex-grow: 1;
}
.cc .tile .content > * {
  transition: all 0.2s ease-out;
}
.cc .tile .text {
  --max-rows: 6;
  display: -webkit-box;
  -webkit-line-clamp: var(--max-rows);
  /* autoprefixer: off */
  /* stylelint-disable-next-line declaration-empty-line-before */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  /* stylelint-disable-next-line declaration-empty-line-before */
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc .tile .header {
  flex-grow: 1;
}
.cc .tile .title {
  margin: 0 0 0.3125rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* autoprefixer: off */
  /* stylelint-disable-next-line declaration-empty-line-before */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  /* stylelint-disable-next-line declaration-empty-line-before */
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: var(--font-size-title-tile);
  text-transform: none;
}
.cc .tile .title + p {
  margin-bottom: 0;
  margin-top: 0.75rem;
}
.cc .tile .bt-plus {
  margin-inline: auto;
  margin-top: 1.25rem;
}
.cc .tile .bt-plus:last-child {
  margin-bottom: var(--h-small);
}
.cc .tile .tile-link {
  text-decoration: none;
}
.cc .tile .tile-link:focus {
  outline: none;
}
.cc .tile .tile-link::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  content: "";
}
.cc .tile p {
  color: #000;
}
.team-wrapper {
  --item-width: 9.625rem;
  position: relative;
}
.team-wrapper .team-item {
  margin-bottom: 4rem;
}
.team-wrapper figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: auto;
  text-align: center;
}
.team-wrapper figure img {
  width: 100%;
  max-width: var(--item-width);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 100%;
}
.team-wrapper .item-name {
  margin: 0.25rem auto;
  font-size: 1.25rem;
  font-weight: 700;
}
.team-wrapper .item-fonction {
  margin-top: 0.25rem;
  font-size: 1rem;
}
@media only screen and (min-width: 36rem) {
  .team-wrapper {
    max-width: 80%;
    margin: auto;
  }
  .team-wrapper .team-item {
    margin-bottom: 1rem;
  }
  .team-wrapper .team-item:nth-child(even) figure {
    flex-direction: row-reverse;
    text-align: right;
  }
  .team-wrapper .team-item:nth-child(odd) figure {
    flex-direction: row;
    text-align: left;
  }
}
@media only screen and (min-width: 62.5rem) {
  .team-wrapper {
    display: grid;
    grid-template-columns: repeat(4, calc(var(--item-width) + 1.5rem));
    grid-template-rows: auto;
    justify-content: center;
    row-gap: 4rem;
    max-width: 100%;
    margin: auto;
  }
  .team-wrapper .team-item:nth-child(1) {
    grid-column: span 4;
    display: flex;
    justify-content: center;
  }
  .team-wrapper .team-item:nth-child(even) figure,
  .team-wrapper .team-item:nth-child(odd) figure {
    flex-direction: column;
    text-align: center;
  }
  .team-wrapper figure {
    flex-direction: column;
    position: relative;
  }
  .team-wrapper figure img {
    box-shadow: 0 0 0 0.875rem white;
    scale: 1.2;
  }
  .team-wrapper .caption {
    max-width: 90%;
    padding-top: 1rem;
  }
}
@media only screen and (min-width: 75rem) {
  .team-wrapper {
    row-gap: 2rem;
  }
  .team-wrapper .img-wrapper img {
    width: 100%;
    max-width: var(--item-width);
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 100%;
  }
}
.liner {
  position: relative;
}
.liner h3 {
  position: relative;
  width: fit-content;
  margin: auto;
  padding: 0 3.5rem;
  background-color: white;
  font-family: var(--font-family-primary);
  font-size: 1.5rem;
  text-align: center;
  text-transform: none;
}
.liner::before {
  content: "";
  position: absolute;
  left: 50%;
  top: auto;
  bottom: -1rem;
  translate: -50%;
  display: flex;
  width: 3rem;
  height: 0.125rem;
  background: var(--c-1);
}
.comity-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  margin: auto;
  text-align: center;
}
.comity-wrapper .comity-name {
  font-size: var(--font-size-title-s);
  font-weight: var(--font-semibold);
  font-family: var(--font-family-primary);
}
.comity-wrapper p {
  font-size: 1.125rem;
}
@media only screen and (min-width: 36rem) {
  .comity-wrapper .comity-item {
    width: 50%;
  }
}
@media only screen and (min-width: 62.5rem) {
  .comity-wrapper {
    flex-flow: row wrap;
  }
  .comity-wrapper.odd .comity-item {
    width: 30%;
  }
  .comity-wrapper.even .comity-item {
    width: 40%;
  }
  .liner::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    display: flex;
    width: 100%;
    height: 0.125rem;
    background: var(--c-1);
  }
}
@media only screen and (min-width: 75rem) {
  .comity-wrapper p {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 87.5rem) {
  .comity-wrapper.even .comity-item {
    width: 45%;
  }
}
.pager {
  --gap: 0.125rem;
  display: flex;
  gap: var(--gap);
}
.pager .active {
  background: var(--c-1);
  border-color: var(--c-1);
  color: #fff;
}
.pager [aria-current] {
  pointer-events: none;
}
.pager ol {
  display: flex;
  gap: var(--gap);
  padding: 0;
  margin: 0;
  list-style: none;
}
.pager li {
  background: #fff;
}
.pager a {
  --height: 2.25rem;
  --width: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--height);
  width: var(--width);
  border: 2px solid #fff;
  font-size: 1.625rem;
  font-family: var(--font-family-title);
  text-decoration: none;
  transition: all 0.15s linear;
}
.pager a:focus-visible {
  outline-offset: 0;
}
.pager a:hover:not(.active) {
  border-color: var(--c-1);
}
.pager a[class]:not(.active) {
  --width: 1.875rem;
}
.pager a[class]:not(.active)::before {
  background: currentcolor;
}
.pager a[class*="ei_gly_"]:before {
  mask-size: 1.5rem;
}
.cc .subtitle {
  font-weight: bold;
}
.cc .subtitle > * + *::before {
  margin: 0 0.25rem 0 0;
  color: #000;
  content: "|";
}
.cc .subtitle a:hover {
  text-decoration: none;
}
.cc .article-header {
  margin-bottom: 3.125rem;
}
.cc .article-header [class*="title"] {
  margin-bottom: 0.625rem;
}
.cc .article-header .infos {
  color: #000;
}
.cc .article-aside .block {
  display: flex;
  gap: 1.25rem;
  flex-direction: column;
  padding: 1.25rem;
  background-color: #fdebed;
  border-radius: 0 var(--radius-img);
}
.cc .article-aside [class*="title"] {
  margin-bottom: 0.3125rem;
}
.cc .article-aside .subtitle {
  font-weight: bold;
}
.cc .article-aside .logo {
  padding: 1.875rem;
  border-radius: 0 var(--radius-img);
  background-color: #fff;
}
.cc .article-aside header {
  margin-bottom: 1.25rem;
}
.cc .article-aside .buttons {
  margin-top: 1.25rem;
}
@media only screen and (max-width: 35.9375rem) {
  .cc .article-aside .logo {
    width: fit-content;
    margin-inline: auto;
  }
}
@media only screen and (min-width: 36rem) {
  .cc .article-aside .block {
    flex-direction: row;
    align-items: flex-start;
    gap: 4.375rem;
  }
  .cc .article-aside .logo {
    margin-top: 1.25rem;
    margin-left: 3.75rem;
  }
}
.cc .section-image,
.cc .section-video {
  margin-inline: auto;
  max-width: 56.875rem;
}
.cc .section-image .legend,
.cc .section-video .legend {
  color: #000;
  font-size: 0.75rem;
}
.cc .section-image img {
  width: 100%;
}
.cc .section-grid.disable {
  pointer-events: none;
}
.cc .section-grid img {
  width: 100%;
}
.cc .section-grid button {
  display: block;
  width: 100%;
  padding: 0;
  background: none;
  border: 0 none;
  cursor: pointer;
}
@media only screen and (min-width: 62.5rem) {
  .cc .section-grid.single img {
    width: 94.06779661%;
    margin: 0 auto;
  }
}
.cc .section-grid .media {
  position: relative;
}
.cc .section-grid .item {
  height: 100%;
  transition: opacity 0.35s ease-out;
}
.cc .section-grid .item + .item {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.cc .section-grid .item.new {
  opacity: 0;
}
.cc .section-grid .item img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 35.9375rem) {
  .cc .section-grid nav .active {
    display: none;
  }
  .cc .section-grid button {
    cursor: default;
  }
  .cc .section-grid li + li {
    margin-top: 0.625rem;
  }
}
@media only screen and (min-width: 36rem) {
  .cc .section-grid[class*="multiple"] {
    --bar-height: 0.5rem;
    --bar-offset: calc(100% + 0.4375rem);
    --bar-width: 100%;
    --gap: 0.625rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  .cc .section-grid[class*="multiple"] .media {
    flex-shrink: 0;
    flex-grow: 0;
    width: 100%;
  }
  .cc .section-grid[class*="multiple"] .media img {
    aspect-ratio: 1000/610;
  }
  .cc .section-grid[class*="multiple"] .nav ul {
    display: flex;
    gap: var(--gap);
    align-items: baseline;
  }
  .cc .section-grid[class*="multiple"] li {
    position: relative;
    width: 100%;
    transition: all 0.15s ease-out;
  }
  .cc .section-grid[class*="multiple"] li::after {
    position: absolute;
    top: var(--bar-offset);
    height: 0;
    width: var(--bar-width);
    background-color: var(--c-green);
    content: "";
    transition: all 0.15s ease-out;
  }
  .cc .section-grid[class*="multiple"] li.active::after,
  .cc .section-grid[class*="multiple"] li:hover::after {
    height: var(--bar-height);
  }
  .cc .section-grid[class*="multiple"] li.active {
    pointer-events: none;
  }
  .cc .section-grid[class*="multiple"] li:hover {
    opacity: 0.6;
    translate: 0 -0.3125rem;
  }
  .cc .section-grid.multiple {
    --bar-height: 0.5rem;
    --bar-offset: calc(100% + 0.4375rem);
    --bar-width: 100%;
  }
}
@media only screen and (min-width: 48rem) {
  .cc .section-grid.multiple-2 {
    --bar-offset: calc(100% + 0.4375rem);
    --bar-width: 0.5rem;
    --bar-height: 100%;
    --gap: 1.25rem;
    align-items: center;
    flex-direction: row;
  }
  .cc .section-grid.multiple-2 .media {
    width: 76.92307692%;
  }
  .cc .section-grid.multiple-2 .media img {
    aspect-ratio: 1000/630;
  }
  .cc .section-grid.multiple-2 .nav ul {
    flex-direction: column;
  }
  .cc .section-grid.multiple-2 li::after {
    height: var(--bar-height);
    width: 0;
    right: var(--bar-offset);
    top: 0;
  }
  .cc .section-grid.multiple-2 li:hover::after,
  .cc .section-grid.multiple-2 li.active::after {
    translate: 0.3125rem 0;
    width: var(--bar-width);
  }
  .cc .section-grid.multiple {
    flex-direction: column;
    --thumbnails-size: calc(25% - (3 * 0.625rem / 4));
    --main-size: 100%;
    --gap: 0.625rem;
    gap: 2.5rem;
  }
  .cc .section-grid.multiple .media img {
    aspect-ratio: 1115/670;
  }
  .cc .section-grid.multiple .nav {
    width: 100%;
  }
  .cc .section-grid.multiple ul {
    align-items: center;
    flex-direction: row;
    justify-content: center;
    width: 100%;
  }
  .cc .section-grid.multiple li {
    max-width: 13.5625rem;
  }
  .cc .section-grid.multiple li::after {
    top: var(--bar-offset);
    left: 0;
    right: auto;
    height: 0;
    width: var(--bar-width);
  }
  .cc .section-grid.multiple li.active::after,
  .cc .section-grid.multiple li:hover::after {
    height: var(--bar-height);
  }
}
@media only screen and (min-width: 62.5rem) {
  .cc .section-grid.multiple-2 {
    --gap: 1.875rem;
    gap: 1.875rem;
  }
}
@media only screen and (min-width: 87.5rem) {
  .cc .section-grid.multiple-2 {
    margin-right: -5.625rem;
  }
  .cc .section-grid.multiple-2 .media {
    height: 39.375rem;
  }
  .cc .section-grid.multiple {
    gap: 4.125rem;
  }
  .cc .section-grid.multiple .nav,
  .cc .section-grid.multiple .media {
    width: 69.6875rem;
    margin: 0 auto;
  }
  .cc .section-grid.multiple .media {
    height: 41.875rem;
  }
  .cc .section-grid .media {
    height: 39.375rem;
  }
}
.cc .article-capsule {
  display: flex;
  gap: 3.9375rem 3.9375rem;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 67.875rem;
  margin-inline: auto;
}
.cc .article-capsule .bt-plus {
  margin-top: 1.25rem;
}
.cc .article-capsule li {
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.15);
  display: block;
  padding: 1.875rem;
  max-width: 20rem;
  min-height: 20.6875rem;
  border-radius: 1rem;
  background-color: #fff;
  content: "";
  text-align: center;
  transition: all 0.2s ease-out;
}
.cc .article-capsule li:has(a):hover,
.cc .article-capsule li:focus-within {
  border-radius: 0;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.1);
}
.cc .article-capsule li > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.cc .article-capsule li > a > div {
  flex-grow: 1;
}
.cc .article-capsule li p {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  max-width: 15.625rem;
}
.cc .article-capsule li p + p {
  margin-top: 0;
}
.cc .article-capsule li img {
  display: block;
  height: 3.75rem;
  margin-inline: auto;
}
.cc .article-capsule a {
  text-decoration: none;
}
.cc .article-capsule-logo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.875rem 1.25rem;
}
.cc .article-capsule-logo li {
  display: flex;
  justify-content: center;
  width: clamp(9rem, calc(100% / 7 - 6 * 1.25rem / 7), 15rem);
}
.cc .article-capsule-logo li img {
  height: 3.75rem;
  width: auto;
}
.cc .article-capsule-logo a {
  text-decoration: none;
}
/* ==============================================
. Animations
============================================== */
@keyframes zoom-in {
  from {
    scale: 1;
  }
  to {
    scale: 1.15;
  }
}
@keyframes slide {
  from {
    translate: 0;
  }
  to {
    translate: 0 -10vh;
  }
}
[data-delay] {
  transition-delay: var(--delay);
}
[data-anim] {
  opacity: 0;
  transition: all var(--duo-block-duration) ease-out var(--delay);
  translate: 0 0.625rem;
}
[data-anim][class*="anim-"] {
  opacity: 1;
  translate: 0;
}
@media (prefers-reduced-motion) {
  #ei_tpl_fullsite [data-anim] {
    translate: 0 0;
  }
}
[class*="anim-scroll"] {
  object-fit: cover;
  animation-duration: 1ms;
  /* Firefox requires this to apply the animation */
  animation-direction: alternate;
  animation-timeline: scroll(root block);
}
.anim-scroll-zoom {
  animation-name: zoom-in;
}
.anim-scroll-slide {
  animation-name: slide;
  scale: 1.1;
}
@media (prefers-reduced-motion) {
  #ei_tpl_fullsite * {
    animation-timeline: none;
    opacity: 1;
    transition-duration: 0s;
  }
}
@media only screen and (min-width: 62.5rem) {
  #home .commitments .duo-block > [class*="wrapper-"] {
    column-gap: 0;
  }
}
@media only screen and (min-width: 80rem) {
  #home {
    --offset: 9.71014493%;
  }
}
#home #slider-home .slider-controls {
  margin: 0.9375rem auto 0.3125rem auto;
  padding-inline: 2.1875rem;
  position: relative;
  width: fit-content;
}
@media only screen and (min-width: 48rem) {
  #home #slider-home .slider-controls {
    padding-inline: 3.125rem;
  }
}
#home #slider-home .pagination {
  gap: 0.3125rem;
}
#home #slider-home .pagination button {
  all: unset;
  align-items: center;
  border: 3px solid transparent;
  display: flex;
  height: 1.5625rem;
  justify-content: center;
  transition: all 0.15s linear;
  width: 1.5625rem;
}
@media only screen and (min-width: 48rem) {
  #home #slider-home .pagination button {
    height: 2.25rem;
  }
}
#home #slider-home .pagination button:not(.active):hover {
  border-color: var(--c-1);
  cursor: pointer;
}
#home #slider-home .pagination button:focus-visible {
  outline-offset: 0;
  outline: 0.2rem dashed;
}
#home #slider-home .pagination button.active {
  background: var(--c-1);
  pointer-events: none;
}
#home #slider-home .pagination button.active::before {
  content: attr(value);
  color: #fff;
}
#home #slider-home .pagination button::before {
  color: var(--c-1);
  content: attr(value);
  font-family: var(--font-family-title);
  font-size: 1.25rem;
}
@media only screen and (min-width: 48rem) {
  #home #slider-home .pagination button::before {
    font-size: 1.625rem;
  }
}
#home #slider-home .prev,
#home #slider-home .next {
  all: unset;
  align-items: center;
  border: 3px solid transparent;
  display: flex;
  height: 1.5625rem;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.15s linear;
  width: 1.25rem;
}
@media only screen and (min-width: 48rem) {
  #home #slider-home .prev,
  #home #slider-home .next {
    height: 2.25rem;
    width: 1.875rem;
  }
}
#home #slider-home .prev::before,
#home #slider-home .next::before {
  mask-size: 1.5rem;
}
#home #slider-home .prev:hover,
#home #slider-home .next:hover {
  border-color: var(--c-1);
  cursor: pointer;
}
#home #slider-home .prev:focus-visible,
#home #slider-home .next:focus-visible {
  outline-offset: 0;
  outline: 0.2rem dashed;
}
#home #slider-home .next {
  right: 0;
}
#home #slider-home .prev {
  left: 0;
}
#home .hero-article {
  position: relative;
  overflow: hidden;
  padding-top: var(--v-xlarge);
}
#home .latest-article .content {
  padding-right: var(--offset);
}
@media only screen and (min-width: 80rem) {
  #home .ambitions .media {
    max-width: 30rem;
  }
  #home .ambitions .content {
    padding-left: var(--offset);
  }
}
#home .commitments .duo-block:not(.media-first) .content {
  padding-right: var(--offset);
}
#home .commitments .duo-block.media-first .content {
  padding-left: var(--offset);
}
#home .section-video .video-ct .item {
  --width: 82.25806452%;
  margin: 0;
}
#home section + section:not([class]) {
  margin-top: var(--v-small);
}
@media only screen and (max-width: 47.9375rem) {
  #home section + section {
    margin-top: var(--v-xlarge);
  }
}
.cc.grid-press,
.cc.grid-reports,
.cc.grid-newsletters {
  /* stylelint-disable-next-line selector-class-pattern */
}
.cc.grid-press .tiles,
.cc.grid-reports .tiles,
.cc.grid-newsletters .tiles {
  display: flex;
  gap: 0.625rem 1.25rem;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 63.25rem;
  margin-inline: auto;
}
.cc.grid-press .tile,
.cc.grid-reports .tile,
.cc.grid-newsletters .tile {
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.15);
  display: block;
  padding: 1.875rem;
  border-radius: 0 1rem 1rem;
  background-color: #fff;
  content: "";
}
.cc.grid-press .tile:hover .media img,
.cc.grid-reports .tile:hover .media img,
.cc.grid-newsletters .tile:hover .media img,
.cc.grid-press .tile:focus .media img,
.cc.grid-reports .tile:focus .media img,
.cc.grid-newsletters .tile:focus .media img {
  scale: 1;
}
.cc.grid-press .tile .media,
.cc.grid-reports .tile .media,
.cc.grid-newsletters .tile .media {
  margin: 0 auto;
}
.cc.grid-press .tile .media img,
.cc.grid-reports .tile .media img,
.cc.grid-newsletters .tile .media img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.cc.grid-press .tile .content,
.cc.grid-reports .tile .content,
.cc.grid-newsletters .tile .content {
  /* autoprefixer: off */
  /* stylelint-disable-next-line declaration-empty-line-before */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  /* stylelint-disable-next-line declaration-empty-line-before */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  padding-inline: 0;
  overflow: hidden;
}
.cc.grid-press .tile .content p,
.cc.grid-reports .tile .content p,
.cc.grid-newsletters .tile .content p {
  color: var(--c-1);
  margin: 0;
}
.cc.grid-press .text-offset,
.cc.grid-reports .text-offset,
.cc.grid-newsletters .text-offset {
  margin-top: var(--v-large);
  margin-left: 6.25rem;
}
.cc.grid-press .ei_gly_pdf,
.cc.grid-reports .ei_gly_pdf,
.cc.grid-newsletters .ei_gly_pdf {
  margin-right: 1.25rem;
}
.cc.grid-press .ei_gly_pdf::before,
.cc.grid-reports .ei_gly_pdf::before,
.cc.grid-newsletters .ei_gly_pdf::before {
  background: #164194 !important;
}
.cc.grid-press .footer,
.cc.grid-reports .footer,
.cc.grid-newsletters .footer {
  margin-top: 2.1875rem;
  text-align: center;
}
.cc.grid-press .footer a,
.cc.grid-reports .footer a,
.cc.grid-newsletters .footer a {
  text-decoration: underline;
}
.cc.grid-press .footer a:hover,
.cc.grid-reports .footer a:hover,
.cc.grid-newsletters .footer a:hover {
  text-decoration: none;
}
.cc.grid-press .tiles,
.cc.grid-reports .tiles {
  column-gap: 1.25rem;
  max-width: 74.5rem;
}
.cc.grid-press li .tile,
.cc.grid-reports li .tile {
  width: 23.75rem;
}
.cc.grid-reports .tile .footer {
  text-align: center;
}
.cc.grid-press .media {
  height: 13.75rem;
  width: 13.75rem;
}
.cc.grid-newsletters .tiles {
  gap: 0.625rem;
  max-width: 63.25rem;
}
.cc.grid-newsletters li .tile {
  width: 15rem;
}
.cc.grid-newsletters .media {
  height: 11.25rem;
  width: 7rem;
}
.pdf {
  margin-top: var(--v-large);
  height: 43.75rem;
}
.pdf object,
.pdf iframe {
  width: 100%;
  height: 100%;
}
/* Position */
/* Display */
/* Layout */
/* Background */
/* Couleurs */
/* Texte */
/* Autre */
.accordion {
  max-width: auto;
  margin: 3.125rem 0;
}
.accordion h2,
.accordion h3,
.accordion h4,
.accordion h5,
.accordion h6 {
  margin: 0;
}
.accordion dt:nth-of-type(odd),
.accordion dd:nth-of-type(odd) {
  background-color: #fdeff1;
}
.accordion .accordion-button {
  all: unset;
  display: block;
  width: 100%;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  cursor: pointer;
}
.accordion .accordion-button:hover,
.accordion .accordion-button:focus {
  background: lightgray;
  height: auto;
}
.accordion .accordion-button:hover .accordion-icon,
.accordion .accordion-button:focus .accordion-icon {
  transform: rotate(180deg);
}
.accordion .accordion-button:focus-visible {
  outline: 0.125rem dashed;
}
.accordion .accordion-button > span {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.9375rem;
  padding: 0.625rem 0.9375rem;
  font-size: 1.25rem;
}
.accordion .accordion-button .title-accordion {
  font-size: 1.1875rem;
  font-weight: normal;
  text-transform: initial;
}
.accordion .accordion-button .accordion-title {
  text-align: left;
}
.accordion .accordion-button .accordion-icon {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 100%;
  transition: transform 0.3s ease-in-out;
}
.accordion .accordion-button .accordion-icon::before,
.accordion .accordion-button .accordion-icon::after {
  position: absolute;
  width: 1rem;
  height: 0.25rem;
  left: 50%;
  top: 50%;
  background: #114478;
  transform: translate(-50%, -50%);
  content: "";
}
.accordion .accordion-button .accordion-icon::after {
  display: none;
}
.accordion .accordion-button[aria-expanded="false"] .accordion-icon::after {
  display: block;
  transform: translate(-50%, -50%) rotate(90deg);
}
.accordion .accordion-content {
  padding: 0.625rem 0 2.5rem 3.75rem;
  margin: auto;
}
.accordion .accordion-content[aria-hidden="true"] {
  display: none;
}
.accordion .accordion-content[aria-hidden="false"] {
  display: block;
}
/* stylelint-disable selector-id-pattern */
/* ==============================================
 Formulaire de contact
============================================== */
.cc .contact .confirmation {
  font-size: 1.625rem;
  width: 50vw;
}
.cc .contact .msg-fin {
  width: 38vw;
  padding: 0.625rem;
  background-color: #fff;
}
.cc .contact .confirmation-credits {
  margin-bottom: 12.5rem;
  width: 50vw;
}
.cc .contact .mentions {
  padding: 0.625rem;
  margin-top: 25vh;
  font-size: 0.6875rem;
  background-color: #fff;
}
.cc .mandatory,
.cc .form-error-message {
  color: #e2001a;
}
.cc .form-fieldset {
  position: relative;
  padding: 2.1875rem;
  background: #fff;
  box-shadow: 0 0.3125rem 0.625rem 0.125rem rgba(0, 0, 0, 0.1);
  border-style: none;
  border-radius: 1.5625rem;
  color: #282828;
}
.cc .form-error-message {
  display: block;
  font-size: 0.875rem;
  margin-block: 0.1875rem;
}
.cc .form-field.info .form-group + .form-group {
  margin-top: 2.1875rem;
}
.cc .form-field.msg {
  max-width: 60.5625rem;
}
.cc .form-field .form-example {
  font-size: 0.75rem;
  margin-block: 0.1875rem;
  word-wrap: break-word;
}
.cc .form-field #txtMessage {
  width: 100%;
  height: 10.75rem;
  padding: 0.625rem;
  border-radius: 0.625rem;
  border: 0.0625rem solid color-mix(in srgb, var(--c-1), transparent 45%);
  color: #114478;
  font-weight: 600;
}
@media only screen and (min-width: 48rem) {
  .cc .form-field.info,
  .cc .form-field.msg {
    max-width: 55.625rem;
  }
  .cc .form-field.info .form-group + .form-group,
  .cc .form-field.msg .form-group + .form-group {
    margin-top: 0;
  }
  .cc .form-field.info {
    display: flex;
    flex-wrap: wrap;
    gap: 2.1875rem 5rem;
  }
  .cc .form-field:not(.msg) .form-group {
    width: clamp(14.375rem, calc(100% / 3 - 5rem / 3 * 2), 21.875rem);
  }
  .cc .form-field.two-cols:not(.msg) .form-group {
    width: clamp(22.5rem, calc(100% / 2 - 5rem / 2 * 2), 21.875rem);
  }
}
.cc .form-group .form-control input,
.cc .form-group .form-control select {
  width: 100%;
  height: 2.3125rem;
  padding: 0.625rem;
  border-radius: 0.625rem;
  border: 0.0625rem solid color-mix(in srgb, var(--c-1), transparent 45%);
  color: #114478;
  background-color: #fafafa;
  font-weight: 600;
}
.cc .form-group .form-control input[type="radio"],
.cc .form-group .form-control select[type="radio"],
.cc .form-group .form-control input[type="checkbox"],
.cc .form-group .form-control select[type="checkbox"] {
  width: auto;
  height: auto;
}
.cc .form-group .form-control select {
  width: auto;
  height: auto;
}
.cc .form-group .form-control span {
  display: block;
}
@media only screen and (max-width: 47.9375rem) {
  .cc .form-group .form-control .inline-block {
    display: block;
  }
}
.cc [data-displayed-if][aria-hidden="true"] {
  display: none;
}
.cc .button-form {
  align-items: center;
  justify-content: center;
  margin: 2.5rem 0 0;
}
/*==============================================
. PRINT
============================================== */
@media print {
  .ei_header,
  .header_container,
  .ei_footer,
  #ei_tpl_footerlegal,
  .pagination,
  a[href]:after,
  .button,
  .sidebar,
  form,
  .section-video,
  .ei_ariane,
  [class*="bt"] {
    display: none !important;
  }
  .ei_content {
    padding-top: 0;
  }
  html,
  body {
    margin: 0;
    padding: 0;
  }
  .cc section,
  .cc figure {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .cc .body.flex > div {
    width: 100%;
  }
  .cc .stats-blocks p {
    font-size: 15pt;
  }
  .cc .soft,
  .cc .smaller {
    font-size: 8pt;
  }
  .cc .border {
    border: 1px solid #000;
  }
  .cc .bigger {
    font-size: 10pt;
  }
  .cc .bigger p {
    font-size: 10pt;
  }
  .cc .bigger h3,
  .cc .bigger h4 {
    font-size: 12pt;
  }
  .cc .flex {
    display: block;
  }
  .cc .flex .flex10,
  .cc .flex .flex20,
  .cc .flex .flex25,
  .cc .flex .flex30,
  .cc .flex .flex33,
  .cc .flex .flex40,
  .cc .flex .flex50,
  .cc .flex .flex60,
  .cc .flex .flex70,
  .cc .flex .flex80,
  .cc .flex .flex90 {
    display: block;
    width: 100%;
  }
  .cc .actions {
    margin-top: 5px;
  }
  .cc .padding-top {
    padding-top: 5px;
  }
  .cc .right,
  .cc .center {
    text-align: left;
  }
  .cc h1,
  .ei_content .a_titre1 {
    font-size: 14pt;
    color: #000;
  }
  .cc h2 {
    font-size: 12pt;
    color: #000;
  }
  .cc h3 {
    font-size: 10pt;
    color: #000;
  }
  .cc h4 {
    font-size: 8pt;
    font-weight: var(--font-bold);
    color: #000;
  }
  .cc p {
    font-size: 8pt;
    line-height: 12pt;
    orphans: 3;
    widows: 4;
  }
  .cc a {
    text-decoration: underline;
    font-weight: var(--font-bold);
    color: #000;
  }
  .cc a[href]:after,
  .cc .button {
    visibility: hidden;
  }
  .cc iframe {
    min-height: 0;
  }
  .cc ul,
  .cc ol {
    margin: 10px 0;
    font-size: 8pt;
  }
  .cc ul li,
  .cc ol li {
    margin-bottom: 5px;
    font-size: 8pt;
  }
  .cc .insert {
    clear: both;
    display: block;
    padding: 20px;
    width: 100%;
    border: 1px solid rgba(89, 89, 89, 0.2);
    background-color: #fff;
  }
  .cc .tile {
    box-shadow: none;
  }
  .cc section [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd {
    display: block;
    padding: 10px;
    font-size: 8pt;
  }
  .cc section [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd p,
  .cc section [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd ul li,
  .cc section [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd ol li {
    margin-bottom: 5px;
    break-inside: avoid;
    font-size: 8pt;
    page-break-inside: avoid;
  }
  .cc article {
    max-width: none;
  }
  .cc article header div.banner {
    position: static;
    padding: 0;
    translate: 0;
    color: #000;
  }
  .cc article header div.banner h1,
  .cc article header div.banner p {
    width: 100%;
    color: #000;
  }
  .cc article .body {
    padding: 0;
    max-width: none;
  }
  .cc article .body section {
    padding: 10px 0;
  }
  .cc article .body section > div {
    max-width: none;
    padding: 0;
  }
  .cc article .body section > div h2,
  .cc article .body section > div p {
    margin-bottom: 10px;
  }
  .cc article .body section.bg {
    background-color: #fff;
  }
  .cc [class*="feeble"] {
    display: none;
  }
  .cc [data-anim] {
    opacity: 1;
    translate: 0;
  }
  .cc .duo-block [class*="bt"] {
    display: none;
  }
  .cc iframe {
    display: none;
  }
  .cc dd[hidden] {
    display: block;
  }
}
