/*styles RA 2024-2025*/
/*off canvas*/
.js-off-canvas-overlay {
  -webkit-transition: opacity .5s ease, visibility .5s ease;
  transition: opacity .5s ease, visibility .5s ease;
  background: rgba(0, 0, 0, .65);
  opacity: 0;
  visibility: hidden;
}

.off-canvas {

  width: 100% !important;
  max-width: 480px !important;;
}


.off-canvas-wrapper a:focus {
    color: #fff;
} 

/*nav bouton section et top*/
ul#menu-menu-rapport-2024-2025-off-canvas  {list-style-type: none !important; margin-left: 0 !important; font-size: 16px !important; text-align: left !important;}
ul#menu-menu-rapport-2024-2025-off-canvas li  {list-style-type: none !important; border-bottom: 1px solid white !important;}

ul#menu-menu-rapport-2024-2025-off-canvas ul li  {list-style-type: none !important; border-top: 1px solid white !important; border-bottom: none !important; }
ul#menu-menu-rapport-2024-2025-off-canvas li a {padding-left: 0.5rem; padding-right: 0.5rem; padding-top: 0.25rem; padding-bottom: 0.5rem;}
ul#menu-menu-rapport-2024-2025-off-canvas ul a {padding-left: 0.5rem; padding-right: 0.5rem; padding-top: 0.25rem; padding-bottom: 0.5rem; font-size: 16px !important;   border: none !important; border-radius: 0 !important;}
ul#menu-menu-rapport-2024-2025-off-canvas ul a:hover {  border: none !important; border-radius: 0 !important;}

ul#menu-menu-rapport-2024-2025-off-canvas ul li a {padding-left: 0.5rem; padding-right: 0.5rem; padding-top: 0.25rem; padding-bottom: 0.5rem; font-size: 16px !important;  color: white !important; border: none !important; border-radius: 0 !important;}
ul#menu-menu-rapport-2024-2025-off-canvas ul li a:hover { color: #0a4573 !important; border: none !important; border-radius: 0 !important;}
ul#menu-menu-rapport-2024-2025-off-canvas ul li:last-child {
  margin-bottom: 0rem !important;
}

/*plan*/
/*plan stratégique*/
    
#plan {
  counter-reset: h3counter;
}
#plan h3 {
  counter-reset: h4counter;
}

#plan h3:before {
  content: counter(h3counter) ".\0000a0";
  counter-increment: h3counter;
  counter-reset: h4counter;
  display: inline-block;
  width: 20px;
  height: calc(100% + 30%);
  left: -40px;
  position: absolute;
}

#plan h4:before {
  content: counter(h3counter) "." counter(h4counter);
  counter-increment: h4counter;
  display: inline-block;
  width: 20px;
  height: calc(100% + 30%);
  left: -40px;
  position: absolute;
}

.para-plan a {
  text-decoration: underline;
  color: #145e98;
}

.para-plan a:hover {
  text-decoration: none;
  color: #082e6c;
}

.para-plan p {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  margin-left: 50px;
}

#plan > p:first-child {
  margin-left: 0;
}
  
.para-plan hr {
  margin: 1.25rem auto !important;
}

.para-plan ul {
  list-style-type: disc;
  margin-left: calc(40px + 2rem);
  margin-top: 0rem;
  font-size: 18px !important;
}

.para-plan ul>li>ul>li {
  list-style-type: circle;
}

.para-plan ul>li>ul>li:last-child {
  margin-bottom: 1rem;
}

.para-plan li:last-child {
  margin-bottom: 2.5rem;
}

#plan h3:first-child {
  margin-top: 0 !important;
}

.para-plan h3 {
  font-size: 2.25rem;
  line-height: 2.5rem;
  margin-bottom: 2rem;
  color: #082e6c;
  font-family: 'Fira Sans', sans-serif;
  position: relative;
  left: 50px;
  padding-right: 50px;
  margin-top: 5rem;
}

.para-plan h4 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
  color: #082e6c;
  font-family: 'Fira Sans', sans-serif;
  position: relative;
  left: 50px;
  padding-right: 50px;
}

.para-plan h5 {
  font-size: 1.5rem;
  margin-bottom: 0.875rem;
  color: #082e6c;
  font-family: 'Fira Sans', sans-serif;
}
/*para dom*/

.para-dom p {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
}

.para-dom hr {
  margin: 1.25rem auto !important;
}

