:root {
    --bsb-tl-color: #d1e7dd;
    --bsb-tl-circle-color: var(--bs-light);
    --bsb-tl-circle-border-color: var(--bs-success);
    --bsb-tl-indicator-color: var(--bs-white);
    --bsb-tl-circle-size: 16px;
    --bsb-tl-circle-offset: 8px;
    --bsb-tl-circle-border-size: 2px;
}


.fs-7 {
    font-size: 0.875rem !important;
}

.bsb-timeline-8 {}

.bsb-timeline-8 .timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.bsb-timeline-8 .timeline:after {
    background-color: var(--bsb-tl-color);
    bottom: 0;
    content: "";
    left: 0;
    margin-left: -1px;
    position: absolute;
    top: 0;
    width: 2px;
}

@media (min-width: 768px) {
    .bsb-timeline-8 .timeline:after {
        left: 33%;
    }
}

.bsb-timeline-8 .timeline>.timeline-item {
    margin: 0;
    padding: 0;
    position: relative;
}

.bsb-timeline-8 .timeline>.timeline-item:after {
    background: var(--bsb-tl-circle-color);
    border: var(--bsb-tl-circle-border-size) solid var(--bsb-tl-circle-border-color);
    border-radius: 50%;
    content: "";
    height: var(--bsb-tl-circle-size);
    left: calc(var(--bsb-tl-circle-offset) * -1);
    position: absolute;
    top: calc(50% - var(--bsb-tl-circle-offset));
    width: var(--bsb-tl-circle-size);
    z-index: 1;
}

.bsb-timeline-8 .timeline>.timeline-item .timeline-body {
    margin: 0;
    padding: 0;
    position: relative;
}

.bsb-timeline-8 .timeline>.timeline-item .timeline-meta {
    padding: 0 0 1rem 2rem;
}

.bsb-timeline-8 .timeline>.timeline-item:first-child .timeline-meta {
    padding: 2rem 0 1rem 2rem;
}

.bsb-timeline-8 .timeline>.timeline-item .timeline-content {
    padding: 0 0 2rem 2rem;
}

@media (min-width: 768px) {
    .bsb-timeline-8 .timeline>.timeline-item {
        left: 33%;
        width: 67%;
    }

    .bsb-timeline-8 .timeline>.timeline-item .timeline-meta {
        display: flex;
        justify-content: flex-end;
        left: -100%;
        margin: 0;
        padding: 0 2rem 0 0;
        position: absolute;
        top: calc(50% - 10px);
        width: 100%;
        z-index: 1;
    }

    .bsb-timeline-8 .timeline>.timeline-item:first-child .timeline-meta {
        padding: 0 2rem 0 0;
    }

    .bsb-timeline-8 .timeline>.timeline-item .timeline-content {
        padding: 2rem;
    }

    .bsb-timeline-8 .timeline>.timeline-item .timeline-indicator {
        position: relative;
    }

    .bsb-timeline-8 .timeline>.timeline-item .timeline-indicator:after {
        border-width: 1px;
        border: 10px solid var(--bsb-tl-indicator-color);
        border-color: transparent var(--bsb-tl-indicator-color) transparent transparent;
        border-left-width: 0;
        content: "";
        left: calc(2rem - 10px);
        position: absolute;
        top: calc(50% - var(--bsb-tl-circle-offset));
        z-index: 1;
    }
}