.timeline {
    padding: 1em;
    /* font-size: calc(0.8em + (20vw) /(20)); */
    font-size: min(calc(0.8em + (20vw) / 20), 1.4em);
}

.timeline-item {
    position: relative;
    padding-bottom: 2em;

}
.timeline-item:not(:last-child):before {
    background-color: black;
    content: "";
    display: block;
    position: absolute;
    top: 1em;
    left: 2.6em;
    width: 0.125em;
    height: 100%;
    /* transform: translateX(-50%); */
}
.timeline-item-header
{
    display: flex;
    cursor: pointer;

}
.timeline-arrow{
    background-color: transparent;
    border: 0;
    border-radius: 0.25em;
    cursor: pointer;
    flex-shrink: 0;
    margin-inline-end: 0.25em;
    outline: transparent;
    width: 2em;
    height: 2em;
    transition: background-color 0.3s;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}
.timeline-arrow:focus-visible, .timeline-arrow:hover {
    background-color: #c8c8c8;
}

.timeline-arrow-icon {
    display: block;
    pointer-events: none;
    transform: rotate(-90deg);
    transition: transform 0.3s 0s;
    width: 100%;
    height: auto;
}
.timeline-dot {
    background-color: black;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    margin: 0.625em 0;
    margin-inline-end: 1em;
    position: relative;
    width: 0.8em;
    height: 0.8em;
}
.timeline-meta {
    width: 100%;
}


.timeline-item-body {
    border-radius: 0.375em;
    overflow: hidden;
    margin-top: 0.5em;
    margin-inline-start: 4em;
    height: 0;
    background: #dcefe0;
    border: 0px solid transparent;
}

.timeline-item-body-content {
    background-color: #dcefe0;
    opacity: 0;
    padding: 0.5em 0.75em;
    visibility: hidden;
    transition: opacity 0.3s 0.3s, visibility 0.3s steps(1, end);
}

.timeline-title {
    margin-top: 0.5em;
    display: inline-block;
}

.timeline-item-p {
    margin: 0;
}


.expanded {
    height: auto;
}
.arrow-opened {
    transform: rotate(0);
}

.expanded .timeline-item-body-content {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.3s, 0s;
}

summary {
    list-style: none;
}


.splash {
    height: calc(15dvh + 15vw);
}


.timeline-date {
    font-size: 0.8em;
    background: #2a69a2;
    padding: 0.25em 0.5em;
    border-radius: 0.2em;
    color: white;
}