header {
    height: auto;
}

h1  {
    color: #B22222;
    text-align: center;
}

h2.yellow-title {
    color: #FFD900 !important;
}

.lazyload {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.lazyload.is-visible {
    opacity: 1;
}

.carousel-container {
    display: none !important;
    position: relative;
    max-width: 75vw; /* 75% de la largeur de l'écran */
    max-height: 75vh; /* 75% de la hauteur de l'écran */
    overflow: hidden;
    margin: auto;
    display: flex; /* Ajout pour permettre le centrage vertical */
    align-items: center; /* Centrage vertical */
}

.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
    height: 100%; /* Assure que le carrousel occupe toute la hauteur disponible */
    align-items: center; /* Centre les images verticalement dans le carrousel */
}

.carousel-item {
    min-width: 100%; /* Chaque image prend toute la largeur du carrousel */
    height: 100%; /* Chaque image prend toute la hauteur disponible */
    display: flex; /* Flexbox pour centrer l'image à l'intérieur */
    justify-content: center; /* Centre l'image horizontalement */
    align-items: center; /* Centre l'image verticalement */
    box-sizing: border-box;
}

.carousel-item img {
    max-width: 100%; /* Assure que l'image ne dépasse pas la largeur du conteneur */
    max-height: 100%; /* Assure que l'image ne dépasse pas la hauteur du conteneur */
    display: block;
    object-fit: contain; /* Maintient l'aspect ratio et assure que l'image s'adapte au conteneur sans déformation */
}

button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5); /* Boutons semi-transparents */
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 100;
    font-size: 18px;
}

button.prev {
    left: 0;
}

button.next {
    right: 0;
}

button:hover {
    background-color: rgba(0, 0, 0, 0.8); /* Change la couleur au survol */
}

.mosaic-gallery {
    column-count: 8; /* Nombre de colonnes dans la grille */
    column-gap: 15px; /* Espace entre les colonnes */
    padding: 10px;
}

.mosaic-gallery img {
    width: 100%;
    margin-bottom: 15px;
    border-radius: 8px; /* Coins arrondis */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Légère ombre pour un effet visuel agréable */
    transition: transform 0.3s ease; /* Animation au survol */
    display: block; /* Assure que l'image s'adapte bien à son conteneur */
}

.mosaic-gallery img:hover {
    transform: scale(1.05); /* Zoom léger au survol */
}

/* Style pour les boutons de navigation dans le lightbox */
/* Style pour le lightbox */
.lightbox {
    display: none; /* Caché par défaut */
    position: fixed; /* Doit être fixe pour rester au-dessus de tout le contenu */
    z-index: 1000; /* Z-index élevé pour que la lightbox soit au-dessus de tout */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* Fond semi-transparent */
    justify-content: center; /* Centre horizontalement */
    align-items: center; /* Centre verticalement */
}

/* Style pour l'image à l'intérieur du lightbox */
.lightbox-content {
    max-width: 90%;
    max-height: 90%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); /* Ombre pour donner de la profondeur */
}

/* Style pour le bouton de fermeture */
.close {
    position: absolute;
    top: 20px;
    right: 40px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    z-index: 1001; /* Doit être au-dessus de l'image du lightbox */
}

/* Style pour les boutons de navigation dans le lightbox */
.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5); /* Fond semi-transparent */
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 1001; /* Doit être au-dessus de l'image du lightbox */
    font-size: 24px;
}

/* Style pour la description de l'image dans le lightbox */
.lightbox-description {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.6); /* Fond semi-transparent */
    color: white;
    padding: 10px 20px;
    border-radius: 8px;
    max-width: 80%;
    text-align: center;
    font-size: 16px;
    z-index: 1001; /* Assure que la description soit au-dessus des autres éléments */
}

.lightbox-nav:hover {
    background-color: rgba(0, 0, 0, 0.8); /* Change la couleur au survol */
}

.lightbox-nav.prev {
    left: 20px; /* Bouton de gauche */
}

.lightbox-nav.next {
    right: 20px; /* Bouton de droite */
}

/* fin lightbox */

.gallery-description {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.gallery-description h2 {
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
    text-align: center;
}

.gallery-description h3 {
    font-size: 20px;
    color: #555;
    margin-bottom: 10px;
}

.gallery-description p {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 15px;
}

.gallery-description ul {
    padding-left: 20px;
    margin-bottom: 20px;
}

.gallery-description ul li {
    font-size: 15px;
    color: #666;
    margin-bottom: 10px;
}

.gallery-description strong {
    color: #B22222;
    font-weight: bold;
}

.gallery-description a {
    color: #4CAF50;
    text-decoration: none;
}

.gallery-description a:hover {
    text-decoration: underline;
}

#backToTopBtn {
    top: 92%;
}