
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

.lds-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.loading-overlay {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); opacity: 0; z-index: 100; display: flex;} .overlay-loader {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}


.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}




/*!
 * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
 * Copyright 2015 Daniel Cardoso <@DanielCardoso>
 * Licensed under MIT
 */
.la-ball-pulse-sync,
.la-ball-pulse-sync > div {
    position: relative;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
.la-ball-pulse-sync {
    display: block;
    font-size: 0;
    color: white !important;
}
.la-ball-pulse-sync.la-dark {
    color: #333;
}
.la-ball-pulse-sync > div {
    display: inline-block;
    float: none;
    background-color: white;
    border: 0 solid currentColor;
}
.la-ball-pulse-sync {
    width: 54px;
    height: 18px;
}
.la-ball-pulse-sync > div {
    width: 10px;
    height: 10px;
    margin: 4px;
    border-radius: 100%;
    -webkit-animation: ball-pulse-sync .6s infinite ease-in-out;
       -moz-animation: ball-pulse-sync .6s infinite ease-in-out;
         -o-animation: ball-pulse-sync .6s infinite ease-in-out;
            animation: ball-pulse-sync .6s infinite ease-in-out;
}
.la-ball-pulse-sync > div:nth-child(1) {
    -webkit-animation-delay: -.14s;
       -moz-animation-delay: -.14s;
         -o-animation-delay: -.14s;
            animation-delay: -.14s;
}
.la-ball-pulse-sync > div:nth-child(2) {
    -webkit-animation-delay: -.07s;
       -moz-animation-delay: -.07s;
         -o-animation-delay: -.07s;
            animation-delay: -.07s;
}
.la-ball-pulse-sync > div:nth-child(3) {
    -webkit-animation-delay: 0s;
       -moz-animation-delay: 0s;
         -o-animation-delay: 0s;
            animation-delay: 0s;
}
.la-ball-pulse-sync.la-sm {
    width: 26px;
    height: 8px;
}
.la-ball-pulse-sync.la-sm > div {
    width: 4px;
    height: 4px;
    margin: 2px;
}
.la-ball-pulse-sync.la-2x {
    width: 108px;
    height: 36px;
}
.la-ball-pulse-sync.la-2x > div {
    width: 20px;
    height: 20px;
    margin: 8px;
}
.la-ball-pulse-sync.la-3x {
    width: 162px;
    height: 54px;
}
.la-ball-pulse-sync.la-3x > div {
    width: 30px;
    height: 30px;
    margin: 12px;
}
/*
 * Animation
 */
@-webkit-keyframes ball-pulse-sync {
    33% {
        -webkit-transform: translateY(100%);
                transform: translateY(100%);
    }
    66% {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%);
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }
}
@-moz-keyframes ball-pulse-sync {
    33% {
        -moz-transform: translateY(100%);
             transform: translateY(100%);
    }
    66% {
        -moz-transform: translateY(-100%);
             transform: translateY(-100%);
    }
    100% {
        -moz-transform: translateY(0);
             transform: translateY(0);
    }
}
@-o-keyframes ball-pulse-sync {
    33% {
        -o-transform: translateY(100%);
           transform: translateY(100%);
    }
    66% {
        -o-transform: translateY(-100%);
           transform: translateY(-100%);
    }
    100% {
        -o-transform: translateY(0);
           transform: translateY(0);
    }
}
@keyframes ball-pulse-sync {
    33% {
        -webkit-transform: translateY(100%);
           -moz-transform: translateY(100%);
             -o-transform: translateY(100%);
                transform: translateY(100%);
    }
    66% {
        -webkit-transform: translateY(-100%);
           -moz-transform: translateY(-100%);
             -o-transform: translateY(-100%);
                transform: translateY(-100%);
    }
    100% {
        -webkit-transform: translateY(0);
           -moz-transform: translateY(0);
             -o-transform: translateY(0);
                transform: translateY(0);
    }
}




/*!
 * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
 * Copyright 2015 Daniel Cardoso <@DanielCardoso>
 * Licensed under MIT
 */
