/** PERSONALISATION CLIENT **/

:root {
  --couleur1: #007aff;
  --couleur2: #fbbb4e;
  --txtSurCouleur1: white;
  --couleurFond1: #f7ebd2;
  --couleurFond2: #d8eaff;
}

.epidosi-EpiF {
}

.leon-fP87 {
  --couleur1: #e31b18;
  --couleur2: #244ab0;
  --txtSurCouleur1: white;
  --couleurFond1: #f0ece4;
  --couleurFond2: #fae6e6;
}

.coopu-G4n7 {
  --couleur1: #e31b18;
  --couleur2: #007aa5;
  --txtSurCouleur1: white;
  --couleurFond1: #c6e5e9;
  --couleurFond2: #f5f4f2;
}

/** FIN DE PERSONNALISATION **/

.col:has(#choixDejaFait), .col:has(#choixCloche) {
  display: none;
}

.zsiq_flt_rel {
    background-color: var(--couleur1) !important;
}
.zsiq_theme1 .siqicon:before {
	color: var(--txtSurCouleur1) !important;
}

#searchInput {
    background-color: #EFEEF6 !important;
    color: #444746 !important;
    border: none;
    border-radius: 100px !important;
    padding: 0px 25px !important;
    height: 50px;
    width: 75% !important;
    margin: auto !important;
  }
  #searchInput::placeholder {
    color: #444746 !important;
  }

  #filtres {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
  }
  #filtres .col {
    margin: 0px;
  }
  #filtres select {
    width: 150px;
    background-color: #EFEEF6 !important;
    color: #444746 !important;
    border: none;
    border-radius: 100px !important;
    padding: 0px 25px 0 35px!important;
    height: 40px;
    margin: 15px 5px;
    font-weight: bold;
    font-size: 14px;
  }

  #titreListe {
    text-align: center;
    display: block;
    padding: 20px 0 20px;
    font-size: 24px;
  }

  #containerStats #paragrapheStats {
    margin-top: -10px !important;
    padding-top: 0px !important;
    background: white;
  }

  input#searchInput:focus {
    background-color: white !important;
    -webkit-box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.3);
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.3);
  }

  #filtres select:hover {
    background-color: #d6d5dc !important;
    cursor: pointer;
  }

  #filtres select option {
    background: white;
  }

  .ligneStats {
    font-size: 12px;
    text-align: right;
    padding: 10px 0 0;
    color: #5f6368;
  }
  .ligneStats img {
    width: 25px;
    float: left;
    margin-right: 10px;
  }
  .ligneStats h3 {
    font-size: 14px;
    margin: 0;
  }
  .ligneStats span {
    font-size: 21px;
    color: #244AB0;
  }

  .titreChiffres {
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
  }

  #containerListe {
    margin: 35px auto 0;
    max-width: 1600px;
  }

  .div-degrade {
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(36 74 176 / 50%) 50%, rgba(0, 0, 0, 0) 100%);
    margin-bottom: 15px;
  }

  .topliste {
    cursor: pointer;
  }
  
  .topliste.pasPointer {
    cursor: auto;
  }

  .col0 {
    padding: 5px 5px !important;
  }

  @media (min-width: 801px) {
  .mobile-bis {
      margin: 25px 20px 10px !important;
      width: calc(100% - 280px) !important;
      float: left;
  }
  }

  .actions {
    float: right !important;
    width: auto !important;
  }

  #btnSelectLangue {
    display: block;
    width: 42px;
    height: 42px;
    overflow: hidden;
    border-radius: 100px;
    border: 3px solid #ffffff;
    margin: 10px 0px;
    right: 0px;
    cursor: pointer;
    -webkit-box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.5);
    box-shadow: 2px 2px 6px 0px rgba(0,0,0,0.5);
    float: right;
  }

  .btnImgsLangue {
    display: block;
    width: 50px;
    height: 50px;
    overflow: hidden;
    border-radius: 100px;
    margin: 20px;
    float: left;
    right: 0px;
    cursor: pointer;
    lex: 0 0 auto; /* Les enfants ne grandissent pas et ne rétrécissent pas */
    margin: 10px; /* Espace autour des enfants */
  }

  #imgSelectLangue, .imgsLangue {
    height: 100%;
    width: 100%;
  }

  #titreSelectLangue{
    font-size: 21px;
    display: block;
    text-align: center;
    margin: 25px 0 15px;
  }

  .bullesLangues {
    display: flex;
    justify-content: center; /* Centre les éléments horizontalement */
    flex-wrap: wrap; /* Permet aux éléments de passer à la ligne si nécessaire */
    margin-bottom: 20px;
  }

  #choixDeLaLangue .close {
    margin: 10px 10px 0 0;
  }

  .mobile-image>img {
    max-width: 160px !important;
  }

  @media (min-width: 801px) {
    .mobile-bis {
        margin: 20px !important;
        width: calc(100% - 240px) !important;
        float: left;
    }
  }

  #contenuHtml {
    line-height: 18px;
  }

  .infoDate {
    display: none;
  }
  .infoDate.sessionDispoSansPlace, .infoDate.pasSessionDispo {
    display: block;
  }

  .note .note-etoile {
    margin-left: 0px !important;
    line-height: initial !important;
    font-weight: normal !important;
    font-size: 18px;
    background: var(--couleur2);
    text-align: center;
    padding: 5px;
    border-radius: 5px 5px 0 5px;
    color: white;
    width: 35px;
  }

  .note .sur-dix {
    font-size: 12px !important;
    line-height: 40px !important;
    margin: 0 3px !important;
    background: transparent !important;
    border-radius: 0px !important;
    padding: 0px !important;
    display: initial !important;
    border: 0px !important;
  }

  .note .avis, .note .participations {
    line-height: 40px !important;
    color: #666 !important;
    background: transparent !important;
    border-radius: 0px !important;
    padding: 0px !important;
    display: initial !important;
    margin: 0 0 0 3px !important;
    font-size: 12px;
    text-decoration: underline;
  }

  .duree {
    margin: 85px 40px -200px 0 !important;
    float: right !important;
    background: #666 !important;
    font-size: 14px;
    padding: 3px 3px 1px 15px !important;
    border-radius: 300px 0px 75px 0px !important;
  }

  .note {
    margin-top: 4px;
  }

  .duree img {
    width: 14px;
    margin-bottom: -2px;
  }

  #divRecherche {
    margin-top: 10px;
  }

  #chargement-select, #chargement-select-cloche {
    width: 25px;
    position: absolute;
    margin: -32px 0 0 10px;
    display: none;
  }

  #choixDejaFait, #choixCloche {
    display: none;
    pointer-events: none;
    opacity: 0.5;
  }

  #effacerFiltre {
    margin: 25px 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: bold;
  }

  #effacerFiltre:hover {
    text-decoration: underline;
  }

  .svgFiltre {
    position: absolute;
    width: 15px;
    margin: 26px 20px;
  }

  /* Styles pour la popup */
.modalObjectif {
  display: none; 
  position: fixed; 
  z-index: 50; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgba(0,0,0,0.4); 
}

.modalObjectif .modal-content {
  background-color: #fefefe;
  margin: 15% auto; 
  padding: 20px;
  border: 1px solid #888;
  width: 60%; 
  text-align: left;
}

.closeObj {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.closeObj:hover,
.closeObj:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

#ouvrirModal {
  cursor: pointer;
  text-decoration: underline;
}

.pastilleSuivi {
    display: none;
    align-items: center;
    background-color: #ffffff;
    color: #000000;
    font-size: 14px;
    border-radius: 100px;
    padding: 8px;
    cursor: pointer;
    width: 35px;
    height: 35px;
    overflow: hidden;
    transition: width 0.3s ease;
    position: absolute;
    z-index: 10;
    bottom: -35px;
    left: -25%;
    position: absolute;
    box-shadow: 2px 2px 0px var(--couleur2);
  }

  .pastilleSuivi:hover {
    width: 195px;
  }

  .checkmarkSuivi {
    font-size: 21px;
    color: var(--couleur2);
    margin: 2px 5px 0 2px;
    display: inline;
    font-weight: bold;
  }

  .textSuivi {
    opacity: 0;
    white-space: nowrap;
    transition: opacity 0.3s ease;
    color: var(--couleur2);
    font-weight: bold;
    font-family: "Google Sans", Arial, sans-serif;
    margin-left: 5px;
  }

  .pastilleSuivi:hover .textSuivi {
    opacity: 1;
  }

  #messageDejaSuivi {
    color: #c89b04;
    text-align: center;
    font-weight: bold;
    width: 600px;
    margin: 0 auto 20px;
  }
  #formTitrePublic {
    display: block;
    font-weight: bold;
    background: #2a3749;
    color: white;
    width: calc(100% + 60px);
    padding: 10px 30px;
    margin: 18px -30px -22px -30px;
  }
  #formDateAtelier {
    display: inline;
  }

.programme {
  text-decoration: underline;
    font-style: italic;
}
#W079.obligatoire {
    font-size: 11px;
    line-height: 0px;
    display: block;
    margin: 20px 0;
}

#formulaire form {
    padding: 0px;
    margin: 0px auto;
    max-width: 800px;
}

tr {
    border-bottom: 0px solid rgba(0,0,0,0) !important;
}

table.tableBordure td:last-child {
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    background: rgb(12 113 195 / 75%);
}

button:focus {
    background-color: #0a5089 !important;
}

#paramCompte, #containerCompte {
  display: none;
    margin-top: 50px;
}

.containerb {
    max-width: 900px;
    padding: 20px 0;
    margin: 0 auto;
    overflow: hidden;
}

#chargementPlaces {
    margin-top: -8px;
    margin-bottom: -73px;
    position: relative;
    z-index: 10;
}

.imgChargementPlaces {
  width: 40px;
    margin-top: 12px;
}

.btnDesac {
  display: initial;
    cursor: default;
    pointer-events: none;
    opacity: 0.3;
}

#iframeFormulaire .bandeau2 .container {
    padding: 20px !important;
}

#iframeFormulaire .bandeau2 {
  display: none;
    padding: 10px 0px 50px !important;
}

#iframeFormulaire .col-md {
float: left;
    width: 49%;
    margin-top: -10px;
    }
    
#iframeFormulaire .col-md:nth-child(odd) {
    margin-right: 2%;
}

#formulaire {display: none; 
    margin-top: 30px;}

#iframeFormulaire .titre h2 {
    font-size: 36px;
    padding-bottom: 0px;
}

#iframeFormulaire h5, #iframeFormulaire h6, #iframeFormulaire h2 {
    margin: 0;
    padding: 3px 0px;
}

#formDateAtelier {
  font-style: italic;
}

#iframeFormulaire .bandeau2 .container {
    padding: 0px !important;
    margin: -20px 0px !important;
}

#iframeFormulaire .bandeau1 {
    padding: 0px 30px;
}

#imageTitre {
    float: right;
    height: 110px;
    margin-top: 20px;
    margin-right: 0px;
    display: none;
    }


