/* Inspired from
 - https://vobecant.github.io/
 -
*/

/* Space out content a bit */
body {
  padding-top: 20px;
  padding-bottom: 20px;
}

/* Everything but the jumbotron gets side spacing for mobile first views */
.header,
.row,
.footer {
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 5px;
}

/* Custom page header */
.header {
  border-bottom: 1px solid #e5e5e5;
}

/* Make the masthead heading the same height as the navigation */
.header h3 {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 40px;
  padding-bottom: 19px;
}

/* Custom page footer */
.footer {
  padding-top: 19px;
  color: #777;
  border-top: 1px solid #e5e5e5;
}

.container-narrow > hr {
  margin: 20px 0;
}

/* Main marketing message and sign up button */
.container .jumbotron {
  text-align: center;
  border-bottom: 1px solid #e5e5e5;
  padding-left: 20px;
  padding: 30px;
}

.jumbotron .btn {
  font-size: 21px;
  padding: 14px 24px;
}

.row p + h3 {
  margin-top: 28px;
}

div.row h3 {
  padding-bottom: 5px;
  border-bottom: 1px solid #ccc;
}

.row-margin{
  margin-top: 30px;
  margin-bottom: 30px
}

.readme h1 {
  display: none;
}

.vcenter {
    display: inline-block;
    vertical-align: middle;
    float: none;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1, h3custom, .h3custom {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: #343a40;
}


/* Make the masthead heading the same height as the navigation */
h3custom, .h3custom {
    border: none;
    margin-bottom: 0rem;
    /*font-size: 1.5em;*/
}


h1, .h1 {
  font-size: calc(1.725rem + 3.7vw);
}


a {
    color: #2a6496 !important;
    text-decoration: none;
    /* color: #428bca; */
}

a:hover, a:focus {
    text-decoration: underline;
}

/* font-weight: bold; */
.btn-primary {
    /* color: #2a6496 !important; */
}

/* 0d6efd */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #2a6496 !important;
    --bs-btn-border-color: #2a6496 !important;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5pxrgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #2a6496;
    --bs-btn-disabled-border-color: #2a6496;
}


:root {
    --bs-primary-rgb: 42, 100, 150 !important;
}

/* Badges spécifiques pour chaque année */

/* Badge pour 2025 */
.badge-2025 {
  background-color: #67a4da; /* Rouge */
  color: #fff;
  }
  
  span.badge.badge-2025 {
  background-color: #67a4da !important;
  color: #fff;
  }

/* Badge pour 2024 */
.badge-2024 {
background-color: #7141e27b; /* Bleu par défaut */
color: #fff;
}

span.badge.badge-2024 {
background-color: #7141e27b !important;
color: #fff;
}

/* Badge pour 2023 */
.badge-2023 {
background-color: #845492; /* Vert */
color: #fff;
}

span.badge.badge-2023 {
background-color: #845492 !important;
color: #fff;
}

/* Badge pour 2022 */
.badge-2022 {
background-color: #d56398; /* Jaune */
color: #fff;
}

span.badge.badge-2022 {
background-color: #d56398 !important;
color: #fff;
}

/* Badge pour 2021 */
.badge-2021 {
background-color: #6e78d9; /* Rouge */
color: #fff;
}

span.badge.badge-2021 {
background-color: #6e78d9 !important;
color: #fff;
}

/* Badge pour 2020 */
.badge-2020 {
background-color: #d4949b; /* Rouge */
color: #fff;
}

span.badge.badge-2020 {
background-color: #d4949b !important;
color: #fff;
}


/* Badge pour 2019 */
.badge-2019 {
background-color: #67a4da; /* Rouge */
color: #fff;
}

span.badge.badge-2019 {
background-color: #67a4da !important;
color: #fff;
}


/* Style pour le bouton dark mode */
.top-0.right-0 {
top: 10px;
right: 8px;
}

button.group {
background-color: #ffffff90;
padding: 0.5rem 0.75rem;
border-radius: 9999px;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
}

button.group:hover {
box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.2);
}

button.group svg {
width: 24px;
height: 24px;
stroke-width: 1.5;
}

