article {
    display: grid
}

.timelinectn {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    /* background: #000; */
}

.timeline {
    place-self: center;
    max-width: 50em;
    transform: scale(1.5) translateY(450px);
    background: #ffffff3d;
    padding: 25px;
    border-radius: 30px;
    animation: timeline linear both;
    animation-timeline: scroll();

    article {
        --size: .625em;
        --highlight: rgb(255, 255, 255);
        --marker:
            radial-gradient(circle closest-side,
                var(--highlight) calc(100% - 1px), transparent) 0 0/ 100% var(--size);
        grid-gap: 2em;
        grid-template-columns: 1fr 1fr;
        margin-top: -1px;
        background:
            var(--marker),
            linear-gradient(var(--highlight) 0 0) 50%/ 2px;
        background-repeat: no-repeat;

        &:first-child {
            --marker:
                linear-gradient(var(--highlight) 0 0) 50% 0/ var(--size) calc(.5*var(--size))
        }

        &:nth-child(odd) {
            img {
                grid-area: 1/ 1;
                justify-self: end
            }
        }

        &:not(:last-child) {
            padding-bottom: 1em
        }

        >* {
            border-radius: var(--size)
        }
        &:nth-child(even) {
            h1, p {
                text-align: right
            }
        }
    }

    &__content {
        padding: 1em;
        background: rgba(255 255 255/ .07);
    }

    h1 {
        font-size: 1.5rem;
        font-weight: 900;
        color: #ffffff;
        font:  'Nunito', sans-serif;
        text-transform: capitalize;
    }

    hr {
        opacity: .3
    }

    p {
        margin: 0;
        padding-top: .5em;
        font: 1em proza libre, sans-serif
    }

    img {
        box-sizing: border-box;
        border: solid 2px;
        width: min(100%, 13em);
        aspect-ratio: 1.3;
        object-fit: cover
    }
}

@keyframes timeline {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }54%{
        opacity: 0;
    }

    57% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}