.form-floating {
        margin: 10px 0px;
      }
      .titre {
        //text-align: right;
        color: #333333;
      }
      .titre .bleu {
        color: #006ac1;
      }
      .col-md {
        margin: 0px;
      }
      .form-floating>textarea.form-control {
        height:inherit;
      }
      #iframeFormulaire .container {
        max-width: 900px;
        padding: 20px;
        overflow: initial;
      }
      .bandeau1 .container {max-width: 1000px;}
      .btn-primary {
        color: #fff;
        background-color: #006ac1;
        border-color: #006ac1;
        text-transform: uppercase;
        font-weight: bold;
      }
      #credit, #reussi, #message {
        display: none;
        padding: 30px 50px;
      }
      #message {
        color: #d42f2f;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    margin: 30px 0;
      }
      .obligatoire, #erreurPreremplir {
        color: red;
        font-weight: bold;
      }
      #p_credit{
        margin-top :10px;
      }
      #fermerFenetre {
        text-align: center;
        padding: 10px;
        font-weight: bold;
        text-transform: uppercase;
        display: none;
        color: white;
        background: #66bf66;
        width: 300px;
        border-radius: 5px;
        margin: 0 auto 50px;
        cursor: pointer;
      }
      
 html, body, #page-container, #et-main-area, #main-content, #post-3465, .entry-content, .et-l.et-l--post, .et_builder_inner_content.et_pb_gutters3, .et_pb_section.et_pb_section_0.et_section_regular, .et_pb_row.et_pb_row_0, .et_pb_column.et_pb_column_4_4.et_pb_column_0.et_pb_css_mix_blend_mode_passthrough.et-last-child, .et_pb_module.et_pb_code.et_pb_code_0, .et_pb_code_inner, #iframeCompte {
    height: 100% !important;
  }
  
  #lienListeFormation {
    cursor: pointer;
  }
  
  #left-area ul, .entry-content ul {
    padding: 0 !important;
  }
  
  .et_fixed_nav.et_show_nav #page-container{
    padding-top: 54px !important;
}

#main-content {
height: auto !important;
}
  
  #main-content .container {
width: 100% !important;
padding: 0px !important;
max-width: none !important;
}
#logo {height: 40px;}
.et_menu_container {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#top-menu-nav {
height: auto !important;
background: transparent !important;
box-shadow: none !important;
}
nav ul a {
font-size: 14px !important;
    padding: 0 0 20px 0 !important;
}
nav ul a:hover {
    background-color: transparent !important;
}
  #iframeCompte {
    margin-bottom: -7px;
    width: 100%;
    position: fixed;
    display: none;
  }
  #iframeRecupCloches, #iframesCloches {
    display: none;
  }
  #iframeFormulaire {
    background: #d8eaff;
    display:none;
    width: 80%;
    max-height: calc(96% - 54px);
    position: fixed;
    top: calc(2% + 54px);
    z-index: 20;
    left: 10%;
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.1);
    overflow: auto;
  }
  #annulerFormulaire {
    position: fixed;
    font-weight: bold;
    font-size: 20px;
  }
  .et_pb_section .et_pb_row_0.et_pb_row {
    padding-top: 0px!important;
  }
  #cookie-law-info-bar, .main_title {
    display: none !important;
  }
  @media (min-width: 750px) {
    #iframeAstuce {
      height:150px !important;
    }
    .et_header_style_left #et-top-navigation nav>ul>li>a {
      padding-bottom: 33px !important;
      padding-bottom: 20px !important;
    }
    .et_header_style_left #et-top-navigation {
      padding-top: 20px !important;
    }
  }
  * {box-sizing: border-box}
        body #containerStats { 
             margin: 0 auto -20px;}

          
        #containerStats .slideshow-container {
          position: relative;
          background: #f1f1f1f1;
          clear: both;
        }
        .tableBordure td {
          border: 1px solid #333333 !important;
        }

          
        #containerStats .mySlides {
          display: none;
          padding: 80px;
          text-align: center;
        }

          
        #containerStats .prev, #containerStats .next {
          cursor: pointer;
          position: absolute;
          top: 50%;
          width: auto;
          margin-top: -30px;
          padding: 16px;
          color: #888;
          font-weight: bold;
          font-size: 20px;
          border-radius: 0 3px 3px 0;
          user-select: none;
        }

          
        #containerStats .next {
          position: absolute;
          right: 0;
          border-radius: 3px 0 0 3px;
        }

          
        #containerStats .prev:hover, #containerStats .next:hover {
          background-color: rgba(0,0,0,0.8);
          color: white;
        }

          
        #containerStats .dot-container {
            text-align: center;
            padding: 20px;
            background: #ddd;
        }

          
        #containerStats .dot {
          cursor: pointer;
          height: 15px;
          width: 15px;
          margin: 0 2px;
          background-color: #bbb;
          border-radius: 50%;
          display: inline-block;
          transition: background-color 0.6s ease;
        }

        .active {
          background-color: transparent !important;
        }

          
        #containerStats .active, #containerStats .dot:hover {
          background-color: #717171!important;
        }

          
        #containerStats q {font-style: italic;}

          
        #containerStats .author {color: cornflowerblue;}
        #containerStats .colonne {
          float: left;
          width: 21%;
          margin: 20px 2% 30px 2%;
          text-align: center;
        }
        #containerStats .colonneCinq {
          float: left;
          text-align: center;
          width: 18%;
          margin: 20px 1% 30px 1%;
        }
        #containerStats .colonne h3 {
          margin-top: 0px;
          margin-bottom: 0px;
          display: table-cell;
          height: 30px;
          vertical-align: middle;
          text-align: center;
          width: inherit;
        }
        #containerStats h3 {
          font-size: 16px;
          text-align: center;
          clear: both;
        }
        #containerStats .colonne img {
          width: 30px;
        }
        #containerStats .colonne span {
          font-size: 28px;
          color: var(--couleur1);
        }
        #containerStats .slideshow-container, .dot-container {
          max-width: 1000px;
          margin: auto;
        }


        #containerStats .mySlides {
          padding: 50px!important;
        }
        #containerStats .groupe {
          width: 700px;
          display: inline-flex;
          margin: auto;
          max-width: 100%;
        }
        #containerStats .photo {
          float: left;
          width: 15%;
        }
        #containerStats .details {
          float: left;
          text-align: left;
          width: 85%;
          padding: 0 10px;
        }
        #containerStats .note-atelier {
          font-weight: bold;
        }
        #containerStats .commentaire-slide {
          font-size: 18px;
          font-style: italic;
          display: initial;
        }
        #containerStats .guillemetUn {
          content: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/guillemet1.png);
          display: initial;
          height: 10px;
          margin-bottom: 10px;
        }
        #containerStats .guillemetDeux {
          content: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/guillemet2.png);
          display: initial;
          height: 10px;
          margin-bottom: -5px;
          margin-left: 2px;
        }
        #titreStats, #paragrapheStats {padding: 0px 20px;}
        #logoStats { display: block;
    width: auto;
    margin: 25px auto 35px;}

        #containerStats #titreStats {
          font-size: 30px;
          float: left;
          margin-top: 20px;
        }

        #containerStats #paragrapheStats {
          color: #666;
          font-size: 14px;
          clear: both;
          text-align: center;
          padding-top: 20px;
    	  padding: 0 23%;
        }
        #containerStats #paragrapheStats strong {
        font-weight: bold;
        }

        #containerStats #logoStats {
          max-height: 35px;
          margin: 10px 0px;
          float: left;
        }
        
        #containerColonne {
          position: fixed;
          background: white;
          width: 250px;
          height: 100%;
          z-index: 10;
          box-shadow: 7px 0px 7px rgba(0,0,0,.05)!important;
          -moz-box-shadow: 7px 0px 7px rgba(0,0,0,.05)!important;
          -webkit-box-shadow: 7px 0px 7px rgba(0,0,0,.05)!important;
          overflow: auto;
          padding-bottom: 150px;
          font-size: 15px;
          font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
        }

        #zoneConnexion {
            float: right;
            border-radius: 50px;
            overflow: hidden;
            margin: 10px;
        }
        #firebaseui-auth-container, #firebaseui-auth-container .firebaseui-container, .firebaseui-idp-button, .firebaseui-tenant-button {
          max-width: 100% !important;
          width: 100% !important;
          height: 30px !important;
        }
        .firebaseui-idp-list>.firebaseui-list-item, .firebaseui-idp-list {
          margin: 0px !important;
        }
        .firebaseui-idp-icon {
          background: white!important;
          border-radius: 100px!important;
          padding: 3px!important;
          margin-right: 5px;
        }
        .firebaseui-idp-google>.firebaseui-idp-text {
            color: white!important;
            padding-left: 3px;
        }
      </style>

      <style>
        #searchInput {width: 175px; margin-left: -10px;}
      .vide {color: #aaaaaa;}
      select {width: 200px;}
      .row {max-width: 1150px; margin: auto; padding: 20px 20px;}
      .pagination {width: max-content; margin: 20px auto 20px;}
      .pagination li {background: #eeeeee;}
      .btn, .btn-large, .btn-small {padding: 10px 16px; line-height: initial; height: auto;}
      [type="radio"]:not(:checked)+span, [type="radio"]:checked+span {
        border: solid 2px grey;
        border-radius: 5px;
        padding: 5px 7px !important;
        line-height: normal !important;
        height: initial !important;
        color: grey;
        margin: 2px;
      }
      [type="radio"]:not(:checked)+span:before, [type="radio"]:not(:checked)+span:after, [type="radio"]:checked+span:before, [type="radio"]:checked+span:after {
        display: none;
      }
      #chargement {
        text-align: center;
        position: absolute;
        width: calc(100% - 250px);
        background: rgb(255 255 255 / 75%);
        z-index: 15;
        height: calc(100% - 20px);
        top: 0;
      }
      #chargement img {
          border-radius: 1000px;
          width: 400px;
      }
      #unInstant {
        margin-top: 100px;
        font-size: 26px;
        font-weight: bold;
      }
      #ordreChargement {
        font-size: 32px;
        font-weight: bold;
        color: #6d99ea;
        font-family: 'Boogaloo', sans-serif;
        text-transform: uppercase;
      }
      .row .col {
        min-height:0px;
      }
      .col {
        margin: 10px 0;
      }
      .nofilter {
        background-image: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/nofilter.png);
        background-color: #2980da;
        width: 35px;
        height: 35px;
        float: left;
        background-size: 60%;
        background-repeat: no-repeat;
        background-position: center 60%;
        border-radius: 50px;
        cursor: pointer;
        margin: 40px 0 0 0px;
        position: absolute;
        right: 0px;
        top: 0px;
      }

      #messageErreur {
        display: none;
        width: 100%;
      text-align: center;
      font-size: 26px;
      font-family: "Google Sans",Arial,sans-serif;
      margin-top: 30px;
      }

      .modal {
        top: 15% !important;
        margin-top: 0px !important;
        left: 250px !important;
      }

      .fondModal {
        position: fixed !important;
      }

      #firebaseui-auth-container .firebaseui-container { margin: 0px; width: fit-content;}
      
      
      
      .K6fsH:hover {
    background-color: #f8f9fa;
}
      .K6fsH {
        align-items: center;
        border-radius: 0 24px 24px 0;
        box-sizing: border-box;
        display: flex;
        min-height: 40px;
        padding-bottom: 4px;
        padding-left: 24px;
        padding-top: 4px;
        width: calc(100% - 8px);
      }
      .K6fsH.KKjvXb {
        background-color: #e8f0fe;
        color: #185abc;
        font-weight: 500;
      }
      .diHTMb {
        display: inline-block;
        min-height: 40px;
        text-decoration: none;
        width: 100%;
      }
      .pMvse {
    float: left;
    height: 24px;
    margin-top: 8px;
    vertical-align: middle;
    width: 24px;
}
.fNciH {
    display: inline-block;
    line-height: 1.4;
    overflow: hidden;
    margin-top: 10px;
    padding-left: 20px;
    text-overflow: ellipsis;
    vertical-align: middle;
    color: #5f6368;
}
.KKjvXb .fNciH {
    color: var(--couleur1);
}
path {
    fill: #5f6368;
}
.KKjvXb path {
    fill: var(--couleur1);
}
.nVH0kb.KKjvXb .pMvse .QILqPb {
    color: #1967d2;
}
      .titre {
        
        color: #333333;
      }
      .titre .bleu {
        color: #006ac1;
      }
      .col-md {
        margin: 0px;
      }
      .form-floating>textarea.form-control {
        height:inherit;
      }
      .container {
        max-width: 900px;
        padding: 20px;
        margin-bottom: 30px;
        overflow: hidden;
      }
      .bandeau1 .container {max-width: 1000px;}
      .btn-primary {
        color: #fff;
        background-color: #006ac1;
        border-color: #006ac1;
        text-transform: uppercase;
        font-weight: bold;
      }
      .btn-primary:hover {
        color: #fff;
        background-color: #005092;
        border-color: #005092;
      }
      #chargementForm {
        text-align: center;
        display: none;
      }
      #credit, #reussi, #message {
        display: none;
      }
      #message {
        color: #d42f2f;
      }
      .obligatoire, #erreurPreremplir {
        color: red;
        font-weight: bold;
      }
      #p_credit{
        margin-top :10px;
      }
      .firebaseui-list-item { text-align: left !important; }
      .firebaseui-card-content { padding: 0 !important; }
      .firebaseui-container { margin: initial !important; }
      #btnVoirPlus {
        cursor: pointer;
        font-size: 12px;
        color: blue;
        text-decoration: underline;
        margin-bottom: 20px;
      }
      #firebaseui-auth-container {
        width: fit-content;
        float: left;
        height: 70px;
      }
      .form-control {
    display: block;
    width: 100% !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #212529 !important;
    background-color: #fff !important;
    background-clip: padding-box !important;
    border: 1px solid #ced4da;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border-radius: 0.25rem !important;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out !important;
        -webkit-box-sizing: inherit!important;
    box-sizing: inherit!important;
    margin: 0px!important;
  }

  .isinvalid {
      border: solid 2px red !important;
  }
