@charset "UTF-8";

html {
  --bs-breadcrumb-divider: ">";
  --blue: #11559c;
  --blueBtn: #10154F;
  --blueBtnHover: #242a6e;
  --blueText: #389aff;
  --blueRgpd: #003399;
  --blueOffer: #0d9df8;
  --orangeBtn: #ef7013;
  --orangeBtnHover: #e16912;
  --orange: #fc9425;
  --lightGrey: #f9f9f9;
  --darkGrey: #282828;
  --redText: #ff0101;
  --greyText: #494949;
  --greySecondaryText: #6c6c6c;
  --greyTertiaryText: #9c9c9c;
  --yellowBtn: #fad145;
  --yellowBtnHover: #f5c00a;
  --greenBtn: #11cb27;
  --greenBtnHover: #01a714;
  --redBtn: #DB0D45;
  --redBtnHover: #9e0315;
  --redLinkOnBlue: #f74459;
  --hauteur_barre_login: 38px;
  --hauteur_menu_desktop: 104px;
  --hauteur_menu_mobile: 53px;
  --BLACK: #10154F;
  --BLANC: #FFF;
  --Arrondis-mobile: 30px;
}

@media only screen and (max-width: 576px) {
  html {
    --Arrondis-mobile: 20px;
  }
}

@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Archivo";
  src: url("/fonts/archivo/Archivo-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Archivo-Bold";
  src: url("/fonts/archivo/Archivo-Bold.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Archivo";
  src: url("/fonts/archivo/Archivo-Italic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.text-bold {
  font-weight: bold;
}

.text-underline {
  text-decoration: underline;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-size: 100%;
  font-size: 1em;
  color: var(--greyText);
  overflow-x: hidden;
  background: white;
}

body #contenu {
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
}

a {
  text-decoration: none;
  /*
  &:hover,
  &:focus,
  &:active {
      text-decoration: none;
      color: inherit;
  }
  */
}

a[data-bs-toggle=collapse] {
  cursor: pointer;
}

.help-block {
  font-size: 0.875em;
  color: var(--redText);
}

.help-block strong {
  font-weight: normal;
}

.help-block strong em {
  font-weight: bold;
}

/*
.card {
    .card-header {
        border-bottom: 0;
    }
    .card-body {
        @media (max-width: 1199.98px) {
            padding: 0.8em;
            ul {
                font-size: 0.87em;
            }
        }
        @media (max-width: 991.98px) {
            h4 {
                font-size: 1.3em;
            }
            ul {
                font-size: 0.76em;
            }
        }
    }
}
*/

/*
#bandeau-all-functionnalities {
    .btn {
        @media (max-width: 1199.98px) {
            padding: 8px 5px;
        }
        @media (max-width: 991.98px) {
            padding: 8px 5px;
            width: 45%;
            &:nth-child(3),
            &:nth-child(4) {
                margin-top: 15px;
            }
        }
        @media (max-width: 767.98px) {
            width: 100%;
            &:nth-child(2) {
                margin-top: 15px;
            }
        }
    }
}

*/

.btn {
  border-radius: var(--Arrondis, 20px);
  padding: 5px 25px;
  border: 0;
  font-family: Poppins;
  position: relative;
  overflow: hidden;
}

.btn.avec-fleche {
  padding-right: 10px;
}

.btn span,
.btn strong {
  position: relative;
  z-index: 1;
}

.btn:after {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  transition: top 0.2s ease-out;
}

.btn:active,
.btn:hover {
  box-shadow: none !important;
  outline: none;
}

.btn:active:after,
.btn:hover:after {
  top: 0;
}

.btn.btn-red {
  background-color: var(--redBtn);
  color: #fff;
  position: relative;
  text-decoration: none;
}

.btn.btn-red:after {
  background-color: var(--redBtnHover);
}

.btn.btn-bleu-pale {
  background: var(--BLEU-PALE, #C4CCFF);
  color: var(--BLACK, #10154F);
}

.btn.btn-bleu-pale:after {
  background-color: white;
}

.btn.btn-primary {
  background: var(--blueBtn);
}

.btn.btn-primary svg {
  stroke: white;
}

.btn.btn-primary:after {
  background-color: var(--blueBtnHover);
}

.btn.btn-large {
  padding: 10px 25px;
}

@media (max-width: 767.98px) {
  .btn.btn-large {
    padding: 10px 10px;
  }
}

.btn.btn-outline-primary {
  border: 1px solid var(--BLACK);
  color: var(--BLACK);
}

.btn.btn-outline-primary svg {
  stroke: var(--BLACK);
}

.btn.btn-outline-primary:active,
.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:focus {
  color: var(--BLACK);
  background-color: transparent !important;
  border: 1px solid var(--BLACK) !important;
  box-shadow: none !important;
}

.btn.btn-outline-primary:after {
  background-color: #eee;
  color: var(--BLACK);
}

.btn.btn-outline-light {
  border: 1px solid var(--BLANC);
  color: var(--BLANC);
}

.btn.btn-outline-light svg {
  stroke: var(--BLANC);
}

.btn.btn-outline-light:active,
.btn.btn-outline-light:hover,
.btn.btn-outline-light:focus {
  color: var(--BLACK);
  background-color: white !important;
  border: 1px solid var(--BLACK) !important;
  box-shadow: none !important;
}

.btn.btn-outline-light:active svg,
.btn.btn-outline-light:hover svg,
.btn.btn-outline-light:focus svg {
  stroke: var(--BLACK);
}

.btn.btn-outline-light:after {
  background-color: white;
  color: var(--BLACK);
}

.btn.btn-link {
  color: var(--BLACK);
}

@font-face {
  font-family: "icons";
  src: url(/fonts/icons.eot?2b27e2b85195748c3c4f75465b6a2635);
  src: url(/fonts/icons.eot?2b27e2b85195748c3c4f75465b6a2635) format("embedded-opentype"), url(/fonts/icons.woff?dd3abb05a5a1b27b2358c23e85641ad1) format("woff"), url(/fonts/icons.ttf?4cab96a4b342f9b1133231e7a7c3931f) format("truetype"), url(/images/icons.svg?b5dd7913608aa2c8e7d1041388d282bb) format("svg");
  font-weight: normal;
  font-style: normal;
}

[data-icon]:before {
  font-family: "icons" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "icons" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-cannedefensejacqueslevinet:before {
  content: "a";
}

.icon-aeroplane:before {
  content: "b";
}

.icon-aerostation:before {
  content: "c";
}

.icon-alpinisme:before {
  content: "d";
}

.icon-arbres:before {
  content: "e";
}

.icon-artmartial:before {
  content: "f";
}

.icon-artsmartiaux:before {
  content: "g";
}

.icon-athletisme:before {
  content: "h";
}

.icon-aviron:before {
  content: "i";
}

.icon-badminton:before {
  content: "j";
}

.icon-balleautambourin:before {
  content: "k";
}

.icon-ballonaupoing:before {
  content: "l";
}

.icon-balltrap:before {
  content: "m";
}

.icon-baseball:before {
  content: "n";
}

.icon-bus:before {
  content: "o";
}

.icon-bozendo:before {
  content: "p";
}

.icon-boxe:before {
  content: "q";
}

.icon-bowling2:before {
  content: "r";
}

.icon-bowling:before {
  content: "s";
}

.icon-bobsleigh:before {
  content: "v";
}

.icon-bmx:before {
  content: "w";
}

.icon-billiard2:before {
  content: "x";
}

.icon-billard:before {
  content: "y";
}

.icon-biathlon:before {
  content: "z";
}

.icon-basketball:before {
  content: "A";
}

.icon-calendrier:before {
  content: "B";
}

.icon-capoeira:before {
  content: "C";
}

.icon-canoekayak:before {
  content: "D";
}

.icon-carte:before {
  content: "E";
}

.icon-cerfvolant:before {
  content: "F";
}

.icon-chanbara:before {
  content: "G";
}

.icon-chiensdetraineau:before {
  content: "H";
}

.icon-chigong:before {
  content: "I";
}

.icon-cirque:before {
  content: "J";
}

.icon-colombophilie:before {
  content: "K";
}

.icon-coursedorientation:before {
  content: "L";
}

.icon-cricket:before {
  content: "M";
}

.icon-curling:before {
  content: "N";
}

.icon-femme:before {
  content: "O";
}

.icon-famille:before {
  content: "P";
}

.icon-escrime2:before {
  content: "Q";
}

.icon-escrime:before {
  content: "R";
}

.icon-escalade2:before {
  content: "S";
}

.icon-escalade:before {
  content: "T";
}

.icon-equitation2:before {
  content: "U";
}

.icon-equitation:before {
  content: "V";
}

.icon-enfants:before {
  content: "W";
}

.icon-echec2:before {
  content: "X";
}

.icon-echec:before {
  content: "Y";
}

.icon-danse:before {
  content: "Z";
}

.icon-cyclisme:before {
  content: "0";
}

.icon-femme2:before {
  content: "1";
}

.icon-gymastique:before {
  content: "2";
}

.icon-gymastique2:before {
  content: "3";
}

.icon-halterophilie:before {
  content: "4";
}

.icon-fille2:before {
  content: "5";
}

.icon-fille:before {
  content: "6";
}

.icon-football:before {
  content: "7";
}

.icon-footballamericain:before {
  content: "8";
}

.icon-formule1:before {
  content: "9";
}

.icon-frisbee:before {
  content: "!";
}

.icon-garcon:before {
  content: '"';
}

.icon-garcon2:before {
  content: "#";
}

.icon-giraviation:before {
  content: "$";
}

.icon-golf:before {
  content: "%";
}

.icon-golf2:before {
  content: "&";
}

.icon-groupe:before {
  content: "'";
}

.icon-handball:before {
  content: "(";
}

.icon-hockeysurglace:before {
  content: ")";
}

.icon-immeuble:before {
  content: "*";
}

.icon-jeudedames:before {
  content: "+";
}

.icon-judo:before {
  content: ",";
}

.icon-karate:before {
  content: "-";
}

.icon-karting:before {
  content: ".";
}

.icon-kempo:before {
  content: "/";
}

.icon-kendo:before {
  content: ":";
}

.icon-kickboxing:before {
  content: ";";
}

.icon-kungfu:before {
  content: "<";
}

.icon-lancerdujavelot:before {
  content: "=";
}

.icon-localisation:before {
  content: ">";
}

.icon-longuepaume:before {
  content: "?";
}

.icon-longecote:before {
  content: "@";
}

.icon-lutte:before {
  content: "[";
}

.icon-maison:before {
  content: "]";
}

.icon-manette:before {
  content: "^";
}

.icon-marathon:before {
  content: "_";
}

.icon-marche:before {
  content: "`";
}

.icon-marchenordique:before {
  content: "{";
}

.icon-membres:before {
  content: "|";
}

.icon-montgolfiere:before {
  content: "}";
}

.icon-parapente:before {
  content: "~";
}

.icon-parachutisme:before {
  content: "\\";
}

.icon-paintball:before {
  content: "\E000";
}

.icon-padel:before {
  content: "\E001";
}

.icon-nunchaku:before {
  content: "\E002";
}

.icon-news:before {
  content: "\E003";
}

.icon-natationsynchronisee:before {
  content: "\E004";
}

.icon-natation:before {
  content: "\E005";
}

.icon-musculation:before {
  content: "\E006";
}

.icon-motonautique:before {
  content: "\E007";
}

.icon-motocross:before {
  content: "\E008";
}

.icon-moto:before {
  content: "\E009";
}

.icon-moringue:before {
  content: "\E00A";
}

.icon-patinageartistique:before {
  content: "\E00B";
}

.icon-sautalaperche:before {
  content: "\E00C";
}

.icon-tauromachie:before {
  content: "\E00D";
}

.icon-waterpolo:before {
  content: "\E00E";
}

.icon-yoga:before {
  content: "\E00F";
}

.icon-tennis:before {
  content: "\E010";
}

.icon-tennisdetable:before {
  content: "\E011";
}

.icon-tiralarc:before {
  content: "\E012";
}

.icon-triathlon:before {
  content: "\E013";
}

.icon-twirlingbaton:before {
  content: "\E014";
}

.icon-ulm:before {
  content: "\E015";
}

.icon-utilisateur:before {
  content: "\E016";
}

.icon-voile:before {
  content: "\E017";
}

.icon-voile2:before {
  content: "\E018";
}

.icon-volleyball2:before {
  content: "\E019";
}

.icon-volleyball3:before {
  content: "\E01A";
}

.icon-taichi:before {
  content: "\E01B";
}

.icon-surf:before {
  content: "\E01C";
}

.icon-squash:before {
  content: "\E01D";
}

.icon-volleyball:before {
  content: "\E01E";
}

.icon-sportsdeglace:before {
  content: "\E01F";
}

.icon-snowfunboard:before {
  content: "\E020";
}

.icon-snowboard:before {
  content: "\E021";
}

.icon-snowbike:before {
  content: "\E022";
}

.icon-skinautique:before {
  content: "\E023";
}

.icon-ski:before {
  content: "\E024";
}

.icon-skateboard:before {
  content: "\E025";
}

.icon-selfprokrav:before {
  content: "\E026";
}

.icon-sauvetageetsecourisme:before {
  content: "\E027";
}

.icon-peche:before {
  content: "\E028";
}

.icon-pecheurenmer:before {
  content: "\E029";
}

.icon-plancheavoile:before {
  content: "\E02B";
}

.icon-plongee:before {
  content: "\E02C";
}

.icon-pokeball:before {
  content: "\E02D";
}

.icon-polo:before {
  content: "\E02E";
}

.icon-quad:before {
  content: "\E02F";
}

.icon-rallyeauto:before {
  content: "\E030";
}

.icon-randonneepedestre:before {
  content: "\E031";
}

.icon-roller:before {
  content: "\E032";
}

.icon-rugby:before {
  content: "\E033";
}

.icon-petanque:before {
  content: "u";
}

.icon-boulenantaise:before {
  content: "\E02A";
}

.icon-bourle:before {
  content: "t";
}

header#menu {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 5;
}

@media (min-width: 768px) {
  header#menu {
    position: relative;
  }
}

#barrelogin {
  background: var(--BLEU-PALE, #C4CCFF);
  width: 100%;
  height: var(--hauteur_barre_login);
  line-height: calc(var(--hauteur_barre_login) - 4px);
  z-index: 50;
  position: relative;
  /*
  @media (max-width: 767.98px) {

      #lien_se_connecter i,
      .go-to-portail i {
          font-size: 1.5em;
      }
  }
  */
}

#barrelogin a {
  color: var(--BLACK, #10154F);
  /* TEXTE - REGULAR */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 19.6px */
}

#barrelogin #sites {
  display: none;
  position: absolute;
  top: calc(var(--hauteur_barre_login) - 3px);
  left: 3px;
  z-index: 10;
  width: 300px;
  padding: 15px 0;
  background: white;
  box-shadow: 0 3px 12px 0 rgba(22, 69, 132, 0.2);
  border-radius: 15px;
  line-height: initial;
}

#barrelogin #sites .liste-sites {
  padding-top: 10px;
  padding-bottom: 10px;
  overflow-y: scroll;
  max-height: 70vh;
}

