* 
{
    margin: 0;
    padding: 0;
    font-family: consolas;
}
body
{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #000;
}
.loader
{
    display: flex;
    transform: translateY(-35px);
    align-items: flex-end;
}
.loader span {
    width: 20px;
    margin: 0 10px;
    height: 20px;
    background: #111;
    height: calc(20px * var(--i));
    display: flex;
    justify-content: center;
    align-items: flex-end;
    animation: anim 2s linear infinite;
    animation-delay: calc(0.25s * var(--i));
}
@keyframes anim
{
    0%
    {
        background: #fff;
        filter: blur(2px);
        box-shadow: 0 0 10px #00b3ff,
                    0 0 20px #00b3ff,
                    0 0 40px #00b3ff,
                    0 0 80px #00b3ff,
                    0 0 120px #00b3ff,
                    0 0 200px #00b3ff,
                    0 0 300px #00b3ff;
    }
    25%,75%
    {
        background: #111;
        filter: blur(0px);
        box-shadow: none;
    }
    100%
    {
        background: #fff;
        filter: blur(2px);
        box-shadow: 0 0 10px #00b3ff,
                    0 0 20px #00b3ff,
                    0 0 40px #00b3ff,
                    0 0 80px #00b3ff,
                    0 0 120px #00b3ff,
                    0 0 200px #00b3ff,
                    0 0 300px #00b3ff;
    }
}
.loader span i
{
    display: block;
    font-style: noraml;
    color: #fff;
    font-size: 50px;
    font-weight: bold;
    transform: translateY(70px);
    animation: anim2 2s linear infinite;
    animation-delay: calc(0.25s * var(--i));
}
@keyframes anim2
{
    0%
    {
        color: #fff;
        filter: blur(2px);
        text-shadow: 0 0 10px #00b3ff,
                    0 0 20px #00b3ff,
                    0 0 40px #00b3ff,
                    0 0 80px #00b3ff,
                    0 0 120px #00b3ff,
                    0 0 200px #00b3ff,
                    0 0 300px #00b3ff;
    }
    25%,75%
    {
        color: #111;
        filter: blur(0px);
        text-shadow: none;
    }
    100%
    {
        color: #fff;
        filter: blur(2px);
        text-shadow: 0 0 10px #00b3ff,
                    0 0 20px #00b3ff,
                    0 0 40px #00b3ff,
                    0 0 80px #00b3ff,
                    0 0 120px #00b3ff,
                    0 0 200px #00b3ff,
                    0 0 300px #00b3ff;
    }
}