@media (min-width: 768px) {
.col-md {
    flex: 1 0 0% !important;
}
}

#fondChargement{display:none; position : fixed; width: 100%; height : 100%; top: 0; right: 0; bottom: 0; padding-top:120px; z-index: 100000; background-color: rgb(255 255 255 / 75%);}
      #div_chargement {display:none; position: fixed;
    width: 100%;
    height: 100%;
    padding-top: 320px;
    right: 0;
    bottom: 0;
    z-index: 30;
    background: rgb(255 255 255 / 15%);}
      #div_chargement img, .chargementGif {margin: 10px auto;
    width: 60px;
    position: relative;
    display: block;}
      .btn {padding: 10px 16px; line-height: initial; height: auto;}
      #div_authentification{float: right; margin: 17px; background: white;}
      #menu {float: left; margin: 0 30px;}
      .lienMenu {float: left; line-height: 75px; padding: 0 30px; color: white; cursor: pointer; text-transform: uppercase; font-weight: bold;}
      .lienSousMenu { display: inline-block; float: left; line-height: 50px; padding: 0 30px; cursor: pointer; color: grey;}
      .lienMenu:hover, .lienMenu.actif {background: #00000052;}
      .lienSousMenu.actif, .lienSousMenu:hover {color: black; background: rgb(255 255 255); border-radius: 50px;}
      #photo {float: left;}
      #photo img {width: 90px; border-radius: 100px; border: 2px solid white;}
      #informationsPersonnelles {float: left;padding: 0px 20px; line-height: normal;}
      #nomPrenom {font-size: 24px;}
      #adresseEmail {font-size: 15px; color: #525252;}
      #liensListe a {border-radius: 50px; padding: 5px 20px; line-height: normal; height: initial; color: white; margin: 1%; font-weight: bold; float: left; font-size: 16px; text-align: center; background-image: linear-gradient(72deg,rgb(72 206 144) 0%,rgb(161 226 121 / 100%) 100%); text-decoration: none; margin-top: 50px;}
      #liensListe a.lienParcours {background-image: linear-gradient(72deg, rgb(27, 179, 235) 0%, rgb(37, 239, 203) 100%);}
      .imgAtelier {width: 100px;}
      .iconeAtelier {margin-left: 10px;}
      .atelierCheck {color: grey;}
      .containerParcours {margin-bottom: 50px;border-bottom: 2px solid grey;padding-bottom: 20px;}
      .pourcentageParcours {color: #59bb59;font-weight: bold;font-size: 16px;}
      .floatBloc {
    padding: 25px 10px;
    width: calc(50% - 20px);
    float: left;
    height: 150px;
    margin: 10px;
    font-size: 50px;
    text-align: center;
    background: rgb(255 255 255 / 75%);
    border-radius: 5px;
      }
      .floatBloc h2 {
        font-size: 21px;
        margin: 0 0 10px;
      }
      #inscriptions #searchResults tr {
        background-image: none;
      }
      span.surdix {
          font-size: 21px;
      }
      .mySlides {
          padding: 20px 50px!important;
        }
        .groupe {
          width: 700px;
          display: inline-flex;
          margin: auto;
          max-width: 100%;
        }
        .photo {
          float: left;
          width: 15%;
        }
        .details {
          float: left;
          text-align: left;
          width: 85%;
          padding: 0 10px;
        }
        .note-atelier {
          font-weight: bold;
        }
        .commentaire-slide {
          font-size: 18px;
          font-style: italic;
          display: initial;
        }
        .date {
          display: initial;
          font-weight: normal;
        }
        .nomAtelier {
          color: #039be5;
        }
        .commentaireBloc {
    padding: 25px 10px;
    margin: 10px;
    background: rgb(255 255 255 / 75%);
    border-radius: 5px;
        }
    .commentaireBloc h2 {
              font-size: 21px;
    text-align: center;
    background: var(--couleur1);
    margin: -25px -10px 20px;
    color: white;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
    padding: 15px 0 10px 0;
        }
        
        .slideshow-container {
          position: relative;
          clear: both;
        }

          
        .mySlides {
          display: none;
          padding: 80px;
          text-align: center;
        }

          
        .prev, .next {
          cursor: pointer;
          position: absolute;
          top: 50%;
          width: auto;
          margin-top: -30px;
          padding: 16px;
          color: #888;
          font-weight: bold;
          font-size: 20px;
          border-radius: 0 3px 3px 0;
          user-select: none;
          text-decoration: none;
        }

          
        .next {
          position: absolute;
          right: 0;
          border-radius: 3px 0 0 3px;
        }

          
        .prev:hover, .next:hover {
          background-color: rgba(0,0,0,0.8);
          color: white;
        }

          
        .dot-container {
            text-align: center;
            padding: 20px;
            background: #ddd;
        }

          
        .dot {
          cursor: pointer;
          height: 15px;
          width: 15px;
          margin: 0 2px;
          background-color: #bbb;
          border-radius: 50%;
          display: inline-block;
          transition: background-color 0.6s ease;
        }

          
        .active, .dot:hover {
          background-color: #717171;
        }

          
        q {font-style: italic;}

          
        .author {color: cornflowerblue;}
        #titreStats {
    font-size: 30px;
    float: left;
    margin-top: 20px;
    font-weight: normal;
    font-family: Verdana, sans-serif;
    margin-bottom: 30px;
}
#selectLangue {    font-size: 30px;
    border: none;
    position: fixed;
    cursor: pointer;
    display: block;
    width: 250px;
    bottom: 50px;
    text-align: center;
    background: #d0e0fc;
    z-index: 2;
    padding: 0;
    height: auto;}
    
#libelleSelectLangue {    font-size: 14px;
    border: none;
    position: fixed;
    cursor: pointer;
    display: block;
    width: 250px;
    bottom: 85px;
    text-align: center;
    background: #1967d2;
    color: #ffffff;
    z-index: 3;
    line-height: 20px;
    }

      #afficherMasquerColonne {
        display: none;
        position: fixed;
        z-index: 11;
        margin-top: 30px;
        font-size: 20px;
        background: #ffffff;
        padding: 5px;
        border-radius: 0 5px 5px 0;
        box-shadow: 7px 0px 7px rgba(0,0,0,.05)!important;
        -moz-box-shadow: 7px 0px 7px rgba(0,0,0,.05)!important;
        -webkit-box-shadow: 7px 0px 7px rgba(0,0,0,.1)!important;
        cursor: pointer;
      }
      #afficherMasquerColonne img {
        width: 50px;
        margin-bottom: -8px;
      }
      #masquerColonne {
        display: none;
        position: fixed;
        background: rgb(0 0 0 / 20%);
        width: 100%;
        height: 100%;
        z-index: 1;
        cursor: pointer;
      }
      .row .col {
        padding: 0 !important;
      }

      #colCatégories, #colApplications {
        width: 50%;
        margin-top: 30px;
      }
      #idCatégories, #idApplications {
        text-align: center;
        padding-bottom: 10px;
        border-bottom: 1px solid #b3b3b3;
      }
      #labelsApplications {
        width: 200%;
        margin-left: -100%;
        margin-top: 15px;
      }
      #labelsCatégories {
        width: 200%;
        margin-top: 15px;
      }

      .labelsSelect {
        font-weight: bold;
        color: var(--couleur1);
        border-bottom: 3px solid var(--couleur1) !important;
      }
      
      #pCommentaires .prev {
        left: 10px !important;
        top: 65%;
      }
      #pCommentaires .next {
        right: 10px !important;
        top: 65%;
      }
      #btnPartagerFormations, #btnPartagerFormationsMobile {
        cursor: pointer;
        padding: 7px 19px;
        background: #66bf66;
        margin: 5px 10px;
        text-decoration: none;
        display: inline-block;
        border-radius: 50px;
        font-family: "Google Sans",Arial,sans-serif;
        font-weight: 500;
        text-transform: uppercase;
        color: white;
        font-size: 14px;
        text-align: center;
      }
      #btnPartagerFormationsMobile {
        display:none;
      }
      #instructionPartage {
        clear: both;
        margin: 30px 15px 10px;
        font-weight: bold;
        text-align: center;
      }
      #italique {
        font-size: 12px;
        margin: 10px 15px;
        display: block;
        text-align: center;
      }
      #instructionPartage, #italique, #btnPartagerFormationsMobile, #btnPartagerFormations {
        display: none;
      }
      
      @media (max-width: 1000px) {
          #containerColonne {
              display: none;
          }
          #containerCorps {
              margin-left: 0px;
          }
          .modal {
            left: 0px !important;
          }
          #chargement {
            width: 100%;
          }
          #afficherMasquerColonne {
            display: block;
          }
        }


        @media (max-width: 700px) {
          .floatBloc {
            width: calc(100% - 20px);
          }
          #btnPartagerFormationsMobile {
            display:block;
          }
          #btnPartagerFormations {
            display:none;
          }
        }
        
        
        
        
      
      #contenuHtml {font-weight: 400;}

.colonneGauche .sousTitre {
    color: #3c3c3c;
    font-size: 16px;
}

