﻿/* Loading circles */
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 40px;
    height: 8px;
}

    .lds-ellipsis div {
        position: absolute;
        top: 0px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--accent);
        animation-timing-function: cubic-bezier(0, 1, 1, 0);
    }

        .lds-ellipsis div:nth-child(1) {
            left: 4px;
            animation: lds-ellipsis1 0.6s infinite;
        }

        .lds-ellipsis div:nth-child(2) {
            left: 4px;
            animation: lds-ellipsis2 0.6s infinite;
        }

        .lds-ellipsis div:nth-child(3) {
            left: 16px;
            animation: lds-ellipsis2 0.6s infinite;
        }

        .lds-ellipsis div:nth-child(4) {
            left: 28px;
            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(12px, 0);
    }
}

/* Animated check circle */

.check-circle-container {
    width: 120px;
    margin: 0px auto;
}

.svg-success {
    display: inline-block;
    vertical-align: top;
    height: 120px;
    width: 120px;
    opacity: 1;
    overflow: visible;
}

@keyframes success-tick {
    0% {
        stroke-dashoffset: 36px;
        opacity: 1;
    }

    100% {
        stroke-dashoffset: 31px;
        opacity: 1;
    }
}

@keyframes success-circle-outline {
    0% {
        stroke-dashoffset: 36px;
        opacity: 1;
    }

    100% {
        stroke-dashoffset: 0px;
        opacity: 1;
    }
}

@keyframes success-circle-fill {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.success-tick {
    fill: none;
    stroke-width: 0.09em;
    stroke: var(--accent);
    stroke-dasharray: 15px, 15px;
    stroke-dashoffset: -14px;
    animation: success-tick 550ms ease 1500ms forwards;
    opacity: 0;
    stroke-linecap: butt; /* Sharp ends */
    stroke-linejoin: miter; /* Sharp corners */
}

.success-circle-outline {
    fill: none;
    stroke-width: 0.04em;
    stroke: var(--accent);
    stroke-dasharray: 72px, 72px;
    stroke-dashoffset: 72px;
    animation: success-circle-outline 500ms ease-in-out 600ms forwards;
    opacity: 0;
}

.success-circle-fill {
    fill: var(--text-light);
    stroke: none;
    opacity: 0;
    animation: success-circle-fill 300ms ease-out 500ms forwards;
}

/* Can't animate stroke-dashoffset on IE 10 and 11, just show svg instead */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .success-tick {
        stroke-dasharray: 0;
        stroke-dashoffset: 0;
        animation: none;
        opacity: 1;
    }

    .success-circle-outline {
        stroke-dasharray: 0;
        stroke-dashoffset: 0;
        animation: none;
        opacity: 1;
    }

    .success-circle-fill {
        animation: none;
        opacity: 1;
    }
}
