/* #region STRUCTURE ----------------------------------------------------------------------------------------------------- */

/* _____--------------_____________-------------___________------------ 
OPENGRAPH
_____--------------_____________-------------___________------------ */

.fields-container {
  display: none;
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
TYPOGRAPHIES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* À laisser pour le copyright */

@font-face {
  font-family: 'scifly';
  src: url('../typographies/scifly-sans-webfont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Mes typographies */

@font-face {
  font-family: 'signika';
  src: url('../typographies/signikanegative-variablefont_wght-webfont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  VARIABLES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* ----------------------------------------
   TYPOGRAPHIES
---------------------------------------- */

:root {

  --font-gestimark: 'scifly', sans-serif; /* police de gestimark */

  --font-primary: 'signika', sans-serif; /* police principale */
  --font-secondary: 'signika', sans-serif; /* police principale */
  --font-heading: 'signika', sans-serif; /* police titre */
  
  /* Poids des polices */
  --font-weight-light: 200;
  --font-weight-bold: 700;

  /* Styles de police */
  --font-style-italic: italic;
  
  /* Tailles de police */
  --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);     /* 12-14px */
  --font-size-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);       /* 14-16px */
  --font-size-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);       /* 16-18px */
  --font-size-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);      /* 18-20px */
  --font-size-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);       /* 20-24px */
  --font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 1.875rem);        /* 24-30px */
  --font-size-3xl: clamp(1.875rem, 1.6rem + 1.375vw, 2.25rem);   /* 30-36px */
  --font-size-4xl: clamp(2.25rem, 1.9rem + 1.75vw, 3rem);        /* 36-48px */
  --font-size-5xl: clamp(3rem, 2.5rem + 2.5vw, 4rem);            /* 48-64px */
  
  /* Interlignage */
  --line-height-base: 1.5; /* interligne normal */
  --line-height-heading: 1.2; /* interligne pour les titres */
}

@media (min-width: 1200px) {
  :root {
    /* Augmentation subtile pour très grands écrans */
    --font-size-base: clamp(1.125rem, 1rem + 0.5vw, 1.25rem);
  }
}

/* ----------------------------------------
   COULEURS
---------------------------------------- */

/* Palette de couleurs */
:root {
  --color-primary:  #783088; /* Couleur principale */
  --color-secondary: #e85d19; /* Couleur secondaire */
  --color-heading: #1d1d1d; /* Couleur Titres */
  --color-heading-secondary: #e85d19; /* Couleur Titres */
  --color-text: #1d1d1d; /* texte principal */
  --color-text-light: #ffffff; /* texte sur fond de couleur */
  --color-background: #783088; /* fond d'arrière plan */
  --color-background-light: #f2f0e5; /* fond d'arrière plan light */
  --color-background-button: #e85d19; /* Couleur des boutons */
  --color-background-button-hover: #e73c3b; /* Couleur des boutons au hover */
  --color-background-button-secondary: #783088; /* Couleur des boutons secondaires */
  --color-background-button-secondary-hover: #cfa1ca; /* Couleur des boutons secondaires au hover */
  --color-background-readmore: #e73c3b; /* Couleur des boutons readmore */
  --color-background-readmore-hover: #6c212e; /* Couleur des boutons readmore au hover */
  --color-link: #00a06a; /* couleur des liens */
  --color-link-hover: #f39427; /* Couleur des liens au hover */
  --color-link-light: #f4a9aa; /* Couleur des liens light */
  --color-link-light-hover: #cfa1ca; /* Couleur des liens light au hover */
  --color-bleu: #3371A2;
  --color-lilas: #B7ADF7;
  --color-jaune: #BE773C;
  --color-ivoire: #F7F2E8;
}

/* ----------------------------------------
   ESPACEMENTS
---------------------------------------- */

/* Marges et paddings */
:root {
  /* Espacements responsive basés sur la viewport */
  --space-xs: clamp(0.25rem, 0.5vw, 0.5rem);     /* 4px → 8px */
  --space-sm: clamp(0.5rem, 1vw, 1rem);          /* 8px → 16px */
  --space-md: clamp(1rem, 2vw, 1.5rem);          /* 16px → 24px */
  --space-lg: clamp(1.5rem, 3vw, 2.5rem);        /* 24px → 40px */
  --space-xl: clamp(2rem, 4vw, 3.5rem);          /* 32px → 56px */
  --space-2xl: clamp(2.5rem, 5vw, 5rem);         /* 40px → 80px */
  --space-3xl: clamp(3rem, 6vw, 6rem);           /* 48px → 96px */
  --space-4xl: clamp(4rem, 8vw, 8rem);           /* 64px → 128px */
  --space-5xl: clamp(5rem, 10vw, 12rem);         /* 80px → 192px */ 
  --space-0: 0;
  --space-auto: auto;
}

/* ----------------------------------------
   AUTRES VARIABLES UTILES
---------------------------------------- */

/* Bordures arrondies */
:root {
  --border-radius: 2vw; /* arrondir les coins */
  --border-radius-small: 10px; /* petit arrondi */
  --border-radius-button: 99px /* bouton arrondis */
  --border-radius-50 : 50%; /* faire des arrondis */
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  RESET
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

html {
  max-width: 2560px;
  height: 100%;
  margin: 0 auto;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-size: var(--font-size-base);
  font-family: var(--font-primary);
}

body, div, span, applet, iframe, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, ::before, ::after {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

.gtm-wrapper {
  flex-grow: 1;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
  position: relative;
}

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

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  NOS CLASSES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------
  Titres, texte, liens, listes 
--------------------------------------------------------------------------------------------------------------------- */

/* -------------------- Titres -------------------- */

h1 {
  font-size: var(--font-size-5xl);
  margin-top: var(--space-md);
  margin-bottom: var(--space-lg);
  font-family: var(--font-heading);
  color: var(--color-heading);
}

h2 {
  font-size: var(--font-size-4xl);
  margin-top: var(--space-md);
  margin-bottom: var(--space-md);
  font-family: var(--font-primary);
  color: var(--color-heading);
}

h3 {
  font-size: var(--font-size-3xl);
  margin-top: var(--space-md);
  margin-bottom: var(--space-sm);
  font-family: var(--font-heading);
  color: var(--color-heading-secondary);
}

h4 {
  font-size: var(--font-size-2xl);
  margin-top: var(--space-md);
  margin-bottom: var(--space-sm);
  font-family: var(--font-primary);
  color: var(--color-heading-secondary);
}

h5 {
  font-size: var(--font-size-xl);
  margin-top: var(--space-md);
  margin-bottom: var(--space-xs);
  font-family: var(--font-heading);
  color: var(--color-heading-secondary);
}

h6 {
  font-size: var(--font-size-lg);
  margin-top: var(--space-md);
  margin-bottom: var(--space-xs);
  font-family: var(--font-primary);
  color: var(--color-heading-secondary);
}

/* -------------------- Textes -------------------- */

p {
  font-size: var(--font-size-base);
  margin-bottom: var(--space-sm);
}

blockquote {
  font-size: var(--font-size-lg);
  font-family: var(--font-secondary);
  margin-bottom: var(--space-sm);
}

/* Texte d'introduction */
.gtm-text-lead {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-sm);
}

/* Texte petit */
.gtm-text-small {
  font-size: var(--font-size-sm);
  margin-bottom: var(--space-xs);
}

/* Texte petit */
.gtm-text-xs {
  font-size: var(--font-size-xs);
}

/* -------------------- Liens -------------------- */

a {
  text-decoration: none !important;
  cursor: pointer;
  color: var(--color-link);
  font-size: var(--font-size-base);
  transition: color .5s ease-in-out;
  position: relative;
  margin-bottom: var(--space-xs);
}

a:hover {
  color: var(--color-link-hover);
}

a.gtm-lien-secondary {
  color: var(--color-link-light);
}

a.gtm-lien-secondary:hover {
  color: var(--color-link-light-hover);
}

/* -------------------- Boutons -------------------- */

/* boutons gestimark */

a.gtm-btn-primary {
  border-radius: var(--border-radius-button);
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
  box-sizing: border-box;
  font-size: 16px;
  font-family: var(--font-lato-bold); 
  font-weight: 700;
  color: #fff;
  background-color: var(--color-lilas);
  line-height: 1.2;
  padding: var(--space-xs) var(--space-sm);
  border-radius: 99px;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  transition: all .2s ease-in-out;
}


a.gtm-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}


a.gtm-btn-secondary {
  border-radius: var(--border-radius-button);
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
  box-sizing: border-box;
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  background-color: var(--color-background-button-secondary);
  line-height: 1.2;
  padding: var(--space-xs) var(--space-sm);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  transition: background .2s ease-in-out;
}


a.gtm-btn-secondary:hover {
  background-color: var(--color-background-button-secondary-hover);
}

/* boutons joomla */

.btn.btn-primary {
  background-color: var(--color-background-button);
  border: none;
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  margin: var(--space-xs) 0;
  border-radius: var(--border-radius-small);
  cursor: pointer;
  transition: background .3s ease-in-out;
}


.btn.btn-primary:hover {
  background-color: var(--color-background-button-hover);
}

.btn.btn-secondary {
  background-color: var(--color-background-button-secondary);
  border: none;
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  margin: var(--space-xs) 0;
  border-radius: var(--border-radius-small);
  cursor: pointer;
  transition: background .3s ease-in-out;
}

.btn.btn-secondary:hover {
  background-color: var(--color-background-button-secondary-hover);
}

/* boutons lire la suite */