/* DEBUT SLIDER*/

.groupe .note-atelier {
    font-size: 18px;
    color: #3c3c3c;
    font-weight: 500;
}

.groupe .date {
    display: inline-block;
    font-size: 16px;
    font-style: italic;
    font-weight: normal;
}

/* Slideshow container */
.slideshow-container {
  position: relative;
}

/* Slides */
.mySlides {
  display: none;
  padding: 80px;
  text-align: center;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -30px;
  padding: 16px;
  color: #888;
  font-weight: bold;
  font-size: 20px;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "next button" to the right */
.next {
  position: absolute;
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
  color: white;
}

/* The dot/bullet/indicator container */
.dot-container {
  text-align: center;
  padding: 20px;
  background: #ddd;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

/* Add a background color to the active dot/circle */
.active, .dot:hover {
  background-color: #717171;
}

/* Add an italic font style to all quotes */
q {font-style: italic;}

/* Add a blue color to the author */
.author {color: cornflowerblue;}

.groupe {
    width: 700px;
    display: inline-flex;
    margin: auto;
    max-width: 100%;
}
.photo {
    float: left;
    width: 15%;
}
.details {
    float: left;
    text-align: left;
    width: 100%;
}
.mySlides {
    padding: 30px!important;
    text-align: center;
}
/* FIN SLIDER */

.topliste, .btnVoirPlus, .voirplus {
    max-width: 1150px;
    margin: auto;
}

.topliste {
        font-family: Roboto,Arial,sans-serif;
}

pre {
        font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
         margin: 0;
}

.contacts {
        white-space: pre-wrap;
}

.instruction, .evaluation, .handicap, .maj {
   font-style: italic;
   font-size: 12px;
   color: #3c3c3c;
}

.prerequis {
    white-space: pre-wrap;
}
.objectif {
    white-space: pre-wrap;
}

.imgGratuit {
    display:none;
    position: absolute;
    width: 70px;
    margin: -20px 0 0 0;
    right: -20px;
}

.gratuit0 {
display: block;
}

.gratuitEPMULT008 {
display: none;
}

.imgNouveau {
    display:none;
    position: absolute;
    width: 100px;
    margin: -20px 0 0 -20px;
}

.nouveau1 {
    display:block;
}

[type="checkbox"]:checked:disabled+span:before {
    border: none;
}

[type="checkbox"]+span.lever i {
    display: none;
    margin: 0 15px 0 5px;
    cursor: pointer;
}

[type="checkbox"]+span.lever.spanCloche i {
    display: inline-block;
}

[type="checkbox"]+span.lever.spanCoeur:after{
    cursor: pointer;
    -webkit-transition: .2s;
    transition: .2s;
    background-size: 17px;
    display: inline-block;
    width: 40px;
    height: 40px;
    content: "";
    background-color: white;
    border-radius: 30px;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 33%);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.33);
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 33%);
    margin-bottom: -15px;
}

[type="checkbox"]+span.lever.spanCoeur:after {
    background-image: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/cloche+noir.png);
}

[type="checkbox"]+span.lever.spanCloche:before {
    background-image: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/cloche+noir.png);
}

[type="checkbox"]+span.lever.spanOk:before {
    background-image: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/ok.png);
-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
    background-size: contain;
    height: 25px;
    width: 25px;
    margin-top: -10px;
    border-radius: 0px;
    margin-bottom: 0px;
    margin-bottom: -5px;
    display:none;
    content:"";
}

[type="checkbox"]+span.lever.spanMedaille:before {
    background-image: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/medaille.png);
-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
    background-size: contain;
    height: 25px;
    width: 25px;
    margin-top: -10px;
    border-radius: 0px;
    margin-bottom: 0px;
    margin-bottom: -5px;
    display:none;
    content:"";
}

[type="checkbox"]:checked+span.lever.spanCoeur:after {
    background-image: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/cloche+jaune.png);
}

[type="checkbox"]:checked+span.lever.spanCloche:before {
    background-image: url(https://epidosi.s3-eu-west-1.amazonaws.com/ateliers/cloche+jaune.png);
}

[type="checkbox"]:checked+span.lever.spanOk:before {
    display: inline-block;
}

[type="checkbox"]:checked+span.lever.spanMedaille:before {
    display: inline-block;
}

.modal-content {
    text-align: center;
}

.mainBtn {
    cursor: pointer;
    padding: 7px 30px;
    background: var(--couleur1);
    margin: 5px 10px;
    text-decoration: none;
    display: inline-block;
    border-radius: 50px;
    font-family: "Google Sans",Arial,sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    color: white;
}

.mainBtn.sessionDispoSansPlace {
    background-image: linear-gradient( 72deg , #666 60%, rgb(255 255 255 / 0%) 100%);
}

.mainBtn:hover {
    background: color-mix(in srgb, var(--couleur1), black 5%);
}



.actions {
    float: left;
    width: 50%;
    text-align: right;
    min-height: 46px;
}

.fondModal {
    display:none;
    position: absolute;
    width: 100%;
    background: rgba(0, 0, 0, 0.19);
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 5;
}

.duree {
    background: rgba(0,0,0,0.5);
    border-radius: 5px;
    padding: 2px 7px;
    display: inline-block;
    margin: 15px 5px 15px 5px;
    color: white;
}

.btnVoirPlus {
    clear: both;
    text-align: center;
    margin-top: -20px;
margin-bottom: -10px;
}

.spanVoirPlus {
    cursor: pointer;
    font-size: 11px;
    border-radius: 50px;
    background: rgb(12 113 195 / 75%);
    color: white;
    padding: 2px 15px;
    margin: 0 auto 15px;
    display: block;
    max-width: 140px;
    line-height: 18px;
}

.spanVoirPlus:hover {
background: rgb(12 113 195 / 100%);
}

.topliste {
    overflow: hidden;
}

.voirplus {
    clear: both;
    display: none;
    color: #666;
    font-size: 14px;
    padding-top: 20px;
}

.trait {
    display: inline-block;
    width: 80%;
    margin: auto;
    position: relative;
    height: 2px;
    background: radial-gradient(circle, rgba(0,0,0,0.3) 0%, rgba(255,255,255,0) 80%);
}

.container-trait {
    display: inline-block;
    width: 100%;
    text-align: center;
}

.action {
    display: inline-block;
    margin: 0;
    padding: 0 !important;
}

.desacNotif, .btnDesinscription {
    cursor: pointer;
    padding: 7px 30px;
    background: var(--couleur1);
    margin: 0;
    text-decoration: none;
    display: inline-block;
    border-radius: 50px;
    font-family: "Google Sans",Arial,sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    color: white;
    border: none;
    font-size: 12px;
    text-wrap: nowrap;
}

.com-date {
    font-style: italic;
    margin-left: 5px;
    display: inline-block;
}

.com-note-dix {
    font-weight: bold;
}

.com-img {
    height: 18px;
}

.com-img, .com-note, .com-dix, .com-note-dix, com-date {
    float: left;
}

.note div {
    float: left;
}

.note .note-etoile {
    float: left;
    margin-left: -36px;
    line-height: 50px;
    font-weight: 500;
    font-size: 18px;
    position: relative;
}

.note .sur-dix {
    background: #ffffff;
    border-radius: 5px;
    padding: 2px 7px 2px 15px;
    display: inline-block;
    margin: 12px 5px 12px -19px;
    border: 3px solid #e0be18;
}

.note .avis, .note .participations {
    background: #e0be18;
    border-radius: 5px;
    padding: 2px 7px;
    display: inline-block;
    margin: 15px 5px 15px 5px;
}

.titre-commentaires {
    background: grey;
    color: white;
    font-weight: bold;
    padding: 5px 10px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    width: max-content;
}

.commentaires {
    height: 110px;
    overflow: scroll;
    -webkit-box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.5);
-moz-box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.5);
box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.5);
}

.infos div {
    background: rgba(0,0,0,0.5);
    border-radius: 5px;
    padding: 2px 7px;
    display: inline-block;
    margin: 3px auto 3px 5px;
    color: white;
}

.note img {
    float: left;
    position: relative;
}

.note {
    color: black;
    float: left;
    display: inline-block;
    font-family: "Google Sans",Arial,sans-serif;
}

#dashboard {
    display: flex;
    flex-direction: column;
    margin-top: -150px;
    padding-top: 100px;
    z-index: 999999;
    background: white;
    position: relative;
}

.parcours {
    background: #9b7bff;
    color: white;
    border-radius: 5px;
    padding: 2px 5px;
    display: inline-block;
    margin-left: 10px
}

#controlers0, #controlers4 {
display: none;
}

.detail {
        white-space: pre-wrap;
}

.mobile>div {
        position:relative;
        margin: 0 !important;
        padding: 0 !important;
}

.mobile-image {
        z-index:0;
        width: 200px;
        margin: 0 !important;
        padding: 0 !important;
}

.mobile-image>img {
        max-width: 200px;
    border-radius: 5px;
}

.mobile-price {
        z-index:1;
        background-color:rgba(0,0,0,0.5);
        color:#fff;
        bottom: 0;
        padding: 5px 10px;
}

.price-explanation {
        padding-left:10px;
        font-size:0.8em;
}

.price-display {
        font-size: 13px;
}

.screen {
        width:100%;
}

.Name {
        display:inline;
        margin-left:-2px;
        line-height: 20px;
    font-size: 21px;
    color: var(--couleur1);
    font-family: "Google Sans",Arial,sans-serif;
}

.City {
        font-size: 16px;
        margin: 5px 0 -15px 0;
        display: block;
        color: #666;
}

.facility{
        display:none;
        width:35px;
}
img[data-facilities*="Parking"][data-facility="parking"]{
        display:inline-block;
}
img[data-facilities*="WIFI"][data-facility="wifi"]{
        display:inline-block;
}
img[data-facilities*="Gym"][data-facility="gym"]{
        display:inline-block;
}

.display-facility {
        display:inline-block;
        color: #aaaaaa;
        padding: 0!important;
}

.button-learn-more{
        display:inline-block;
        float: right;
}

.button-learn-more>a {
        color:white!important;
        background-color: rgb(8, 158, 255);
        border-radius:2px;
        display:inline-block;
        font-size:14px;
        font-weight:bold;
        padding:8px!important;
        text-align:center;
        text-decoration:none;
        float: right;
}

.rate{
        display: inline-block;
        font-size: 19px;
        margin-left: 8px;
}

.awesomeTable-visualization-cards .card-content {
box-shadow: none !important;
margin: 0px !important;
background: transparent !important;
}

.btninscription {
    background: var(--couleur1);
    padding: 7px 10px 5px;
    margin: 5px auto;
    color: var(--txtSurCouleur1);
    text-decoration: none;
    display: block;
    border-radius: 5px;
    text-align: center;
    width: fit-content;
    cursor: pointer;
}

.averti {
    background: #61a7ff;
    padding: 3px 10px 1px;
    margin: 5px auto;
}

.btninscription:hover {
background: color-mix(in srgb, var(--couleur1), black 5%);
}

.averti:hover {
background: #4dbdff;
}

.btnsinscription {
    margin-top: 10px;
}

.inscriptions {
    font-weight: bold;
}

.awesomeTable-visualization-cards .card:nth-child(2n+1){
    background: #eaf3ff !important;
}

a.btninscription.complet {
    background: #eee !important;
    color: grey !important;
    border-left: 5px solid grey;
    cursor: initial;
}

