/*
Theme Name: Morvan Oxygène
Author: Kevin Furet
Author URI: https://www.kevinfuret.com/
Version: 1.0
Text Domain: mox
*/


/* ========================================================================== */
/* fonts
/* ========================================================================== */
@font-face {
  font-family: 'FunnelSans';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('fonts/FunnelSans-VF.woff2') format('woff2'),
      url('fonts/FunnelSans-VF.woff') format('woff');

}
@font-face {
  font-family: 'MorningRitual';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/MorningRitual-400.woff2') format('woff2'),
       url('fonts/MorningRitual-400.woff') format('woff');
}


/* ========================================================================== */
/* TYPO MORNING RITUAL : AJUSTEMENTS
/* ========================================================================== */
/* Les ajustements des marges dépendent de la hauteur de ligne et de la typo. Mais pas de la taille du texte (vu que les marges sont définies en em) 
https://grafikart.fr/tutoriels/line-height-css-2259 */
.morning,
h2.section-title,
h2.home-title,
.entry-content h2{
  display: block;
  font-family: 'MorningRitual';
  font-weight: normal;
  line-height: .6;
}
.morning::before,
.entry-content h2::before{
  content: "";
  margin-bottom: -0.2em;
  display: table;
}
.morning::after ,
.entry-content h2::after{
  content: "";
  margin-top: 0.1em;
  display: table;
}






/* ========================================================================== */
/* variables
/* ========================================================================== */

:root{
  --gap:60px;
  --spacer : 60px;
  --max-width-article : 600px;
}

@media screen and (min-width: 768px){
  :root{
    --width-container:600px;
    --spacer : 80px;
  }
}
@media screen and (min-width: 900px){
  :root{
    --width-container:800px;
  }
}
@media screen and (min-width: 1100px){
  :root{
    --width-container:1000px;
  }
}
@media screen and (min-width: 1200px){
  :root{
    --width-container:1100px;
  }
}
@media screen and (min-width: 1400px){
  :root{
    --max-width-article : 700px;
    --spacer : 100px;
  }
}
@media screen and (min-width: 1500px){
  :root{
    --width-container:1200px;
  }
}




/* ========================================================================== */
/* A (more) Modern CSS Reset | september 2023 | Andy Bell */
/* ========================================================================== */

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}
/* Cursor Pointer */
a, 
button, 
infos, 
infos>summary:first-of-type, 
input[type=button], 
input[type=checkbox], 
input[type=checkbox]+label, 
input[type=file], 
input[type=image], 
input[type=radio], 
input[type=radio]+label, 
input[type=range], 
input[type=reset], 
input[type=submit], 
select, 
video[controls] {
    cursor: pointer;
}

/* Focus */


:is([tabindex="-1"]):focus,
:is([tabindex="-1"]):focus-visible{
  outline:none
}

:focus{
  outline-color:#AF4D98;
  outline-offset:0.25lh;
  outline-style:solid;
  outline-width:3px;
}
/* Pour les navigateurs supportant :focus-visible */
@supports selector(:focus-visible){
  /* désactivé par défaut */
  :focus{
    outline:none
  }
  /* :focus-visible, pour les utilisations de claviers uniquement */
  [contenteditable]:not([contenteditable=false]):focus-visible, 
  [tabindex]:focus-visible, 
  a:focus-visible, 
  audio:focus-visible[controls], 
  button:focus-visible, 
  infos:focus-visible, 
  infos>summary:first-of-type:focus-visible, 
  input:focus-visible, 
  input[type=button]:focus-visible, 
  input[type=checkbox]:focus-visible+label:before, 
  input[type=image]:focus-visible, 
  input[type=radio]:focus-visible+label:before, 
  input[type=reset]:focus-visible, 
  input[type=submit]:focus-visible, 
  select:focus-visible, 
  textarea:focus-visible, 
  video:focus-visible[controls] {
    outline-color:#AF4D98;
    outline-offset:0.2rem;
    outline-style:solid;
    outline-width:3px;    
  }
  .ahead__container__nav a:focus-visible{
    outline-offset:-5px;
  }


}










/* ========================================================================== */
/* GRILLE
/* ========================================================================== */
.container,
.container--large{
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
}

*[class*="fl-row"]{
  display: flex;
  flex-direction: row;
}
.fl-row-ctr{
  justify-content: center;
  align-items: center;
}
.fl-row-ctr-h{
  justify-content: center;
}
.fl-row-ctr-v{
  align-items: center;
}
*[class*="fl-col"]{
  display: flex;
  flex-direction: column;
}
.fl-col-ctr{
  justify-content: center;
  align-items: center;
}
.fl-col-ctr-v{
  justify-content: center;
}
.fl-col-ctr-h{
  align-items: center;
}
@media screen and (min-width: 768px){
  .container{
    width: var(--width-container);
    padding-left: unset;
    padding-right: unset;
  }
  *[class*="flex-"]{
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    --items:1;
    gap: var(--gap) !important;
  }
  .flex-2-s{
    --items:2;
  }
  *[class*="flex-"] > *{
    width: 
      calc(
        calc( 
          100% 
          -
          calc(
            calc(var(--items) - 1)
            * 
            var(--gap)
          )
        )
      /
      var(--items)
      )
    ;
  }

}
@media screen and (min-width: 900px){
  .flex-2-m{
    --items:2;
  }
  .flex-3-m{
    --items:3;
  }
  .flex-3-m > *:last-child:nth-child(3n+2){
    margin-right: auto;
  } 
}
@media screen and (min-width: 1100px){
  .container--large{
    margin-left: 30px;
    margin-right: 30px;
  }
}
@media screen and (min-width: 1200px){
  .flex-3-l{
    --items:3;
  }
  .flex-4-l{
    --items:4;
  }
  .flex-4-l > *:last-child:nth-child(4n-2),
  .flex-4-l > *:last-child:nth-child(4n+3){
    margin-right: auto;
  } 
}
@media screen and (min-width: 1500px){
  .container--large{
    width: 1500px;
    margin-left: auto;
    margin-right: auto;

  }
}
@media screen and (min-width: 1600px){
  .container--large{
    width: 1600px;
  }
}





/* ========================================================================== */
/* STYLES
/* ========================================================================== */
html{
  /* font-size:100%; */
}
body{
  font-family: 'FunnelSans';
  font-size:1.3rem;
  line-height: 1.2; 
  font-weight: normal;
  color:#000;
  /* text-align: left; */
  background-color: white;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}
h1, h2, h3{
  margin: 0;
  text-align: center;
  font-family: 'FunnelSans';
  color: white;
}
h1{
  font-weight: 800;
  font-size: 3rem;
  font-size: clamp(3rem, calc(2rem + 2.5vw), 5rem);
  max-width: clamp(600px, 80%, 900px)
}
h2.section-title,
h2.home-title,
.entry-content h2{
  color: #000;
}
h2.section-title,
h2.home-title,
.entry-content h2{
  font-size: 4rem;
  font-size: clamp(4rem, calc(3rem + 2vw), 5.5rem);
}
h3{
  font-weight: 600;
}
.entry-content h3{
  font-size: 1.5rem;
  font-size: clamp(1.5rem, calc(.5rem + 1vw), 1.8rem);
}
.sub-title{
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 300;
  font-size: 1rem;
  color: #000;
  margin-bottom: 15px;
}
sup{
  line-height: .5;
  font-size: .6em;
  font-weight: 500;
}
a,
a::after,
a::before{
  color: inherit;
  transition: all .3s;	
  text-decoration:none;
}
button,
button::after,
button::before{
  transition: all .3s;	
  background-color: transparent;
  border: unset;
}


/* tansition des figure et picture */
:not(figure) > picture img[data-src],
figure:has(img[data-src]){
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease, visibility .5s ease;
}
:not(figure) > picture.loaded img[src],
figure.showoverlay:has(img[src]),
figure.loaded:has(img[src]){
  opacity: 1;
  visibility: visible;
}

/* les images et leur conteneur */
figure {
  margin: 0;
  position: relative;
}
figure figcaption {
  cursor: pointer;
  border-radius: 20px;
  position: absolute;
  font-size: 1rem;
  line-height: .7;
  transition: background-color 0.2s ease;
  gap: 5px;
  z-index: 100;
  overflow: hidden;
}
figure figcaption svg {
  padding: 3px;
  fill: transparent;
  stroke: white;
  stroke-width: 1.2px;
  display: block;
  width: 18px;
  height: 18px;
  box-sizing: content-box;
  transition: stroke 0.2s ease;
}
figure figcaption span{
  white-space: nowrap;
  width: 0;
  visibility: hidden;
  box-sizing: content-box;
  color: transparent;
  transition: width .2s ease, color .2s ease;
}
figure figcaption.active{
  background-color: white;
}
figure figcaption.active svg{
  stroke: #000;
  stroke-width: 1px;
}
figure figcaption.active span{
  visibility: visible;
  color: #000;
}
figure figcaption.tl{
  top: 10px;
  left: 10px;
}
figure figcaption.tl span{
  margin-right: 10px;
}
figure figcaption.tr{
  top: 10px;
  right: 10px;
  justify-content: flex-end;
}
figure figcaption.tr svg {
  order:2;
}
figure figcaption.tr span{
  order: 1;
  margin-left: 10px;
}

@media screen and (min-width: 1100px){
  .sub-title{
    margin-bottom: 20px;
  }
}


