/* Timeline */
.timeline {
    --tl-dot-size: 25px;
    --tl-dot-color: #fff;
    --tl-dot-active: #ffcc00;
    --tl-line-width: 2px;
    --tl-track-color: #ccc;
    --tl-progress-color: #153964;
    position: relative;
}

.timeline .frame-type-text {
    margin-bottom: 75px;
}

.timeline .col-md-2 {
    position: relative;
    min-height: 100%;
}

.timeline .tl-left {
    position: sticky;
    top: 0;
    height: 100vh;
    pointer-events: none;
}

.timeline .tl-stage {
    position: absolute;
    inset: 0 0 auto;
}

.timeline .tl-track,
.timeline .tl-progress {
    position: absolute;
    left: 50%;
    width: var(--tl-line-width);
    border-radius: 999px;
    transform: translateX(calc(-50% + .5px));
    z-index: 0;
}

.timeline .tl-track {
    top: 10px;
    height: 100%;
    background: var(--tl-track-color);
}

.timeline .tl-progress {
    top: 10px;
    height: 0;
    background: var(--tl-progress-color);
}

.timeline .tl-dot {
    position: absolute;
    left: 50%;
    display: grid;
    width: var(--tl-dot-size);
    height: var(--tl-dot-size);
    margin-left: calc(-1 * var(--tl-dot-size) / 2);
    place-items: center;
    border: 1px solid var(--tl-progress-color);
    border-radius: 50%;
    background: var(--tl-dot-color);
    box-shadow: 0 1px 0 rgb(0 0 0 / 8%);
    transform: translateY(-50%);
    transition: background-color .2s ease-out, border-color .2s ease-out, transform .2s ease-out;
    z-index: 1;
}

.timeline .tl-dot.is-active {
    border-color: var(--tl-dot-active);
    background: var(--tl-dot-active);
    transform: translateY(-50%) scale(1.02);
}

.timeline .tl-dot::after {
    width: calc(var(--tl-dot-size) * .1);
    height: calc(var(--tl-dot-size) * .1);
    border-radius: 50%;
    background: var(--tl-progress-color);
    content: "";
    opacity: .8;
}

.timeline .col-md-10 {
    position: relative;
}

@media (max-width: 767.98px) {
    .timeline > .col-md-2 {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .timeline .tl-dot {
        transition: none;
    }
}