.outils {
    background: #c3c3c3;
    border-radius: 5px;
    padding: 2px 7px;
    display: inline-block;
    margin: 15px 5px 15px 5px;
}

#searchResults .commentaires tr:nth-child(2n+1) {
    background: #00000017 !important;
}

.tooltip {
  position: relative;
  display: inline-block;
  cursor: default;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 270px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    bottom: 110%;
    left: 50%;
    margin-left: -80px;
    opacity: 0;
    font-size: 14px;
    transition: opacity 0.3s;
    line-height: initial;
    font-weight: normal;
}

.tooltip .tooltipcoeur {
    width: 310px;
    margin-left: -298px;
    bottom: 130%;
}

.tooltip .tooltipcoeur.pasSessionDispo {
    width: 310px;
    margin-left: -218px;
    bottom: 130%;
}

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

.tooltip .tooltipcoeur::after {
    left: unset;
}

.modal-content .tooltip .tooltipcoeur {
    width: 310px;
    margin-left: -218px;
    bottom: 130%;
}

.note-etoile .tooltiptext {
   width: 160px;
}

span.tooltiptext.tooltipicone::after {
    content: "";
    position: absolute;
    top: -40%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #555 transparent;
}

.tooltip .tooltiptext.tooltipicone {
    bottom: -150%;
    margin-left: -135px;
}

#data thead {
display: none;
}

.classMedaille, .classCoche  {
    display:none;
}

.medailleVisiblenon, .iconeVisible {
    display: inline-block;
}

.infos .tarif {
    display:none;
}

.mainBtn.pasSessionDispo, .mainBtn.sessionDispoSansPlace {
    display: none;
}

.mainBtn.pasSessionDispo:hover {
    background: color-mix(in srgb, var(--couleur1), black 5%);
}

.spanCoeur.pasSessionDispo {
    margin-left: 10px;
}

.infoDate {
    font-style: italic;
    color: #666666;
    font-size: 11px;
    float: right;
}

#searchResults {
    border-collapse: inherit;
}

#searchResults tr {
    border-bottom: 0px solid rgba(0,0,0,0.12);
}


/*** Awesome Table ***/


/*** Google visualization override ***/

/* Table view header */
.google-visualization-table-table .gradient,
.google-visualization-table-div-page .gradient {
        background: #3C81F8 !important;
        color:#ffffff;
}

/* selected/hovered row in a TABLE view */
.google-visualization-table-tr-sel td,
.google-visualization-table-tr-over td {
        background-color: #D6E9F8!important;
}

/*** Configuration of FILTERS ***/


/* CategoryFilter & csvFilter hovered item in the dropdown */
.charts-menuitem-highlight {
        background-color:#437AF8!important;
        color:#FFF!important;
}

/* header */
.google-visualization-table-table .gradient, .google-visualization-table-div-page .gradient {
        background: #437AF8 !important;
        color: #FFFFFF;
        text-transform: uppercase;
        font-weight: normal;
}

.google-visualization-controls-label {
        font-weight: 500!important;
}



body.iframe-mode #main-header {
  display: none;
}

body.iframe-mode.et_fixed_nav.et_show_nav #page-container {
  padding-top: 0px !important;
}

.detailPage {
    display: inline-block;
    cursor: pointer;
    width: 20px;
    height: 20px;
    border-radius: 30px;
    -webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 33%);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.33);
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 33%);
    padding: 2px 5px;
    margin: 0 4px 0;
    font-weight: bold;
    font-family: "Roboto Mono", monospace;
    color: white;
    background-color: var(--couleur1);
    font-size: 16px;
}


.detailBtn {
    background-color: rgb(from var(--couleur1) r g b / 0.1);
    color: #1a1a1a !important;
    margin-left: 5px;
    margin-top: 4px;
    display: inline-block;
    padding: 7px 10px;
    border-radius: 50px;
    cursor: pointer;
    float: right;
    width: 75px;
}

a.detailBtn:hover {
    background-color: #f8f9fa !important;
    box-shadow: 2px 2px 0px var(--couleur1);
    color: var(--couleur1) !important;
}

/* Style pour la modale vidéo pour qu'elle soit plus grande */
.modal-video {
  max-width: 840px !important; 
  width: 90% !important;
}

.videoBtn img {
  vertical-align: middle;
  height: 25px;
  width: auto;
}

.preTitreVideo {
    font-size: 24px;
    font-weight: bold;
    margin-top: 15px;
}

.titreVideo {
    font-size: 18px;
    margin-bottom: 25px;
}

/* Conteneur principal en grille */
  .atelier-grid {
    display: grid;
    /* Création automatique des colonnes : minimum 320px de large */
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); 
    gap: 25px; /* Espace entre les cartes */
    padding: 10px;
    width: 100%;
    margin-top: 20px;
  }

  /* MODIF: Fix pour z-index (GHOST CONTAINER) */
  .atelier-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: static !important; 
    transform: none !important;
    z-index: auto !important;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  /* MODIF: Styles visuels déplacés sur .topliste */
  .atelier-card .topliste {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    border: 1px solid #f0f0f0;
    width: 100% !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative; /* Le contenu est relatif */
    z-index: 1;
    overflow: visible; 
  }

  /* Effet de survol sur la partie visuelle de la carte uniquement */
  .atelier-card:hover .topliste {
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    transform: translateY(-5px);
  }

  /* Image en haut */
  .atelier-card .mobile {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    text-align: center;
    background: #f9f9f9;
    padding: 15px 0;
    border-radius: 12px 12px 0 0;
  }

  .atelier-card .mobile-image {
    margin: 0 auto !important;
  }

  /* Contenu texte en dessous */
  .atelier-card .mobile-bis {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 25px 15px 15px !important;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }

  .atelier-card .screen {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* Typographie de la carte */
  .atelier-card .Name {
    font-size: 18px !important;
    line-height: 1.3;
    margin-bottom: 10px;
    display: block;
    font-weight: bold;
    color: #333;
  }

  .atelier-card .City {
    font-size: 13px;
    overflow: hidden;
    margin-bottom: 15px;
    color: #666;
  }

  /* Actions en bas de carte */
  .atelier-card .actions {
    float: none !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #eee;
  }

  /* Bouton principal */
  .atelier-card .mainBtn {
    width: calc(100% - 54px);
    box-sizing: border-box;
    margin: 5px 10px 5px 0;
  }

  .atelier-card .colonneGauche {
    display: none;
  }

  /* --- STYLES DES POPUPS (MODALES DETAILS - VOIR PLUS) --- */
  
  /* FIX MODAL styles overriding user's .modal */
  div[id^="myModal"] {
    display: none; 
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 90% !important;
    max-width: 700px !important;
    max-height: 90vh !important;
    z-index: 100001 !important;
    padding: 0 30px !important;
    border-radius: 12px !important;
    overflow-y: auto !important;
    margin: 0 !important;
    text-align: left;
  }
  
  /* S'assurer que le bouton de fermeture est visible */
  div[id^="myModal"] .close,
  div[id^="myModal"] .closeModal {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 32px;
    font-weight: bold;
    color: #888;
    cursor: pointer;
    z-index: 10002;
    line-height: 1;
  }
  div[id^="myModal"] .close:hover {
    color: #000;
  }

  /* Styles pour les actions clonées dans la popup */
  div[id^="myModal"] .actions-clone {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
    text-align: center;
    width: 100%;
    display: block !important;
  }
  
  /* S'assurer que les boutons dans la popup sont bien visibles */
  div[id^="myModal"] .mainBtn,
  div[id^="myModal"] button,
  div[id^="myModal"] .btninscription {
    display: inline-block !important;
    min-width: 200px;
    max-width: 100%;
    margin: 5px;
  }

  /* Nettoyage du conteneur voirplus dans la carte pour ne garder que le lien déclencheur */
  .atelier-card .voirplus {
      border: none;
      background: none;
      padding: 5px 0;
      text-align: center;
  }

  #thEntetes { display: none !important; }
  
  .pagination {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
  }
  
  #selectClient {
    height: 35px;
    background: #dddddd;
    border-radius: 20px;
    font-weight: bold;
  }
  
  #selectClientDiv {
    width: 90px;
    float: left;
    margin: 0;
    display: none;
  }
  
  #header {
    overflow: hidden;
    padding: 10px 0;
    border-bottom: 1px solid grey;
    margin-bottom: 50px;
  }
  
  #headerLeft, #headerRight {
    width: 35%;
    min-width: 300px;
    float: left;
    z-index:2;
  }
  
  #lienMonCompte {
    float: right;
    background: #dddddd;
    padding: 5px;
    margin: 10px;
    border-radius: 20px;
    color: black;
    font-weight: bold;
    cursor: pointer;
  }
  
  #photoConnexion {
    float: right;
    margin: -29px -16px 0 0;
    border-radius: 200px;
    width: 40px;
  }
  
  /* --- CSS MODERNE ADAPTÉ --- */

/* Fond sombre avec flou */
.modern-backdrop {
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(3px);
    z-index: 100000;
}