/* ========================================================================== */
/* BOUTONS
/* ========================================================================== */

*[class*="mo2--button"],
*[class*="mo2--link"],
*[class*="mo2--tab"],
.mo2--icon,
.mo2--file{
  position: relative;
  z-index: 1;
  flex-wrap: nowrap;
  gap: 20px;
  width: auto;
  font-weight: 700;
  cursor: pointer;
}


*[class*="mo2--button"]::after,
*[class*="mo2--link"]::after,
*[class*="mo2--tab"]::after,
.mo2--icon::after,
.mo2--file::after{
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: polygon(
    calc(100% - 5px) 4px, 
    100% 10px, 
    calc(100% - 2px) calc(100% - 1px), 
    80% 100%, 
    5px calc(100% - 3px), 
    0 60%, 
    5px 0
    );
}
.mo2--icon::after{
  clip-path: polygon(
    calc(100% - 5px) 2px, 
    100% 8px, 
    calc(100% - 2px) 100%, 
    80% 100%, 
    5px 100%, 
    0 60%, 
    5px 0
    );
}
.mo2--file::after{
  clip-path: polygon(
    calc(100% - 5px) 0, 
    100% 8px, 
    calc(100% - 2px) 100%, 
    80% 100%, 
    5px 100%, 
    0 60%, 
    5px 0
    );
}

/* mo2--button */
*[class*="mo2--button"]{
  min-width: 280px;
  color: white;
  font-style: italic;
}
.mo2--button::after{
  background-color: #000;
}
.mo2--button:hover{
  color: #000;
}
.mo2--button:hover::after{
  background-color: #afff00;
}
/* mo2--button--inverse */
.mo2--button--inverse{
  color: #000;
}
.mo2--button--inverse::after{
  background-color: #afff00;
}
.mo2--button--inverse:hover::after{
  background-color: white;
}

/* mo2--link */
*[class*="mo2--link"]{
  color: #000;
  font-style: normal;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.mo2--link::after{
  background-color: #afff00;
}
.mo2--link:hover{
  color: #afff00;
}
.mo2--link:hover::after{
  background-color: transparent;
}
/* mo2--link--inverse */
.mo2--link--inverse{
  color: white;
}
.mo2--link--inverse::after{
  background-color: #000;
}
.mo2--link--inverse:hover::after{
  background-color: #6B9C00;
}

/* mo2--tab */
*[class*="mo2--tab"]{
  color: white;
  font-style: normal;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.mo2--tab::after{
  background-color: transparent;
}
.mo2--tab:hover,
.mo2--tab:focus,
.mo2--tab.active{
  color: #000;
}
.mo2--tab:hover::after,
.mo2--tab.active::after,
.mo2--tab:focus::after{
  background-color: #afff00;
}







/* mo2--icon */
.mo2--icon::after{
  background-color: white;
}
.mo2--icon:hover svg{
  fill: #afff00;
}
.mo2--icon:hover::after{
  background-color: transparent;
}


/* mo2--file */
.mo2--file{
  font-weight: normal;
  font-size: 1.2rem;
  gap: 15px;
}
.mo2--file::after{
  background-color: transparent;
}
.mo2--file:hover::after{
  background-color: white;
}


/* mo2--tag */
/* Pas pour les liens, juste pour décoration. Pas de hover, clip-path directement sur l'élément -> sans passer par ::after */
.mo2--tag{
  /* flex-wrap: nowrap; -> Ne sert à rien normalement */
  font-weight: 800;
  font-size: 1rem;
  padding: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: #afff00;
  clip-path: polygon(
    calc(100% - 5px) 4px, 
    100% 10px, 
    calc(100% - 2px) calc(100% - 1px), 
    80% 100%, 
    5px calc(100% - 3px), 
    0 60%, 
    5px 0
    );
}



/* club-btn-- */
/* Boutons pour partie club + formulaires */
*[class*="club-btn--"]{
  border-radius: 5px;
  padding: 10px 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.1rem;
  border: 1px solid #000;
  transition: all .3s ease;
  cursor: pointer;
}
*[class*="club-btn--outline"]{
  color: #000;
  background-color:transparent;
  font-weight: 400;
}
*[class*="club-btn--outline"]:hover{
  background-color: #000;
  color: white;
}
*[class*="club-btn--fill"]{
  background-color: #000;
  color: white;
  font-weight: 600;
}
*[class*="club-btn--fill"]:hover{
  background-color: transparent;
  color: #000;
}

*[class*="club-btn--"].min{
  font-size: .9rem;
}
*[class*="club-btn--"].tiny{
  padding: 5px 10px;
  font-size: .9rem;
}


/* Grosseurs */
*[class*="mo2--"].min:not([class*="mo2--icon"]){
  padding: 10px;
  font-size: 1rem;
}
*[class*="mo2--"].mid{
  font-size: 1.2rem;
  padding: 10px 15px;
}
*[class*="mo2--"].max{
  font-size: 1.3rem;
  padding: 15px;
  gap: 30px;
}
*[class*="mo2--"].xxl{
  font-size: 1.4rem;
  padding: 20px 30px;
  gap: 40px;
}



/* Trail */
.trail{
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
  margin-left: auto;
  transition: transform .2s ease;
}
.trail::before,
.trail::after{
  content: '';
  display: block;
  width: 30px;
  height:7px;
  clip-path: polygon(28px 0, 100% 2px, 29px 100%, 2px 100%, 0 5px, 1px 0); 
  transition: background-color .2s ease;
}
.trail::before{
  background-color: #afff00;
}
.trail::after{
  background-color: white;
}
.event:hover .trail,
*[class*="mo2--button"]:hover .trail{
  transform: rotate(180deg);
}
.mo2--button--inverse .trail::before,
.event:hover .trail::after,
.event:hover .trail::before,
*[class*="mo2--button"]:hover .trail::after,
*[class*="mo2--button"]:hover .trail::before{
  background-color: #000;
}

/* Categorie */
.cat{
  color: #afff00;
  font-size: 3rem;
  font-size: clamp(3rem, calc(3rem + .7vw), 3.8rem);
}

/* buttons de la grille */
.buttons{
  gap: 10px;
}

@media screen and (min-width: 1100px){
  *[class*="mo2--button"].max{
    gap: 30px;
    padding: 15px 25px;
  }
}
@media screen and (min-width: 1400px){
  *[class*="mo2--button"].max{
    font-size: 1.5rem;
    padding: 20px 30px;
  }
}
@media screen and (min-width: 1600px){
  .mo2--link.min{
    padding: 10px 15px;
    font-size: 1.2rem;
  }

}










/* ========================================================================== */
/* SVG
/* ========================================================================== */
svg.icon{
  display: block;
}
svg.logo-morvan {
	width: 92px;
  height: 25px;
  fill: #afff00;
}
svg.logo-oxygene {
	width: 100px;
  height: 30px;
  fill: white;
}
a.logo:hover svg {
  fill: #afff00;
}
/* svg.trace {
	width: 30px;
  height: 17px;
}
svg.trace #trace2 {
	width: 27px;
  height: 15px;
  fill: #afff00;
} */

.network svg,
svg.navigation{
  width: 45px;
  height: 45px;
  fill: #000;
  padding: 5px;
}
.file svg{
  width: 35px;
  height: 35px;
  fill:#ffd4ff;
  background-color: #000;
  clip-path: polygon(
    calc(100% - 5px) 2px, 
    100% 8px, 
    calc(100% - 2px) 100%, 
    80% 100%, 
    5px 100%, 
    0 60%, 
    5px 0
    );
  padding: 5px;
  flex: 0 0 auto ;
}
svg.ffrp{
  width: 170px;
  height: 43px;
  /* width: 200px;
  height: 50px; */
}
svg.ufolep{
  width: 100px;
  height: 46px;
  /* width: 130px;
  height: 60px; */
}
svg.ffme{
  width: 170px;
  height: 52px;
  /* width: 200px;
  height: 61px; */
}
@media screen and (min-width: 1400px){
  svg.logo-morvan {
    width: 110px;
    height: 30px;
  }
  svg.logo-oxygene {
    width: 117px;
    height: 35px;
  }
}







/* ========================================================================== */
/* Header
/* ========================================================================== */
header#header {
  background-color: #000;
}
.ahead__container {
  gap: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  align-items: center;
}
.ahead__container__nav,
.ahead__container__extras{
	display: none;
}
.ahead__container__logo {
  gap: 10px;
  margin-right: auto;
}

nav ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
nav ul li a{
  display: block;
  color: white;
  font-weight: 500;
  text-wrap: nowrap;
  padding: 10px;
}
nav > ul > li > a{
  text-transform: uppercase;
  letter-spacing: 1px; 
}
nav li.menu-item-has-children {
  position: relative;
  text-align: center;
}
nav li.menu-item-has-children ul.sub-menu {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
nav li.menu-item-has-children ul.sub-menu a {
  font-size: 1.2rem;
  font-style: italic;
}
nav li.current-menu-item a,
nav li a:hover,
nav li.menu-item-has-children:hover > a,
nav li.current-menu-ancestor > a,
nav li.menu-item-has-children ul.sub-menu li.current-menu-item a,
nav li.menu-item-has-children ul.sub-menu a:hover {
  color: #afff00;
}







/*
 *
 NAVIGATION BURGER
*
*/
.ahead__mobilecontainer,
.mobile__club__menu {
  position: absolute;
	opacity: 0;
  height: 0;
  visibility: hidden;
}
.ahead__container__burger{
  cursor: pointer;
  width: 30px;
  height: 30px;
  display: block;
  /* margin-left: auto; */
}
.ahead__container__burger .burger{
  position: relative;
  background-color: white;
  height: 2px;
  width: 30px;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);	
  top:50%;
}
.ahead__container__burger .burger::after, 
.ahead__container__burger .burger::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-8px);
  display: block;
  width: 30px;
  height: 2px;
  background-color: white;
}
.ahead__container__burger .burger::after {
  transform: translateY(8px);
}
.ahead__container__burger.active .burger {
  transform: rotate(180deg);
  background-color: transparent;
}
.ahead__container__burger.active .burger::before {
  transform: translateY(0) rotate(-45deg);
}
.ahead__container__burger.active .burger::after {
  transform: translateY(0) rotate(45deg);
}

