﻿.filter-contrast {
    filter: contrast(5);
    background-color: white;
}

.stage {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 32px 0;
    margin: 0 -5%;
    overflow: hidden;
    margin-top: calc(50% / 2);
}

.dot-overtaking {
    position: relative;
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background-color: transparent;
    color: hsl(209, 100%, 58%);
    margin: -1px 0;
    box-shadow: 0 -20px 0 0;
    /*filter: blur(2px);*/
    animation: dot-overtaking 2s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);
}

    .dot-overtaking::before {
        animation: dot-overtaking 2s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);
        animation-delay: 0.3s;
    }

    .dot-overtaking::before, .dot-overtaking::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 12px;
        height: 12px;
        border-radius: 6px;
        background-color: transparent;
        color: hsl(209, 100%, 58%);
        box-shadow: 0 -20px 0 2px;
        /*filter: blur(2px);*/
    }

    .dot-overtaking::after {
        animation: dot-overtaking 1.5s infinite cubic-bezier(0.2, 0.6, 0.8, 0.2);
        animation-delay: 0.6s;
    }

    .dot-overtaking::before, .dot-overtaking::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 12px;
        height: 12px;
        border-radius: 6px;
        background-color: transparent;
        color: hsl(209, 100%, 58%);
        box-shadow: 0 -20px 0 2px;
        /*filter: blur(2px);*/
    }

@keyframes dot-overtaking {
    0% {
        transform: rotateZ(0deg);
    }

    100% {
        transform: rotateZ(360deg);
    }
}