#barrelogin #sites a {
  color: var(--darkGrey);
}

#barrelogin #sites a.btn-primary {
  font-weight: normal;
  color: #fff;
}

#barrelogin #sites a:not(.btn) {
  text-align: center;
}

#barrelogin #sites span.font-italic {
  color: #aaa;
  font-size: 0.8em;
}

#barrelogin div#username {
  height: var(--hauteur_barre_login);
}

#barrelogin div#username:hover div#sites {
  display: block;
}

#barrelogin div#inscription-top {
  display: flex;
  align-items: center;
  line-height: calc(var(--hauteur_barre_login) / 2 - 4px);
  height: var(--hauteur_barre_login);
}

#barrelogin div#inscription-top a {
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid white;
  text-align: center;
}

/* Menu principal */

#menubar {
  background: white;
  align-items: center;
  display: grid;
  border-radius: 0 0 20px 20px;
  height: var(--hauteur_menu_mobile);
  box-shadow: 0 1px 5px 0 rgba(102, 182, 255, 0.2);
  z-index: 2;
  position: relative;
}

#menubar svg,
#menubar img.logo {
  max-width: 200px;
  height: auto;
}

@media (min-width: 768px) {
  #menubar svg,
  #menubar img.logo {
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  #menubar {
    height: var(--hauteur_menu_desktop);
    border-radius: 0;
    box-shadow: unset;
  }
}

