@media (min-width: 769px) {
    .timeline {
        position: relative;
        max-width: 800px;
        margin: 0 auto;
    }

    /* Ligne verticale */
    .timeline::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        width: 2px;
        background-color: #ddd;
        transform: translateX(-50%);
    }

    /* Point de la timeline */
    .timeline-point {
        position: absolute;
        left: 50%;
        width: 5%;
        height: 12%;
        background-color: #0179f9;
        border-radius: 50%;
        top: 24%;
        transform: translateX(-50%);
        z-index: 1;
    }

    /* Contenu de chaque élément */
    .timeline-item {
        position: relative;
        padding: 10px 0;
        width: 100%;
        height: 22%;
    }

    /* Contenu à gauche */
    .timeline-content.left {
        position: relative;
        width: 100%;
        padding: 20px;
        border-radius: 6px;
        right: 65%;
        text-align: right;
    }

    /* Contenu à droite */
    .timeline-content.right {
        position: relative;
        width: 100%;
        padding: 20px;
        border-radius: 6px;
        left: 55%;
        text-align: left;
    }

    /* Style des titres */
    .timeline h3 {
        margin: 0;
        color: #fff7f7;
        font-size: 1.4vw;
    }

    /* Style des paragraphes */
    .timeline p {
        margin: 5px 0;
        font-size: 1vw;
        color: #d7d7d7;
    }

    .light-mode .timeline::before {
        background-color: black;
    }
            
    .light-mode .timeline-content.left,
    .light-mode .timeline-content.right {
        color: black;
    }
    
    .light-mode .timeline h3 {
        color: black;
    }
    
    .light-mode .timeline p {
        color: #333;
    }
    
}

@media (max-width: 768px) {
    .timeline {
        position: relative;
        max-width: 800px;
        margin: 0 auto;
        padding: 40px 0;
    }

    /* Ligne verticale */
    .timeline::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 5%;
        bottom: 5%;
        width: 2px;
        background-color: #ddd;
        transform: translateX(-50%);
    }

    /* Point de la timeline */
    .timeline-point {
        position: absolute;
        left: 50%;
        width: 4%;
        height: 8%;
        background-color: #0179f9;
        border-radius: 50%;
        top: 24%;
        transform: translateX(-50%);
        z-index: 1;
    }

    /* Contenu de chaque élément */
    .timeline-item {
        position: relative;
        padding: 10px 0;
        width: 100%;
        height: 20%;
    }

    /* Contenu à gauche */
    .timeline-content.left {
        position: relative;
        width: 40%;
        padding: 20px;
        border-radius: 6px;
        right: 0%;
        text-align: right;
    }

    /* Contenu à droite */
    .timeline-content.right {
        position: relative;
        width: 40%;
        padding: 20px;
        border-radius: 6px;
        left: 50%;
        text-align: left;
    }

    /* Style des titres */
    .timeline h3 {
        margin: 0;
        color: #fff7f7;
        font-size: 4.6vw;
    }

    /* Style des paragraphes */
    .timeline p {
        margin: 5px 0;
        font-size: 3vw;
        color: #d7d7d7;
    }

    .light-mode .timeline::before {
        background-color: black;
    }
            
    .light-mode .timeline-content.left,
    .light-mode .timeline-content.right {
        color: black;
    }
    
    .light-mode .timeline h3 {
        color: black;
    }
    
    .light-mode .timeline p {
        color: #333;
    }
}