.timeline {
    margin: 60px 0;
    padding-bottom: 66px;
    width: 100%;
}

.timeline .line {
    display: flex;
    height: 10px;
    border-radius: 10px;
    background-color: var(--cultured);
}

.timeline .line .part {
    position: relative;
    width: calc(100% / 6);
}

.timeline .line .part.active {
    background-color: var(--lime-green);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.timeline .line .part.active:first-of-type {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.timeline .line .part .dot {
    background-color: var(--cultured);
    border-radius: 30px;
    height: 30px;
    position: relative;
    margin: -9px 0 0 0;
    right: 0;
    position: absolute;
    width: 30px;
}

.timeline .line .part .dot .dot-inner {
    background-color: var(--cultured);
    border-radius: 15px;
    height: 15px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 15px;
}

.timeline .line .part.active .dot .dot-inner{
    background-color: var(--slimy-green);
    color: var(--lincoln-green);
}

.timeline .line .part .dot .dot-inner:after {
    content: attr(title);
    font-size: 14px;
    font-weight: 600;
    margin: 30px 0 0 -53px;
    position: absolute;
    text-align: center;
    width: 120px;
}

@media (max-width: 1450px) {
    .timeline .line .part .dot .dot-inner:after {
        font-size: 13px;
        width: 100px;
    }
}

@media (max-width: 1350px) {
    .timeline {
        padding-bottom: 0;
        margin: 51px 0 51px 13px;
        width: 100%;
    }

    .timeline .line {
        display: block;
        height: 500px;
        width: 10px;
    }

    .timeline .line .part {
        height: calc(100% / 6);
        width: 10px
    }

    .timeline .line .part .dot { 
        margin: 0 -9px 0 0;
        bottom: 0;
    }

    .timeline .line .part.active {
        background-color: var(--lime-green);
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        border-top-right-radius: 0;
    }

    .timeline .line .part.active:first-of-type {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 0;
        border-top-right-radius: 10px;
    }

    .timeline .line .part .dot .dot-inner:after {
        font-size: 16px;
        margin: -3px 0 0 36px;
        text-align: left;
        width: 300px
    }
}

@media (max-width: 700px) {
    .timeline {
        margin: 27px 0 36px 13px;
    }
}