#links {
  display: grid;
  align-items: center;
  text-align: right;
}

#desktop-menu {
  /* Sous-menu « Fonctionnalités » : ouvert par menu.js (classe .open), ou par :focus-within sans JS */
}

#desktop-menu ul {
  display: inline-block;
  list-style: none;
  padding: 0;
}

#desktop-menu ul li {
  display: inline-block;
}

#desktop-menu ul li a {
  color: var(--BLACK, #10154F);
  /* TEXTE - BOLD */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 19.6px */
  margin-right: 5px;
}

@media (min-width: 992px) {
  #desktop-menu ul li a {
    margin-right: 28px;
  }
}

@media (min-width: 1200px) {
  #desktop-menu ul li a {
    margin-right: 48px;
  }
}

#desktop-menu ul li a:hover {
  color: var(--redBtn);
}

#desktop-menu .btn {
  background: var(--redBtn);
}

#desktop-menu li.has-submenu {
  position: relative;
}

#desktop-menu li.has-submenu > a .svg-icon {
  display: inline-block;
  margin-left: 2px;
  font-size: 10px;
  vertical-align: 1px;
  transition: transform 0.2s ease;
}

#desktop-menu li.has-submenu > a .svg-icon svg {
  max-width: none;
}

#desktop-menu li.has-submenu > a.active,
#desktop-menu li.has-submenu > a[aria-expanded=true] {
  color: var(--redBtn);
}

#desktop-menu li.has-submenu > a[aria-expanded=true] .svg-icon {
  transform: rotate(180deg);
}

#desktop-menu li.has-submenu.open .submenu,
#desktop-menu li.has-submenu:not(.js-submenu):focus-within .submenu {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
}