/* Modifier la lune (visible en mode sombre) */
button.group svg:last-child {
fill: #9ea5b3 !important; /* Remplace le gris métallisé par un gris plus doux */
stroke: #313236 !important; /* Contour moins métallisé */
}

/* Mode sombre pour le bouton avec la lune */
body.dark-mode button.group {
background-color: #313236 !important; /* Couleur de fond du bouton en mode sombre */
border-color: #4f535c !important; /* Contour du bouton en mode sombre */
}

/* Ajouter des rayons au soleil (visible en mode clair) */
button.group svg:first-child {
display: block;
fill: #fdd835 !important; /* Jaune vif pour le soleil */
stroke: #f57f17 !important; /* Contour plus foncé pour le soleil */
}

/* Couleurs spécifiques au dark mode */
body.dark-mode {
background-color: #1e1f20 !important; /* Fond du dark mode */
color: #e0e0e0 !important; /* Texte en dark mode */
}

/* Icône lune (visible en mode clair) */
button.group svg:first-child {
display: block;
}

/* Icône soleil (visible en dark mode) */
button.group svg:last-child {
display: none;
}

/* Lorsque le mode sombre est activé */
body.dark-mode button.group svg:first-child {
display: none;
}

body.dark-mode button.group svg:last-child {
display: block;
}

body.dark-mode {
background-color: #1e1f20; /* Couleur de fond en dark mode */
color: #ffffff !important; /* Forcer tout le texte en blanc */
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
color: #ffffff !important; /* Forcer les titres à devenir blancs */
}

/* Par défaut, les liens restent avec leur couleur normale */
a {
  color: #2a6496;
  text-decoration: none;
}

a:hover, a:focus {
  text-decoration: underline;
}

/* En mode sombre, modifier les liens pour devenir plus clairs */
body.dark-mode a {
  color: #a0bed7 !important; /* Bleu clair en mode sombre */
}

/* Couleur des titres en mode normal */
h1, h2, h3, h4, h5, h6 {
  color: #343a40; /* Couleur par défaut des titres */
}

/* Couleur des titres en mode sombre */
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
  color: #ffffff !important; /* Couleur blanche pour les titres en mode sombre */
}

/* Fond des abstracts en mode clair */
.bg-light {
  background-color: #ffffff !important; /* Fond clair en mode clair */
  color: #000000 !important; /* Texte noir en mode clair */
}

/* Fond des abstracts en mode sombre */
body.dark-mode .bg-light {
  background-color: #1e1f20 !important; /* Fond en gris foncé (identique au background de la page) */
  color: #ffffff !important; /* Texte en blanc en mode sombre */
}

/* Position fixe en haut de la page sur mobile */
@media (max-width: 550px) {
  .dark-mode-toggle {
    position: relative !important; /* Ensure it's set as fixed */
    top: -55px !important; /* Adjust as needed */
    right: -290px !important; /* Adjust as needed */
    z-index: 2000 !important;
    margin: 0 !important;
  }
}

@media (min-width: 551px) and (max-width: 1280px)  {
  .dark-mode-toggle {
    position: relative !important; /* Ensure it's set as fixed */
    top: -60px !important; /* Adjust as needed */
    right: -390px !important; /* Adjust as needed */
    z-index: 2000 !important;
    margin: 0 !important;
  }
}

/* Position fixe en haut de la page sur mobile */
@media (min-width: 1281px) {
  .dark-mode-toggle {
    position: fixed !important; /* Ensure it's set as fixed */
    top: 65px !important; /* Adjust as needed */
    right: 20px !important; /* Adjust as needed */
    z-index: 2000 !important;
    margin: 0 !important;
  }
}

.visible span {
  opacity: 1; /* Le texte devient visible une fois l'animation commencée */
}

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%; /* La largeur du texte complet */
  }
}

@keyframes blink-caret {
  from, to {
    border-color: transparent; /* Le curseur disparaît après la fin de l'écriture */
  }
  50% {
    border-color: black; /* Le curseur clignote pendant la saisie */
  }
}

/* marge sous chaque titre de section (h3) */
h3.section-title {
  margin-bottom: 1rem;          /*  ≈ 16 px  */
}

