#timeline-container {
    width: min(1000px, 92vw);
    margin: 0 auto;
    padding: 30px 0 55px;
    font-family: "acumin-pro", sans-serif;
}

.timeline-track {
    position: relative;
    height: 345px;
    margin: 0 3%;
}

.timeline-portrait {
    position: absolute;
    bottom: 37px;
    left: -6%;
    width: 21%;
    height: 139px;
    object-fit: contain;
    object-position: center;
}

.timeline-segment {
    position: absolute;
    bottom: 55px;
    height: 4px;
    background: #c60032;
}

.timeline-segment-1 { left: 15.5%; width: 13.5%; }
.timeline-segment-2 { left: 30%; width: 34.5%; }
.timeline-segment-3 { left: 65.5%; width: 13.5%; }
.timeline-segment-4 { left: 80%; right: 0; }

.timeline-entry {
    position: absolute;
    bottom: 55px;
    height: 175px;
}

.timeline-mark {
    position: absolute;
    bottom: 30px;
    left: var(--anchor);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 90px;
    transform: translateX(-50%);
    font-size: 26px;
    white-space: nowrap;
}

.timeline-mark img {
    width: 110px;
    height: 75px;
    object-fit: contain;
}

.timeline-span {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background: #c60032;
}

.timeline-entry.makerbot .timeline-mark {
    bottom: 45px;
}

.timeline-entry.tufts .timeline-mark {
    bottom: 0;
}

.timeline-entry.mit .timeline-mark {
    bottom: 5px;
}

.timeline-entry.cba .timeline-mark {
    bottom: 87px;
}

.timeline-entry.fablab .timeline-mark {
    bottom: 69px;
}

.timeline-entry.volta .timeline-mark {
    bottom: 8px;
}

.timeline-entry.formlabs .timeline-mark {
    bottom: 13px;
}

.timeline-entry.formlabs .timeline-mark img {
    width: 86px;
    height: 58px;
}

.timeline-entry.makerbot .timeline-mark img {
    width: 145px;
    height: 150px;
}

.timeline-entry.fablab .timeline-mark img {
    width: 125px;
    height: 100px;
}

.timeline-entry .timeline-mark span { display: none; }

.timeline-year {
    position: absolute;
    bottom: 28px;
    font-size: 15px;
    transform: translateX(-50%);
}

.year-2008 { left: 15.5%; }
.year-2012 { left: 30%; }
.year-2019 { left: 65.5%; }
.year-2023 { left: 80%; }

@media (max-width: 600px) {
    #timeline-container {
        width: 96vw;
        overflow-x: auto;
    }

    .timeline-track {
        min-width: 680px;
    }
}