/* La boite modale */
.modern-modal {
    position: fixed;
    z-index: 9999;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 95%;
    max-width: 550px;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.modern-content {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    max-height: 85vh; /* Hauteur max de 85% de l'écran */
    overflow: hidden;
    padding: 0 !important;
}

/* En-tête */
.modern-header {
    background: #f8f9fa;
    padding: 20px 25px;
    border-bottom: 1px solid #e9ecef;
    text-align: left;
    position: relative;
}

.modern-header h3 {
    color: var(--couleur1);
    font-size: 20px;
    margin: 0 0 5px 0;
    font-weight: 700;
}

.modern-header .subtitle {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

.modern-close {
    position: absolute;
    right: 15px;
    top: 15px;
    font-size: 24px;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    background: #fff;
    border-radius: 50%;
    color: #aaa;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: 0.2s;
}

.modern-close:hover {
    color: #333;
    background: #eee;
}

/* Zone centrale avec scroll */
.modern-body {
    padding: 20px 25px;
    overflow-y: auto; /* Le scroll se fait ici */
    background: #fff;
}

.modern-list {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Espace entre les boutons */
}

/* LE STYLE DU BOUTON TEXTE */
a.modern-btn {
    display: block !important;
    width: 100% !important;
    padding: 15px 20px !important;
    margin: 4px 0 !important;
    
    /* Typographie */
    font-family: 'Google Sans', Arial, sans-serif;
    font-size: 15px !important;
    font-weight: 500;
    color: #333 !important; /* Texte gris foncé par défaut */
    text-align: left !important;
    text-decoration: none !important;
    text-transform: capitalize; /* Force la majuscule à "Jeudi" */
    
    /* Apparence */
    background: #ffffff !important;
    border: 1px solid #e0e0e0;
    border-left: 5px solid var(--couleur1); /* Barre de couleur à gauche */
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
    
    /* Animation */
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

/* Survol */
a.modern-btn:not(.complet):hover {
    background: color-mix(in srgb, var(--couleur1), white 90%) !important;
    border-color: var(--couleur1);
    transform: translateX(5px); /* Léger décalage vers la droite */
    box-shadow: 0 4px 8px rgba(0,0,0,0.08);
    color: #000 !important;
}

/* Pied de page */
.modern-footer {
    padding: 15px;
    background: #fff;
    border-top: 1px solid #f0f0f0;
    text-align: center;
}

.modern-checkbox-visual {
    padding: 8px 20px;
    background: #eee;
    border-radius: 50px;
    font-size: 14px;
    color: #555;
    cursor: pointer;
    border: 1px solid #ccc;
    display: inline-block;
    transition: 0.2s;
}

.modern-checkbox-visual:hover {
    background: #eee;
}

/* Quand la case est cochée */
input:checked + .modern-checkbox-visual {
    background: #fff3cd;
    color: #856404;
    border-color: #ffeeba;
    font-weight: bold;
}









/* --- CONTAINER CARTE --- */
.atelier-card .topliste {
    border: none !important; /* On enlève la bordure grise fine */
    border-radius: 16px !important; /* Coins plus arrondis */
    background: #ffffff;
    /* Ombre très douce et moderne */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    overflow: hidden; /* Important pour que l'image suive l'arrondi */
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Effet "Levitation" au survol */
.atelier-card:hover .topliste {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1) !important;
}

/* --- IMAGE & DURÉE --- */
.atelier-card .mobile {
    background: #f8f9fa; /* Fond léger sous l'image */
    padding: 20px 0 !important; /* Un peu plus d'air */
    position: relative;
}

/* La pastille de durée (0h30) */
.duree {
    background: var(--couleur2) !important;
    backdrop-filter: blur(4px);
    border-radius: 5px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
    font-weight: 600;
    box-shadow: none !important;
    margin: 0 !important;
    bottom: -35px;
    right: -25%;
    position: absolute;
}

/* --- TYPOGRAPHIE --- */
.atelier-card .Name {
    font-family: 'Google Sans', sans-serif;
    font-size: 18px !important;
    font-weight: 700;
    color: #202124; /* Noir Google */
    line-height: 1.4;
    margin-bottom: 8px;
    display: block;
}

/* Description */
.atelier-card .City { /* Je suppose que c'est la description */
    color: #5f6368; /* Gris Google standard */
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 20px;
}

/* --- LIGNE D'INFO (NOTE & DÉTAILS) --- */
/* Le carré bleu de la note transformé en tag moderne */
.note .note-etoile {
    background: #ffffff !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    padding: 4px 8px !important;
    width: auto !important;
    min-width: 35px;
    line-height: normal !important;
    margin-left: 0 !important;
    font-weight: bold !important;
    color: var(--couleur2);
    border: 2px solid;
}

/* Le texte "424 avis" */
.note .avis {
    text-decoration: none !important;
    color: #70757a !important;
    font-size: 13px !important;
}

/* Bouton Détails (Tag gris clair) */
.spanVoirPlus {
    background: #f1f3f4 !important; /* Gris très clair */
    color: #333 !important;
    border-radius: 20px !important;
    padding: 6px 15px !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    transition: 0.2s;
    border: 1px solid transparent;
}

.spanVoirPlus:hover {
    background: #e8eaed !important;
    border-color: #dadce0;
}

/* --- ACTIONS (BAS DE CARTE) --- */
.atelier-card .actions {
    margin-top: auto; /* Pousse vers le bas */
    padding: 15px 20px 20px !important;
    border-top: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

/* Le gros bouton VERT */
.atelier-card .mainBtn {
    border-radius: 50px !important; /* Forme Pilule moderne */
    padding: 10px 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    box-shadow:  0 4px 10px var(--couleur1)4f;
    flex-grow: 1; /* Prend toute la place dispo */
    margin: 0 !important;
    text-align: center;
    transition: transform 0.2s;
}

.atelier-card .mainBtn:hover {
    transform: translateY(-2px);
    background-color: color-mix(in srgb, var(--couleur1), black 25%);
    box-shadow: var(--couleur1);
}

/* La cloche (Notification) */
/* Cacher le checkbox et styliser le label si possible, ou cibler le conteneur */
.tooltip .lever.spanCoeur:after {
    border-radius: 50% !important; /* Rond parfait */
    width: 42px !important;
    height: 42px !important;
    background-color: #ffffff !important;
    border: 1px solid #dadce0;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    background-size: 20px !important; /* Icône plus petite et centrée */
}

.tooltip .lever.spanCoeur:hover:after {
    background-color: #f8f9fa !important;
    border-color: #ccc;
}



/* --- BOUTON DÉTAILS MODERNE --- */
.detailBtn {
        display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background-color: white !important;
    color: #2A3749 !important;
    border: 1px solid transparent;
    border-radius: 20px !important;
    padding: 6px 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
    float: right;
    box-shadow: 2px 2px 0px #2A3749;
	display: none !important;
}


/* Gestion de l'icône SVG à l'intérieur */
.detailBtn svg {
    margin: -2px 0px 2px 6px;
    width: 16px;
    height: 16px;
    stroke-width: 2.5px; /* Rend l'icône un peu plus grasse */
}


/* --- CLOCHE DE NOTIFICATION MODERNE --- */

/* 1. Conteneur principal des actions (Bouton vert + Cloche) */
.atelier-card .actions {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Espace entre le btn vert et la cloche */
    gap: 10px;
    padding: 15px 20px 5px !important;
}

/* 2. On s'assure que le bouton vert prend toute la place restante */
.atelier-card .mainBtn {
    flex-grow: 1;
    margin: 0 !important; /* Reset des marges */
}

/* 3. Style du conteneur de la cloche (le label/span) */
.tooltip .lever.spanCoeur {
    /* Forme Rond Parfait */
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    
    /* Couleurs */
    background-color: #ffffff;
    border: 1px solid #dadce0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    
    /* Interaction */
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0 !important;
    padding: 0 !important;
}

/* 4. Masquer le texte "Notifiez-moi..." à l'intérieur */
.tooltip .lever.spanCoeur i {
    display: none !important;
}


/* --- ÉTATS (HOVER & CHECKED) --- */

/* Survol de la cloche */
.tooltip .lever.spanCoeur:hover {
    background-color: #f8f9fa;
    transform: scale(1.05);
    border-color: #ccc;
}
.tooltip .lever.spanCoeur:hover::before {
    opacity: 1;
}

/* Quand la case est COCHÉE (Activé) */
/* Note : on cible l'input checked qui précède le span */
input:checked + .lever.spanCoeur {
    background-color: #fbbb4e29 !important;
    border-color: #fbbb4e !important;
}

input:checked + .lever.spanCoeur::before {
    /* Image Cloche Pleine (Jaune) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fbbb4e'%3E%3Cpath d='M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z'/%3E%3C/svg%3E");
    opacity: 1;
}

/* Masquer les styles "Before/After" de l'ancien design s'ils existent encore */
.tooltip .lever.spanCoeur:after {
    display: none !important;
}

input[type=checkbox]:not(:disabled) ~ .lever:active:before, input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
    -webkit-transform: scale(1) !important;
    transform: scale(1) !important;
    background-color: inherit !important;
}

.actions .tooltip {
	margin: auto;
}

/* =========================================
   MODERNISATION DU FORMULAIRE D'INSCRIPTION
   ========================================= */

/* 1. Le conteneur principal (La Modale) */
#iframeFormulaire {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 94% !important;
    max-width: 650px !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2) !important;
    z-index: 100001 !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
    border: none !important;
}

/* 3. L'En-tête (Titre et Image) */
#iframeFormulaire .bandeau1 {
    background: #f8f9fa !important;
    padding: 25px 30px 20px !important;
    border-bottom: 1px solid #e9ecef !important;
}

#imageTitre {
    float: right;
    height: 70px !important;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    margin-left: 15px;
}

#W018 { /* Titre "Inscription..." */
    font-size: 22px !important;
    color: #333 !important;
    margin-bottom: 10px !important;
    font-family: 'Google Sans', sans-serif !important;
}

#formDateAtelier { /* Date */
    font-size: 14px !important;
    background: var(--couleur2) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    display: inline-block !important;
    font-style: normal !important;
    color: white;
}

/* 4. Le Corps du formulaire */
#iframeFormulaire .bandeau2 {
    background: #ffffff !important;
    padding: 25px 30px 30px !important;
}

/* 5. Les champs de saisie (Inputs & Textareas) */
.form-floating > .form-control {
    border-radius: 8px !important;
    border: 1px solid #dadce0 !important;
    background-color: #f8f9fa !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

/* Effet moderne au clic dans un champ (Focus) */
.form-floating > .form-control:focus {
    background-color: #ffffff !important;
    border-color: var(--couleur1) !important;
    box-shadow: 0 0 0 3px rgba(12, 113, 195, 0.15) !important;
}

/* Labels des champs */
.form-floating > label {
    color: #5f6368 !important;
    font-size: 14px !important;
}

/* 6. Les Checkboxes de confirmation */
input[type="checkbox"]#checkObjectif,
input[type="checkbox"]#checkParticipe {
    accent-color: var(--couleur1); /* Colore la case avec votre bleu */
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
    cursor: pointer;
    vertical-align: middle;
}

#checkObjectifLabel, #checkParticipeLabel {
    font-size: 13px !important;
    color: #3c4043 !important;
    cursor: pointer;
    line-height: 1.5;
    display: inline-block;
    width: calc(100% - 30px);
    vertical-align: top;
    margin-bottom: 10px;
}

/* 7. Le Bouton Valider */
#valider {
    margin: 20px auto 20px !important;
    display: block !important;
    border-radius: 50px !important;
    padding: 7px 42px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background: var(--couleur1) !important;
    border: none !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px -4px var(--couleur1) !important;
    transition: all 0.3s ease !important;
    height: auto;
}

#valider:hover {
    transform: translateY(-2px) !important;
    background: color-mix(in srgb, var(--couleur1), black 25%) !important;
}

/* Bouton désactivé (pendant le chargement) */
#valider.btnDesac {
    background: #ccc !important;
    box-shadow: none !important;
    transform: none !important;
    color: #666 !important;
}


.form-floating > .form-control.is-invalid {
    border: solid 2px red !important;
}
.form-floating > label.is-invalid, .is-invalid span {
    border: solid 0px red !important;
    color: red !important;
    font-weight: bold !important;
}

/* =========================================
   ÉCRAN DE SUCCÈS (INSCRIPTION VALIDÉE)
   ========================================= */

/* 1. Conteneur principal du message */
#reussi {
    padding: 30px 20px 10px !important;
    text-align: center !important; /* On centre les éléments principaux */
}

/* 2. L'icône de validation (Checkmark) */
#reussi img {
    float: none !important; /* Annule le float inline */
    display: block !important;
    margin: 0 auto 20px auto !important; /* Centré au-dessus du titre */
    padding: 0 !important;
    width: 80px !important; /* Un peu plus grand pour l'impact */
    height: auto !important;
}

/* 3. Le Titre "Inscription validée !" */
#reussi h5 {
    font-size: 28px !important;
    color: #2a3749 !important; /* Vert succès (Material Design) */
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    font-family: 'Google Sans', sans-serif !important;
}

/* 4. Le conteneur du texte explicatif */
#reussi > div {
    float: none !important; /* Annule le float inline */
    width: 100% !important; /* Prend toute la largeur */
    display: block !important;
    text-align: left !important; /* Le texte reste aligné à gauche pour la lisibilité */
    color: #3c4043 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* 5. Avertissement 1 (Attention - Support de formation) */
/* On le transforme en encart jaune clair (Warning) */
#reussi b {
    display: block !important;
    background-color: color-mix(in srgb, var(--couleur2), white 85%) !important;
    color: color-mix(in srgb, var(--couleur2), black 20%) !important;
    padding: 12px 15px !important;
    border-radius: 8px !important;
    border-left: 4px solid color-mix(in srgb, var(--couleur2), black 20%) !important;
    margin: 20px 0 15px 0 !important;
    font-weight: 600 !important;
}