#desktop-menu .submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 20;
  width: min(640px, 100vw - 32px);
  /* Zone transparente entre le lien et le panneau : le survol n'est pas perdu en descendant la souris */
  padding-top: 18px;
  text-align: left;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}

@media (prefers-reduced-motion: reduce) {
  #desktop-menu .submenu {
    transition: none !important;
    transform: translate(-50%, 0);
  }
}

#desktop-menu .submenu-panel {
  background: var(--BLANC, #FFF);
  border: 2px solid var(--BLACK, #10154F);
  border-radius: var(--Arrondis, 20px);
  box-shadow: 0 12px 32px 0 rgba(16, 21, 79, 0.18);
  overflow: hidden;
}

#desktop-menu .submenu-panel > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin: 0;
  padding: 12px;
}

#desktop-menu .submenu-panel > ul > li {
  display: block;
}

#desktop-menu .submenu-panel > ul > li > a {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 100%;
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  font-family: Archivo;
  font-size: 15px;
  font-weight: 800;
  line-height: 120%;
  color: var(--BLACK, #10154F);
  transition: background-color 0.15s ease;
}

#desktop-menu .submenu-panel > ul > li > a .illustration {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#desktop-menu .submenu-panel > ul > li > a .illustration img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

#desktop-menu .submenu-panel > ul > li > a .verbe {
  display: block;
  color: var(--redBtn, #DB0D45);
}

#desktop-menu .submenu-panel > ul > li > a:hover,
#desktop-menu .submenu-panel > ul > li > a:focus-visible,
#desktop-menu .submenu-panel > ul > li > a[aria-current=page] {
  color: var(--BLACK, #10154F);
  background: rgba(196, 204, 255, 0.35);
}

#desktop-menu .submenu-panel > ul > li > a:focus-visible {
  outline: 2px solid var(--BLACK, #10154F);
  outline-offset: -2px;
}

#desktop-menu .submenu-panel .submenu-all {
  display: block;
  margin: 0;
  padding: 14px 24px;
  border-top: 1px dashed #ccc;
  font-family: Poppins;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: var(--redBtn, #DB0D45);
  transition: background-color 0.15s ease;
}

#desktop-menu .submenu-panel .submenu-all span {
  display: inline-block;
  transition: transform 0.15s ease;
}

#desktop-menu .submenu-panel .submenu-all:hover,
#desktop-menu .submenu-panel .submenu-all:focus-visible {
  color: var(--BLANC, #FFF);
  background: var(--BLACK, #10154F);
}

#desktop-menu .submenu-panel .submenu-all:hover span,
#desktop-menu .submenu-panel .submenu-all:focus-visible span {
  transform: translateX(4px);
}

#links label[for=menuopener] {
  padding: 5px 10px;
  border-radius: 10px;
}

#links label[for=menuopener]:hover {
  background: #eee;
}

label[for=menuopener] .fa-xmark {
  display: none;
}

#mobile-menu {
  display: none;
}

@media (max-width: 768px) {
  #menuopener:checked + div label[for=menuopener] .fa-bars {
    display: none;
  }

  #menuopener:checked + div label[for=menuopener] .fa-xmark {
    display: block;
  }

  #menuopener:checked + div label[for=menuopener] .fa-xmark:hover {
    color: var(--redLinkOnBlue);
  }

  #menuopener:checked + div #mobile-menu {
    display: flex;
    text-align: center;
    position: fixed;
    width: 100%;
    height: calc(100% - var(--hauteur_barre_login));
    top: var(--hauteur_barre_login);
    left: 0;
    background: var(--BLACK, #10154F);
    align-items: center;
    z-index: 500;
    /* Avec le sous-menu déplié, le contenu peut dépasser l'écran : défilement, et marges auto pour un centrage qui ne coupe pas le haut */
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    /* Sous-menu « Fonctionnalités » : accordéon <details>, cibles tactiles d'au moins 48px */
  }
}

@media (max-width: 768px) and (min-width: 576px) {
  #menuopener:checked + div #mobile-menu {
    position: absolute;
    left: auto;
    right: 0;
    width: 380px;
    height: auto;
    max-height: calc(100vh - var(--hauteur_barre_login));
    padding: 50px 30px;
  }
}

@media (max-width: 768px) {
  #menuopener:checked + div #mobile-menu label {
    position: absolute;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 35px;
  }

  #menuopener:checked + div #mobile-menu section {
    display: block;
    margin: auto;
    width: min(100%, 360px);
    padding: 70px 16px 40px;
  }
}

@media (max-width: 768px) and (min-width: 576px) {
  #menuopener:checked + div #mobile-menu section {
    padding: 0;
  }
}