.burger--team-menu .burger,
.burger--team-menu .burger::after, 
.burger--team-menu .burger::before{
  background-color: #ffd4ff;
}
@media screen and (min-width: 900px){
  header#header {
    position: relative;
  }
  .ahead__container__burger,
  .ahead__mobilecontainer,
  .mobile__club__menu {
    display: none;
  }
  .ahead__container{
    justify-content: space-between;
    align-items: center;
  }
  .ahead__container__logo {
    margin-right: unset;
  }
  .ahead__container__nav{
    display: flex;
    flex-direction: row;
    font-size: 1rem;
  }
  .ahead__container__nav > ul > li > a {
    padding: 1rem 10px;
  }
  .ahead__container__nav li.menu-item-has-children {
    position: unset;
  }
  .ahead__container__nav li.menu-item-has-children ul.sub-menu {
    margin: unset;
    background-color: #000;
    transition: all .3s;
    position: absolute;
    z-index: 999;
    top: calc(100% - 21px);
    left: 0;
    width: 100%;
    transform-origin: 50% 0;
    transform: scaleY(0);
    opacity: 0;
    padding-bottom: 20px;
    border-bottom: 2px solid #afff00;
    flex-direction: row;
    justify-content: center;
  }
  .ahead__container__nav li.menu-item-has-children:hover ul.sub-menu,
  .ahead__container__nav li.menu-item-has-children a:focus + ul.sub-menu,
  .ahead__container__nav ul.sub-menu:has(a:focus) {
    transform: scaleY(1);
    opacity: 1;
  }
  .ahead__container__extras{
    display: flex;
    gap: 20px;
  }
  .ahead__container__extras .network svg{
    width: 40px;
    height: 40px;
  }
  .ahead__container__extras .networks{
    gap: 10px;
  }
}
@media screen and (min-width: 1100px){
  .ahead__container{
    gap:40px;
  }
  .ahead__container__nav ul{
    gap: 30px;
  }
  .ahead__container__nav li.groups{
    margin: 0 20px;
  }
}
@media screen and (min-width: 1200px){
  .ahead__container{
    padding-top: 30px;
    padding-bottom: 30px;
    align-items: center;
  }
  .ahead__container__extras .mo2--link{
    font-size: 1.1rem !important;
    padding: 10px 15px !important;
  }
  .ahead__container__nav li.menu-item-has-children ul.sub-menu {
    top: calc(100% - 31px);
  }
  .ahead__container__nav li.groups{
    margin: 0 30px;
  }
}
@media screen and (min-width: 1400px){
  .ahead__container__nav ul{
    gap: 40px;
  }
  .ahead__container__nav ul li a{
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1500px){
  .ahead__container{
    gap:60px;
    width: unset;
    margin-left: 60px;
    margin-right: 60px;
  }
  .ahead__container__nav li.groups{
    margin: 0 40px;
  }
}
@media screen and (min-width: 1600px){
  .ahead__container__extras .network svg{
    width: 40px;
    height: 40px;
  }
}



/* ========================================================================== */
/* EN-TETE
/* ========================================================================== */

main{
  overflow: hidden;
  min-height: 50vh;
}
main > *{
  position:relative;
  /* z-index: 1; supprimé pour l'encart par dessus la galerie en single_page */
  margin-bottom: var(--spacer);
}
.home section{
  gap: 40px;
  z-index: 1;
}
.home section:first-child{
  padding-bottom: 0;
  padding-top: 20px;
}
.home-title{
  color: #000;
  font-family: 'MorningRitual';
  font-weight: normal;
  font-size: 4rem;
  line-height: .6;
}
@media screen and (min-width: 768px){
  .home section:first-child{
    padding-top: 40px;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 900px){
  .home section:first-child{
    padding-top: 20px;
  }
}
@media screen and (min-width: 1100px){
  .home section{
    gap: 60px;
  }
}
@media screen and (min-width: 1200px){
  .home section{
    gap: 80px;
  }
}
@media screen and (min-width: 1300px){
  .home section:first-child{
    padding-top: 30px;
  }
}
@media screen and (min-width: 1700px){
  .home section:first-child{
    padding-top: 60px;
  }
}







/* ========================================================================== */
/* EN-TETE : PAGES
/* ========================================================================== */
.page__header {
  position: relative;
  z-index: 1;
  background-color: #000;
  padding: 40px 0;
  transition: padding .3s;
}
.single-events .page__header {
  padding-bottom: unset;
}
.page__header:has(+ .single__gallery),
.page__header:has(+ .single__licenses){
  margin-bottom: unset;
}
.page__header__content{
  gap: 20px;
}
.page__header__cover{
  position: relative;
  z-index: 1;
  margin-top: 20px;
  gap: 0;
}

/* événement mis en avant */
.featured-event .page__header__cover::before{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  z-index: -1;
  border-top: 10px solid #afff00;
}
.featured-event .page__header__cover .banner{
  background-color: #afff00;
}
.featured-event .page__header__cover .banner .banner-text .scrolling-text{
  color: #000;
}

@media screen and (min-width: 768px){
  /*  */
  header:has(li.menu-item-has-children:hover) + main .page__header,
  header:has(li.menu-item-has-children:hover) + main .home__header{
    padding-top: 80px;
  }
  /* événement mis en avant */
  .featured-event .page__header__cover .fl-col{
    flex-direction: row;
  }
  .featured-event .page__header__cover .cover{
    flex: 1 1 calc(100% - 29px);
  }
}
@media screen and (min-width: 1200px){
  .page__header__content .date{
    font-size: 1.2rem !important;
  }
}





/* ========================================================================== */
/* EN-TETE : PAGE D'ACCUEIL
/* ========================================================================== */
.home__header{
  background-color: #000;
  transition: padding .3s;
}
.home__header::after{
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  background-color: white;
  height: 40px;
  bottom: 0;
  left: 0;
  right: 0;
}
.home__header > div{
  position: relative;
}
.home__header .page-title,
.home__header .activities-gallery{
  display: none;
}
.home__header .activities-list{
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  gap: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.home__header .activities-list .activity{
  position: relative;
  color: #000;
}
.home__header .activities-list .activity .activity__name{
  position: relative;
  padding: 0 20px 5px;
  text-transform: uppercase;
  font-size: 2.8rem;
  letter-spacing: 1px;
  font-weight: 800;
  background-color: #afff00;  
  clip-path: polygon(97% 8%, 100% 20%, 99% 90%, 97% 100%, 3% 93%, 0 75%, 2% 0);
}
.home__header .activities-list .activity .activity__action{
  display: none;
}

/* Tracé chemin SVG */
#home-path {
  fill: none;
  stroke:#ffd4ff;
  stroke-width:20;
  position: absolute;
  width: 200%;
  top: 90%;
  z-index: 10;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (min-width: 768px){
  .home__header::after{
    content: unset;
  }
  .home__header .activities-list{
    align-items: flex-start;
    left: 40px;
    right: unset;
    gap: 20px;
  }
  .home__header .activities-gallery{
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 280px;
    height: 375px;
    justify-content: flex-end;
  }
  .home__header .activities-gallery::before {
    content: '';
    display: block;
    position: absolute;
    border: 10px solid white;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: border-width .3s ease, opacity .3s ease ;
  }
  .home__header .activities-gallery.active::before{
    border-width: 0;
    opacity: 0;
    visibility: hidden;
  }
  .home__header .activities-gallery .polaroid{
    position: relative;
    z-index: 1;
    background-color: white;    
    justify-content: center;
    align-items: center;
    transition: background-color .3s ease;
    padding: 30px 10px;
  }
  .home__header .activities-gallery.active .polaroid{
    background-color: transparent;    
  }
  .home__header .activities-gallery .polaroid .tagline{
    display: block;
    position: relative;
    z-index: 1;
    transition: background-color .3s ease, color .3s ease ;
    transform: rotate(-3deg);
  }
  .home__header .activities-gallery .polaroid .tagline .morning{
    padding: 10px;
    font-size: 2.5rem;
  }
  .home__header .activities-gallery .polaroid .tagline::after{
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;  
    clip-path: polygon(calc(100% - 5px) 3px, 100% 12px, calc(100% - 2px) calc(100% - 10px), calc(100% - 5px) 100%, 5px calc(100% - 3px), 0 calc(100% - 15px), 3px 0); 
  }
  .home__header .activities-gallery .cover{
    margin: 0;
    position: absolute;
    z-index: -1;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .home__header .activities-gallery .cover img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }



  /* Tracé chemin SVG */
  #home-path {
    top: 80%;
  }

}
@media screen and (min-width: 900px){
  .home__header .activities-list .activity .activity__name{
    font-size: 4rem;
    clip-path:unset;
    background-color: unset;
    color: white;
    padding: 0 20px;
  }
  .home__header .activities-list .activity .activity__action{
    display: block;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    left: calc(100% - 15px);
    top: 60%;
    transform: rotate(-3deg);
    white-space: preserve nowrap;
    transition-duration: 0s;
    transition-delay: .1s
  }
  .home__header .activities-list .activity .activity__action .morning{
    color: white;
    font-size: 3.5rem;
    white-space: preserve nowrap;
    padding: 10px;
  }
  .home__header .activities-list .activity .activity__name::after,
  .home__header .activities-list .activity .activity__action::after{
    position: absolute;
    z-index: -1;
    content: "";
    display: block;
    background-color: transparent;  
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: clip-path .3s ease;
  }
  .home__header .activities-list .activity .activity__name::after{
    background-color: #afff00;  
    clip-path: polygon(0% 3px, 0% 12px, 0% calc(100% - 10px), 0% 100%, 0% 100%, 0 calc(100% - 15px), 0% 0);
  }
  .home__header .activities-list .activity .activity__action::after{
    background-color: #000;  
    transition: clip-path.3s ease, background-color .3s ease;
    clip-path: polygon(
    100% 4px, 
    100% 10px, 
    100% calc(100% - 3px), 
    100% calc(100% - 3px), 
    100% calc(100% - 3px), 
    100% 60%, 
    100% 5px
    )
  }
  .home__header .activities-list .activity.showoverlay .activity__name,
  .home__header .activities-list .activity .activity__action:hover .morning{
    color: #000;
  }
  .home__header .activities-list .activity.showoverlay .activity__action{
    opacity: 1;
    visibility: unset;
  }
  .home__header .activities-list .activity.showoverlay .activity__name::after{
    clip-path: polygon(calc(100% - 5px) 3px, 100% 12px, calc(100% - 2px) calc(100% - 10px), calc(100% - 5px) 100%, 5px calc(100% - 3px), 0 calc(100% - 15px), 3px 0);
  }
  .home__header .activities-list .activity.showoverlay .activity__action::after{
    clip-path: polygon(
    calc(100% - 5px) 4px, 
    100% 10px, 
    calc(100% - 2px) calc(100% - 1px), 
    80% 100%, 
    5px calc(100% - 3px), 
    0 60%, 
    5px 0
    )
  }
  .home__header .activities-list .activity .activity__action:hover::after{
    background-color: white;
  }
  .home__header .activities-gallery{
    right: 60px;
  }


  /* Tracé chemin SVG */
  #home-path {
    width: 125%;
  }
}
@media screen and (min-width: 1100px){
  .home__header .activities-list{
    left: 80px;
  }
  .home__header .activities-gallery .polaroid{
    padding: 40px 20px;
  }
  .home__header .activities-gallery .polaroid .tagline .morning{
    font-size: 3rem;
  }
  .home__header .activities-gallery{
    right: 80px;
    width: 330px;
    height: 440px;
  }
}
@media screen and (min-width: 1200px){
  .home__header .activities-gallery{
    width: 400px;
    height: 533px;
  }
  .home__header .activities-list .activity .activity__name{
    font-size: 4.5rem;
  }
  .home__header .activities-list .activity .activity__action .morning{
    font-size:4rem;
  }


  /* Tracé chemin SVG */
  #home-path {
    width: 105%;
  }
}
@media screen and (min-width: 1400px){
  .home__header .activities-list{
    left: 100px;
  }
  .home__header .activities-gallery{
    right: 100px;
  }
}
@media screen and (min-width: 1500px){
  .home__header .activities-list{
    left: 120px;
  }
  .home__header .activities-gallery{
    right: 120px;
    width: 450px;
    height: 600px;
  }
  .home__header .activities-list .activity .activity__name{
    font-size: 6rem;
  }
  .home__header .activities-list .activity .activity__action .morning{
    font-size:5rem;
  }
}
@media screen and (min-width: 1600px){
  .home__header .activities-gallery{
    width: 480px;
    height: 640px;
  }
}