.la-ball-newton-cradle,
.la-ball-newton-cradle > div {
    position: relative;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
.la-ball-newton-cradle {
    display: block;
    font-size: 0;
    color: #fff;
}
.la-ball-newton-cradle.la-dark {
    color: #333;
}
.la-ball-newton-cradle > div {
    display: inline-block;
    float: none;
    background-color: white;
    border: 0 solid currentColor;
}
.la-ball-newton-cradle {
    width: 40px;
    height: 10px;
}
.la-ball-newton-cradle > div {
    width: 10px;
    height: 10px;
    border-radius: 100%;
}
.la-ball-newton-cradle > div:first-child {
    -webkit-transform: translateX(0%);
       -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
         -o-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-animation: ball-newton-cradle-left 1s 0s ease-out infinite;
       -moz-animation: ball-newton-cradle-left 1s 0s ease-out infinite;
         -o-animation: ball-newton-cradle-left 1s 0s ease-out infinite;
            animation: ball-newton-cradle-left 1s 0s ease-out infinite;
}
.la-ball-newton-cradle > div:last-child {
    -webkit-transform: translateX(0%);
       -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
         -o-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-animation: ball-newton-cradle-right 1s 0s ease-out infinite;
       -moz-animation: ball-newton-cradle-right 1s 0s ease-out infinite;
         -o-animation: ball-newton-cradle-right 1s 0s ease-out infinite;
            animation: ball-newton-cradle-right 1s 0s ease-out infinite;
}
.la-ball-newton-cradle.la-sm {
    width: 20px;
    height: 4px;
}
.la-ball-newton-cradle.la-sm > div {
    width: 4px;
    height: 4px;
}
.la-ball-newton-cradle.la-2x {
    width: 80px;
    height: 20px;
}
.la-ball-newton-cradle.la-2x > div {
    width: 20px;
    height: 20px;
}
.la-ball-newton-cradle.la-3x {
    width: 120px;
    height: 30px;
}
.la-ball-newton-cradle.la-3x > div {
    width: 30px;
    height: 30px;
}
/*
 * Animations
 */
@-webkit-keyframes ball-newton-cradle-left {
    25% {
        -webkit-transform: translateX(-100%);
                transform: translateX(-100%);
        -webkit-animation-timing-function: ease-in;
                animation-timing-function: ease-in;
    }
    50% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%);
    }
}
@-moz-keyframes ball-newton-cradle-left {
    25% {
        -moz-transform: translateX(-100%);
             transform: translateX(-100%);
        -moz-animation-timing-function: ease-in;
             animation-timing-function: ease-in;
    }
    50% {
        -moz-transform: translateX(0%);
             transform: translateX(0%);
    }
}
@-o-keyframes ball-newton-cradle-left {
    25% {
        -o-transform: translateX(-100%);
           transform: translateX(-100%);
        -o-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
    }
    50% {
        -o-transform: translateX(0%);
           transform: translateX(0%);
    }
}
@keyframes ball-newton-cradle-left {
    25% {
        -webkit-transform: translateX(-100%);
           -moz-transform: translateX(-100%);
             -o-transform: translateX(-100%);
                transform: translateX(-100%);
        -webkit-animation-timing-function: ease-in;
           -moz-animation-timing-function: ease-in;
             -o-animation-timing-function: ease-in;
                animation-timing-function: ease-in;
    }
    50% {
        -webkit-transform: translateX(0%);
           -moz-transform: translateX(0%);
             -o-transform: translateX(0%);
                transform: translateX(0%);
    }
}
@-webkit-keyframes ball-newton-cradle-right {
    50% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%);
    }
    75% {
        -webkit-transform: translateX(100%);
                transform: translateX(100%);
        -webkit-animation-timing-function: ease-in;
                animation-timing-function: ease-in;
    }
    100% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%);
    }
}
@-moz-keyframes ball-newton-cradle-right {
    50% {
        -moz-transform: translateX(0%);
             transform: translateX(0%);
    }
    75% {
        -moz-transform: translateX(100%);
             transform: translateX(100%);
        -moz-animation-timing-function: ease-in;
             animation-timing-function: ease-in;
    }
    100% {
        -moz-transform: translateX(0%);
             transform: translateX(0%);
    }
}
@-o-keyframes ball-newton-cradle-right {
    50% {
        -o-transform: translateX(0%);
           transform: translateX(0%);
    }
    75% {
        -o-transform: translateX(100%);
           transform: translateX(100%);
        -o-animation-timing-function: ease-in;
           animation-timing-function: ease-in;
    }
    100% {
        -o-transform: translateX(0%);
           transform: translateX(0%);
    }
}
@keyframes ball-newton-cradle-right {
    50% {
        -webkit-transform: translateX(0%);
           -moz-transform: translateX(0%);
             -o-transform: translateX(0%);
                transform: translateX(0%);
    }
    75% {
        -webkit-transform: translateX(100%);
           -moz-transform: translateX(100%);
             -o-transform: translateX(100%);
                transform: translateX(100%);
        -webkit-animation-timing-function: ease-in;
           -moz-animation-timing-function: ease-in;
             -o-animation-timing-function: ease-in;
                animation-timing-function: ease-in;
    }
    100% {
        -webkit-transform: translateX(0%);
           -moz-transform: translateX(0%);
             -o-transform: translateX(0%);
                transform: translateX(0%);
    }
}


