/* INTRO SECTION */
.intro {
    background: #ffffff; /* Couleur de fond pour l'introduction */
    padding: 100px 0;
}

.bloc-titre-timeline {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}


.timeline {
    background-color: rgb(255, 255, 255);
}

.titre-timeline{
    font-size: 2.5rem;
}

/* Cibler uniquement les <div> dans la section .timeline */
.timeline div {
    box-sizing: border-box;
}



.timeline ul {
    width: 100%;
    background: #ffffff; /* Couleur de fond pour la liste de la timeline */
    padding: 50px 0;
    border-radius: 10px; /* Coins arrondis pour la liste */
}

.timeline ul li {
    list-style-type: none; /* Enlève les puces de la liste */
    position: relative;
    width: 6px; /* Largeur de la bordure */
    margin: 0 auto; /* Centre les éléments */
    padding-top: 50px; /* Espacement au-dessus */
    background: #000000; /* Fond blanc pour les éléments de la timeline */
    border-radius: 5px; /* Coins arrondis pour les éléments */
}

.timeline ul li::after {
    content: ""; /* Élément pseudo pour le point */
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%); /* Centre le point */
    width: 30px; /* Largeur du point */
    height: 30px; /* Hauteur du point */
    border-radius: 50%; /* Forme ronde */
    background: #3498db; /* Couleur du point */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); /* Ombre pour profondeur */
    z-index: 1; /* Pour s'assurer qu'il soit au-dessus */
}

.timeline ul li div {
    position: relative; /* Pour les positionnements internes */
    bottom: 0;
    width: 400px; /* Largeur des éléments de la timeline */
    padding: 15px; /* Espacement interne */
    background: linear-gradient(120deg, #3498db, #8e44ad); /* Dégradé de couleur */
    color: #ffffff; /* Couleur du texte sur fond coloré */
    border-radius: 10px; /* Coins arrondis */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Ombre pour profondeur */
}

.timeline ul li div::before {
    content: ""; /* Élément pseudo pour les flèches */
    position: absolute;
    bottom: 7px;
    width: 0;
    height: 0;
    border-style: solid; /* Style de la flèche */
}

/* Positionnement des éléments de la timeline */
.timeline ul li:nth-child(odd) div {
    left: 45px; /* Position pour les éléments impairs */
}

.timeline ul li:nth-child(odd) div::before {
    left: -15px; /* Position de la flèche à gauche */
    border-width: 8px 16px 8px 0; /* Taille de la flèche */
    border-color: transparent rgba(52, 152, 219, 1) transparent transparent; /* Couleurs de la flèche */
}

.timeline ul li:nth-child(even) div {
    left: -439px; /* Position pour les éléments pairs */
}

.timeline ul li:nth-child(even) div::before {
    right: -15px; /* Position de la flèche à droite */
    border-width: 8px 0 8px 16px; /* Taille de la flèche */
    border-color: transparent transparent transparent rgba(52, 152, 219, 1); /* Couleurs de la flèche */
}

/* Styles pour le temps */
time {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 8px;
    color: #8e44ad; /* Couleur violet pour le temps */
}

/* EFFECTS */
.timeline ul li::after {
    transition: background 0.5s ease-in-out; /* Transition douce pour le fond */
}

.timeline ul li.in-view::after {
    background: rgba(52, 152, 219, 1); /* Couleur de fond au survol */
}

.timeline ul li div {
    visibility: hidden; /* Masquer les éléments par défaut */
    opacity: 0; /* Rendre invisible */
    transition: all 0.5s ease-in-out; /* Transition douce */
}

.timeline ul li:nth-child(odd) div {
    transform: translate3d(200px, 0, 0); /* Animation de translation */
}

.timeline ul li:nth-child(even) div {
    transform: translate3d(-200px, 0, 0); /* Animation de translation */
}

.timeline ul li.in-view div {
    transform: none; /* Rétablir la position */
    visibility: visible; /* Rendre visible */
    opacity: 1; /* Rendre opaque */
}

/* GENERAL MEDIA QUERIES */
@media screen and (max-width: 900px) {
    .timeline ul li div {
        width: 250px; /* Largeur réduite pour les écrans plus petits */
    }
    .timeline ul li:nth-child(even) div {
        left: -289px; /* Position ajustée pour les éléments pairs */
    }
}

@media screen and (max-width: 600px) {
    .timeline ul li {
        margin-left: 20px; /* Espacement sur les petits écrans */
    }
    .timeline ul li div {
        width: calc(100vw - 91px); /* Largeur adaptative pour les petits écrans */
    }
    .timeline ul li:nth-child(even) div {
        left: 45px; /* Réajuster pour les éléments pairs */
    }
    .timeline ul li:nth-child(even) div::before {
        left: -15px; /* Réajuster la flèche */
        border-width: 8px 16px 8px 0; /* Réajuster la flèche */
        border-color: transparent rgba(52, 152, 219, 1) transparent transparent; /* Couleurs de la flèche */
    }
}