/* ========================================================================== */
/* BANNIERE ANIMEE / AVANT la ligne de flottaison
/* ========================================================================== */
.banner{
  position: relative;
  width: 100%;
  height: 25px;
  background-color: #000;
  overflow: hidden;
  transition: background-color 0.2s ease;
}
.banner .banner-text {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
}
.banner .banner-text .scrolling-text {
  color: #afff00;
  position: absolute;
  font-weight: 800;
  width: 100%;
  height: 100%;
  bottom: 0;
  writing-mode: horizontal-tb;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  white-space: nowrap;
  transition: background-color .35s cubic-bezier(.645,.045,.355,1);
}
.banner .banner-text .scrolling-text span {
  display: inline-block;
  animation: loop-anim-horizontal 5s linear 0s infinite normal none running;
  padding: 0 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
}
@media screen and (min-width: 768px){
  .banner{
    width: 30px;
    height: 100%;
    order: 3;
  }
  .banner .banner-text {
    transform: rotate(-180deg);
  }
  .banner .banner-text .scrolling-text {
    writing-mode: vertical-rl;
  }
  .banner .banner-text .scrolling-text span {
    animation-name: loop-anim;
    padding: 20px 0;
  }
}
@keyframes loop-anim-horizontal {
  100% {
      transform: translate3d(100%,0,0);
  }
}
@keyframes loop-anim {
  100% {
      transform: translate3d(0,100%,0);
  }
}
@media screen and (min-width: 768px){
  .event:hover .banner{
    background-color: #afff00;
  }
  .event:hover .banner .banner-text .scrolling-text span {
    color: #000;
  }
}









/* ========================================================================== */
/* GALERIE D'IMAGES, utilisée dans toutes les pages / AVANT la ligne de flottaison
/* ========================================================================== */
/* single__gallery */
.single-events .single__gallery,
.single-activities .single__gallery{
  background-color: #000;
  /* z-index: -1; */
}
.single__gallery::before{
  content: '';
  display: block;
  position: absolute;
  background-color: white;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
}
.single-events .single__gallery{
  padding: var(--gap) 0;
}
.single-events .single__gallery::before{
  z-index: -10;
  top: calc(0px - var(--gap));
  left: 0;
  right: 0;
  bottom: 100%;
  background-color: #000;
}
.single__gallery__content {
  display: flex;
  --gap: 40px;
  gap: var(--gap);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 0;
}
.single__gallery__content figure.landscape {
  min-width: 450px;
}
.single__gallery__content figure.portrait {
  min-width: 210px;
}
.single__gallery__nav {
  /* display: none; */
  gap: 10px;
  margin-top: 20px;
}
.single__gallery__nav button {
 font-size: 0;
}
.single__gallery__nav button.hide {
 display: none;
}
.single__gallery__nav button[data-slider-prev] svg,
.single__gallery__nav button[data-slider-prev]::after {
 transform: rotate(180deg);
}
.single__gallery__nav button::after {
 background-color: #afff00;
}
.single__gallery__nav button:hover svg {
 fill: #000;
}
.single__gallery__nav button:hover::after {
 background-color: white
}
.single__gallery__nav button:disabled{
  opacity: .3;
  cursor:unset;
}
@media screen and (min-width: 768px){
  .single__gallery__content {
    margin-left: calc( calc(100% - var(--width-container)) / 2 );
  }
}
@media (min-width: 900px) and (pointer: fine) {
  /* gallery: On masque les scrollbars quand une souris est utilisée pour n'utiliser que les boutons de navigation */
  .single__gallery__content {
      overflow: hidden;
  }
}
@media screen and (min-width: 900px){
  .single__gallery__nav {
    display: flex;
  }
  .single__content + .single__gallery::before{
    content: none;
  }
}




/* ========================================================================== */
/* ARTICLES / AVANT la ligne de flottaison
/* ========================================================================== */
article.entry-content{
  max-width: var(--max-width-article);
  width: 100%;
  flex: 1 2 auto;
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4;
}
article.entry-content > *:first-child,
article.entry-content .wp-block-heading + p{
  margin-top: 0 !important;
}
article.entry-content > *:last-child{
  margin-bottom: 0 !important;
}
article.entry-content a:not(.wp-block-button__link){
  text-decoration: underline;
}
article.entry-content a:hover:not(.wp-block-button__link){
  color: #6B9C00;
}
article.entry-content p{
  margin-top: 20px;
}

article.entry-content > .wp-block-group{
  background-color: #ffd4ff;
  clip-path: polygon(
    calc(100% - 5px) 4px, 
    100% 10px, 
    calc(100% - 2px) calc(100% - 1px), 
    80% 100%, 
    5px calc(100% - 3px), 
    0 60%, 
    5px 0
    );
}

article.entry-content .wp-block-heading{
  color: #000;
  text-align: left;
}
article.entry-content h2.wp-block-heading{
  margin: var(--spacer) 0 calc(var(--gap) / 2) 0;
}
article.entry-content h3.wp-block-heading{
  margin: calc(var(--spacer) / 2) 0 calc(var(--spacer) / 4);
}
article.entry-content h2.wp-block-heading + h3.wp-block-heading{
  margin: 40px 0 20px;
}





