.overlay-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.7);
    z-index: 100;
}


.ball-pulse-sync > div, .ball-pulse > div {
    width: 15px;
    height: 15px;
    margin: 2px;
    display: inline-block
}

.ball-pulse-sync > div, .ball-pulse > div, .ball-scale > div {
    background-color: #fff;
    border-radius: 100%
}

@-webkit-keyframes scale {
    0%, 80% {
        transform: scale(1);
        opacity: 1
    }
    45% {
        transform: scale(.1);
        opacity: .7
    }
}

@keyframes scale {
    0%, 80% {
        transform: scale(1);
        opacity: 1
    }
    45% {
        transform: scale(.1);
        opacity: .7
    }
}

.ball-pulse > div:nth-child(0) {
    -webkit-animation: .75s cubic-bezier(.2,.68,.18,1.08) -.36s infinite scale;
    animation: .75s cubic-bezier(.2,.68,.18,1.08) -.36s infinite scale
}

.ball-pulse > div:nth-child(1) {
    -webkit-animation: .75s cubic-bezier(.2,.68,.18,1.08) -.24s infinite scale;
    animation: .75s cubic-bezier(.2,.68,.18,1.08) -.24s infinite scale
}

.ball-pulse > div:nth-child(2) {
    -webkit-animation: .75s cubic-bezier(.2,.68,.18,1.08) -.12s infinite scale;
    animation: .75s cubic-bezier(.2,.68,.18,1.08) -.12s infinite scale
}

.ball-pulse > div:nth-child(3) {
    -webkit-animation: .75s cubic-bezier(.2, .68, .18, 1.08) infinite scale;
    animation: .75s cubic-bezier(.2, .68, .18, 1.08) infinite scale
}

.ball-pulse > div {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes ball-pulse-sync {
    33% {
        transform: translateY(10px)
    }
    66% {
        transform: translateY(-10px)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes ball-pulse-sync {
    33% {
        transform: translateY(10px)
    }
    66% {
        transform: translateY(-10px)
    }
    100% {
        transform: translateY(0)
    }
}

.ball-pulse-sync > div:nth-child(0) {
    -webkit-animation: .6s ease-in-out -.21s infinite ball-pulse-sync;
    animation: .6s ease-in-out -.21s infinite ball-pulse-sync
}

.ball-pulse-sync > div:nth-child(1) {
    -webkit-animation: .6s ease-in-out -.14s infinite ball-pulse-sync;
    animation: .6s ease-in-out -.14s infinite ball-pulse-sync
}

.ball-pulse-sync > div:nth-child(2) {
    -webkit-animation: .6s ease-in-out -.07s infinite ball-pulse-sync;
    animation: .6s ease-in-out -.07s infinite ball-pulse-sync
}

.ball-pulse-sync > div:nth-child(3) {
    -webkit-animation: .6s ease-in-out infinite ball-pulse-sync;
    animation: .6s ease-in-out infinite ball-pulse-sync
}

.ball-pulse-sync > div {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