.readmore {
  border-radius: var(--border-radius-button);
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
  box-sizing: border-box;
  font-size: var(--font-size-base);
  color: var(--color-text-light) !important;
  background-color: var(--color-background-readmore);
  line-height: 1.2;
  padding: var(--space-xs) var(--space-sm);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  transition: background-color .2s ease-in-out;
}

.readmore:hover {
  background-color: var(--color-background-readmore-hover);
}

/* bouton envoyer */

button[type="submit"] {
  background-color: var(--color-background-button) !important;
  border: none !important;
    padding: var(--space-xs) var(--space-sm) !important;
  font-size: var(--font-size-base) !important;
  color: var(--color-text-light) !important;
  margin: var(--space-xs) 0 !important;
  border-radius: var(--border-radius-small) !important;
  text-shadow: none !important;
  background-image: none !important;
  cursor: pointer !important;
  transition: all .2s ease-in-out !important;
}


button[type="submit"]:hover {
  background-color: var(--color-background-button-hover) !important;
}


/* -------------------- Listes -------------------- */

/* Liste gestimark */
ul,
ol {
  margin-left: var(--space-md);
  margin-bottom: var(--space-sm);
  font-size: var(--font-size-base);
}

ul li,
ol li {
  margin-bottom: var(--space-xs);
}

ul.gtm-liste-picto {
  margin-left: var(--space-xs);
}

ul.gtm-liste-picto li {
  list-style: none;
  padding-bottom: 5px;
  background: url(/images/gtm-list-pict.png) no-repeat 0 6px;
  background-size: 15px;
  padding-left: var(--space-xs);
  font-size: var(--font-size-base);
}

/* Liste compte */
ul.mod-login__options {
  list-style-type: none;
  margin-left: 0;
}

ul.mod-login__options li a {
  font-size: var(--font-size-base);
}

/* Formulaires (input, textarea...) */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="password"],
textarea {
  width: 100% !important;
  padding: var(--space-xs) !important;
  box-sizing: border-box !important;
  height: auto !important;
  border: 1px solid !important;
  outline: 0 !important;
  box-shadow: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus {
  outline: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--color-primary) !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* ---------------------------------------------------------------------------------------------------------------------
  Margin 
--------------------------------------------------------------------------------------------------------------------- */

/* Marges sur tous les côtés */
.gtm-m-0 { margin: var(--space-0); }
.gtm-m-xs { margin: var(--space-xs); }
.gtm-m-sm { margin: var(--space-sm); }
.gtm-m-md { margin: var(--space-md); }
.gtm-m-lg { margin: var(--space-lg); }
.gtm-m-xl { margin: var(--space-xl); }
.gtm-m-2xl { margin: var(--space-2xl); }
.gtm-m-3xl { margin: var(--space-3xl); }
.gtm-m-4xl { margin: var(--space-4xl); }
.gtm-m-5xl { margin: var(--space-5xl); }
.gtm-m-auto { margin: var(--space-auto); }

/* Marges horizontales (gauche + droite) */
.gtm-mx-0 { margin-left: var(--space-0); margin-right: var(--space-0); }
.gtm-mx-xs { margin-left: var(--space-xs); margin-right: var(--space-xs); }
.gtm-mx-sm { margin-left: var(--space-sm); margin-right: var(--space-sm); }
.gtm-mx-md { margin-left: var(--space-md); margin-right: var(--space-md); }
.gtm-gtm-mx-lg { margin-left: var(--space-lg); margin-right: var(--space-lg); }
.gtm-mx-xl { margin-left: var(--space-xl); margin-right: var(--space-xl); }
.gtm-mx-2xl { margin-left: var(--space-2xl); margin-right: var(--space-2xl); }
.gtm-mx-3xl { margin-left: var(--space-3xl); margin-right: var(--space-3xl); }
.gtm-mx-auto { margin-left: var(--space-auto); margin-right: var(--space-auto); }

/* Marges verticales (haut + bas) */
.gtm-my-0 { margin-top: var(--space-0); margin-bottom: var(--space-0); }
.gtm-my-xs { margin-top: var(--space-xs); margin-bottom: var(--space-xs); }
.gtm-my-sm { margin-top: var(--space-sm); margin-bottom: var(--space-sm); }
.gtm-my-md { margin-top: var(--space-md); margin-bottom: var(--space-md); }
.gtm-my-lg { margin-top: var(--space-lg); margin-bottom: var(--space-lg); }
.gtm-my-xl { margin-top: var(--space-xl); margin-bottom: var(--space-xl); }
.gtm-my-2xl { margin-top: var(--space-2xl); margin-bottom: var(--space-2xl); }
.gtm-my-3xl { margin-top: var(--space-3xl); margin-bottom: var(--space-3xl); }

/* Marges individuelles */
.gtm-mt-0 { margin-top: var(--space-0); }
.gtm-mt-xs { margin-top: var(--space-xs); }
.gtm-mt-sm { margin-top: var(--space-sm); }
.gtm-mt-md { margin-top: var(--space-md); }
.gtm-mt-lg { margin-top: var(--space-lg); }
.gtm-mt-xl { margin-top: var(--space-xl); }
.gtm-mt-2xl { margin-top: var(--space-2xl); }
.gtm-mt-3xl { margin-top: var(--space-3xl); }
.gtm-mt-4xl { margin-top: var(--space-4xl); }
.gtm-mt-5xl { margin-top: var(--space-5xl); }

.gtm-mb-0 { margin-bottom: var(--space-0); }
.gtm-mb-xs { margin-bottom: var(--space-xs); }
.gtm-mb-sm { margin-bottom: var(--space-sm); }
.gtm-mb-md { margin-bottom: var(--space-md); }
.gtm-mb-lg { margin-bottom: var(--space-lg); }
.gtm-mb-xl { margin-bottom: var(--space-xl); }
.gtm-mb-2xl { margin-bottom: var(--space-2xl); }
.gtm-mb-3xl { margin-bottom: var(--space-3xl); }
.gtm-mb-4xl { margin-bottom: var(--space-4xl); }
.gtm-mb-5xl { margin-bottom: var(--space-5xl); }

.gtm-ml-0 { margin-left: var(--space-0); }
.gtm-ml-xs { margin-left: var(--space-xs); }
.gtm-ml-sm { margin-left: var(--space-sm); }
.gtm-ml-md { margin-left: var(--space-md); }
.gtm-ml-lg { margin-left: var(--space-lg); }
.gtm-ml-xl { margin-left: var(--space-xl); }
.gtm-ml-2xl { margin-left: var(--space-2xl); }
.gtm-ml-3xl { margin-left: var(--space-3xl); }
.gtm-ml-auto { margin-left: var(--space-auto); }

.gtm-mr-0 { margin-right: var(--space-0); }
.gtm-mr-xs { margin-right: var(--space-xs); }
.gtm-mr-sm { margin-right: var(--space-sm); }
.gtm-mr-md { margin-right: var(--space-md); }
.gtm-mr-lg { margin-right: var(--space-lg); }
.gtm-mr-xl { margin-right: var(--space-xl); }
.gtm-mr-2xl { margin-right: var(--space-2xl); }
.gtm-mr-3xl { margin-right: var(--space-3xl); }
.gtm-mr-auto { margin-right: var(--space-auto); }

/* ---------------------------------------------------------------------------------------------------------------------
  Padding 
--------------------------------------------------------------------------------------------------------------------- */

.moduletable.gtm-no-padding {
    padding: 0 0 0 0;
}

/* Paddings sur tous les côtés */
.gtm-p-0 { padding: var(--space-0); }
.gtm-p-xs { padding: var(--space-xs); }
.gtm-p-sm { padding: var(--space-sm); }
.gtm-p-md { padding: var(--space-md); }
.gtm-p-lg { padding: var(--space-lg); }
.gtm-p-xl { padding: var(--space-xl); }
.gtm-p-2xl { padding: var(--space-2xl); }
.gtm-p-3xl { padding: var(--space-3xl); }
.gtm-p-4xl { padding: var(--space-4xl); }
.gtm-p-5xl { padding: var(--space-5xl); }

/* Paddings horizontaux (gauche + droite) */
.gtm-px-0 { padding-left: var(--space-0); padding-right: var(--space-0); }
.gtm-px-xs { padding-left: var(--space-xs); padding-right: var(--space-xs); }
.gtm-px-sm { padding-left: var(--space-sm); padding-right: var(--space-sm); }
.gtm-px-md { padding-left: var(--space-md); padding-right: var(--space-md); }
.gtm-px-lg { padding-left: var(--space-lg); padding-right: var(--space-lg); }
.gtm-px-xl { padding-left: var(--space-xl); padding-right: var(--space-xl); }
.gtm-px-2xl { padding-left: var(--space-2xl); padding-right: var(--space-2xl); }
.gtm-px-3xl { padding-left: var(--space-3xl); padding-right: var(--space-3xl); }
.gtm-px-4xl { padding-left: var(--space-4xl); padding-right: var(--space-4xl); }
.gtm-px-5xl { padding-left: var(--space-5xl); padding-right: var(--space-5xl); }

/* Paddings verticaux (haut + bas) */
.gtm-py-0 { padding-top: var(--space-0); padding-bottom: var(--space-0); }
.gtm-py-xs { padding-top: var(--space-xs); padding-bottom: var(--space-xs); }
.gtm-py-sm { padding-top: var(--space-sm); padding-bottom: var(--space-sm); }
.gtm-py-md { padding-top: var(--space-md); padding-bottom: var(--space-md); }
.gtm-py-lg { padding-top: var(--space-lg); padding-bottom: var(--space-lg); }
.gtm-py-xl { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }
.gtm-py-2xl { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
.gtm-py-3xl { padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); }
.gtm-py-4xl { padding-top: var(--space-4xl); padding-bottom: var(--space-4xl); }
.gtm-py-5xl { padding-top: var(--space-5xl); padding-bottom: var(--space-5xl); }

/* Paddings individuels */
.gtm-pt-0 { padding-top: var(--space-0); }
.gtm-pt-xs { padding-top: var(--space-xs); }
.gtm-pt-sm { padding-top: var(--space-sm); }
.gtm-pt-md { padding-top: var(--space-md); }
.gtm-pt-lg { padding-top: var(--space-lg); }
.gtm-pt-xl { padding-top: var(--space-xl); }
.gtm-pt-2xl { padding-top: var(--space-2xl); }
.gtm-pt-3xl { padding-top: var(--space-3xl); }
.gtm-pt-4xl { padding-top: var(--space-4xl); }
.gtm-pt-5xl { padding-top: var(--space-5xl); }

.gtm-pb-0 { padding-bottom: var(--space-0); }
.gtm-pb-xs { padding-bottom: var(--space-xs); }
.gtm-pb-sm { padding-bottom: var(--space-sm); }
.gtm-pb-md { padding-bottom: var(--space-md); }
.gtm-pb-lg { padding-bottom: var(--space-lg); }
.gtm-pb-xl { padding-bottom: var(--space-xl); }
.gtm-pb-2xl { padding-bottom: var(--space-2xl); }
.gtm-pb-3xl { padding-bottom: var(--space-3xl); }
.gtm-pb-4xl { padding-bottom: var(--space-4xl); }
.gtm-pb-5xl { padding-bottom: var(--space-5xl); }

.gtm-pl-0 { padding-left: var(--space-0); }
.gtm-pl-xs { padding-left: var(--space-xs); }
.gtm-pl-sm { padding-left: var(--space-sm); }
.gtm-pl-md { padding-left: var(--space-md); }
.gtm-pl-lg { padding-left: var(--space-lg); }
.gtm-pl-xl { padding-left: var(--space-xl); }
.gtm-pl-2xl { padding-left: var(--space-2xl); }
.gtm-pl-3xl { padding-left: var(--space-3xl); }
.gtm-pl-4xl { padding-left: var(--space-4xl); }
.gtm-pl-5xl { padding-left: var(--space-5xl); }

.gtm-pr-0 { padding-right: var(--space-0); }
.gtm-pr-xs { padding-right: var(--space-xs); }
.gtm-pr-sm { padding-right: var(--space-sm); }
.gtm-pr-md { padding-right: var(--space-md); }
.gtm-pr-lg { padding-right: var(--space-lg); }
.gtm-pr-xl { padding-right: var(--space-xl); }
.gtm-pr-2xl { padding-right: var(--space-2xl); }
.gtm-pr-3xl { padding-right: var(--space-3xl); }
.gtm-pr-4xl { padding-right: var(--space-4xl); }
.gtm-pr-5xl { padding-right: var(--space-5xl); }

/* ---------------------------------------------------------------------------------------------------------------------
  Background
--------------------------------------------------------------------------------------------------------------------- */

.moduletable.gtm-bg {
  padding: var(--space-0);
  background-color: var(--color-background);
  color: var(--color-text-light);
}

.moduletable.gtm-img-bg {
  padding: var(--space-0);
}

.moduletable.gtm-bg .gtm-custom {
  padding: var(--space-xs);
}

.gtm-img-bg .gtm-custom {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  padding: var(--space-xs);
}

@media screen and (min-width: 1024px) {
  .moduletable.gtm-bg .gtm-custom {
    padding: var(--space-xs), var(--space-sm), var(--space-xs), var(--space-sm);
  }

  .gtm-img-bg .gtm-custom {
    padding: var(--space-xs), var(--space-sm), var(--space-xs), var(--space-sm);
  }
}

/* -----------------------------------------------------------
                    VIDEOS
------------------------------------------------------------ */

/* Juste pour les cas spéciaux ou osyoutube ne fais pas l'affaire */

/* .gtm-video-container {
      position:relative;
      overflow:hidden;
      width:100%;
      padding-top:56.25%
    }
      
    .gtm-responsive-iframe {
      position:absolute;
      top:0;
      left:0;
      bottom:0;
      right:0;
      width:100%;
      height:100%;
      border-radius:2vw;
    }
*/

/* ---------------------------------------------------------------------------------------------------------------------
  Centrage
--------------------------------------------------------------------------------------------------------------------- */

/* centrer du texte */
.gtm-center {
  text-align: center;
}

/* centrer le module sur lui-même */
.gtm-module-center {
  align-self: center;
}

/* centrer tout le contenu du module */
.gtm-content-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* centrer un seul élément */
.gtm-element-center .gtm-custom {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
}

/* ---------------------------------------------------------------------------------------------------------------------
  Style des éléments
--------------------------------------------------------------------------------------------------------------------- */

/* Angles arrondis */

.gtm-border {
  border-radius: var(--border-radius);
}

/* Bordure */

.gtm-border {
  border: 2px solid var(--color-primary);
}

/* ---------------------------------------------------------------------------------------------------------------------
  Positions
--------------------------------------------------------------------------------------------------------------------- */

/* positions collante au top de l'écran lors du scroll */

@media screen and (min-width: 1200px) {
  .gtm-sticky {
  position: sticky;
  top: 20px;
}
}

/* ---------------------------------------------------------------------------------------------------------------------
  Grid
--------------------------------------------------------------------------------------------------------------------- */

/* Je sais pas si c'est utile */


/* .gtm-grid-4 .gtm-custom {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(1, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 10px;
}

@media screen and (min-width: 1024px) {
  .gtm-grid-4 .gtm-custom {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
} */


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  STRUCTURE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------
  Articles
--------------------------------------------------------------------------------------------------------------------- */

.com-content-article {
  padding: var(--space-lg);
}


/* ---------------------------------------------------------------------------------------------------------------------
  Modules
--------------------------------------------------------------------------------------------------------------------- */

.moduletable {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--space-lg);
}