.para-dom ul {
  list-style-type: disc;
  margin-left: 2rem;
  margin-top: 0rem;
  font-size: 1.25rem;
  margin-bottom: 2rem;
}

.para-dom h3 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
  color: #082e6c;
  font-family: 'Fira Sans', sans-serif;
}

.para-dom h4 {
  font-size: 1.5rem;
  margin-bottom: 0.875rem;
  color: #082e6c;
  font-family: 'Fira Sans', sans-serif;
}
/* para*/

.para a {
  text-decoration: underline;
  color: #145e98;
}

.para a:hover {
  text-decoration: none;
  color: #082e6c;
}

.para p {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
}

.para hr {
  margin: 1.25rem auto !important;
}

.para ul {
  list-style-type: disc;
  margin-left: 2rem;
  margin-top: 0rem;
  font-size: 1.25rem;
  margin-bottom: 2rem;
}

.para ul li ul {
  list-style-type: circle;
  margin-bottom: 0rem;
}

.para ul li ul li {
  list-style-type: circle;
}

.para h3 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
  color: #082e6c;
  font-family: 'Fira Sans', sans-serif;
}

.para h4 {
  font-size: 1.5rem;
  margin-bottom: 0.875rem;
  color: #082e6c;
  font-family: 'Fira Sans', sans-serif;
}
/*fin para*/
 /* Floating Button Styles */
 #nextBtn {
    position: fixed;
    top: 10px;
    right: 0px;
    padding: 6px 22px 6px 9px;
    font-size: 24px;
    background-color: rgba(10, 69, 115, 0.7) !important;
    color: white;
    border: none !important;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    cursor: pointer;
    z-index: 9999;
    transition: top 0.3s ease-in-out, bottom 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 40px;
    opacity: 0;
    visibility: hidden;
  }
  /* Classe pour afficher le bouton après 80vh */
  #nextBtn.visible {
    opacity: 1;
    visibility: visible;
  }
  p strong {color:#0a4573 !important;}
  .stat-carte-hero strong {color:white !important;}

  /* Quand le bouton devient "retour en haut" - position en bas */
  #nextBtn.up {
    top: auto;
    bottom: 100px;
  }
  /* Button hover effect */
  #nextBtn:hover {
    background-color: rgba(10, 69, 115, 0.8);
  }
/*fin nav bouton section et top*/
body p {font-size:18px !important;}
body .statistiques p {font-size:20px !important; }
body .stat-carte-hero p {color:white !important;}
body ul {font-size:18px !important;}
body .presdir p  {font-size:16px !important;}
p {margin-bottom: 1rem !important; }
p:last-child {margin-bottom: 0 !important; }

#cartes_dir p {margin-bottom: 0.25rem !important; }
#cartes_dir p:last-child {margin-bottom: 0 !important; }

.statistiques a {
  text-decoration: none;
  border-bottom: 2px solid #0a4573;
  color: #0a4573;
}
.statistiques a:hover {
  text-decoration: none;
  border-bottom: 2px solid transparent;
  color: #0a4573;
}

.statistiques a[target="_blank"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f35d";
  margin-left: 0.35em;
  font-size: 0.85em;
  border-bottom: none;
}

section {padding-top: 3rem !important; padding-bottom: 3rem !important; padding-left: 3rem !important; padding-right: 3rem !important; }

ul {
  list-style-type: disc ;
  margin-left: 2rem ;
  margin-top: 0rem ;

}

ul ul li ul li {
  list-style-type: circle ;
}

ul ul li ul li:last-child {
  margin-bottom: 1rem ;
}
  
ul li:last-child {
  margin-bottom: 2.5rem ;
}

ul.menu li:last-child {
  margin-bottom: 0rem;
}
/*police*/
.fira {font-family: 'Fira Sans', sans-serif;}


/* Styles de base pour h1 et h2 */
h1 {
  font-size: 3.5rem !important;
  font-family: 'Fira Sans', sans-serif;
  margin-bottom: 1rem !important;
  color: #0a4573 !important;
  font-weight: 600;
  line-height: 1.2;
}

h2 {
  font-size: 2rem !important;
  font-family: 'Fira Sans', sans-serif;
  margin-bottom: 1rem !important;
  color: #0a4573 !important;
  font-weight: 600;
}
#mission h2, #vision h2, #valeurs h2 {color:white !important;}
.titre-ligne {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  margin-bottom: 1.5rem !important;
}
.col-titre {
  flex-shrink: 0;
 max-width: 80%;
}