/* ========================================================================== */
/* LICENCES / AVANT la ligne de flottaison
/* ========================================================================== */
.single__licenses {
  background-color: #000;
  color:white;
  gap: var(--gap);
  padding-bottom: var(--gap);
}


/* navigation */
.single__licenses__nav {
  gap: 40px;
}
.single__licenses__nav .tablinks {
  /* overflow: hidden; */
}


/* liste des licenses */
.single__licenses__content .tabcontent{
  gap: 0px !important;
  text-align: center;
}
.single__licenses__content .tabcontent:not(:first-child) {
  display: none;
}
.single__licenses__content .license{
  transition: all .3s;
  border: 1px solid #afff00;
  min-width: 270px;
}
.single__licenses__content .license:not(:first-child){
  border-top: unset
}
.single__licenses__content .license__infos{
  padding: 30px 20px 20px;
  flex: 1 0 auto;
}
.single__licenses__content .license__infos p{
  max-width: 400px;
  text-wrap: balance;
  margin-top: 20px;
  font-size: 1.2rem;
}
.single__licenses__content .license-title{
  color: #afff00;
  transform: rotate(-3deg);
  margin-bottom: 20px;
}
.single__licenses__content .license ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
.single__licenses__content .license ul li{
  font-size: 2.2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  line-height: 1;
  word-wrap: break-word;
}
.single__licenses__content .license ul li span{
  font-size: 1.5rem;
  line-height: .5;
}
.single__licenses__content .license__fede {
    text-align: center;
}
.single__licenses__content .license__fede::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background-color: #afff00;
  transform: translateX(-50%);
  margin-bottom: 20px;
}
.single__licenses__content .license__price{
  font-size: 1.5rem !important;
  font-weight: 600;
  letter-spacing: 1px;
  color: #000;
  margin: 20px 0;
}
.single__licenses__content .license:hover{
  background-color: #afff00;
}
.single__licenses__content .license:hover,
.single__licenses__content .license:hover h2{
  color: #000;
}
.single__licenses__content .license:hover .license__fede::before,
.single__licenses__content .license:hover .license__price{
  background-color: #000;
}
.single__licenses__content .license:hover .license__price{
  color: #afff00;
}



/* note et button */
.single__licenses .note {
  font-size: 1.1rem;
  font-style: italic;
  margin-bottom: 40px;
  text-align: center;
}

@media screen and (min-width: 900px){
  /* liste des licenses */
  .single__licenses__content .tabcontent{
    flex-direction: row;
    gap: var(--gap) 0px ;
    flex-wrap: wrap;
    justify-content: center;
  }
  .single__licenses__content .license{
    align-content: stretch;
    max-width: calc(100% / var(--license-items));
    border: 1px solid #afff00 !important;
  }
  .single__licenses__content .license__infos{
    width: 100%;
  }
}
@media screen and (min-width: 1366px){
  /* liste des licenses */
  .single__licenses__content .license{
    border-top: 1px solid #afff00 !important;
  }
}
@media screen and (min-width: 1400px){
  /* liste des licenses */
  .single__licenses__content .license__infos{
    padding: 30px 30px 20px;
  }
  .single__licenses__content .license__price{
    margin-bottom: 30px;
  }
}




/* ========================================================================== */
/* ACTIVITES / AVANT la ligne de flottaison
/* ========================================================================== */
.single-activities .single__content{
  gap: var(--spacer);
}
@media screen and (min-width:768px){
  .single-activities .single__content .buttons{
    gap: var(--gap);
    flex-direction: row;
  }
}

/* ========================================================================== */
/* ARCHIVES EVENEMENTS / AVANT la ligne de flottaison
/* ========================================================================== */
.archive-grid{
  gap: var(--spacer);
  margin-bottom: calc(var(--spacer) * 2);
}



/* ========================================================================== */
/* PAGE D'ACCUEIL / APRES la ligne de flottaison
/* ========================================================================== */

/* events */
.events-list{
  width: 100%;
  gap: 60px;
}
.event{
  gap: 0;
  background-color: #000;
  position: relative;
  z-index: 1;
  transition: background-color .6s ease;
}
.event__content{
  padding: 20px;
  gap: 30px;
}
.event .content-header .title{
  margin: 10px 0;
  font-size: 2rem;
  font-weight: 800;
}
.event a:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.event .cat span:first-child{
  padding-right: 10px;
}
.event .content-header .cat .trail{
  display: none;
}
.event .event__cover img{
  width: 100%;
}


/* featured event */
.event.featured-event{
  background-color: #afff00;
}
.event.featured-event .event__content{
  padding-bottom: 0;
}
.event.featured-event .date{
  color: #afff00;
  background-color: #000;
}
.event.featured-event .title{
  font-size: 2.4rem;
  color: #000;
}
.event.featured-event .cat span:first-child{
  color: #000;
}
.event.featured-event .sponsors-list{
  background-color: white;
  clip-path: polygon(calc(100% - 20px) 3px, 100% 18px, calc(100% - 2px) calc(100% + 1px), 2px calc(100% + 1px), 0 55%, 5px 0); 
  padding: 20px 30px 10px;
  /* padding-bottom: 0 !important; */
}



/* sponsors & partenaires */
.sponsors-list,
.partners-list{
  gap: 20px 30px;
  flex-wrap: wrap;
  /* align-items: center; */
}
.sponsors-list .portrait,
.partners-list .portrait{
  max-width: 100px;
}
.sponsors-list .landscape,
.partners-list .landscape{
  max-width: 150px;
}
.partners-list {
  /* align-items: center; */
}
.sponsors-list{
  /* gap: 10px; */
}
.sponsors-list img{
  /* max-width: 120px; */
  /* max-height: 100px; */
}


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

  /* classic events */
  .event:not(.featured-event) .event__content{
    height: 100%;
  }
  .event:not(.featured-event) .content-header{
    width: 100%;
    height: 100%;
  }

  /* featured event */
  .event.featured-event{
    flex: 1 1 100%;
    gap: 0 !important;
  }
  .event.featured-event .banner{
    order: 3;
  }
  .event.featured-event .event__cover{
    width: calc(50% - 30px);
    order: 1;
  }
  .event.featured-event .event__cover picture{
    width: 100%;
    height: 100%;
  }
  .event.featured-event .event__cover img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .event.featured-event .event__content{
    order: 2;
    justify-content: center;
    padding: 0 20px;
    width: 50%;
    margin-top: 20px;
  }
  .event.featured-event .event__content .content-header{
    margin: auto 0;
  }
  /* .event.featured-event .sponsors-list picture{
    text-align: center;
  } */


  /* event : hover comportements */
  .event:hover{
    background-color: #afff00;
  }
  .event:hover .title,
  .event:hover .cat span:first-child{
    color: #000;
  }
  .event:hover .date{
    color: #afff00;
    background-color: #000;
  }




  /* featured event : hover comportements */
  .event.featured-event:hover{
    background-color: #000;
  }
  .event.featured-event:hover .date{
    color: #000;
    background-color: #afff00;
  }
  .event.featured-event:hover .title,
  .event.featured-event:hover .cat span:first-child{
    color: #afff00;
  }

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

  /* classic events */
  .event:not(.featured-event) .event__content{
    align-items: stretch
  }
  .event:not(.featured-event) .content-header{
    align-items: flex-start;
  }
  .event:not(.featured-event) .title{
    text-align: left;
  }

  /* sponsors & partenaires */
  .partners-list {
    /* gap: 20px 60px; */
  }
  .sponsors-list{
    /* gap: 20px;  */
    /* flex-direction: row;
    justify-content: center;
    align-self: center; */
  }


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

  /* classic events */
  .event:not(.featured-event) .content-header .cat{
    margin-top: auto;
    align-self: stretch;
  }
  .event:not(.featured-event) .content-header .cat .trail{
    display: flex;
  }


  /* featured events */
  .event.featured-event .sponsors-list{
    flex-direction: row;
    padding: 10px 30px;
  }



  /* all events */
  .event .cat span:first-child{
    font-size: 3rem;
  }

  /* sponsors & partenaires */
  .sponsors-list,
  .partners-list{
    gap: 20px 40px;
  }

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

  /* all events */
  .events-list{
    --gap:100px;
    row-gap: 80px !important;
  }
  .archive__grid .events-list{
    /* --gap: 60px; */
    /* row-gap: 80px; */
  }

  .event .event__content{
    margin-top: 0 !important;
  }



  /* classic events */
  .event:not(.featured-event) .event__content{
    padding: 30px;
  }
  .event:not(.featured-event) .title{
    margin: 15px 0;
    font-size: 2.4rem;
  }

  /* featured event */
  .event.featured-event .event__content{
    padding: 0 40px;
    gap: 0;
  }
  .event.featured-event .title{
    font-size: 2.7rem;
  }
  .event.featured-event .cat span:first-child{
    font-size: 3.5rem;
  }
  .event.featured-event .sponsors-list{
    padding: 10px 30px;
  }

  /* sponsors & partenaires */
  .sponsors-list.major{
    gap: 40px;
  }
  .sponsors-list.major .portrait{
    max-width: 150px;
  }
  .sponsors-list.major .landscape{
    max-width: 200px;
  }


}

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

  /* featured event */
  .event.featured-event .title{
    margin: 20px 0;
  }
}