.moduletable .gtm-custom {
  width: 100%;
}

.moduletable.gtm-bg h1,
.moduletable.gtm-bg h2,
.moduletable.gtm-bg h3,
.moduletable.gtm-bg h4,
.moduletable.gtm-bg h5,
.moduletable.gtm-bg h6 {
  padding: var(--space-xs) var(--space-xs) var(--space-0) var(--space-xs);
}

/* marge entre le titre et le contenu */
.moduletable .gtm-custom {
  padding-top: var(--space-xs);
}

.gtm-right .moduletable .gtm-custom,
.gtm-left .moduletable .gtm-custom {
  padding-top: 0;
}

.gtm-debug .moduletable {
  padding: 0;
}

/* --------- Menu ---------- */
.gtm-menu .moduletable {
  padding: 0px;
}

@media screen and (min-width: 1024px) {
  .moduletable {
    padding: var(--space-xs) var(--space-sm);
  }

  .moduletable.gtm-bg h1,
  .moduletable.gtm-bg h2,
  .moduletable.gtm-bg h3,
  .moduletable.gtm-bg h4,
  .moduletable.gtm-bg h5,
  .moduletable.gtm-bg h6 {
    padding: var(--space-xs) var(--space-sm) var(--space-0) var(--space-sm);
  }
}


/* ---------------------------------------------------------------------------------------------------------------------
  Blogue - Page de présentation
--------------------------------------------------------------------------------------------------------------------- */

/* ----------- marges du blog ----------- */
.com-content-category-blog__items.blog-items {
  padding: var(--space-xs);
}

.com-content-category-blog .page-header h1 {
  padding: var(--space-xs);
}

/* ----------- Article en vedette ----------- */

.com-content-category-blog__items.blog-items.items-leading .com-content-category-blog__item.blog-item {
  display: flex;
  gap: 20px;
  margin-bottom: var(--space-xl);
}

/* ----------- Articles du blogue ------------ */

/* Design du blogue 2 colonnes */
.com-content-category-blog__items.blog-items.masonry-2, .com-content-category-blog__items.blog-items.masonry-3, .com-content-category-blog__items.blog-items.masonry-4, .com-content-category-blog__items.blog-items.masonry-5, .com-content-category-blog__items.blog-items.masonry-6 {
  display: block;
}


/* Alignement colonne des articles */
.com-content-category-blog__items.blog-items.masonry-2 .com-content-category-blog__item.blog-item figure.item-image,
.com-content-category-blog__items.blog-items.masonry-3 .com-content-category-blog__item.blog-item figure.item-image,
.com-content-category-blog__items.blog-items.masonry-4 .com-content-category-blog__item.blog-item figure.item-image,
.com-content-category-blog__items.blog-items.masonry-2 .com-content-category-blog__item.blog-item .item-content,
.com-content-category-blog__items.blog-items.masonry-3 .com-content-category-blog__item.blog-item .item-content,
.com-content-category-blog__items.blog-items.masonry-4 .com-content-category-blog__item.blog-item .item-content {
  width: 100%;
}

.com-content-category-blog__items.blog-items.masonry-2 .com-content-category-blog__item.blog-item,
.com-content-category-blog__items.blog-items.masonry-3 .com-content-category-blog__item.blog-item,
.com-content-category-blog__items.blog-items.masonry-4 .com-content-category-blog__item.blog-item {
  display: block;
}

/* Design en ligne lorsque le blogue est en une seule colonne */
.com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: var(--space-xl);
}

/* Design des images */
.com-content-category-blog__items.blog-items figure.item-image img {
  width: 100%;
  margin-bottom: var(--space-xs);
}

/* Design des titres des articles */
.com-content-category-blog__items.blog-items .item-content .page-header h2 {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-xs);
}