.col-titre h1,
.col-titre h2 {
  margin: 0 !important;
}

.col-ligne {
  flex: 1;
  height: 2px;
  background-color: #0a4573;
  min-width: 50px;
}
#cartes_dir strong {font-size:100%;}


 .deuxcols {column-count: 2;
  column-gap: 4rem;
  column-rule: 2px solid #145e98;

}
   .troiscols {column-count: 3;
      column-gap: 4rem;
      column-rule: 2px solid #145e98;}


 .deuxcols ul   { list-style-type: disc;
margin-left: 2rem;
margin-top: 0rem;
font-size: 1.25rem;
margin-bottom: 2rem !important;

}

 .troiscols ul   { list-style-type: disc;
margin-left: 2rem;
margin-top: 0rem;
font-size: 1.25rem;
margin-bottom: 2rem !important;

}

/* Styles spéciaux pour #intro */
#intro h2 {
  font-size: 1.75rem !important;
  font-weight: normal;
}
#cartes-marque div img {border:solid 1px lightgray;}
#cartes-marque strong {font-size:120%; color:#074474;}
h3 {font-size: 1.75rem !important; font-family: 'Fira Sans', sans-serif; font-weight: 600 !important; color: #0a4573 !important;}
h4 {font-size: 1.5rem !important; font-family: 'Fira Sans', sans-serif; margin-bottom: 1rem !important; color: #0a4573 !important;}
h5 {font-size: 1.25rem !important; font-family: 'Fira Sans', sans-serif; margin-bottom: 1rem !important; color: #0a4573 !important;}

/*cartes marque - bordure au bas sauf dernière rangée*/
#cartes-marque > div {
  border-bottom: 2px solid #074474;
  padding-bottom: 1.5rem;
}
#cartes-marque > div:last-child {
  border-bottom: none;
}
@media (min-width: 768px) {
  #cartes-marque > div:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
@media (min-width: 1024px) {
  #cartes-marque > div:nth-last-child(-n+3) {
    border-bottom: none;
  }
}
/*fin cartes marque*/

/*responsive*/
@media only screen and (max-width: 1024px) {
  section {padding-left: 1rem !important; padding-right: 1rem !important; padding-top: 2rem !important; padding-bottom: 2rem !important; }
 
  h1 {font-size: 3rem !important; }
  h2 {font-size: 1.75rem !important; }
  h3 {font-size: 1.5rem !important; }
  h4 {font-size: 1.375rem !important; }
  h5 {font-size: 1.25rem !important; }

}

@media only screen and (max-width: 768px) {
 .deuxcols {column-count: 1;
    column-gap: 0rem;}
   .troiscols {column-count: 1;
        column-gap: 0rem;}

}

@media only screen and (max-width: 720px) {
  #cartes_dir strong {
    font-size: 100%;
}
    section {padding-left: 1.5rem !important; padding-right: 1.5rem !important; padding-top: 2rem !important; padding-bottom: 2rem !important; }
   
    h1 {font-size: 2.5rem !important; }
    h2 {font-size: 1.5rem !important; }
    h3 {font-size: 1.375rem !important; }
    h4 {font-size: 1.25rem !important; }
    h5 {font-size: 1.125rem !important; }
    
    .col-titre {
      max-width: 80%;
    }
    
    .col-ligne {
      min-width: 40px;
    }
    #nextBtn {
      position: fixed;
      top: 10px;
      right: 0px;
      padding: 6px 6px 6px 9px;
      font-size: 24px;
      background-color: rgba(10, 69, 115, 0.7) !important;
      color: white;
      border: none !important;
      border-top-left-radius: 8px;
      border-bottom-left-radius: 8px;
      cursor: pointer;
      z-index: 9999;
      transition: top 0.3s ease-in-out, bottom 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 30px;
      opacity: 0;
      visibility: hidden;
    }
    
    /* Ajouter padding gauche pour les numéros */
    #plan {
      padding-left: 1.5rem;
    }
    
    /* Réduire décalage sur mobile */
    .para-plan h3,
    .para-plan h4 {
      left: 1rem;
      padding-right: 1rem;
    }
    
    .para-plan p {
      margin-left: 1rem;
    }
    
    .para-plan ul {
      margin-left: calc(1rem + 2rem);
    }
}
/*fin responsive*/
/*fin styles*/