@media screen and (min-width: 1500px){
  /* events */
  .home .events-list{
    --gap:140px;
  }


  /* classic events */
  .event:not(.featured-event) .title{
    font-size: 2.6rem;
  }
  .event:not(.featured-event) .cat span:first-child{
    font-size: 3.5rem;
  }

  /* featured event */
  .event.featured-event .title{
    font-size: 3.2rem;
  }
  .event.featured-event .cat span:first-child{
    font-size: 4rem;
  }
}









/* ========================================================================== */
/* GRILLE, utilisée pour les activités et les événements / APRES la ligne de flottaison
/* +
/* TELECHARGEMENTS, utilisé dans toutes les pages / APRES la ligne de flottaison
/* ========================================================================== */

/* Grille */
.grid-content {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
.grid-content:has(+ .single__gallery){
  margin-bottom: unset;
}
.grid-content aside{
  gap: calc(var(--gap) / 2);
}


/* informations de la grille*/
.grid-content .informations{
  gap: 20px;
  padding: 30px 20px;
  background-color: #afff00;
  clip-path: polygon(5px calc(100% - 3px), 0 60%, 5px 0, calc(100% - 5px) 4px, 100% 10px, calc(100% - 2px) 100%, 80% 100% );
  text-align: center;
}
.grid-content .informations .info:not(:first-of-type)::before{
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background-color: white;
  transform: translateX(-50%);
  margin-bottom: 20px;
}


/* Téléchargements */
.single__downloads{
  margin-bottom: 0;
  margin-top: calc(var(--gap) / 2);
}
.single__downloads__content{
  padding: 30px 20px;
  background-color: #ffd4ff;
  clip-path: polygon(
    calc(100% - 5px) 0, 
    100% 60%, 
    calc(100% - 5px) calc(100% - 3px), 
    5px calc(100% - 4px),
    0  calc(100% - 10px),
    2px 0, 
    20% 0%
    );
}
.wp-singular.page .single__downloads__content{
  margin-top: 60px;
}
.single__downloads__content .file{
  text-align: left;
  padding-right: 20px;
  margin-bottom: 10px;
}
.single__downloads__content .file:last-child{
  margin-bottom: 0;
}

@media screen and (min-width: 768px){
  /* grille */
  .grid-content {
    align-items: center;
  }
  .grid-content article.entry-content {
    margin-left: unset;
    margin-right: unset;
  }


  /* informations de la grille */
  .grid-content .informations{
    min-width: 300px;
    max-width: 350px;
  }


  /* Téléchargements */
  .single__downloads__content{
    margin-top: unset;
    flex: 2 1 auto;
    align-items: flex-start;
  }
}


@media screen and (min-width: 900px){
  /* grille */
  .grid-content {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  .grid-content:has(+ .single__downloads),
  .grid-content:has(+ .single__gallery) {
    margin-bottom: var(--spacer);
  }
  .grid-content aside {
    max-width: 350px;
    flex: 1 1 auto;
  }
}
@media screen and (min-width: 1100px){

  /* Téléchargement et Informations de la grille */
  .single__informations .info,
  .single__downloads__content{
    padding: 40px;
  }
  .single__downloads__content{
    max-width: var(--max-width-article);
  }
  .single__downloads__content .file{
    margin-bottom: 10px;
  }
  .single__informations {
    width: calc( calc(var(--width-container) - var(--gap) -  var(--max-width-article)));
    max-width: 350px;
  }

}







/* ========================================================================== */
/* PAGE D'ACCUEIL : presentation & partenaires / APRES ligne de flottaison
/* ========================================================================== */
.home__presentation{
  background-color: #ffd4ff;
  padding: 40px 20px;
  gap: 40px !important;
}
.home__presentation__content{
  text-align: center;
  max-width: 800px;
}
.home__presentation__content p:first-child{
  margin-top: 0;
}
.home__presentation__partners{
  gap: 20px;
}
.home__presentation__links{
  gap: 10px;
}

@media screen and (min-width: 768px){
  .home__presentation{
    padding: 40px;
  }
  .home__presentation__partners,
  .home__presentation__links{
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 40px;
  }
  .home__partners{
    background-color: white;
    margin-bottom: 0;
    padding-bottom: var(--spacer);
  }
  .home__partners::after{
    content: '';
    display: block;
    position: absolute;
    top:calc(var(--spacer) * -1);
    bottom: 99%;
    left: 0;
    right: 0;
    background-color: white;
    z-index: -1;
  }


}
@media screen and (min-width: 900px){
  .home__presentation__partners{
    gap: 10px 60px;
  }
}
@media screen and (min-width: 1100px){
  .home__partners{
    padding-bottom: 100px;
    margin-bottom: unset !important;
  }
}
@media screen and (min-width: 1400px){
  .home__presentation{
    padding: 60px;
  }
}













/* ========================================================================== */
/* PIED DE PAGE
/* ========================================================================== */
footer{
  z-index: 1;
  position: relative;
  background-color: #000;
  color: white;
  padding-top: 40px;
  padding-bottom: 20px;
  margin-top: var(--spacer);
}
footer .footer__relief{
  padding: unset;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  right: 0;
}
footer .footer__relief svg{
  position: relative;
  fill: #000;
  width: 100%;
  display: block;
}
footer .footer__contact{
  gap: 20px;
  font-size: 1.1rem;
}
footer .logo{
  flex-wrap: wrap;
  gap: 5px 10px;
}
footer .logo .logo-mo2{
  width: 140px;
  height: 64px;
  flex: 1 1 100%;
}
footer .address{
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 20px;
  font-weight: 300;
}
footer .address span:nth-child(2):before{
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  background-color: #afff00;
  margin: 0 10px 3px -10px;
}
footer .extras{
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
footer .extras .mo2--link {
  padding: 13px 18px;
  text-transform: unset;
  letter-spacing: 0;
  font-weight: 500;
}
footer .extras .network::after {
  background-color: #afff00;
}
footer .extras .network:hover::after {
  background-color: transparent;
}
.footer__texts{
  margin-top: 20px;
  padding-top: 20px;
  color: #6B9C00;
  font-size: .9rem;
  gap: 20px;
}
footer .legals,
footer .copyrights{
  gap: 5px;
}
footer .legals a:hover,
footer .copyrights a:hover{
  color: #afff00;
}

@media screen and (min-width: 768px){
  footer .logo{
    flex: 1 1 100%;
  }
  footer .address span:nth-child(3):before{
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    background-color: #afff00;
    margin: 0 10px 3px -10px;
  }
  .footer__texts{
    gap: 10px;
  }
  footer .extras{
    gap: 20px;
  }
  footer .extras a:first-child {
    order: 1;
  }
  footer .extras a:nth-child(2) {
    order: 3;
  }
  footer .extras a:last-child {
    order: 2;
  }
  footer .address .sep:nth-child(4){
    display: block;
  }
  footer .legals,
  footer .copyrights{
    flex-direction: row;
    justify-content: center;
    gap: 40px;
  }
}
@media screen and (min-width: 1100px){
  footer .footer__contact{
    gap: 20px 80px;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
  }
  .footer__texts{
    flex-direction: row;
    justify-content: space-between;
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (min-width: 1200px){
  footer .footer__contact{
    font-size: 1.2rem;
  }
  footer .extras .email {
    padding: 13px 20px;
    font-size: 1.3rem;
  }
}


/* ========================================================================== */
/* NAVIGATION TELEPHONE (SUITE) : éléments non visibles par défaut
/* ========================================================================== */
.ahead__mobilecontainer,
.mobile__club__menu {
  z-index: 900;
  width: 100%;
	transition: height .3s, opacity .3s;
  background-color: #000;
}

.ahead__mobilecontainer__nav,
.ahead__mobilecontainer__extras{
  margin-top: auto;
  text-align: center;
}
.ahead__mobilecontainer__nav > ul > li::before{
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  background-color: #afff00;
  margin-bottom: 5px;
}
.ahead__mobilecontainer__nav > ul > li:first-of-type:before{
  content: none;
}
.ahead__mobilecontainer__nav li.menu-item-has-children > a {
  display: none;
}
.ahead__mobilecontainer__nav li.menu-item-has-children ul.sub-menu {
  gap: 0;
}
.ahead__mobilecontainer__nav li.menu-item-has-children ul.sub-menu a {
  font-size: 1.4rem;
  padding: 15px;
}
.ahead__mobilecontainer__extras{
  gap: 20px;
  margin-bottom: 30px;
}
.ahead__mobilecontainer__extras .networks{
  gap: 20px;
}
.ahead__mobilecontainer__nav li.current-menu-item a,
.ahead__mobilecontainer__nav li a:hover,
.ahead__mobilecontainer__nav li a:focus{
  color: #afff00;
} 
.navopened .ahead__mobilecontainer,
.teamnavopened .mobile__club__menu{
  height: calc(100dvh - 70px);
  opacity: 1;
  visibility: visible;
}

.mobile__club__menu{
  background-color: #ffd4ff;
}
.mobile__club__menu__nav{
  margin: auto 0;
  gap: 40px;
}
.mobile__club__menu__nav ul:last-child{
  font-size: 1.1rem;
}
.mobile__club__menu__nav ul li a{
  color: #000;
}
.mobile__club__menu__nav li.current-menu-item a, 
.mobile__club__menu__nav li a:hover{
    color: #AF4D98;
}


/* ========================================================================== */
/* LES ANIMATIONS
/* ========================================================================== */
.trans {
	transition: all .3s;
}








/* ========================================================================== */
/* forms */
/* ========================================================================== */
main:has(.formbox ) .page__header,
main.club .page__header{
  margin-bottom: 60px;
}
.single__content.register .formbox.validation .result{
  gap: 10px;
}
.single__content.register .formbox.validation .result span.name{
  font-family: 'MorningRitual';
  font-size: 4rem;
  line-height: .8;
}
.single__content.register .formbox.validation .result span.price{
  font-size: 2.5rem;
  font-weight: 800;
}

@media screen and (min-width: 900px){
  .single__content.register .formbox{
    align-self: center;
  }
}



/* formbox
================================== */
.formbox{
  gap: 40px;
}
.formbox .notice{
  max-width: var(--max-width-article);
}
.formbox div[class^="notice-"]{
	padding: 15px;
	text-align: center;
  background-color: #6B9C00;
  color: white;
  border-radius: 5px;
}


/* mo2form
================================== */
.mo2form{
  gap: var(--gap);
  width: 100%;
}
.mo2form .title{
  align-self: flex-start;
  margin-bottom: 40px;
}
.mo2form .group:last-child{
  width: 100%;
  justify-content: flex-end;
  gap: 20px;
}
.mo2form .subgroup{
  gap: 20px;
  margin-bottom: 40px;
}
.mo2form .subgroup:last-child{
  margin-bottom: unset;
}
.mo2form .subgroup .field + .title{
  margin-top: 40px;
}
.mo2form .subgroup .field{
  gap: 10px;
}
.mo2form span.note{
  font-size: 1.1rem;
  font-style: italic;
  display: block;
}
.mo2form label{
  cursor: pointer;
}
.mo2form input{
  margin: 0;
  padding: 10px;
  background-color: white;
  border: 1px solid #000;
  border-radius: 5px;
}
.mo2form input[type="radio"],
.mo2form input[type="checkbox"] {
	appearance: none;
	width: 15px;
	height: 15px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid #000;
	background-color: white;
  cursor: pointer;
  margin-right: 5px;
}
.mo2form input[type="radio"]:checked,
.mo2form input[type="checkbox"]:checked {
	background-color: #000;
  border-color: transparent;
}
.mo2form .choicelist{
  gap: 20px;
  align-items: flex-start;
  justify-content: flex-start;
}
.mo2form .choicebox{
    padding: 10px;
    border: 1px solid;
    background-color: white;
    border-radius: 5px;
    align-items: center;
    gap: 20px;
    transition: all ease .3s;
}
.mo2form .choicebox:hover input,
.mo2form .choicebox:has(input:checked) {
    background-color: #afff00;
}
.mo2form textarea{
  padding: 10px;
  border: 1px solid #000;
  border-radius: 5px;
  resize: none;
  width: 100%;
}
.mo2form a.file{
  font-size: 1.2rem;
  color: #6B9C00;
  text-decoration: underline;
}
.mo2form a.file:hover{
  color: #000;
}
.mo2form button[type="submit"] {

  
}


.mo2form button[type="submit"].outline {

  
}
.mo2form button[type="submit"].outline:hover{

}
@media screen and (min-width: 768px){
  .mo2form {
    width: var(--max-width-article);
  }
  .mo2form .fl-col--row{
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }
  .mo2form .field.fl-col--row > :first-child{
    flex : 0 0 250px
  }
  .mo2form .field.fl-col--row > :last-child{
    flex : 1 1 auto;
  }
  .mo2form .choicebox{
      padding: 20px;
  }

}





/* les onglets : tabsbox
================================== */
.tabsbox {
  gap: 20px;
  justify-content: stretch;
}
.tabsbox:first-child{
  margin-bottom: var(--spacer);
}
.tabsbox .tab {
  cursor: pointer;
  flex: 1 1 auto;  
  border-radius: 5px;
  border: 1px solid #000;
  padding: 20px;
  text-transform: uppercase;
  font-size: 1.1rem;
  font-weight: 600;
  transition: all ease .3s;
}
.tabsbox .tab:hover,
.tabsbox .tab.active{
  background-color: #000;
  color: white;
}
/* Pour les navigateurs supportant :focus-visible */
@supports selector(:focus-visible){
  /* :focus-visible, pour les utilisations de claviers uniquement */
  .tabsbox .tab:has(input:focus-visible){
    outline-color:#AF4D98;
    outline-offset:0.2rem;
    outline-style:solid;
    outline-width:3px;  
    background-color: #000;
    color: white;
  }
}
.tabsbox .tab input{
  width: 0;
  height: 0;
  border: transparent;
}
.tabsbox .tab input:focus{
  outline: none;
}
@media screen and (min-width: 768px){
  .tabsbox {
    flex-direction: row;
  }
}







/* registerform : concerne les formulaires d'inscription, de renouvellement et de modification
================================== */
.registerform .license-cat-container{
  gap: 20px;
}
.registerform .license-fede-container{
  gap: 10px;
}
.registerform .license-fede-container:has(> :nth-child(2)){
  padding: 10px;
  border: 1px solid ;
  border-radius: 5px;
}
.registerform .license{

  
}
.registerform .license input{
  flex:0 0 auto;
}
.registerform .license-content{
  flex: 1 1 auto;
  gap: 10px;
}
.registerform .license-content :first-child{
  text-transform: uppercase;
  flex: 0 0 auto;
}
.registerform .license-content :nth-child(2){
  flex: 0 1 auto;
  font-style: italic;
  font-size: 1.1rem;
  align-items: baseline;
}
.registerform .UFOLEP .license:hover input{
  background-color: #FF0F80;
}
.registerform .FFME .license:hover input{
  background-color: #3B60E4;
}
.registerform .FFRP .license:hover input{
  background-color: #FF6803;
}
.registerform .UFOLEP{
    border-color: #FF0F80 ;
    color: #FF0F80;
}
.registerform .UFOLEP input{
    border-color: #FF0F80;
}
.registerform .FFME{
    border-color: #3B60E4 ;
    color: #3B60E4;
}
.registerform .FFME input{
    border-color: #3B60E4;
}
.registerform .FFRP{
    border-color: #FF6803 ;
    color: #FF6803;
}
.registerform .FFRP input{
    border-color: #FF6803;
}
.registerform .UFOLEP input:checked,
.registerform .FFME input:checked,
.registerform .FFRP input:checked{
  background-color: transparent;
}
.registerform .UFOLEP .license:has(input:checked){
  background-color: #FF0F80;
}
.registerform .FFME .license:has(input:checked){
  background-color: #3B60E4;
}
.registerform .FFRP .license:has(input:checked){
  background-color: #FF6803;
}
.registerform .license:has(input:checked){
  color: white;
}
.registerform .license:has(input:checked):hover input{
  color: transparent;
}
@media screen and (min-width: 768px){
  .registerform .license-content{
    flex-direction: row ;
    align-items: center;
    gap: 20px;
  }
  .registerform .license-content :last-child{
    margin-left: auto;
    flex: 0 0 auto;
  }
}














/* searchuserform
================================== */

.searchuserformbox{
  gap: unset;
}
.searchuserform {
  border-radius: 5px;
  border: 1px solid black;
  padding: 20px;
  gap: 20px;

}
.checkuserform{
  gap: 20px;
}





/* loginformbox
================================== */
.loginformbox{
  padding: 20px;
  border: 1px solid #000;
  border-radius: 5px;
}
.loginformbox #loginform{
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
.loginformbox #loginform p:first-child{
  margin-top: 0;
}
.loginformbox #loginform .login-username,
.loginformbox #loginform .login-password{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.loginformbox input{
  margin: 0;
  padding: 10px;
  background-color: white;
  border: 1px solid #000;
  border-radius: 5px;
}
.loginformbox label{
  font-size: 1.2rem;
}
.loginformbox .choicebox{
  gap: 20px;
  align-items: flex-start;
  justify-content: flex-start;
}
.loginformbox input[type="checkbox"] {
	appearance: none;
	width: 15px;
	height: 15px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid #000;
	background-color: white;
  cursor: pointer;
  margin-right: 5px;
}
.loginformbox input[type="checkbox"]:checked {
	background-color: #000;
  border-color: transparent;
}
.loginformbox #loginform .login-submit {
	align-self: flex-end;
	position: relative;
	cursor: pointer;
}
.loginformbox input[type="submit"] {
  border: 1px solid #000;
  border-radius: 5px;
  padding: 10px 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.1rem;
  background-color: #000;
  color: white;
  font-weight: 600;
  transition: all .3s ease;
}
.loginformbox input[type="submit"]:hover{
  background-color: transparent;
  color: #000;
}
@media screen and (min-width: 768px){
  .loginformbox{
    width: 500px;
    padding: 40px;
  }
}



/* ========================================================================== */
/* PAGES CLUB PRIVEES
/* ========================================================================== */
main.club h1 + span.age{
  font-size: 1.5rem;
  font-weight: 600;
  color: #afff00;
}


/* filters box + resultsbox
================================== */
.filtersbox {
  display: none;
  border: 1px solid #85719A;
  border-radius: 5px;
} 
.filtersbox__content{
  padding: 20px;
}
.filtersbox__content .mo2form{
  width: unset;
}
.filtersbox.opened {
  display: block;
}
.filterform{
  font-size: 1.2rem;
  gap: 20px;
  align-items: flex-start;
}
.filterform .subgroup{
  gap: 10px;
  margin-bottom: unset;
}
.filterform .group.fl-col--row{
  flex-wrap: wrap;
  row-gap: 20px;
  column-gap: 80px;
  justify-content: flex-start;
  align-items: flex-start;
}
.filterform .subtitle{
  color: #85719A;
}
.filterform .choice-box{
  gap: 20px;
  flex-wrap: wrap;
  row-gap: 5px;
}
.filterform button{
  background-color: #85719A;
  border-color: #85719A;
}
.optionsbox{
  margin: 40px 0 10px;
  justify-content: space-between;
}


.resultsbox{
  font-size: 1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 40px;
  justify-content: space-between;
}
.resultsbox .emailsbtn{
  cursor: pointer;
}
@media screen and (min-width: 768px){
  .filterform{
    flex-direction: row;
  }
  .filterform button{
    align-self: flex-end;
  }
}



/* club user list
================================== */
.club_users_list{
}
.club_users_list .row_user{
  border:1px solid #d8d3e1;
  border-radius: 5px;
  margin-bottom: 20px;
  overflow: hidden;
}
.club_users_list .row_user:last-of-type{
  margin-bottom: 0;
}
.club_users_list .generals{
  flex-wrap: wrap;
  cursor: pointer;
  align-items: baseline;
  padding: 15px;
  row-gap: 5px;
  column-gap: 20px;
  justify-content: space-between;
}
.club_users_list .generals .displayname{
  width: 100%;
  gap: 5px;
  align-items: baseline;
  flex-wrap: wrap;
}
.club_users_list .generals .displayname .highlightpoint{
  border-radius: 14px;
  height: 14px;
  width: 14px;
  margin-right: 4px;
  border: 3px solid;
  background-color: #afff00;
  border-color: #ECFFC2;
}
.club_users_list .generals .displayname .firstname,
.club_users_list .generals .displayname .lastname{
  font-size: 1.5rem;
}
.club_users_list .generals .displayname .firstname{
  text-transform: uppercase;
  font-weight: 600;
}
.club_users_list .generals .displayname .lastname{
  margin-right: 15px;
}
.club_users_list .generals .displayname .age{
  font-size: 1rem;
  color: #85719A;
}
.club_users_list .generals .license{
  align-items: baseline;
  text-transform: uppercase;
  font-size: 1rem;
  flex-wrap: wrap;
  row-gap: 5px;
  column-gap: 10px;
}
.club_users_list .generals .license .license-name{
  gap: 10px;
}
.club_users_list .generals .license .license-name span {
  letter-spacing: 1px;
  position: relative;
  z-index: 1;
  border-radius: 5px;
  padding: 2px 8px;
  border: 1px solid;
  border-color: #000;
}
.club_users_list .generals .license .license-status{
  background-color: #afff00;
  font-style: italic;
  color: #000;
  padding: 2px 10px;
  margin-left: -1px;
  font-weight: 600;
}
.club_users_list .generals .license .license-family{
  font-style: italic;
  text-transform:none;
  font-size: 1.1rem;
}
.club_users_list .generals .card{
  font-size: 1.1rem;
}
.club_users_list .row_user.done .license-name{
  color: white;
}
.club_users_list .row_user.done .license-name span.ffme{
  border-color: #3B60E4;
  background-color: #3B60E4;
}
.club_users_list .row_user.done .license-name span.ufolep{
  border-color: #FF0F80;
  background-color: #FF0F80;
}
.club_users_list .row_user.done .license-name span.ffrp{
  border-color: #FF6803;
  background-color: #FF6803;
}
.club_users_list .generals .displayname .bullets{
  align-self: stretch;
  justify-content: center;
  gap: 5px;
}
.club_users_list .generals .displayname .bullets span{
  border-radius: 10px;
  height: 10px;
  width: 10px;
  margin-right: 4px;
  background-color: #afff00;
}
.club_users_list .generals .displayname .bullets span.ffme{
  background-color: #3B60E4;
}
.club_users_list .generals .displayname .bullets span.ufolep{
  background-color: #FF0F80;
}
.club_users_list .generals .displayname .bullets span.ffrp{
  background-color: #FF6803;
}
.club_users_list .row_user.empty{
  color: #85719A;
}
.club_users_list .details{
  display: none;
	text-align: left;
	overflow: hidden;
  box-sizing:content-box;
}
.club_users_list .details_min{
  box-sizing: border-box;
  font-size: 1.1rem;
}
.club_users_list .details_min .group{
  gap: 10px;
  border-bottom: 1px solid #000;
  padding: 15px;
}
.club_users_list .details_min .group.infos{
  flex: 1 1 40%;
}
.club_users_list .details_min .group.license{
  flex: 1 1 30%;
}
.club_users_list .details_min .group span:first-child{
  color: #85719A;
  font-size: 1rem;
  flex: 0 0 100px;
}
.club_users_list .details_prop{
  justify-content: space-between;
  align-items:center;
}
.club_users_list .details_prop .timestamp{
  text-transform: uppercase;
  font-size: .9rem;
  color: #000;
  padding-left: 15px;
}
.club_users_list .modify{
  background-color: #afff00;
  padding: 15px;
  border-left: 1px solid #000;
  font-size: 1.1rem;
}
.club_users_list .modify:hover{
  background-color: #000;
  color: white;
}
.club_users_list .row_user.active{
  border: 1px solid #000;
}
.club_users_list .row_user.active .generals{
  background-color: #afff00;
  border-radius: 5px 5px 0 0;	
}
.club_users_list .row_user.active .firstname,
.club_users_list .row_user.active .lastname,
.club_users_list .row_user.active .age,
.club_users_list .row_user.active .card{
  color: #000;
}
.club_users_list .row_user.active .license .license-status{
	background-color: #000;
  color: #afff00;
}
.club_users_list .row_user.active .details_content{
	border-top:1px solid #000;
}
@media screen and (min-width: 768px){
  .club_users_list .details_prop .timestamp{
    flex-direction: row;
    gap: 5px;
  }

}
@media screen and (min-width: 900px){
  .club_users_list .generals{
    display: grid;
    grid-template-columns: [first] 1fr [line2] 1fr [line3] 110px [end];
    align-items: center;
  }
  .club_users_list .details_min{
    flex-direction: row;
  }
  .club_users_list .details_min .group:first-child{
    border-right: 1px solid #000;
  }
}
@media screen and (min-width: 1200px){
  .club_users_list .details_min .group span:first-child{
    flex: 0 0 160px;
  }
}






















/* ========================================================================== */
/* get_search_member */
/* ========================================================================== */
.get_search_member:has(*){
  background-color: #afff00;
  gap: 20px;
  border-radius: 5px;
  border: 1px solid black;
  border-top: unset;
  padding: 20px;
  flex-wrap: wrap;
}
.get_search_member .row-user{
  border: 1px solid #000;
  background-color: white;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 1rem;
  text-transform: uppercase;
}
.get_search_member .row-user:hover{
  background-color: #000;
  color: white;
}
@media screen and (min-width: 768px){
  .get_search_member {
    width: var(--max-width-article);
  }
}



/* ========================================================================== */
/* club menu */
/* ========================================================================== */
.club__menu{
  display: none;
  background-color: #ffd4ff;
}
.club__menu__content{
  width: 100%;
  align-items: flex-end;
}
.club__nav ul{
  margin: 0;
  padding: 0;
  gap: 0;
  justify-content: flex-end;
}
.club__nav ul li a{
  font-size: .9rem;
  font-weight: 400;
  color: #000;
  letter-spacing: unset;
}
.club__nav ul.user-menu li:first-child{
  border-left: 1px solid #000;
}
@media screen and (min-width: 900px){
  .club__menu{
    display: flex;
  }
  .club__nav li.current-menu-item{
    background-color: #000;
  }
  .club__nav li.current-menu-item a,
  .club__nav li a:hover,
  .club__nav li a:focus{
    color: white;
  }
}
@media screen and (min-width: 1500px){
  .club__menu__content {
      width: 100%;
      margin-left: 60px;
      margin-right: 60px;
  }
}





/* ========================================================================== */
/* Copy popup */
/* ========================================================================== */
/* .copybox{
	position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background-color: #ffd4ff;
}
.copybox .copybox-notice{
  margin: 0 auto;
  width: 100%;
  display: block;
	padding: 15px 100px;
	text-align: center;
}
.copybox .copybox-notice::before{
  content: '';
  display: block;
	position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 0;
  background-color: #000;
  transition: width 3s ease-in;
}
.copybox.active .copybox-notice::before{
  width: 100%; 
}
@media screen and (min-width: 768px){
  .copybox .copybox-notice{
    width: var(--max-width-article);
  }
} */

.copybox{
	position: fixed;
  z-index: 999;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 430px;
  overflow: hidden;
  border-radius: 5px;
}
.copybox .copybox-notice{
  display: block;
	padding: 15px 100px;
	text-align: center;
  background-color: #001716;
  color: white;
}
.copybox .copybox-notice::after{
  content: '';
  display: block;
	position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 0;
  background-color: #b8ee02;
  transition: width 3s ease-in;
}
.copybox.active .copybox-notice::after{
  width: 100%; 
}