.com-content-category-blog__items.blog-items.masonry-4 .item-content .page-header h2 {
  font-size: var(--font-size-4xl);
  margin-bottom: var(--space-xs);
}

/* Design des titres avec lien des articles */
.com-content-category-blog__items.blog-items .item-content .page-header h2 a {
  font-size: var(--font-size-4xl);
  margin-bottom: var(--space-xs);
  display: block;
}

.com-content-category-blog__items.blog-items.masonry-4 .item-content .page-header h2 a {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-xs);
  display: block;
}

/* --------------------------------- Version Desktop ------------------------------------- */

@media screen and (min-width: 992px) {

  /* marges du blog */
  .com-content-category-blog__items.blog-items {
    padding: 20px 40px;
    padding: var(--space-xs) var(--space-sm);
  }

  .com-content-category-blog .page-header h1 {
    padding: var(--space-xs) var(--space-sm);
  }

  /* Design en ligne lorsque le blogue est en une seule colonne */
  .com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item {
    flex-direction: row;
    gap: 40px;
  }

  /* tailles des boites images et textes de l'article en vedette */
  .com-content-category-blog__items.blog-items.items-leading .com-content-category-blog__item.blog-item figure.item-image,
  .com-content-category-blog__items.blog-items.items-leading .com-content-category-blog__item.blog-item div.item-content {
    width: 50%;
  }

  /* tailles des boites images des articles */
  .com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item figure.item-image {
    width: 40%;
  }

  /* tailles des boites textes des articles */
  .com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item .item-content {
    width: 60%;
  }

  /* ----------- Articles du blogue ------------ */

  /* Design du blogue 2 colonnes */
  .com-content-category-blog__items.blog-items.masonry-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* Design du blogue 3 colonne */
  .com-content-category-blog__items.blog-items.masonry-3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* Design du blogue 4 colonne */
  .com-content-category-blog__items.blog-items.masonry-4 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* ------------ Article de blogue ouvert -------------- */

  .com-content-article.item-page.gtm-blogue {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 40px;
  }

  .com-content-article.item-page.gtm-blogue .page-header:nth-child(1) {
    grid-column: span 12;
  }

  .com-content-article.item-page.gtm-blogue .page-header:nth-child(2) {
    grid-column: span 12;
  }

  .com-content-article.item-page.gtm-blogue .left.item-image {
    grid-column: span 6;
  }

  .com-content-article.item-page.gtm-blogue .com-content-article__body {
    grid-column: span 6;
  }

  .com-content-article.item-page.gtm-blogue .left.item-image img {
    position: sticky;
    top: 20px;
  }
}

@media screen and (min-width: 1200px) {

  /* Design du blogue 3 colonne */
  .com-content-category-blog__items.blog-items.masonry-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* Design du blogue 4 colonne */
  .com-content-category-blog__items.blog-items.masonry-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  COMPTE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-compte {
  text-align: center;
  max-width: 400px;
  margin: auto;
}

.gtm-compte form {
  display: flex;
  flex-direction: column;
}

/* Identifiant */

.gtm-compte form .form-group .input-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: var(--space-xs);
}

.gtm-compte form .mod-login__username .input-group input {
  order: 2;
}

.gtm-compte form .mod-login__username .input-group label {
  order: 1;
}

/* Mdp */


.gtm-compte form .mod-login__password .input-group input {
  order: 2;
}

.gtm-compte form .mod-login__password .input-group label {
  order: 1;
}

