.animated-loader {
    position: static;
    width: 100%;
}

.animated-loader.loading .loader {
    visibility: visible;
}

.loader.tb-loader-active {
    visibility: visible;
}

.loader {
    visibility: hidden;
    display: flex;
    justify-content: center;

    .lds-facebook,
    .lds-facebook div {
        box-sizing: border-box;
    }

    .lds-facebook {
        display: inline-block;
        position: relative;
        width: 2em;
        height: 1em;
    }

    .lds-facebook div {
        display: inline-block;
        position: absolute;
        left: 0.5em;
        width: 0.25em;
        background: currentColor;
        animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
    }

    .lds-facebook div:nth-child(1) {
        left: 0.5em;
        animation-delay: -0.24s;
    }

    .lds-facebook div:nth-child(2) {
        left: 1em;
        animation-delay: -0.12s;
    }

    .lds-facebook div:nth-child(3) {
        left: 1.5em;
        animation-delay: 0s;
    }
}

.loader-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3rem;
    height: 3rem;
    margin-top: -1.5rem;
    margin-left: -1.5rem;
    border: 4px solid rgba(255, 255, 255, 0.25);
    border-top-color: #7df0b9;
    border-radius: 50%;
    box-shadow: 0 0 18px rgba(43, 212, 143, 0.25);
    animation: tb-loader-spinner 0.8s linear infinite;
}

@keyframes tb-loader-spinner {
    to {
        transform: rotate(360deg);
    }
}

@keyframes lds-facebook {
    0% {
        top: -0.2em;
        height: 1.8em;
    }
    50%, 100% {
        top: 0.5em;
        height: 0.8em;
    }
}
