#loading_indicator {
    position: relative;
    margin-top: 50vh;
    text-align: center;
    width: 100px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
}

#loading_indicator .dot {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin-right: 3px;
    background: linear-gradient(to left, #FFAB40, #FF4081);
    -webkit-animation: wave 1.3s linear infinite;
    animation: wave 1.3s linear infinite;
}

#loading_indicator .dot:nth-child(2) {
    animation-delay: -1.1s;
}

#loading_indicator .dot:nth-child(3) {
    animation-delay: -0.9s;
}

@-webkit-keyframes wave {
    0%, 60%, 100% {
        transform: initial;
    }
    30% {
        transform: translateY(-15px);
    }
}

@keyframes wave {
    0%, 60%, 100% {
        transform: initial;
    }
    30% {
        transform: translateY(-15px);
    }
}