@media (max-width: 768px) {
  #menuopener:checked + div #mobile-menu ul {
    list-style: none;
    padding: 0;
  }

  #menuopener:checked + div #mobile-menu ul li {
    font-family: Archivo-Bold;
    font-size: 20px;
    font-style: normal;
    font-weight: 800;
    line-height: 120%;
    /* 24px */
    padding-bottom: 28px;
  }

  #menuopener:checked + div #mobile-menu ul li a {
    color: white;
  }

  #menuopener:checked + div #mobile-menu ul li a:hover {
    color: var(--redLinkOnBlue);
  }

  #menuopener:checked + div #mobile-menu ul li::before {
    content: "";
    display: block;
    width: 42px;
    height: 1px;
    opacity: 0.5;
    border-top: 1px solid var(--BLEU-PALE, #C4CCFF);
    margin: 0 auto;
    padding-bottom: 28px;
  }

  #menuopener:checked + div #mobile-menu ul li:first-child::before {
    display: none;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin: -12px 0;
    padding: 0 16px;
    border-radius: 14px;
    list-style: none;
    cursor: pointer;
    color: white;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details summary::-webkit-details-marker {
    display: none;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details summary .svg-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(196, 204, 255, 0.15);
    font-size: 12px;
    transition: transform 0.2s ease;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details summary:hover {
    color: var(--redLinkOnBlue);
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details summary:focus-visible {
    outline: 2px solid var(--BLEU-PALE, #C4CCFF);
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details[open] summary {
    color: var(--redLinkOnBlue);
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details[open] summary .svg-icon {
    transform: rotate(180deg);
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  #menuopener:checked + div #mobile-menu li.sous-menu details summary .svg-icon {
    transition: none;
  }
}

@media (max-width: 768px) {
  #menuopener:checked + div #mobile-menu li.sous-menu details > ul {
    margin: 24px 0 0;
    padding: 6px;
    border-radius: var(--Arrondis-mobile, 20px);
    background: rgba(196, 204, 255, 0.08);
    border: 1px solid rgba(196, 204, 255, 0.2);
    text-align: left;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li {
    padding: 0;
    font-family: Poppins;
    font-size: 16px;
    font-weight: 400;
    line-height: 130%;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li::before {
    display: none;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li + li {
    border-top: 1px solid rgba(196, 204, 255, 0.15);
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 56px;
    padding: 10px 14px;
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.85);
    -webkit-tap-highlight-color: transparent;
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a .verbe {
    font-family: Archivo-Bold;
    font-weight: 800;
    color: var(--BLANC, #FFF);
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a:hover,
  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a:active,
  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a[aria-current=page] {
    background: rgba(196, 204, 255, 0.15);
    color: var(--BLANC, #FFF);
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a:hover .verbe,
  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a:active .verbe,
  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li > a[aria-current=page] .verbe {
    color: var(--redLinkOnBlue);
  }

  #menuopener:checked + div #mobile-menu li.sous-menu details > ul > li.tout > a {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-weight: 700;
    font-size: 15px;
    color: var(--redLinkOnBlue);
  }

  #menuopener:checked + div #mobile-menu div {
    margin-top: 25px;
    display: block;
  }

  #menuopener:checked + div #mobile-menu em {
    color: #FFF;
    text-align: center;
    /* TEXTE MINI */
    font-family: Poppins;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    /* 16.8px */
  }
}

/******************************
            POPUP LOGIN
******************************/

#popup_login {
  padding: 0;
}

#popup_login h2 {
  font-family: "sans-serif";
  font-size: 1.7em;
}

#popup_login .modal-title {
  text-transform: uppercase;
}

#popup_login .modal-header {
  background: #eee;
}

/******************************
            POPUP LOGIN
******************************/

#popup_login {
  width: 620px;
  max-width: 100%;
  height: 250px;
  font-size: 14px;
  overflow: hidden !important;
  font-family: Poppins;
}

#popup_login a:not(.btn):hover {
  background-color: transparent;
  color: #999 !important;
}

#popup_login .fa-check-circle {
  color: #4FBC1B;
  font-size: 16px;
}

#popup_login .fa-envelope {
  color: #aaa;
  font-size: 16px;
}

#popup_login .fa-sign-in-alt {
  color: #aaa;
  font-size: 16px;
}

#popup_login #formulaires_englobant {
  overflow: hidden;
  margin: 0 -15px;
}

#popup_login #formulaires {
  position: relative;
  top: 0;
  left: -100%;
}

#popup_login ._4formulaires {
  width: 400%;
}

#popup_login ._4formulaires .formulaire {
  width: 25%;
}

#popup_login ._3formulaires {
  width: 300%;
}

#popup_login ._3formulaires .formulaire {
  width: 33.3333333333%;
}

#popup_login ._2formulaires {
  width: 200%;
}

#popup_login ._2formulaires .formulaire {
  width: 50%;
}

#popup_login .formulaire {
  display: inline-block;
  margin: 0;
  padding: 20px;
  vertical-align: top;
}

#popup_login #entete {
  background: #fff;
  margin: -16px -16px 0 -16px;
  padding: 0 16px 0 16px;
  border-bottom: 1px solid #eee;
  position: relative;
  width: calc(100% + 30px);
  z-index: 2;
}

#popup_login #entete p.titre {
  margin: 0;
  padding: 0;
  font-size: 1em;
  text-align: center;
  margin-bottom: 5px;
}

#popup_login .bloc-gris {
  background: #f0f0f0;
  margin: 0 -10px;
  padding: 10px;
  border: 1px solid #ddd;
}

#popup_login p.lien-secondaire {
  margin-top: 10px;
  text-align: center;
}

#popup_login p.lien-secondaire a {
  color: #999;
  text-decoration: underline;
}

#popup_login #after_validation_div img {
  padding-bottom: 5px;
}

#popup_login #has_account label#validate_after_inscription {
  color: #4FBC1B;
  font-size: 1.2em;
  vertical-align: top;
  display: inline;
}

#popup_login #sliding_message {
  margin: 0 -15px;
}

#popup_login #sliding_message.success {
  background: #D9F7D1;
  color: #4FBC1B;
  line-height: 40px;
  font-weight: bold;
  text-align: center;
}

#popup_login #sliding_message.error {
  background: #F7DCD1;
  color: #C23C32;
  padding: 15px 0;
  font-weight: bold;
  text-align: center;
}

#popup_login .error {
  color: red;
}

#popup_login div.button {
  text-align: center;
  width: 100%;
}

#popup_login div.button button,
#popup_login div.button button.btn {
  width: 100%;
  /*
  &.disabled,
  &.disabled:active,
  &.disabled:hover {
      background: #ccc;
      text-shadow: none;
      border-color: #aaa;
      color: white;
  }

  &.disabled.actif,
  &.disabled.actif:active,
  &.disabled.actif:hover {
      background: #fff;
      color: #aaa;
  }
  */
}

#popup_login div.button button:active,
#popup_login div.button button:hover,
#popup_login div.button button:focus,
#popup_login div.button button.btn:active,
#popup_login div.button button.btn:hover,
#popup_login div.button button.btn:focus {
  color: inherit;
}

#popup_login div.button button.disabled.actif span:before,
#popup_login div.button button.btn.disabled.actif span:before {
  display: inline-block;
  width: 11px;
  height: 11px;
  content: "";
  background-image: url(/media/admin/img/load.gif);
  background-size: 11px 11px;
  margin-right: 5px;
}

#popup_login #zonepassloose p.titre,
#popup_login #has_account p.titre,
#popup_login #new_account p.titre {
  font-size: 1.2em;
  color: #2270BB;
  clear: both;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
}

