﻿.loader-container {
    display: flex;
    align-items: center;
}

.loader-container-inprogress {
    display: none;
    align-items: end
}

.loader-container-success {
    display: none;
    position: relative;
}

/* ============ "In Progress" loader ============ */

.loader-inprogress {
    border: 4px solid transparent;
    border-top: 4px solid var(--violet);
    border-radius: 50%;
    display: inline-block;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* ============ "Success" loader ============ */


.loader-success {
    display: inline-block;
    width: 10em;
    height: 10em;
    font-size: 20px;
    border-radius: 50%;
    border: 20px solid var(--green);
    background-color: #fff;
    position: absolute;
    top: -20px;
    left: 0;
    overflow: hidden;
    transform-origin: left top;
    animation: showSuccess 180ms ease-in-out;
    transform: scale(0.15);
}

.loader-success__tip,
.loader-success__long {
    display: block;
    position: absolute;
    height: 1em;
    background-color: var(--green);
    border-radius: 1em;
}

.loader-success__tip {
    width: 2.8em;
    top: 4.3em;
    left: 1.4em;
    transform: rotate(45deg);
    animation: tipInPlace 300ms ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 180ms;
    visibility: hidden;
}

.loader-success__long {
    width: 4.4em;
    transform: rotate(-45deg);
    top: 3.70em;
    left: 2.55em;
    animation: longInPlace 140ms ease-in-out;
    animation-fill-mode: forwards;
    visibility: hidden;
    animation-delay: 440ms;
}

}

@keyframes showSuccess {
    from {
        transform: scale(0);
    }

    to {
        transform: scale(0.15);
    }
}

@keyframes tipInPlace {
    from {
        width: 0em;
        top: 3.5em;
        left: 2em;
    }

    to {
        width: 2.8em;
        top: 4.3em;
        left: 1.4em;
        visibility: visible;
    }
}

@keyframes longInPlace {
    from {
        width: 0em;
        top: 5.1em;
        left: 3.2em;
    }

    to {
        width: 4.4em;
        top: 3.80em;
        left: 2.55em;
        visibility: visible;
    }
}


.success__info--position {
    position: absolute;
    left: 35px;
    top: -2px;
    width: 100vw;
}


