/* Design of the historique */
:root {
    --primary-color-timeline: #f8f7fa;
    --secondary-color: #181a84;
    --text-color: #201f26;
    --background-color: #fff;
}

.first-timeline .timeline {
    display: grid;
    grid-template-columns: 0.25rem 1fr;
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    list-style: none;
}

.first-timeline .timeline::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / span 20;
    background: var(--primary-color-timeline);
}

.first-timeline .timeline li {
    grid-column: 2;
    margin-inline: 1.5rem;
    grid-row: span 2;
    display: grid;
    grid-template-rows: -webkit-min-content -webkit-min-content -webkit-min-content;
    grid-template-rows: min-content min-content min-content;
}

.first-timeline .timeline li:not(:last-child) {
    margin-bottom: 2rem;
}

.first-timeline .timeline li .date {
    height: 3rem;
    margin-inline: -1.5rem;
    text-align: center;
    color: var(--background-color);
    display: grid;
    place-content: center;
    position: relative;
    border-radius: 1.5rem 0 0 1.5rem;
}

.first-timeline .timeline li .date::before {
    content: "";
    width: 1.8rem;
    aspect-ratio: 1;
    background: var(--primary-color-timeline);
    position: absolute;
    top: 100%;
    -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    right: 0;
}

.first-timeline .timeline li .date::after {
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 14px;
    background: var(--secondary-color);
    border-radius: 15px;
    z-index: 1;
    top: 50%;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    right: calc(100% + 2rem + 0.125rem);
}

.first-timeline .timeline li .title {
    position: relative;
    padding-inline: 1.5rem;
    overflow: hidden;
    -webkit-padding-before: 1.5rem;
    padding-block-start: 1.5rem;
    -webkit-padding-after: 1rem;
    padding-block-end: 1rem;
    font-weight: 500;
    color: var(--text-color);
}

.first-timeline .timeline li .title::before {
    bottom: calc(100% + 0.125rem);
}

.first-timeline .timeline li .descr {
    position: relative;
    padding-inline: 1.5rem;
    -webkit-padding-after: 1.5rem;
    padding-block-end: 1.5rem;
    font-weight: 300;
    color: var(--text-color);
}

.first-timeline .timeline li .descr::before {
    z-index: -1;
    bottom: 0.25rem;
}

@media (min-width: 40rem) {
    .first-timeline .timeline {
        grid-template-columns: 1fr 0.25rem 1fr;
    }

    .first-timeline .timeline::before {
        grid-column: 2;
    }

    .first-timeline .timeline li:nth-child(odd) {
        grid-column: 1;
    }

    .first-timeline .timeline li:nth-child(odd) .date {
        border-radius: 0 1.5rem 1.5rem 0;
    }

    .first-timeline .timeline li:nth-child(odd) .date::before {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
        clip-path: polygon(0 0, 100% 0, 100% 100%);
        left: 0;
    }

    .first-timeline .timeline li:nth-child(odd) .date::after {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        left: calc(100% + 2rem + 0.125rem);
    }

    .first-timeline .timeline li:nth-child(even) {
        grid-column: 3;
    }

    .first-timeline .timeline li:nth-child(2) {
        grid-row: 2/4;
    }
}

.first-timeline .timeline .timeline-date {
    width: 54px;
    height: 85px;
    display: inline-block;
    padding: 8px;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
    clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
    z-index: 1;
    margin-bottom: 10px;
    background-color: #181a84;
}

.first-timeline h5,
h6 {
    color: var(--text-color) !important;
}