#popup_login #zonepassloose label,
#popup_login #has_account label,
#popup_login #new_account label {
  display: block;
  margin-bottom: 5px;
}

#popup_login #zonepassloose label[for=autologin],
#popup_login #has_account label[for=autologin],
#popup_login #new_account label[for=autologin] {
  display: inline;
}

#popup_login #zonepassloose label.label-inline,
#popup_login #has_account label.label-inline,
#popup_login #new_account label.label-inline {
  display: inline;
}

#popup_login #zonepassloose label.label-inline a,
#popup_login #has_account label.label-inline a,
#popup_login #new_account label.label-inline a {
  text-decoration: underline;
}

#popup_login p.titre span {
  display: block;
  width: 45%;
  margin: 0 auto;
}

#popup_login hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  height: 0;
}

/* NEW LOGIN BAR */

#log_bar {
  background-color: #1e1e1e;
  height: 34px;
}

#loginbar {
  position: relative;
  width: 255px;
  color: white;
  height: 34px;
  text-align: left;
}

#loginbar img {
  vertical-align: middle;
  padding-bottom: 4px;
}

#loginbar:hover,
#loginbar.open {
  background-color: #4b4b4b;
}

#loginbar_user {
  cursor: pointer;
}

#loginbar_user span.no-avatar {
  display: inline-block;
  background: #bbb;
  width: 40px;
  height: 33px;
  vertical-align: top;
  text-align: center;
  line-height: 33px;
  font-size: 2em;
}

#loginbar_user #avatar {
  height: 27px;
  padding: 3px;
  vertical-align: middle;
}

#loginbar_user #pseudo_loginbar {
  padding: 3px;
  font-size: 12px;
  line-height: 33px;
}

#loginbar_user_popup {
  display: none;
  position: absolute;
  width: 100%;
  z-index: 10000;
  top: 27px;
  left: 0px;
  right: 0px;
}

#loginbar_user_popup_content {
  background-color: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) inset, 0 0 8px rgba(0, 0, 0, 0.6);
  padding: 5px;
}

#loginbar_user_profil {
  text-align: center;
  color: black;
  margin-bottom: 20px;
}

#loginbar_user_profil a:hover {
  text-decoration: none;
}

#loginbar_user_sites a {
  color: #404040;
  text-decoration: none;
}

#loginbar_user_sites h2 {
  font-weight: bold;
  font-size: 12px;
  margin: 0px;
}

#loginbar_user_sites .content_site {
  margin-left: -5px;
  margin-right: -5px;
  padding: 15px 5px 15px 5px;
  background-color: #F2F2F2;
  margin-bottom: 4px;
  line-height: 14px;
  text-align: left;
  font-size: 15.4px;
}

.club_profil {
  font-size: 10px;
  color: #9E9E9E;
  display: block;
}

.club_name_inpop {
  font-size: 15px;
  color: #002D58;
}

#loginbar_user_sites .content_site p {
  margin: 0;
}

#loginbar_user_sites .content_site .actions {
  float: right;
}

#loginbar_user_sites .content_site .actions a {
  color: #333;
  font-size: 12px;
  text-decoration: none;
}

#loginbar_user_sites .content_site:hover .actions {
  display: block;
}

#loginbar_user_sites .content_site .site {
  float: left;
}

.message-legal {
  color: #6c757d !important;
  font-size: 0.8em;
  line-height: 1.1em;
  padding: 10px 0 0 0;
}

.message-legal p {
  margin-bottom: 10px;
}

/* Vérification mot de passe */

.qualitybar {
  display: inline-block;
  width: 150px;
  height: 14px;
  border: 1px solid #AAA;
  vertical-align: middle;
  position: relative;
}

.qualitybar .quality-0,
.qualitybar .quality-1,
.qualitybar .quality-2,
.qualitybar .quality-3,
.qualitybar .quality-4 {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  height: 12px;
}

.qualitybar .quality-0 {
  width: 1px;
  background: red;
}

.qualitybar .quality-1 {
  width: 20%;
  background: red;
}

.qualitybar .quality-2 {
  width: 50%;
  background: red;
}

.qualitybar .quality-3 {
  width: 80%;
  background: orange;
}

.qualitybar .quality-4 {
  width: 100%;
  background: green;
}

#warning-et-suggestions,
.warning-et-suggestions {
  display: none;
  background: #f0f0f0;
  margin: 20px 0;
  padding: 20px;
}

#warning-et-suggestions p,
.warning-et-suggestions p {
  font-weight: bold;
}

#warning-et-suggestions li,
.warning-et-suggestions li {
  font-style: italic;
}

footer {
  position: relative;
}

footer section.blue {
  background: var(--BLACK, #10154F);
  margin: 0 auto;
  z-index: 2;
  position: relative;
  padding: 44px 24px 20px;
}

@media (min-width: 768px) {
  footer section.blue {
    border-radius: 50px;
    padding: 44px 24px;
  }
}

footer section.blue .container-fluid {
  /*
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  */
  color: white;
  /* Logos servis en fichiers .svg : pleine largeur dans la limite de max-width, comme les SVG inline d'avant */
  /* Numéro du support, sous le bouton « Nous contacter » */
}

footer section.blue .container-fluid #logo-sportsregions {
  width: 100%;
  height: auto;
  max-width: 367px;
}

footer section.blue .container-fluid #logo-initiatives {
  width: 100%;
  height: auto;
  max-width: 87px;
  margin-bottom: -1px;
}

footer section.blue .container-fluid #initiatives {
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 19.6px */
  margin: 32px auto 16px;
}

@media (min-width: 768px) {
  footer section.blue .container-fluid #initiatives {
    margin-top: 16px;
  }
}

footer section.blue .container-fluid #networks {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer section.blue .container-fluid #networks li {
  display: inline-block;
  margin-right: 12px;
}

footer section.blue .container-fluid .btn.bleu-pale {
  border-radius: 16px;
}