/* 6. Avertissement 2 (Désinscription / Agenda) */
/* On le transforme en encart gris clair (Information) */
#W039 {
    display: block !important;
    background-color: #f8f9fa !important;
    color: #5f6368 !important;
    padding: 12px 15px !important;
    border-radius: 8px !important;
    border: 1px solid #e9ecef !important;
    font-size: 14px !important;
    margin-top: 10px !important;
}

/* =========================================
   BOUTON DE RETOUR (FERMER FENÊTRE)
   ========================================= */

#fermerFenetre {
    /* Typographie */
    font-family: 'Google Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    
    /* Couleurs & Fond */
    background-color: var(--couleur1) !important;
    color: white !important;
    
    /* Mise en forme (Pilule) */
    padding: 14px 30px !important;
    border-radius: 50px !important;
    margin: 0 auto 30px auto !important; /* Centré avec de la marge en bas */
    width: fit-content !important;
    box-shadow: 0 4px 15px rgba(102, 191, 102, 0.3) !important;
    
    /* Interaction */
    cursor: pointer !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
}

/* Effet au survol du bouton retour */
#fermerFenetre:hover {
    background-color: var(--couleur1) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px var(--couleur1)4f !important;
}

#sousMenu {
  margin: auto;
  width: fit-content;
}







/* =========================================
   REFONTE DE L'EN-TÊTE ET DES FILTRES
   ========================================= */

/* 1. L'En-tête principal (Topbar) */
#header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 30px !important;
    background-color: #ffffff;
    border-bottom: 1px solid #e0e0e0 !important;
    margin-bottom: 30px !important;
}

/* Réinitialisation des blocs flottants (Left, Center, Right) */
#headerLeft, #headerCenter, #headerRight {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex;
    align-items: center;
    gap: 15px; /* Espace entre les éléments à l'intérieur de chaque zone */
}

/* 2. Éléments de la partie Gauche (Logo & Sélecteur Client) */
#logoStats {
    margin: 0 !important;
}

#selectClient {
    background-color: #f1f3f4 !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 8px 15px !important;
    font-size: 13px !important;
    color: #3c4043 !important;
    font-weight: 600 !important;
    height: auto !important;
    cursor: pointer;
}

/* 3. Partie Centrale (Titre "Formations Google") */
#headerCenter {
    flex-grow: 1;
    justify-content: center;
}

#titreListe {
    font-size: 24px !important;
    color: #5f6368 !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', sans-serif !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 4. Partie Droite (Boutons Compte, Langue, Déconnexion) */
#lienMonCompte {
    background-color: #e0e0e0 !important; /* Gris moyen (comme sur la maquette) */
    color: #000000 !important;
    border-radius: 20px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    float: none !important;
}

#lienMonCompte:hover {
    background-color: #d5d5d5 !important;
}

#btnSelectLangue {
    margin: 0 !important;
    float: none !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important; /* Ombre plus douce */
}

/* 5. La Barre de Recherche Principale */
#divRecherche {
    width: 100%;
    max-width: fit-content;
    margin: 0 auto !important;
    padding: 0 20px;
}

#searchInput {
    width: 250px !important;
    float: left;
    background-color: #f1f3f4 !important; /* Gris Google clair */
    border-radius: 50px !important; /* Forme de pilule allongée */
    height: 40px !important;
    padding: 0 30px !important;
    font-size: 16px !important;
    color: #202124 !important;
    box-shadow: none !important;
    margin-bottom: 20px !important;
    margin-right: 20px !important;
}

#searchInput::placeholder {
    color: #5f6368 !important;
    margin-right: 20px !important;
}

#searchInput:focus {
    background-color: #ffffff !important;
    box-shadow: 0 1px 6px rgba(32,33,36,0.28) !important;
}

/* 6. La Zone des Filtres */
#filtres {
    flex-wrap: wrap !important;
    gap: 15px !important; /* Espacement régulier entre les filtres */
    justify-content: center !important;
    align-items: center !important;
    width: max-content;
    max-width: 100%;
    margin-bottom: 20px !important;
}

#filtres .col {
    position: relative;
    margin: 0 !important;
}

/* Style commun aux menus déroulants (select) des filtres */
#filtres select {
    appearance: none; /* Enlève la flèche native du navigateur */
    background-color: #f1f3f4 !important;
    color: #3c4043 !important;
    border-radius: 20px !important;
    padding: 8px 30px 8px 40px !important; /* Espace à gauche pour l'icône, à droite pour la flèche */
    height: 40px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%235f6368%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E") !important; /* Ajout d'une flèche SVG propre */
    background-repeat: no-repeat !important;
    background-position: right 12px center !important; /* Position de la flèche */
    background-size: 10px auto !important;
}

#filtres select:hover {
    background-color: #e8eaed !important;
}

/* Positionnement des icônes à l'intérieur des pilules de filtre */
.svgFiltre {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 14px !important;
    margin: 0 !important;
    pointer-events: none; /* Le clic passe au travers jusqu'au select */
    z-index: 2;
}

.svgFiltre path {
    fill: #5f6368 !important; /* Couleur d'icône grise standard */
}

/* Bouton "Effacer les filtres" */
#effacerFiltre {
    margin: 0 0 0 10px !important;
    font-weight: normal !important;
    font-size: 14px !important;
    text-transform: none !important;
    color: white;
}

.puceCoche {
    background: var(--couleur1);
    color: white;
    width: 24px;
    height: 24px; 
    border-radius: 50%; 
    display: inline-flex; 
    align-items: center;
    justify-content: center; 
    font-weight: bold; 
    margin-right: 10px;
    margin-top: -10px;
}

/* --- Responsive (Mobile) --- */
@media (max-width: 980px) {
    #header {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 15px !important;
    }
    #headerCenter {
        margin: 15px 0 !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }
    #headerRight {
        flex-wrap: wrap !important;
    }
    #filtres {
        justify-content: flex-start !important;
    }
}

.firebaseui-idp-icon-wrapper {
    line-height: normal;
}

#deco {
padding-top: 6px;
    line-height: normal;
}

#containerCorps {
    background-color: var(--couleurFond1);
    margin-bottom: -20px;
    padding-bottom: 21px;
}

#containerCorps.fondCompte {
	background-color: var(--couleurFond2);
}
    
    
    
    /* =========================================
   SUPER-REFONTE DU HEADER ET DES FILTRES
   ========================================= */

/* 1. L'En-tête principal (Blanc) */
#header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 40px !important;
    background-color: #ffffff;
    border-bottom: none !important;
    margin-bottom: 0 !important; /* On colle le bandeau bleu juste en dessous */
}

/* Réinitialisation et alignement parfait des 3 zones du header */
#headerLeft, #headerCenter, #headerRight {
    float: none !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important; /* Espacement régulier et propre */
        z-index: 11;
}

#headerCenter {
    flex-grow: 1;
    justify-content: center;
}

#titreListe {
    font-size: 24px !important;
    color: #444746 !important; /* Gris foncé typique de Google */
    font-weight: 500 !important;
    font-family: 'Google Sans', Arial, sans-serif !important;
    padding: 0 !important;
}

#logoStats {
    margin: 0 !important;
}

/* 2. Boutons du Header (Compte, Langue, Déconnexion) */
#lienMonCompte {
    background-color: #f1f3f4 !important;
    color: #202124 !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
    margin: 0 !important;
}

#lienMonCompte:hover {
    background-color: #e8eaed !important;
    transform: translateY(-1px);
}

#btnSelectLangue {
    margin: 0 !important;
    border: 4px solid #e0e0e0 !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease !important;
}

#btnSelectLangue:hover {
    border-color: #1a73e8 !important;
}

/* Alignement du bouton "Se déconnecter" et de la photo */
button#signOut {
    align-items: center !important;
    gap: 12px !important;
    padding: 5px 10px 5px 7px !important;
    border-radius: 50px !important;
    margin: 5px 0 0 0px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    min-height: 10px;
    background: #2A3749;
    width: fit-content !important;
}

#photoConnexion {
    margin: 0 !important;
    border-radius: 50% !important;
    width: 34px !important;
    height: 34px !important;
}

#deco {
    padding: 0 !important;
}

/* 3. Bandeau Bleu (Recherche et Filtres) */
#divRecherche {
    display: flex;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 20px !important;
        padding: 15px 25px !important;
        background-color: #2a3749!important;
        border-radius: 50px;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
        box-shadow: rgba(0, 0, 0, 0.3) 0px 2px 6px !important;
        z-index: 10;
        position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
}

/* Barre de recherche */
#searchInput {
    width: 280px !important;
    margin: 0 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    transition: box-shadow 0.2s ease, width 0.3s ease !important;
}

#searchInput:focus {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    width: 300px !important; /* Petit effet d'agrandissement au focus */
}

/* Zone des filtres */
#filtres {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
}

#filtres .col {
    margin: 0 !important;
    position: relative;
}

#filtres select {
    margin: 0 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s !important;
}

#filtres select:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.15) !important;
    background-color: #ffffff !important;
}

/* Centrage vertical parfait des icônes SVG dans les filtres */
.svgFiltre {
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    left: 15px !important;
}

/* Bouton "Effacer les filtres" */
#effacerFiltre {
    margin: 0 !important;
    padding: 8px 16px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    transition: background 0.2s ease !important;
}

#effacerFiltre:hover {
    background: rgba(255, 255, 255, 0.3) !important;
    text-decoration: none !important;
}



/* =========================================
   REFONTE DE LA MODALE DE LANGUE
   ========================================= */

/* 1. Le conteneur principal de la modale */
#choixDeLaLangue {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important; /* Centrage absolu parfait */
    background: #ffffff !important;
    border-radius: 16px !important; /* Coins bien arrondis */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important; /* Ombre élégante */
    padding: 35px 30px 40px !important;
    width: 90% !important;
    max-width: 450px !important;
    z-index: 100005 !important; /* Au-dessus de tout */
    margin: 0 !important;
    text-align: center !important;
    border: none !important;
}

/* 2. Le Titre */
#titreSelectLangue {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #202124 !important; /* Gris foncé classique Google */
    font-family: 'Google Sans', Arial, sans-serif !important;
    margin: 0 0 30px 0 !important;
    display: block !important;
    line-height: normal;
}

/* 3. Le bouton de fermeture (Croix) */
#choixDeLaLangue .close {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 30px !important; /* Centrage vertical de la croix */
    font-size: 24px !important;
    color: #5f6368 !important;
    background: #f1f3f4 !important; /* Fond gris clair */
    border-radius: 50% !important; /* Forme parfaitement ronde */
    text-align: center !important;
    cursor: pointer !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
}

#choixDeLaLangue .close:hover {
    background: #e8eaed !important;
    color: #202124 !important;
    transform: scale(1.05); /* Petit effet de grossissement */
}

/* 4. Le conteneur des drapeaux */
.bullesLangues {
    display: flex !important;
    justify-content: center !important;
    gap: 25px !important; /* Espacement moderne entre les drapeaux */
    flex-wrap: wrap !important;
    margin: 0 !important;
}

