#cern-progress-bar-container {
    position: fixed;
    right: 20px;
    top: 10px;
    max-height: calc(100vh - 10px - var(--footer-height, 0px));
    bottom: 10px;
    height: 89vh;
    z-index: 10;

    #cern-progress-bar {
        height: 100%;
        width: 5px;
        overflow: auto;
        background: rgba(50 50 50 / 10%);
        z-index: 100;
    }

    @media (height <= 800px), (width <= 1600px) {
        #cern-progress-bar {
            display: none;
        }
    }

    #cern-progress-bar-fill {
        width: 100%;
        height: 0;
        background: orange;
        transition: height 0.25s ease-out;
    }

    .progress-marker-wrapper {
        position: absolute;
        left: -7px;
        display: flex;
        align-items: center;
    }

    .progress-marker {
        width: 10px;
        height: 10px;
        background: white;
        border: 4px solid orange;
        border-radius: 50%;
        flex-shrink: 0;
        align-self: flex-start;
    }

    .active {
        width: 10px;
        height: 10px;
        background: orange;
        border: 4px solid orange;
    }

    .progress-label-container {
        position: absolute;
        left: 0;
        top: -2px;
        width: 200px;
        transform: translateX(calc(-100% - 12px));
        display: flex;
        justify-content: flex-end;
        overflow: hidden;
        pointer-events: auto;
    }

    .progress-label {
        display: block;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-align: right;
        font-size: 16px;
        color: #333;
        font-weight: 1000;
        text-shadow: none;
        text-decoration: none;
    }

    @media (width <= 1800px) and (width >= 1200px) {
        .progress-label {
            width: 100px;
        }
    }
}