.gtm-compte form .mod-login__password .input-group button {
  order: 3;
  width: fit-content;
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  FORMULAIRE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* dimenssions du formulaire */

.gtm-form {
  width: 100%;
  margin: var(--space-auto);
}

.gtm-form label {
  font-size: var(--font-size-base);
  margin-bottom: var(--space-xs);
}

/* design du formulaire */

.formControls {
  display: block;
}

.rsform-input-box {
  width: 100%;
  padding: var(--space-0) !important;
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  COPYRIGHT
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */


.gtm-copyright-dark {
  display: none;
}

.gtm-copyright {
  text-align: center;
  padding-left: var(--space-sm);
  padding-right: var(--space-sm);
  color: var(--color-text);
  font-size: var(--font-size-xs) !important;
  margin-bottom: var(--space-xs);
  font-family: var(--font-body);
  font-size: var(--font-size-xs) !important;
}

.gtm-flinks {
  margin-bottom: var(--space-xs);
}

.gtm-flinks a {
  margin-top: var(--space-xs);
  color: #333333;
  font-size: var(--font-size-xs) !important;
}

.gtm-flinks a:hover {
  color: #333333;
}

.gtm-copyright .moduletable.gtm-copyright-content {
  padding: var(--space-0);
}


.gtm-copy-anim-logo {
  margin: var(--space-0) var(--space-auto);
  max-width: 400px;
}

.gtm-copy-anim-logo .gtm-lien-gestimark {
  display: flex;
  justify-content: center;
  align-items: center;
}

a.gtm-lien-gestimark span {
  color: var(--color-text);
  letter-spacing: 1px;
  font-size: var(--font-size-xs);
  padding-right: var(--space-xs);
}

.gtm-copy-anim-logo .gtm-lien-gestimark img.gtm-g-gestimark {
  width: 35px;
  transform-origin: center;
  transition: all .2s ease-in-out;
}

.gtm-copy-anim-logo .gtm-lien-gestimark img.gtm-creation-de {
  width: 100px;
  padding-right: var(--space-xs);
}

.gtm-copy-anim-logo:hover .gtm-lien-gestimark img.gtm-g-gestimark {
  transform: rotate(-30deg);
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  CREDTIS
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-credits .page-header {
  text-align: center;
}

.gtm-credits .com-content-article__body {
  text-align: center;
}

.gtm-credits .com-content-article__body img.gtm-logo-gestimark-credit {
  width: 100%;
  max-width: 400px !important;
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}

.gtm-credits-images {
  column-count: 4;
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
MERCI / OUPS
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

#oups .gtm-wrapper,
#merci .gtm-wrapper {
  margin-top: var(--space-0);
  margin-bottom: var(--space-0);
}

.gtm-img-merci .gtm-custom,
.gtm-img-oups .gtm-custom {
  min-height: 50vh;
}

@media screen and (min-width: 1024px) {

  .gtm-merci,
  .gtm-oups {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .gtm-img-merci .gtm-custom,
  .gtm-img-oups .gtm-custom {
    min-height: 100vh;
  }
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
ACCESSIBILITÉ BA ACCESSIBILITY
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */
/* icône */
.ba__accessibility-iconpos-start .ba__accessibility {
  align-items: flex-end;
}

.ba__accessibility .ba__accessibility-active:not([class*="-color"]):not(.ba__accessibility > .ba__accessibility-action-button) {
  background: var(--color-jaune);
  box-shadow: 0 0 1em #ffffff82;
}

.ba__accessibility > .ba__accessibility-action-button {
  background: var(--color-lilas) !important;
  box-shadow: 0 0 1em #ffffff82;
}

.ba__accessibility .ba__accessibility-active:not([class*="-color"]):not(.ba__accessibility > .ba__accessibility-action-button) {
  color: #000;
}

.ba__accessibility {
  bottom: 15px;
  top: inherit;
}

.ba__accessibility:not(.ba__accessibility-open) > [class*="-button"]::after {
  border: 0em solid #0980ff !important;
}

.ba__accessibility [class*="-button"]:hover {
  transition: all .2s ease-in-out;
}

.ba__accessibility [class*="-button"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

/* panneau ouvert */
section.ba__accessibility.ba__accessibility-open {
    top: 30px;
}

.ba__accessibility-container {
  background: var(--color-ivoire);
  background: #fff;
  box-shadow: 0 0 2em rgb(0 0 0 / 17%);
}

.ba__accessibility-body > * {
  background: transparent;
  border: 1.5px solid var(--color-jaune);
  box-shadow: none;
}

.ba__accessibility .ba__accessibility-audio-play-button {
  background: rgb(79 113 149 / 0%);
  box-shadow: none !important;
}

.ba__accessibility .ba__accessibility-audio-play-button::before {
  background: transparent;
  box-shadow: none;
}

.ba__accessibility .ba__accessibility-audio-play-button::after {
  box-shadow: none;
  background: transparent;
  border: 1.5px solid var(--color-jaune);
}

.ba__accessibility .ba__accessibility-audio-play-button > i {
  border-color: transparent transparent transparent var(--color-jaune);
}

.ba__accessibility [class$="-slider"] {
  box-shadow: none;
  border: 1px solid var(--color-jaune);
}

.ba__accessibility-slider-body > div > i {
  background: var(--color-jaune);
  box-shadow: none;
  color: #fff;
}

.ba__accessibility .ba__accessibility-align-left-button, .ba__accessibility .ba__accessibility-align-center-button, .ba__accessibility .ba__accessibility-align-right-button, .ba__accessibility .ba__accessibility-highlight-heading-button, .ba__accessibility .ba__accessibility-highlight-link-button, .ba__accessibility .ba__accessibility-highlight-hover-button, .ba__accessibility .ba__accessibility-readable-font-button, .ba__accessibility .ba__accessibility-dyslexia-font-button, .ba__accessibility .ba__accessibility-text-magnifier-button, .ba__accessibility .ba__accessibility-blend-invert-button, .ba__accessibility .ba__accessibility-blend-grayscale-button, .ba__accessibility .ba__accessibility-blend-dark-contrast-button, .ba__accessibility .ba__accessibility-blend-light-contrast-button, .ba__accessibility .ba__accessibility-blend-low-saturation-button, .ba__accessibility .ba__accessibility-blend-high-saturation-button, .ba__accessibility .ba__accessibility-hide-image-button, .ba__accessibility .ba__accessibility-stop-animation-button, .ba__accessibility .ba__accessibility-read-mode-button, .ba__accessibility .ba__accessibility-cursor-guide-button, .ba__accessibility .ba__accessibility-cursor-mask-button, .ba__accessibility .ba__accessibility-cursor-big-button, .ba__accessibility [class$="-slider"], .ba__accessibility [class*="-color"]{
  box-shadow: none;
  border: 1px solid var(--color-jaune) 
}

.ba__accessibility [class*="-button"]:hover:not(.ba__accessibility-action-button) {
  box-shadow: none;
  border: 2px solid var(--color-jaune) 
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  COOKIES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* image de cookie */

.cc-revoke.cc-bottom {
  position: relative;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) !important;
  width: 30px;
  height: 40px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1268.1 1268.1'><g><circle fill='%23fff' cx='634' cy='634' r='626.2'/><path fill='%23b8adf7' d='M448.7 783.8c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM1072.5 758.6c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2c3.4 0 6.9-.3 10.5-1.1 13.4-26.2 24.7-53.6 33.4-82.2-9-13.9-15.2-23.1-43.8-23.1zM516 418.1c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM223.3 412.3c29.5 0 53.2-31.9 53.2-53.2s-12.1-38.9-29.7-47.6c-9.2 11-18 22.4-26.3 34.2-9.5 13.6-18.3 27.6-26.5 42.1-1.9 3.4-3.7 6.8-5.5 10.2-.1.3-.3.5-.4.8 8.5 8.5 6.6 13.6 35.2 13.6zM1115.3 603.7c-36-1.9-67.7-23.2-82.9-56-2.9-6.5-8.7-11.4-15.7-13.3-7-2-14.3-.5-20.4 3.6-16.2 11.4-36 17.6-55.8 17.6s-33.6-4.6-48.1-13.1c-32.7-18.9-51.3-55.2-47.9-92.6.7-7.3-2-14.3-7-19.3s-12-7.8-19.3-7c-2.9.3-5.8.5-8.7.5-34.6 0-66.8-18.6-84-48.4-18.9-32.7-16.9-73.5 4.9-104.2 4.1-5.8 5.6-13.3 3.6-20.4-2-7-6.8-12.6-13.3-15.7-32.7-15.2-54.2-46.9-56.1-82.9-.8-12.9-11.3-22.9-24.1-23.1h-6.5c-137.7.2-262.7 55.8-353.8 145.6 26.8 18.4 44.4 49.1 44.4 84 0 56.1-45.3 101.5-101 101.5s-40.5-6.3-56.5-17.1c-24.1 58.8-37.4 123.2-37.4 190.6 0 278.1 226.2 504.3 504.3 504.3s330.4-90.1 420.8-226.6c-47.6-8.2-84-44.2-84-99.9s45.5-101.6 101.6-101.6 40.9 6.5 57.2 17.5c5.7-30.4 8.7-61.7 8.7-93.7v-6.5c-.3-12.8-10.2-23.3-23-23.9zM448.7 938.6c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM516 572.9c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM725.9 890.2c-72 0-130.6-58.6-130.6-130.6s58.5-130.6 130.6-130.6 130.6 58.6 130.6 130.6-58.6 130.6-130.6 130.6zM725.9 677.2c-45.3 0-82.3 37-82.3 82.3s37.1 82.3 82.3 82.3 82.3-37 82.3-82.3-37-82.3-82.3-82.3z'/></g></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent !important;
  order: 999999;
    -webkit-animation: cookie 0.4ss .8s both;
  animation: cookie 0.4s .8s both;
  transition: background-image 0.3s ease;
}

.cc-revoke.cc-bottom:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1268.1 1268.1'><g><circle fill='%23fff' cx='634' cy='634' r='626.2'/><path fill='%23907efd' d='M448.7 783.8c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM1072.5 758.6c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2c3.4 0 6.9-.3 10.5-1.1 13.4-26.2 24.7-53.6 33.4-82.2-9-13.9-15.2-23.1-43.8-23.1zM516 418.1c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM223.3 412.3c29.5 0 53.2-31.9 53.2-53.2s-12.1-38.9-29.7-47.6c-9.2 11-18 22.4-26.3 34.2-9.5 13.6-18.3 27.6-26.5 42.1-1.9 3.4-3.7 6.8-5.5 10.2-.1.3-.3.5-.4.8 8.5 8.5 6.6 13.6 35.2 13.6zM1115.3 603.7c-36-1.9-67.7-23.2-82.9-56-2.9-6.5-8.7-11.4-15.7-13.3-7-2-14.3-.5-20.4 3.6-16.2 11.4-36 17.6-55.8 17.6s-33.6-4.6-48.1-13.1c-32.7-18.9-51.3-55.2-47.9-92.6.7-7.3-2-14.3-7-19.3s-12-7.8-19.3-7c-2.9.3-5.8.5-8.7.5-34.6 0-66.8-18.6-84-48.4-18.9-32.7-16.9-73.5 4.9-104.2 4.1-5.8 5.6-13.3 3.6-20.4-2-7-6.8-12.6-13.3-15.7-32.7-15.2-54.2-46.9-56.1-82.9-.8-12.9-11.3-22.9-24.1-23.1h-6.5c-137.7.2-262.7 55.8-353.8 145.6 26.8 18.4 44.4 49.1 44.4 84 0 56.1-45.3 101.5-101 101.5s-40.5-6.3-56.5-17.1c-24.1 58.8-37.4 123.2-37.4 190.6 0 278.1 226.2 504.3 504.3 504.3s330.4-90.1 420.8-226.6c-47.6-8.2-84-44.2-84-99.9s45.5-101.6 101.6-101.6 40.9 6.5 57.2 17.5c5.7-30.4 8.7-61.7 8.7-93.7v-6.5c-.3-12.8-10.2-23.3-23-23.9zM448.7 938.6c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM516 572.9c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM725.9 890.2c-72 0-130.6-58.6-130.6-130.6s58.5-130.6 130.6-130.6 130.6 58.6 130.6 130.6-58.6 130.6-130.6 130.6zM725.9 677.2c-45.3 0-82.3 37-82.3 82.3s37.1 82.3 82.3 82.3 82.3-37 82.3-82.3-37-82.3-82.3-82.3z'/></g></svg>");
}

@keyframes cookie {
  0% {  
    visibility: hidden;
    transform: translate(0%, 100%); 
  }
  100% {
    visibility: visible;
    transform: translate(0%, 0%); 
  }
}

/* grille du pop up */
.cc-message-text {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, auto);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
  
.cc-message-text .p1 { 
  grid-area: 1 / 1 / 2 / 2; 
}

.cc-message-text .cc-checkboxes-container {
  grid-area: 2 / 1 / 3 / 2;
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
}

.cc-message-text .cc-compliance {
  grid-area: 3 / 1 / 4 / 2;
}

/* bouton fermeture popup */
.cc-close {
  top: 0.8em;
  right: 0.6em;
  font-size: var(--font-size-xs);  
}


/* boutons */
span.cc-cookie-settings-toggle, div.cc-window a.cc-btn {
  border-radius: var(--border-radius) !important;
  text-decoration: none !important;
  font-size: inherit;
}

span.cc-cookie-settings-toggle, .cc-btn.cc-allowall, .cc-btn.cc-deny, a.cc-btn.cc-allow {
  font-weight: 500;
  padding: var(--space-xs);
  line-height: 1.2;
  height: inherit !important;
  font-size: inherit;
  transition: all .2s ease-in-out;
}

span.cc-cookie-settings-toggle:hover, .cc-btn.cc-allowall:hover, .cc-btn.cc-deny:hover, a.cc-btn.cc-allow:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  border-color: var(--color-lilas);
}

.fancybox-content {
  color: #333;
}

/* lien politique de confidentialité et catégories de cookies */
a.cc-link.cc-privacy:hover {
  color: var(--color-lilas);
}

a.cc-link.cc-cookie-checkbox:hover label {
  color: var(--color-lilas);
}


/* alignement */
div.cc-checkboxes-container {
  align-items: center;
  margin-top: var(--space-0);
}

input.cc-cookie-checkbox+span:after, input.cc-cookie-checkbox+span:before {
  display: none;
}

input.cc-cookie-checkbox {
  appearance: auto !important;
  opacity: 1;
}

.cc-cookie-settings-toggler {
  display: none !important;
}

input.cc-cookie-checkbox:checked+span:after, input.cc-cookie-checkbox:checked+span:before {
  display: none !important;
}

div.cc-checkboxes-container a.cc-btn.cc-allow {
  margin-bottom: var(--space-0) !important;
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  POSITIONS - SQUELETTE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-hero,
.gtm-top1,
.gtm-top2,
.gtm-top3,
.gtm-top4,
.gtm-top5,
.gtm-top6,
.gtm-top7,
.gtm-top8,
.gtm-box-article,
.gtm-bottom1,
.gtm-bottom2,
.gtm-bottom3,
.gtm-bottom4,
.gtm-bottom5,
.gtm-bottom6,
.gtm-bottom7,
.gtm-bottom8,
.gtm-footer {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

.com-content-article, form, .osmap-sitemap {
  grid-column: span 12;
}

/* Mobiles (jusqu'à 768px) */
.com-content-article,
.com-content-article.gtm-12,
.com-content-category-blog,
.com-content-category-blog.gtm-12,
.moduletable,
.moduletable.gtm-12,
form.gtm-12 {
  grid-column: span 12
}

.com-content-article.gtm-1,
.com-content-category-blog.gtm-1,
.moduletable.gtm-1,
form.gtm-1 {
  grid-column: span 1
}

.com-content-article.gtm-2,
.com-content-category-blog.gtm-2,
.moduletable.gtm-2,
form.gtm-2 {
  grid-column: span 2
}

.com-content-article.gtm-3,
.com-content-category-blog.gtm-3,
.moduletable.gtm-3,
form.gtm-3 {
  grid-column: span 3
}

.com-content-article.gtm-4,
.com-content-category-blog.gtm-4,
.moduletable.gtm-4,
form.gtm-4 {
  grid-column: span 4
}

.com-content-article.gtm-5,
.com-content-category-blog.gtm-5,
.moduletable.gtm-5,
form.gtm-5 {
  grid-column: span 5
}

.com-content-article.gtm-6,
.com-content-category-blog.gtm-6,
.moduletable.gtm-6,
form.gtm-6 {
  grid-column: span 6
}

.com-content-article.gtm-7,
.com-content-category-blog.gtm-7,
.moduletable.gtm-7,
form.gtm-7 {
  grid-column: span 7
}

.com-content-article.gtm-8,
.com-content-category-blog.gtm-8,
.moduletable.gtm-8,
form.gtm-8 {
  grid-column: span 8
}

.com-content-article.gtm-9,
.com-content-category-blog.gtm-9,
.moduletable.gtm-9,
form.gtm-9 {
  grid-column: span 9
}

.com-content-article.gtm-10,
.com-content-category-blog.gtm-10,
.moduletable.gtm-10,
form.gtm-10 {
  grid-column: span 10
}

.com-content-article.gtm-11,
.com-content-category-blog.gtm-11,
.moduletable.gtm-11,
form.gtm-11 {
  grid-column: span 11
}

/* Appareils de taille moyenne (tablettes, 768px et plus) */
@media (min-width : 768px) {

  .com-content-article.gtm-tablette-1,
  .com-content-category-blog.gtm-tablette-1,
  .moduletable.gtm-tablette-1,
  form.gtm-tablette-1 {
    grid-column: span 1
  }

  .com-content-article.gtm-tablette-2,
  .com-content-category-blog.gtm-tablette-12,
  .moduletable.gtm-tablette-2,
  form.gtm-tablette-2 {
    grid-column: span 2
  }

  .com-content-article.gtm-tablette-3,
  .com-content-category-blog.gtm-tablette-3,
  .moduletable.gtm-tablette-3,
  form.gtm-tablette-3 {
    grid-column: span 3
  }

  .com-content-article.gtm-tablette-4,
  .com-content-category-blog.gtm-tablette-4,
  .moduletable.gtm-tablette-4,
  form.gtm-tablette-4 {
    grid-column: span 4
  }

  .com-content-article.gtm-tablette-5,
  .com-content-category-blog.gtm-tablette-5,
  .moduletable.gtm-tablette-5,
  form.gtm-tablette-5 {
    grid-column: span 5
  }

  .com-content-article.gtm-tablette-6,
  .com-content-category-blog.gtm-tablette-6,
  .moduletable.gtm-tablette-6,
  form.gtm-tablette-6 {
    grid-column: span 6
  }

  .com-content-article.gtm-tablette-7,
  .com-content-category-blog.gtm-tablette-7,
  .moduletable.gtm-tablette-7,
  form.gtm-tablette-7 {
    grid-column: span 7
  }

  .com-content-article.gtm-tablette-8,
  .com-content-category-blog.gtm-tablette-8,
  .moduletable.gtm-tablette-8,
  form.gtm-tablette-8 {
    grid-column: span 8
  }

  .com-content-article.gtm-tablette-9,
  .com-content-category-blog.gtm-tablette-9,
  .moduletable.gtm-tablette-9,
  form.gtm-tablette-9 {
    grid-column: span 9
  }

  .com-content-article.gtm-tablette-10,
  .com-content-category-blog.gtm-tablette-10,
  .moduletable.gtm-tablette-10,
  form.gtm-tablette-10 {
    grid-column: span 10
  }

  .com-content-article.gtm-tablette-11,
  .com-content-category-blog.gtm-tablette-11,
  .moduletable.gtm-tablette-11,
  form.gtm-tablette-11 {
    grid-column: span 11
  }

  .com-content-article.gtm-tablette-12,
  .com-content-category-blog.gtm-tablette-12,
  .moduletable.gtm-tablette-12,
  form.gtm-tablette-12 {
    grid-column: span 12
  }
}

/* Grands appareils (grandes tablettes, ordinateurs de bureau, 992px et plus) */
@media (min-width : 992px) {

  .com-content-article.gtm-tablette-plus-1,
  .com-content-category-blog.gtm-tablette-plus-1,
  .moduletable.gtm-tablette-plus-1,
  form.gtm-tablette-plus-1 {
    grid-column: span 1
  }

  .com-content-article.gtm-tablette-plus-2,
  .com-content-category-blog.gtm-tablette-plus-2,
  .moduletable.gtm-tablette-plus-2,
  form.gtm-tablette-plus-2 {
    grid-column: span 2
  }

  .com-content-article.gtm-tablette-plus-3,
  .com-content-category-blog.gtm-tablette-plus-3,
  .moduletable.gtm-tablette-plus-3,
  form.gtm-tablette-plus-3 {
    grid-column: span 3
  }

  .com-content-article.gtm-tablette-plus-4,
  .com-content-category-blog.gtm-tablette-plus-4,
  .moduletable.gtm-tablette-plus-4,
  form.gtm-tablette-plus-4 {
    grid-column: span 4
  }

  .com-content-article.gtm-tablette-plus-5,
  .com-content-category-blog.gtm-tablette-plus-5,
  .moduletable.gtm-tablette-plus-5,
  form.gtm-tablette-plus-5 {
    grid-column: span 5
  }

  .com-content-article.gtm-tablette-plus-6,
  .com-content-category-blog.gtm-tablette-plus-6,
  .moduletable.gtm-tablette-plus-6,
  form.gtm-tablette-plus-6 {
    grid-column: span 6
  }

  .com-content-article.gtm-tablette-plus-7,
  .com-content-category-blog.gtm-tablette-plus-7,
  .moduletable.gtm-tablette-plus-7,
  form.gtm-tablette-plus-7 {
    grid-column: span 7
  }

  .com-content-article.gtm-tablette-plus-8,
  .com-content-category-blog.gtm-tablette-plus-8,
  .moduletable.gtm-tablette-plus-8,
  form.gtm-tablette-plus-8 {
    grid-column: span 8
  }

  .com-content-article.gtm-tablette-plus-9,
  .com-content-category-blog.gtm-tablette-plus-9,
  .moduletable.gtm-tablette-plus-9,
  form.gtm-tablette-plus-9 {
    grid-column: span 9
  }

  .com-content-article.gtm-tablette-plus-10,
  .com-content-category-blog.gtm-tablette-plus-10,
  .moduletable.gtm-tablette-plus-10,
  form.gtm-tablette-plus-10 {
    grid-column: span 10
  }

  .com-content-article.gtm-tablette-plus-11,
  .com-content-category-blog.gtm-tablette-plus-11,
  .moduletable.gtm-tablette-plus-11,
  form.gtm-tablette-plus-11 {
    grid-column: span 11
  }

  .com-content-article.gtm-tablette-plus-12,
  .com-content-category-blog.gtm-tablette-plus-12,
  .moduletable.gtm-tablette-plus-12,
  form.gtm-tablette-plus-12 {
    grid-column: span 12
  }
}

/* Appareils très grands (grands ordinateurs, 1200px et plus) */
@media (min-width : 1200px) {

  .com-content-article.gtm-ordinateur-1,
  .com-content-category-blog.gtm-ordinateur-1,
  .moduletable.gtm-ordinateur-1,
  form.gtm-ordinateur-1 {
    grid-column: span 1
  }

  .com-content-article.gtm-ordinateur-2,
  .com-content-category-blog.gtm-ordinateur-2,
  .moduletable.gtm-ordinateur-2,
  form.gtm-ordinateur-2 {
    grid-column: span 2
  }

  .com-content-article.gtm-ordinateur-3,
  .com-content-category-blog.gtm-ordinateur-3,
  .moduletable.gtm-ordinateur-3,
  form.gtm-ordinateur-3 {
    grid-column: span 3
  }

  .com-content-article.gtm-ordinateur-4,
  .com-content-category-blog.gtm-ordinateur-4,
  .moduletable.gtm-ordinateur-4,
  form.gtm-ordinateur-4 {
    grid-column: span 4
  }

  .com-content-article.gtm-ordinateur-5,
  .com-content-category-blog.gtm-ordinateur-5,
  .moduletable.gtm-ordinateur-5,
  form.gtm-ordinateur-5 {
    grid-column: span 5
  }

  .com-content-article.gtm-ordinateur-6,
  .com-content-category-blog.gtm-ordinateur-6,
  .moduletable.gtm-ordinateur-6,
  form.gtm-ordinateur-6 {
    grid-column: span 6
  }

  .com-content-article.gtm-ordinateur-7,
  .com-content-category-blog.gtm-ordinateur-7,
  .moduletable.gtm-ordinateur-7,
  form.gtm-ordinateur-7 {
    grid-column: span 7
  }

  .com-content-article.gtm-ordinateur-8,
  .com-content-category-blog.gtm-ordinateur-8,
  .moduletable.gtm-ordinateur-8,
  form.gtm-ordinateur-8 {
    grid-column: span 8
  }

  .com-content-article.gtm-ordinateur-9,
  .com-content-category-blog.gtm-ordinateur-9,
  .moduletable.gtm-ordinateur-9,
  form.gtm-ordinateur-9 {
    grid-column: span 9
  }

  .com-content-article.gtm-ordinateur-10,
  .com-content-category-blog.gtm-ordinateur-10,
  .moduletable.gtm-ordinateur-10,
  form.gtm-ordinateur-10 {
    grid-column: span 10
  }

  .com-content-article.gtm-ordinateur-11,
  .com-content-category-blog.gtm-ordinateur-11,
  .moduletable.gtm-ordinateur-11,
  form.gtm-ordinateur-11 {
    grid-column: span 11
  }

  .com-content-article.gtm-ordinateur-12,
  .com-content-category-blog.gtm-ordinateur-12,
  .moduletable.gtm-ordinateur-12,
  form.gtm-ordinateur-12 {
    grid-column: span 12
  }
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  PAGE POSITIONS - MATRICE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */


#positions .gtm-bloc-section {
  margin-bottom: var(--space-lg);
}

#positions .gtm-mod-matrice {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 20px;
  row-gap: 20px;
}

.gtm-mod-hero {
  grid-column: span 12;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: var(--space-xs) var(--space-sm);
  text-align: center;
}

.gtm-mod-top-content, .gtm-mod-bottom-content, .gtm-mod-content-left, .gtm-mod-content-article, .gtm-mod-content-right, .gtm-mod-hero, .gtm-mod-footer {
  grid-column: span 12;
  min-height: 300px;
  border-radius: var(--border-radius-small);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: var(--space-xs) var(--space-sm);
}

.gtm-mod-hero {
    background-color: #f0a8e3;
    transition: background-color .2s ease-in-out;
}

.gtm-mod-hero:hover {
    background-color: #ff00d0;
}

.gtm-mod-top-content {
  background-color: #91ebbe;
  transition: background-color .2s ease-in-out;
}

.gtm-mod-top-content:hover {
  background-color: #00e974;
}

.gtm-mod-content-left, .gtm-mod-content-article, .gtm-mod-content-right {
  background-color: #d3ec7a;
  transition: background-color .2s ease-in-out;
}

.gtm-mod-content-left:hover, .gtm-mod-content-article:hover, .gtm-mod-content-right:hover {
  background-color: #e1ff00;
}

.gtm-mod-bottom-content {
  background-color: #a8def0;
  transition: background-color .2s ease-in-out;
}

.gtm-mod-bottom-content:hover {
  background-color: #00b0ea;
}

.gtm-mod-footer {
    background-color: #f0a8a8;
    transition: background-color .2s ease-in-out;
}

.gtm-mod-footer:hover {
    background-color: #e91f1f;
}

.gtm-1 {grid-column: span 1;}.gtm-2 {grid-column: span 2;}.gtm-3 {grid-column: span 3;}.gtm-4 {grid-column: span 4;}.gtm-5 {grid-column: span 5;}.gtm-6 {grid-column: span 6;}.gtm-7 {grid-column: span 7;}.gtm-8 {grid-column: span 8;}.gtm-9 {grid-column: span 9;}.gtm-10 {grid-column: span 10;}.gtm-11 {grid-column: span 11;}.gtm-12 {grid-column: span 12;}

@media screen and (min-width: 768px) {
  .gtm-tablette-1 {grid-column: span 1;} .gtm-tablette-2 {grid-column: span 2;}.gtm-tablette-3 {grid-column: span 3;}.gtm-tablette-4 {grid-column: span 4;}.gtm-tablette-5 {grid-column: span 5;}.gtm-tablette-6 {grid-column: span 6;}.gtm-tablette-7 {grid-column: span 7;}.gtm-tablette-8 {grid-column: span 8;}.gtm-tablette-9 {grid-column: span 9;}.gtm-tablette-10 {grid-column: span 10;}.gtm-tablette-11 {grid-column: span 11;}.gtm-tablette-12 {grid-column: span 12;}
}

@media screen and (min-width: 992px) {
  .gtm-tablette-plus-1 {grid-column: span 1;}.gtm-tablette-plus-2 {grid-column: span 2;}.gtm-tablette-plus-3 {grid-column: span 3;}.gtm-tablette-plus-4 {grid-column: span 4;}.gtm-tablette-plus-5 {grid-column: span 5;}.gtm-tablette-plus-6 {grid-column: span 6;}.gtm-tablette-plus-7 {grid-column: span 7;}.gtm-tablette-plus-8 {grid-column: span 8;}.gtm-tablette-plus-9 {grid-column: span 9;}.gtm-tablette-plus-10 {grid-column: span 10;}.gtm-tablette-plus-11 {grid-column: span 11;}.gtm-tablette-plus-12 {grid-column: span 12;}
}

@media screen and (min-width: 992px) {
  .gtm-ordinateur-1 {grid-column: span 1;}.gtm-ordinateur-2 {grid-column: span 2;}.gtm-ordinateur-3 {grid-column: span 3;}.gtm-ordinateur-4 {grid-column: span 4;}.gtm-ordinateur-5 {grid-column: span 5;}.gtm-ordinateur-6 {grid-column: span 6;}.gtm-ordinateur-7 {grid-column: span 7;}.gtm-ordinateur-8 {grid-column: span 8;}.gtm-ordinateur-9 {grid-column: span 9;}.gtm-ordinateur-10 {grid-column: span 10;}.gtm-ordinateur-11 {grid-column: span 11;}.gtm-ordinateur-12 {grid-column: span 12;}
}

#positions .gtm-important {
  color: red;
  font-family: var(--font-heading);
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  SITE MAP
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */



.osmap-sitemap {
  padding: var(--space-xl);
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  DARK MODE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-dark-mode .gtm-custom {
  padding: var(--space-0);
}

/* Mode sombre selon la préférence système ou classe active */
@media (prefers-color-scheme: dark) {
  body {
    background-color: var(--color-background);
    color: var(--color-text-light);
  }
}

/* Si dark-mode est désactivé, on neutralise le dark mode système */
body:not(.dark-mode) {
  background-color: initial !important;
  color: initial !important;
}

body.dark-mode {
  background-color: var(--color-background);
  color: var(--color-text-light);
}


.dark-mode a {
  color: var(--color-link-light);
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
  color: var(--color-primary);
}

body.dark-mode .gtm-btn-primary {
  color: var(--color-text-light);
}

/* Style du bouton toggle */
.dark-mode-toggle {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 1000;
}

.switch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 20px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var( --color-background-light);
  transition: background-color 0.4s;
  border-radius: var(--border-radius);
}

.slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: var(--color-link-light);
  transition: transform 0.4s;
  border-radius: 50%;
}

input:checked+.slider {
  background-color: #007bff;
}

input:checked+.slider:before {
  transform: translateX(14px);
  background-color: var(--color-text-light);
}

/* Couleurs du mode sombre pour le switch */
body.dark-mode .slider {
  background-color: #80cbc4;
}

body.dark-mode input:checked+.slider {
  background-color: #ffca28;
}


/* -------- dark mode copyright ------------ */

body.dark-mode .gtm-copyright {
  color: whitesmoke;
}

body.dark-mode .gtm-copyright-dark {
  display: block;
}

body.dark-mode .gtm-copyright-standard {
  display: none;
}


/* #endregion */

/* #region STYLE ----------------------------------------------------------------------------------------------------- */

/* --------------------- Courte pointe --------------------- */

/* -------- Video --------- */

/* Vidéo plein écran */
.gtm-video-intro {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  z-index: 1000;
  background: black;
  transition: opacity 1s ease, visibility 1s ease;
}

.gtm-video-intro video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Masquer avec transition */
.gtm-video-intro.hidden {
  opacity: 0;
  visibility: hidden;
}

/* Contenu principal */
.gtm-hero-main-content {
  position: relative;
  z-index: 1;
  padding: 100px 20px;
  text-align: center;
}

.gtm-oies {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}


/* --------------------- Courte pointe --------------------- */

/* --------- Galerie ---------- */

.ba-gallery {
  z-index: 1;
}

.ba-image {
  position: relative;
}

/* .header-icons {
  display: none;
} */

/* --------------------- Un peu d'histoire --------------------- */

/* --------- hero ---------- */

.gtm-box-content-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: rgb(242, 240, 229);
}

.gtm-box-content-hero .gtm-img-title {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: auto auto 40px auto;
}

.gtm-box-content-hero .gtm-custom {
  padding: var(--space-4xl);
}

.gtm-box-img-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #783088;
}

.gtm-box-img-hero .gtm-custom {
  background-image: url(/images/oies.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.gtm-img-hero {
  padding: var(--space-4xl);
}

.gtm-img-hero img {
  mask-image: url('/images/masque.svg');
  mask-mode: alpha; /* ou luminance */
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-position: center;
}

.gtm-arrow {
  max-width: 70px;
  margin: auto;
}

/* --------- Contenu un peu d'histoire ---------- */

.gtm-masque img {
  mask-image: url('/images/masque.svg');
  mask-mode: alpha; /* ou luminance */
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-position: center;
}

/* --------- Activité courtepointe ------------- */

.gtm-elements {
  padding: var(--space-2xl);
  overflow: hidden;
}

.gtm-elements .gtm-custom {
  position: relative;
}

.gtm-elements .gtm-custom .gtm-babioles {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%) scale(1.25);
  z-index: 1;
}

.gtm-bgc-light {
  background-color: var(--color-background-light);
  justify-content: center;
}


/* ------------------------------------ Footer -------------------------------------- */

.gtm-content-footer .gtm-custom{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.gtm-content-footer .gtm-custom img {
  width: 200px;
}

/* #endregion */

/* #region MENU ----------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  MENU PRINCIPAL
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */


/* ===================================================================
                           LOGO DANS LE MENU
=================================================================== */
/* Affiche le logo dans le menu lorsque la classe .gtmOpen est présente */
.gtmHeader.gtmOpen::before {
  content: url("/images/image.png");
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 1;
  z-index: 0;
  box-sizing: border-box;
  padding: var(--space-sm) var(--space-sm) 0 var(--space-sm);
}

/* ===================================================================
                          ICÔNE BURGER
=================================================================== */

/* Conteneur de l'icône burger, positionné en haut à droite */
.gtmHeader .gtm-open-nav-menu {
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  height: 45px;
  width: 45px;
  border-radius: 50%;
  background-color: var(--color-background);
  margin: var(--space-xs) var(--space-xs) 0;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10000000;
}

/* Barre centrale du burger */
.gtmHeader .gtm-open-nav-menu span {
  display: block;
  position: relative;
  height: 3px;
  width: 25px;
  background-color: #fff;
  border-radius: var(--border-radius-small);
}

/* Barres haute et basse du burger */
.gtmHeader .gtm-open-nav-menu span:before,
.gtmHeader .gtm-open-nav-menu span:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: all .2s ease;
  border-radius: var(--border-radius-small);
}

/* Position des barres haute et basse */
.gtmHeader .gtm-open-nav-menu span:before {
  top: -7px;
}

.gtmHeader .gtm-open-nav-menu span:after {
  top: 7px;
}

/* Transformation du burger en croix lors de l'ouverture du menu */
.gtm-hidden-scrolling .gtmHeader .gtm-open-nav-menu span {
  background-color: transparent !important;
}

.gtm-hidden-scrolling .gtmHeader .gtm-open-nav-menu span:before {
  transform: rotate(45deg);
  top: 0;
  background-color: #fff;
}

.gtm-hidden-scrolling .gtmHeader .gtm-open-nav-menu span:after {
  transform: rotate(-45deg);
  top: 0;
}

/* ===================================================================
                              MENU
=================================================================== */
/* Conteneur principal du menu */
.gtm-menu {
  z-index: 2000;
  position: relative;
}

/* En-tête du menu (plein écran lorsqu'ouvert) */
.gtmHeader {
  position: fixed;
  width: 100%;
  min-height: 100vh;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  top: -100%;
  transition: all 0.5s ease;
}

/* En-tête actif : s'affiche en haut */
.gtmHeader.gtmOpen {
  top: 0;
  z-index: 100;
  background-color: #fff;
}

/* Conteneur du contenu principal de l'en-tête */
.gtm-header-main {
  position: relative;
  z-index: 10;
}

/* Réinitialise la liste des menus */
nav.gtm-nav-menu ul.menu {
  list-style: none;
  margin-left: 0;
}

/* ===================================================================
                        NAVIGATION PRINCIPALE
=================================================================== */

/* Styles de la boite de la navigation */
.gtmHeader .menu {
  text-align: center;
}

/* Styles des liens du menu */
.gtmHeader .menu>.menu-item>a {
  color: var(--color-link);
  font-size: var(--font-size-base);
  font-weight: 400;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

/* Survol des liens */
.gtmHeader .menu>.menu-item>a:hover {
  color: var(--color-link-hover);
}

/* Lien actif */
.menu>.gtmFada.active>a {
  color: var(--color-link-active);
  font-weight: 600;
}

/* Espacement vertical entre les éléments du menu */
.gtmHeader .menu>.menu-item {
  margin-bottom: 0;
}

/* Curseur pointeur sur les séparateurs */
.separator {
  cursor: pointer;
}

/* Séparateur actif */
.parent.gtm-active a.separator {
  color: var(--color-link-active) !important;
  font-weight: 600 !important;
}

/* Style des images par défaut dans le menu */
.default img {
  width: 100px;
}

/* ===================================================================
                           SOUS-MENU
=================================================================== */

/* Liste des sous-menus */
nav.gtm-nav-menu .menu .gtm-sub-menu {
  display: block;
  text-align: center;
  list-style: none;
  margin-left: 0;
}

/* Sous-menu masqué par défaut */
.gtmHeader .menu>.gtm-menu-item-has-children .gtm-sub-menu {
  position: relative;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transition: all .2s ease-in-out;
}

/* Sous-menu actif (visible) */
.gtmHeader .menu>.gtm-menu-item-has-children.gtm-active .gtm-sub-menu {
  visibility: visible;
  opacity: 1;
}

/* Premier élément du sous-menu avec un espace au-dessus */
nav.gtm-nav-menu .gtm-sub-menu li:first-child {
  padding-top: var(--space-xs);
}

/* Style des liens du sous-menu */
nav.gtm-nav-menu .gtm-sub-menu li a {
  color: var(--color-link);
  font-size: var(--font-size-sm);
  font-weight: 400;
  line-height: 1.2rem;
  margin-bottom: 0px;
  transition: all 0.3s ease;
}

/* Lien actif du sous-menu */
nav.gtm-nav-menu .gtm-sub-menu li.active a {
  color: var(--color-link-hover);
}

/* ===================================================================
                        ICÔNES SOUS-MENU
=================================================================== */

/* Conteneur de l'icône "+" */
.gtm-menu-item-has-children .separator {
  position: relative;
}

/* Icône "+" : lignes horizontale et verticale */
.gtm-menu-item-has-children .separator::before,
.gtm-menu-item-has-children .separator::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 2px;
  background-color: var(--color-background);
  transition: all .3s ease;
}

/* Ligne verticale (avant) */
.gtm-menu-item-has-children .separator::before {
  top: 48%;
  right: -15px;
  transform: translateY(48%) rotate(-90deg);
}

/* Ligne horizontale */
.gtm-menu-item-has-children .separator::after {
  top: 48%;
  right: -15px;
  transform: translateY(48%);
}

/* Icône "+" transformée en "-" (lorsqu'actif) */
.gtm-menu-item-has-children.gtm-active .separator::before {
  transform: rotate(0deg);
}

/* Changement de couleur lorsqu'actif */
.gtm-menu-item-has-children.gtm-active .separator::after,
.gtm-menu-item-has-children.gtm-active .separator::before {
  background-color: var(--color-link-active);
}

/* Pour les cas actifs supplémentaires */
.gtm-menu-item-has-children.active .separator::after,
.gtm-menu-item-has-children.active .separator::before {
  background-color: var(--color-link-active);
}

/* ===================================================================
                           MENU DESKTOP
=================================================================== */
@media screen and (min-width: 1200px) {

  /* Cache l'icône burger sur grand écran */
  .gtmHeader .gtm-open-nav-menu {
    display: none;
  }

  /* Cache le logo "default" */
  .menu-item.default {
    display: none;
  }

  /* Apparence du conteneur principal sur desktop */
  .gtm-header-main {
    position: fixed;
    z-index: 10000000;
    right: 20px;
    top: 0;
    background-color: var(--color-background-light);
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }

  /* Apparence du menu lors du scroll */
  .gtm-header-main.scroll .menu {
    background-color: var(--color-background);
  }

  /* Liste horizontale des liens */
  nav.gtm-nav-menu ul.menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 30px;
    padding: 0 var(--space-md) 0 var(--space-sm);
    list-style: none;
    margin: 0;
  }

  nav.gtm-nav-menu ul.menu li {
    padding: var(--space-xs) 0;
    position: relative;
  }

  /* Apparence des liens */
  .gtmHeader .menu>.menu-item>a {
    color: var(--color-link);
    font-size: var(--font-size-base);
    letter-spacing: 1px;
    font-weight: 500;
  }

  .gtmHeader .menu>.menu-item>a:hover {
    color: var(--color-link-hover);
  }

  .menu>.gtmFada.active>a {
    color: var(--color-link-active);
    font-weight: 600;
  }

  /* Ajustement de l'espace pour les icônes */
  .gtm-menu-item-has-children {
    padding-right: var(--space-xs) !important;
  }

  .menu-item a {
    display: flex;
    align-items: center;
  }

  .default img {
    height: 35px;
  }

  /* Sous-menu en survol : s'affiche sous l'élément parent */
  .gtmHeader .menu>.gtm-menu-item-has-children>.gtm-sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 250px;
    background-color: var(--color-background);
    padding: 0 10px 10px 10px;
    padding: 0 var(--space-xs) var(--space-xs) var(--space-xs);
    overflow: visible;
    opacity: 0;
    visibility: hidden;
    margin: 0;
    transition: all 0.3s ease;
  }

  .gtmHeader .menu>.gtm-menu-item-has-children:hover>.gtm-sub-menu {
    opacity: 1;
    visibility: visible;
    max-height: 10000px;
  }

  /* Ajuste l'alignement des sous-menus */
  .gtmHeader .menu>.menu-item:last-child>.gtm-sub-menu {
    right: 0;
    left: auto;
  }

  /* Style des liens du sous-menu */
  nav.gtm-nav-menu .gtm-sub-menu li a {
    color: var(--color-link);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2rem;
    transition: all 0.3s ease;
  }

  nav.gtm-nav-menu .gtm-sub-menu li:hover a,
  nav.gtm-nav-menu .gtm-sub-menu li.active a {
    color: var(--color-link-hover);
  }

  /* Modification de l'icône "+" en vert */
  .gtm-menu-item-has-children .separator::before,
  .gtm-menu-item-has-children .separator::after {
    background-color: var(--color-link);
  }

  .gtm-menu-item-has-children:hover .separator::before {
    transform: rotate(0deg);
    background-color: var(--color-link-hover);
  }

  .gtm-menu-item-has-children.active .separator::after,
  .gtm-menu-item-has-children.active .separator::before {
    background-color: var(--color-link-active);
  }
}

/* #endregion */