.spinner {
    width: 60px;
    height: 60px;
    text-align: center;
    font-size: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.spinner > div {
    height: 100%;
    width: 6px;
    display: inline-block;
    margin-left: 6px;
    -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
    animation: stretchdelay 1.2s infinite ease-in-out
}

.spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s
}

.spinner .rect3 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s
}

.spinner .rect4 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s
}

.spinner .rect5 {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s
}

@-webkit-keyframes stretchdelay {
    0%, 40%, 100% {
        -webkit-transform: scaleY(0.4)
    }
    20% {
        -webkit-transform: scaleY(1.0)
    }
}

@keyframes stretchdelay {
    0%, 40%, 100% {
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4)
    }
    20% {
        transform: scaleY(1.0);
        -webkit-transform: scaleY(1.0)
    }
}

#loading-msg {
    position: absolute;
    top: calc(50% + 45px);
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-block;
    color: #5c5c5c;
    font-size: 14px;
    background: radial-gradient(rgba(255,255,255,1), rgba(255, 255, 255,0.2));
}

.loadEffect_small + div#loading-msg {
    top: calc(50% + 35px);
}

#preloader {
    width: 60px;
    height: 60px;
    text-align: center;
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}
#loader {
    display: block;
    position: relative;
    left: 40%;
    top: 40%;
    width: 100%;
    height: 100%;
    margin: -50% 0 0 -50%;
    border-radius: 50%;
    border: 4px solid transparent;
    border-top-color: #AA2D29;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-top-color: #ff671b;
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}
#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-top-color: #ec65a4;
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.loadEffect{
    width: 60px;
    height: 60px;
    text-align: center;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}
.loadEffect span{
    opacity: 0.2;
    transform: scale(.9);
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #626262;
    position: absolute;
    -webkit-animation: load 1.04s ease infinite;
}
@-webkit-keyframes load{
    0%{
        transform: scale(1.5);
        opacity: 1;
    }
    100%{
        transform: scale(.9);
        opacity: 0.2;
    }
}
.loadEffect span:nth-child(1){
    left: 0;
    top: 50%;
    margin-top:-4px;
    -webkit-animation-delay:0.13s;
}
.loadEffect span:nth-child(2){
    left: 7px;
    top: 7px;
    -webkit-animation-delay:0.26s;
}
.loadEffect span:nth-child(3){
    left: 50%;
    top: 0;
    margin-left: -4px;
    -webkit-animation-delay:0.39s;
}
.loadEffect span:nth-child(4){
    top: 7px;
    right:7px;
    -webkit-animation-delay:0.52s;
}
.loadEffect span:nth-child(5){
    right: 0;
    top: 50%;
    margin-top:-4px;
    -webkit-animation-delay:0.65s;
}
.loadEffect span:nth-child(6){
    right: 7px;
    bottom:7px;
    -webkit-animation-delay:0.78s;
}
.loadEffect span:nth-child(7){
    bottom: 0;
    left: 50%;
    margin-left: -4px;
    -webkit-animation-delay:0.91s;
}
.loadEffect span:nth-child(8){
    bottom: 7px;
    left: 7px;
    -webkit-animation-delay:1.04s;
}


.loadEffect_small{
    width: 40px;
    height: 40px;
    text-align: center;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}
.loadEffect_small span{
    opacity: 0.2;
    transform: scale(.9);
    display: inline-block;
    width: 6.7px;
    height: 6.7px;
    border-radius: 50%;
    background: #626262;
    position: absolute;
    -webkit-animation: load_small 1.04s ease infinite;
}
@-webkit-keyframes load_small{
    0%{
        transform: scale(1.4);
        opacity: 1;
    }
    100%{
        transform: scale(.9);
        opacity: 0.2;
    }
}
.loadEffect_small span:nth-child(1){
    left: 0;
    top: 50%;
    margin-top:-2.68px;
    -webkit-animation-delay:0.13s;
}
.loadEffect_small span:nth-child(2){
    left: 4.69px;
    top: 4.69px;
    -webkit-animation-delay:0.26s;
}
.loadEffect_small span:nth-child(3){
    left: 50%;
    top: 0;
    margin-left: -2.68px;
    -webkit-animation-delay:0.39s;
}
.loadEffect_small span:nth-child(4){
    top: 4.69px;
    right:4.69px;
    -webkit-animation-delay:0.52s;
}
.loadEffect_small span:nth-child(5){
    right: 0;
    top: 50%;
    margin-top:-2.68px;
    -webkit-animation-delay:0.65s;
}
.loadEffect_small span:nth-child(6){
    right: 4.69px;
    bottom:4.69px;
    -webkit-animation-delay:0.78s;
}
.loadEffect_small span:nth-child(7){
    bottom: 0;
    left: 50%;
    margin-left: -2.68px;
    -webkit-animation-delay:0.91s;
}
.loadEffect_small span:nth-child(8){
    bottom: 4.69px;
    left: 4.69px;
    -webkit-animation-delay:1.04s;
}