footer section.blue .container-fluid a.telephone {
  display: block;
  margin: 8px 0 16px;
  color: var(--BLEU-PALE, #C4CCFF);
  font-family: Poppins;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

footer section.blue .container-fluid a.telephone:hover {
  color: var(--redLinkOnBlue);
}

@media (min-width: 992px) {
  footer section.blue .container-fluid a.telephone {
    margin-bottom: 0;
  }
}

footer section.blue .container-fluid .btn.contact {
  margin-bottom: 8px;
}

@media (min-width: 992px) {
  footer section.blue .container-fluid .btn.contact {
    display: none;
  }
}

footer section.blue .container-fluid .btn.network {
  display: flex;
  width: 32px;
  height: 32px;
  padding: 6px;
  align-items: center;
  gap: 10px;
}

footer section.blue .container-fluid nav {
  margin: 0;
  padding: 0;
  text-align: left;
}

@media (min-width: 768px) {
  footer section.blue .container-fluid nav {
    margin-bottom: 16px;
  }
}

footer section.blue .container-fluid nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer section.blue .container-fluid nav ul li {
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  footer section.blue .container-fluid nav ul li {
    margin-bottom: 15px;
  }
}

footer section.blue .container-fluid nav ul li a {
  color: var(--BLEU-PALE, #C4CCFF);
  /* TEXTE - REGULAR */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 19.6px */
}

footer section.blue .container-fluid nav ul li a:hover {
  color: var(--redLinkOnBlue);
}

footer section.blue .container-fluid nav ul li:last-child {
  margin-bottom: 0;
}

footer section.blue .container-fluid .btn-collapse {
  margin: 16px 0 4px;
  padding-top: 16px;
  border-top: 1px solid var(--BLEU-PALE, #C4CCFF);
  color: #FFF;
  /* TEXTE - BOLD */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 19.6px */
}

footer section.blue .container-fluid .btn-collapse .arrow {
  display: block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  margin-right: 5px;
  transform: rotate(45deg);
}

footer section.blue .container-fluid .btn-collapse.collapsed .arrow {
  transform: rotate(-135deg);
}

footer section.blue .container-fluid fieldset {
  border: 1px solid var(--BLEU-PALE, #C4CCFF);
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  padding: 60px 0 10px;
  position: relative;
  text-align: center;
  margin-top: 20px;
}

@media (min-width: 768px) {
  footer section.blue .container-fluid fieldset {
    border-radius: 20px;
    border-left: 1px solid var(--BLEU-PALE, #C4CCFF);
    border-right: 1px solid var(--BLEU-PALE, #C4CCFF);
    border-bottom: 1px solid var(--BLEU-PALE, #C4CCFF);
    padding-top: 0;
    margin-top: 0;
  }
}

footer section.blue .container-fluid fieldset legend {
  color: var(--BLEU-PALE, #C4CCFF);
  text-align: center;
  font-family: Poppins;
  font-size: 14px;
  font-style: italic;
  font-weight: 700;
  line-height: 140%;
  /* 19.6px */
  position: absolute;
  top: 20px;
  width: 100%;
  float: none;
}

@media (min-width: 768px) {
  footer section.blue .container-fluid fieldset legend {
    background: var(--BLACK, #10154F);
    padding: 0 5px;
    margin: 0 auto 20px;
    position: relative;
    top: unset;
    width: auto;
  }
}

footer section.blue .container-fluid fieldset a {
  border-radius: 10px;
  width: 142px;
  padding: 5px 10px;
  background: var(--BLANC, #FFF);
  margin: 0 16px;
}

@media (min-width: 768px) {
  footer section.blue .container-fluid fieldset a {
    display: block;
    margin: 0 auto 10px;
  }
}

footer section.blue .container-fluid fieldset a:hover {
  background: var(--BLEU-PALE, #C4CCFF);
}

footer nav {
  z-index: 2;
  position: relative;
  max-width: 1320px;
  padding: 0 24px;
  margin: 16px auto;
  text-align: center;
}

footer nav em {
  color: var(--BLACK, #10154F);
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

footer nav a {
  color: var(--BLACK, #10154F);
  text-align: center;
  /* TEXTE - REGULAR */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 19.6px */
}

footer nav .separator {
  height: 20px;
  width: 1px;
  margin: 0 10px;
  background: var(--BLACK, #10154F);
}

footer #copyright {
  background: white;
  z-index: 2;
  position: relative;
  text-align: center;
  padding: 4px 0;
  color: var(--BLACK, #10154F);
  text-align: center;
  font-family: Poppins;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 16.8px */
}

footer #copyright p {
  margin: 0;
}

footer .halo-container {
  --decalage-gauche: 0%;
  position: absolute;
  top: unset;
  left: var(--decalage-gauche);
  bottom: 130px;
  right: -300px;
  z-index: 1;
  width: calc(100% - var(--decalage-gauche));
  height: 600px;
  overflow: hidden;
}

@media (min-width: 768px) {
  footer .halo-container {
    --decalage-gauche: 30%;
    bottom: 0;
  }
}

footer .halo-container .halo {
  display: block;
  width: 150%;
  height: 1750px;
  background: radial-gradient(ellipse 80% 600px, rgba(47, 79, 252, 0.5) 0%, rgb(255, 255, 255) 60%);
  position: absolute;
  top: unset;
  left: unset;
  bottom: -670px;
  right: -50%;
}

#contenubody {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#contenubody #contenu main {
  z-index: 4;
  margin-top: calc(var(--hauteur_barre_login) + var(--hauteur_menu_mobile));
}

@media (min-width: 768px) {
  #contenubody #contenu main {
    margin-top: 0;
  }
}

.halo-container {
  --decalage-droit: 20%;
  position: absolute;
  top: 0;
  left: 0;
  right: var(--decalage-droit);
  z-index: 1;
  width: calc(100% - var(--decalage-droit));
  height: 430px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .halo-container {
    --decalage-droit: 60%;
  }
}

.halo-container .halo {
  display: block;
  width: 100%;
  min-width: 968px;
  height: 980px;
  background: radial-gradient(circle, rgba(47, 79, 252, 0.5) 0%, rgb(255, 255, 255) 60%);
  z-index: 1;
  position: absolute;
  top: -600px;
  right: 0;
}

main {
  flex-grow: 1;
  margin-bottom: 50px;
}

main header nav#breadcrumb {
  margin-top: 35px;
  color: var(--BLEUSPORTSREGIONS, #164584);
  /* TEXTE MINI */
  font-family: Poppins;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 16.8px */
}

main header nav#breadcrumb .breadcrumb {
  margin-bottom: 0;
}

main header nav#breadcrumb a {
  color: var(--BLEUSPORTSREGIONS, #164584);
}

main header h1 {
  text-align: center;
  /* H1 DESKTOP */
  font-family: Archivo;
  font-size: 55px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 66px */
  background: linear-gradient(90deg, var(--BLACK, #10154F) 0.17%, var(--Bleu-vif, #2F4FFC) 88.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

main header h1 strong {
  font-family: Archivo-Bold;
  font-style: normal;
  font-weight: 800;
}

main .section-content h1 {
  text-align: left;
  /* H1 DESKTOP */
  font-family: Archivo;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 66px */
  background: linear-gradient(90deg, var(--BLACK, #10154F) 0.17%, var(--Bleu-vif, #2F4FFC) 88.24%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 772px) {
  main .section-content h1 {
    font-size: 55px;
  }
}

main .section-content h1 strong {
  font-family: Archivo-Bold;
  font-style: normal;
  font-weight: 800;
}

main h2 {
  color: var(--BLACK, #10154F);
  font-family: Archivo;
  font-size: 38px;
  font-style: normal;
  font-weight: 300;
  line-height: 120%;
  /* 45.6px */
  margin-top: 80px;
  margin-bottom: 30px;
}

main h2 strong {
  /* H2 */
  font-family: Archivo-Bold;
  font-style: normal;
  font-weight: 800;
}

main h3 {
  color: var(--BLACK, #10154F);
  /* H3 */
  font-family: Archivo;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin-bottom: 20px;
}

main h3 strong {
  /* H3 */
  font-family: Archivo-Bold;
  font-style: normal;
  font-weight: 800;
}

main h4 {
  color: var(--BLACK, #10154F);
  /* H4 */
  font-family: Archivo;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 24px */
  margin-bottom: 15px;
}

main h4 strong {
  /* H2 */
  font-family: Archivo-Bold;
  font-style: normal;
  font-weight: 800;
}

main h4.inline {
  display: inline;
}

main h5 {
  color: var(--BLACK, #10154F);
  /* H4 */
  font-family: Archivo;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 24px */
  margin-bottom: 10px;
}

main h5 strong {
  /* H2 */
  font-family: Archivo-Bold;
  font-style: normal;
  font-weight: 800;
}

main h6 {
  color: var(--BLACK, #10154F);
  /* H4 */
  font-family: Archivo;
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 24px */
  margin-bottom: 10px;
}

main h6 strong {
  /* H2 */
  font-family: Archivo-Bold;
  font-style: normal;
  font-weight: 800;
}

main p {
  color: var(--BLACK, #10154F);
  /* TEXTE - REGULAR */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

main ul {
  margin: 10px 0;
  color: var(--BLACK, #10154F);
  /* TEXTE - REGULAR */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

main ul li {
  margin: 5px 0;
}

main ul li ul {
  list-style-type: decimal;
}

main ol {
  margin: 10px 0;
  color: var(--BLACK, #10154F);
  /* TEXTE - REGULAR */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

main ol li {
  margin: 5px 0;
}

main table {
  width: 100%;
  margin: 20px 0;
  border-collapse: collapse;
  border: 1px solid var(--greyTertiaryText);
}

main table td,
main table th {
  padding: 20px;
  border: 1px solid var(--greyTertiaryText);
}

main dl {
  color: var(--BLACK, #10154F);
  /* TEXTE - REGULAR */
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

main dl dt {
  display: inline;
}

main dl dt:before {
  content: " \AB   ";
}

main dl dt:after {
  content: " \BB   : ";
}

main dl dt.premier:after {
  content: " \BB   ";
}

main dl dd {
  margin-bottom: 1rem;
}

main a:not(.btn) {
  color: var(--BLACK, #10154F);
  text-decoration: underline;
}

#zone-principale ul {
  list-style: none;
  /* Remove default bullets */
  padding: 0;
}

#zone-principale ul > li::before {
  content: "";
  display: inline-block;
  width: 14px;
  /* Desired width */
  height: 13px;
  /* Desired height */
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 13' fill='none'%3e%3cpath d='M0 7.76448L0.734694 4.43685H5.26531L6.2449 0H9.67347L8.69388 4.43685H13.2L12.4653 7.76448H7.95918L7.00408 12.0833H3.57551L4.53061 7.76448H0Z' fill='%2310154F'/%3e%3c/svg%3e");
  background-size: contain;
  /* Scale image proportionally */
  background-repeat: no-repeat;
}

/* Formulaire contact et signalement contenu inaproprié */

.finalite label {
  color: #777;
  font-size: 0.8em;
  text-decoration: underline;
  cursor: pointer;
}

.finalite > div {
  display: none;
}

#finalite_contact:checked + .finalite > div {
  display: block;
}

#finalite_signalement:checked + .finalite > div {
  display: block;
}

a.btn {
  display: inline-block;
  white-space: normal;
}

/* Formulaire de création de site */

.form-check-label::before {
  top: 0.35rem;
}

.maxwidth {
  max-width: calc(100% - 4px);
}

@media (min-width: 1324px) {
  .maxwidth {
    max-width: 1320px;
  }
}

@media (max-width: 768px) {
  .maxwidth {
    max-width: 100%;
  }
}

a {
  text-decoration: none;
}

/* Images et vidéos portant width/height (réservation de l'espace) : la hauteur suit la largeur imposée par le CSS.
   :where() donne une priorité nulle, toute hauteur explicite d'une autre règle l'emporte. */

:where(img[width][height], video[width][height]) {
  height: auto;
}

.form-group {
  margin-bottom: 1rem;
}

/* Tarteaucitron */

#tarteaucitronRoot .asCatToggleBtn {
  background: var(--redBtn) !important;
  color: white !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronHidden,
#tarteaucitronServicesTitle_mandatory {
  border-left: 3px solid var(--redBtn) !important;
  margin-bottom: 10px !important;
  margin-left: 10px !important;
}