/* 5. Les "bulles" des drapeaux */
.btnImgsLangue {
    width: 65px !important;
    height: 65px !important;
    margin: 0 !important;
    border-radius: 50% !important; /* Rendu rond */
    overflow: hidden !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    border: 3px solid transparent !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f8f9fa !important;
}

/* Effet au survol d'un drapeau */
.btnImgsLangue:hover {
    transform: translateY(-5px) !important; /* Le drapeau se soulève */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15) !important;
    border-color: var(--couleur1) !important; /* Bordure bleue au survol */
}

/* 6. Les images des drapeaux à l'intérieur */
.imgsLangue {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Remplace ton ancienne technique magique pour rogner proprement */
    margin: 0 !important; /* On annule le margin-top: -50% */
}

.ep_vague { 
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNGRkZGRkYiPjxwYXRoIGQ9Ik0zMjAgMjhjMzIwIDAgMzIwIDg0IDY0MCA4NCAxNjAgMCAyNDAtMjEgMzIwLTQydjcwSDBWNzBjODAtMjEgMTYwLTQyIDMyMC00MnoiLz48L2c+PC9zdmc+);
    background-size: 83.333333333333% 200px;
    bottom: 0;
    height: 200px;
    z-index: 1;
    transform: rotate(180deg);
    margin-bottom: -200px;
}

#content-area, .container {
overflow: visible !important;
}

#monCompte {
line-height: 33px;
    margin: 0 10px;
}

#headerCenter {
    position: absolute;
    display: block !important;
    width: calc(100% - 80px) !important;
    z-index: 10;
}

.maListe {
    display: flex;
    align-items: center;
    gap: 8px; /* Espace net entre l'icône et le texte */
}

/* L'icône professionnelle : flèche incurvée fluide et arrondie */
.maListe::before {
    content: "";
    display: inline-block;
    width: 18px; /* Légèrement affinée */
    height: 18px;
    /* Flèche tracée à la ligne (stroke) avec des angles doux */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444746' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14L4 9l5-5'/%3E%3Cpath d='M20 20v-7a4 4 0 0 0-4-4H4'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease;
}

/* Petit bonus : la flèche recule légèrement au survol */
#lienMonCompte:hover .maListe::before {
    transform: translateX(-3px);
}

.firebaseui-idp-button, .firebaseui-tenant-button {
    background-color: var(--couleur1) !important;
    padding: 0 11px 0 7px !important;
    min-height: auto !important;
}

/* 1. On masque DÉFINITIVEMENT l'ancienne cloche sur TOUS les .spanCoeur (avec ou sans tooltip) */
.lever.spanCoeur::after {
    display: none !important;
    background-image: none !important;
}

/* 2. On FORCE l'affichage de la nouvelle cloche SVG sur ::before */
.lever.spanCoeur::before {
    content: '' !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    /* Image Cloche Vide (Gris/Noir) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23999999'%3E%3Cpath d='M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z'/%3E%3C/svg%3E") !important;
    opacity: 0.6 !important;
    transition: opacity 0.2s ease !important;
    transform: scale(1.2) !important;
}

/* 3. On FORCE la cloche jaune quand c'est coché */
input:checked + .lever.spanCoeur::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fbbb4e'%3E%3Cpath d='M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z'/%3E%3C/svg%3E") !important;
    opacity: 1 !important;
}




/* Personnalisation de Select2 pour correspondre à votre design "Pilule" */
.select2-container {
    margin: 15px 5px;
}
.select2-container--default .select2-selection--single {
    background-color: #f1f3f4 !important;
    border: none !important;
    border-radius: 20px !important;
    height: 40px !important;
    padding: 9px 15px 9px 30px !important; /* Laisse la place au SVG à gauche */
    display: flex;
    align-items: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s !important;
}
.select2-container--default .select2-selection--single:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.15) !important;
    background-color: #ffffff !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%);
    right: 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #3c4043 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: normal !important;
}

.select2-selection__rendered img, .select2-results__option img {
	height: 25px !important;
    width: auto !important;
    margin-right: 8px !important;
    margin-bottom: 0px !important;
    vertical-align: middle !important;
    border-radius: 3px !important;
}

.select2-dropdown {
width: max-content !important;
}

span[aria-controls="select2-choixDejaFait-container"] .select2-selection__arrow, .selection #selectClocheTxt, span[aria-controls="select2-choixCloche-container"] .select2-selection__arrow, .selection #selectFaitTxt, #select2-choixCloche-container:not(:has(img)), #select2-choixDejaFait-container:not(:has(svg)) {
display: none !important;
}

#select2-choixCloche-container, #select2-choixDejaFait-container {
    padding: 0 0 0 5px;
    margin-right: -15px;
    }
#select2-choixCloche-container {
    margin-top: -2px;
    }

.mobile-fab, .mobile-filter-header, #mobileOverlay, #iframeFormulaire #W018 {
  display: none;
}

/* Le conteneur parent (On retire le cursor: pointer d'ici !) */
#headerLeft {
  position: relative;
  display: inline-block;
}

/* Le logo visible */
#logoStats {
  display: block;
  transition: transform 0.2s ease;
}

/* On place la div du select en absolu par-dessus le logo */
#selectClientDiv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2; /* S'assure qu'il est bien devant le logo */
  cursor: pointer; /* La petite main n'apparaît QUE si la div est active */
}

/* On rend le select invisible mais cliquable */
#selectClient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0; 
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* --- L'ANIMATION MAGIQUE --- */
/* Si la div selectClientDiv est survolée (donc affichée pour un admin), 
   alors on applique le zoom sur le logoStats qui la suit directement dans le HTML (+) */
#selectClientDiv:hover + #logoStats {
  transform: scale(1.05);
}


#inscriptions, #suivis, #alertes, #statistiques, #livretSuivi { overflow-x: auto !important; }

.cacheRecherche {
        opacity: 0;
    bottom: -100px;
    }

.select2-dropdown--below {
border: none !important;
    border-radius: 10px !important;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 6px !important;
}




@media (max-width:980px) {
	#header {    padding: 40px 10px 20px !important; background: #ffffff !important;         display: block !important;
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 70%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%) !important;    margin-bottom: -100px !important;}
    #headerLeft, #headerCenter, #headerRight { margin: 10px 0;}
    #headerLeft { float: left !important; max-width: calc(100% - 212px) !important; margin-top: 15px;}
    #headerRight { position: relative; float: right !important;     gap: 5px !important;}
    #headerCenter { position: relative; width: 100% !important;}
    .ep_vague { margin-bottom: -130px; background-size: 300%;
        background-position: center;}
    #titreListe {font-size: 32px !important;}
    
    #containerStats #paragrapheStats {
    padding-top: 80px !important;
    padding-bottom: 0px !important;
            padding: 0 5%;
    }
    
    /* 1. L'Overlay (Fond noir transparent) */
  #mobileOverlay {
    display: block;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 110;
    opacity: 0;
    pointer-events: none; /* Inactif quand caché */
    transition: opacity 0.3s ease;
  }
  
  #mobileOverlay.ouvert {
    opacity: 1;
    pointer-events: auto; /* Cliquable quand affiché */
  }

  /* 2. Le bouton flottant (Material FAB étendu) */
  .mobile-fab {
    display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        position: fixed;
        bottom: 24px;
        left: 50%;
        transform: translateX(-50%);
        background-color: #2a3749 !important;
        color: white;
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
        padding: 12px 24px;
        border-radius: 30px;
        border: 1px solid #dadce0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        z-index: 100;
        cursor: pointer;
        transition: box-shadow 0.2s, background-color 0.2s, transform 0.2s;
  }
  
  .mobile-fab:active {
    transform: translateX(-50%) scale(0.96);
  }
  .mobile-fab path {
  fill: white;
  }

  /* 3. Le panneau (Bottom Sheet) */
  #divRecherche {
            position: fixed !important;
        top: 120% !important;
        z-index: 120;
        right: 0;
        bottom: 0;
        left: 0;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15) !important;
        overflow-y: auto;
        transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        flex-direction: column;
        max-width: none;
        margin-bottom: 0px !important;
  }

  /* État ouvert du panneau */
  #divRecherche.ouvert {
    top: 50vh !important; /* Glisse jusqu'à 15% du haut de l'écran */
  }

  /* 4. L'en-tête du panneau */
  .mobile-filter-header {
    display: flex !important;
        flex-direction: column;
        align-items: center;
  }

  /* La petite barre de tirage (Drag Handle) */
  .drag-handle {
    width: 40px;
    height: 4px;
    background-color: #dadce0;
    border-radius: 4px;
    margin-bottom: 16px;
  }

  .mobile-filter-header h3 {
    margin: 0;
        font-size: 16px;
        color: #e9e9e9;
        font-weight: 600;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
  }

  /* Le bouton croix discret */
  .close-mobile-panel {
    background: #f1f3f4;
    border: none;
    padding: 6px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
        position: absolute;
        right: 15px;
        top: 15px;
  }
  
  .close-mobile-panel:active {
    background: #e8eaed;
  }
}


@media (max-width: 800px) {
        .mobile {
                margin: 10px;
                float: none;
                width: inherit !important;
        }
       .topliste .mobile-image {
                margin : 10px auto 20px !important;
        }
        .mobile-bis {
                margin : 10px!important;
        }
        .voirplus .mobile-bis {
                margin : 10px 10px 20px !important;
        }
        .btninscription {
               font-size: 15px;
               width: calc(100% - 20px);
               text-align: center;
               padding: 15px 10px;
               margin: 10px 10px;
         }
        .action {
               width: 100%;
               margin: inherit;
               padding: inherit;
         }
         .note, .actions {
               width: inherit;
               float: none;
         }
         .topliste {
               padding-bottom: 25px;
         }
         .groupe {
               width: 100%;
         }
         .actions {
               text-align: center;
         }
         .mainBtn {
               font-size: 21px;
               padding: 10px 50px;
         }
         .infoDate {
             text-align: center;
             width: 100%;
         }
         /* MODAL OVERRIDE FOR MOBILE */
         div[id^="myModal"] {
             max-height: 90vh !important;
             width: 100% !important;
             margin: 0 !important;
             top: 50% !important;
             transform: translate(-50%, -50%) !important;
        	padding: 3% !important;
         }
         
         
}
@media (min-width: 801px) {
        .mobile {
                margin: 20px!important;
                float: left;
        }
        .mobile-bis {
                margin : 20px!important;
                width: calc(100% - 280px) !important;
                float: left;
        }
        .voirplus .mobile-bis, .voirplus .mobile {
                float: right;
        }
}

select:not(:has(option[value=""]:checked)):not(:has(option.vide:checked)) + .select2-container .select2-selection {
    background-color: #e8f0fe !important; /* Fond bleu clair */
    border: 1px solid #1a73e8 !important; /* Bordure bleue */
}

/* Colore le texte à l'intérieur du Select2 */
select:not(:has(option[value=""]:checked)):not(:has(option.vide:checked)) + .select2-container .select2-selection__rendered {
    color: #1a73e8 !important;
    font-weight: bold !important;
}

.select2-results__option[aria-disabled="true"] {
    display: none !important;
}



        @media (max-width: 750px) {
          #containerStats .colonne {
            width: 46%;
            margin: 50px 2% 0px 2%;
          }
          #headerCenter {
              margin-top: 80px !important;
              padding: 0 10%;
          }
        }
        
.rechercheFiltreMobile {
    margin: 0;
    font-size: 16px;
    color: #e9e9e9;
    font-weight: 600;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}