/* $Base */

.loader {
    display: inline-block;
    position: relative;
    width: 50px;
    height: 50px;
    vertical-align: middle;
    margin: 0 auto;
}


/*	$Loader Multiple circle
	========================================================================== */

.loader-circles {
    border-radius: 50px;
    border: 3px solid transparent;
    border-top-color: #7e3b8a;
    -o-animation: spin 1s linear infinite;
    -moz-animation: spin 1s linear infinite;
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
}

.loader-circles:before,
.loader-circles:after {
    content: '';
    position: absolute;
    top: 5px;
    right: 5px;
    bottom: 5px;
    left: 5px;
    border-radius: 50px;
    border: 3px solid transparent;
    border-top-color: #bc5dcc;
    opacity: 0.8;
    filter: alpha(opacity=80);
    -o-animation: spinreverse 5s linear infinite;
    -moz-animation: spinreverse 5s linear infinite;
    -webkit-animation: spinreverse 5s linear infinite;
    animation: spinreverse 5s linear infinite;
}

.loader-circles:before {
    top: 12px;
    left: 12px;
    bottom: 12px;
    right: 12px;    
    border-top-color: #af1c7f;
    -o-animation: spinreverse 10s linear infinite;
    -moz-animation: spinreverse 10s linear infinite;
    -webkit-animation: spinreverse 10s linear infinite;
    animation: spinreverse 10s linear infinite;
}

@-webkit-keyframes grow {
    0% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 0;
    }
    50% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        opacity: 1;
    }
    100% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 0;
    }
}

@keyframes grow {
    0% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 0;
    }
    50% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        opacity: 1;
    }
    100% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        opacity: 0;
    }
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes spinreverse {
    0% {
        -webkit-transform: rotate(0deg);
        tranform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(-360deg);
        tranform: rotate(-360deg);
    }
}

@keyframes spinreverse {
    0% {
        -webkit-transform: rotate(0deg);
        tranform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(-360deg);
        tranform: rotate(-360deg);
    }
}

#loader-overlay {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-color: #eaeaea;
    position: fixed;
    z-index: 10000;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}