.loader {
    display: inline-block;
    width: 60px;
    height: 60px;
    position: relative;
}

.loader:before {
    content:
    "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    line-height: 100%;
    overflow: hidden;
    /*background: #e0e0e0;*/
    border-radius: 100%;
    border: none;
    border-bottom: #272928 solid 10px;
    border-top: #272928 solid 10px;
    border-right: #454746 solid 10px;
    border-left: #454746 solid 10px;
    box-sizing: content-box;
    -webkit-animation-name: loader;
    -moz-animation-name: loader;
    -o-animation-name: loader;
    animation-name: loader;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    z-index: 1
}

.loader a {
    position: absolute;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #F6DE7D;
    z-index: 2;
    width: 100%;
    height: 100%;
    line-height: 60px;
    font-size: 1.2rem;
    font-weight: bold;
    /* font-family: fantasy; */
    border-radius: 100%;
    margin-left: 10px;
    margin-top: 10px;
    background-color: #1a1a1ae0;
    box-shadow: 0 0 5px #000;
    -webkit-box-shadow: 0 0 5px #595959, inset 0 0 5px #333;
    -moz-box-shadow: 0 0 5px #595959,inset 0 0 5px #333;
    -o-box-shadow: 0 0 5px #595959,inset 0 0 5px #333;
    -ms-box-shadow: 0 0 5px #595959,inset 0 0 5px #333;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader2:before {
    border-bottom: #e0e0e0 solid 10px
}

.loader3:before,.loader4:before,.loader5:before {
    border: #e0e0e0 solid 10px;
    -webkit-animation-name: none;
    -o-animation-name: none;
    animation-name: none
}

.loader3 a,.loader4 a,.loader5 a {
    background-color: #307bbb;
    color: #fff;
    -webkit-box-shadow: 0 0 5px #fff;
    -moz-box-shadow: 0 0 5px #fff;
    -o-box-shadow: 0 0 5px #fff;
    -ms-box-shadow: 0 0 5px #fff
}

.loader4 a {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -o-box-shadow: none;
    -ms-box-shadow: none
}

.loader3:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #307bbb;
    box-shadow: 0 0 5px #000;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    -moz-box-shadow: 0 0 5px #e0e0e0;
    -o-box-shadow: 0 0 5px #e0e0e0;
    -ms-box-shadow: 0 0 5px #e0e0e0;
    margin-left: 10px;
    margin-top: 10px;
    border-radius: 100% 0% 100% 100%;
    -webkit-animation-name: loader;
    -moz-animation-name: loader;
    -o-animation-name: loader;
    animation-name: loader;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    z-index: 1
}

.loader4:after {
    content: "";
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    text-align: center;
    line-height: 40px;
    -webkit-animation-name: scale;
    -moz-animation-name: scale;
    -o-animation-name: scale;
    animation-name: scale;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    z-index: 1;
    background-color: #307bbb;
    box-shadow: 0 0 5px #000;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    -moz-box-shadow: 0 0 5px #e0e0e0;
    -o-box-shadow: 0 0 5px #e0e0e0;
    -ms-box-shadow: 0 0 5px #e0e0e0;
    margin-left: 10px;
    margin-top: 10px
}

.loader5:after {
    content: "";
    -webkit-animation-name: loader;
    -moz-animation-name: loader;
    -o-animation-name: loader;
    animation-name: loader;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    position: absolute;
    width: 100%;
    height: 100%;
    border: dotted 4px #307bbb;
    border-radius: 100%;
    z-index: 1;
    background-color: #e0e0e0;
    box-shadow: 0 0 5px #000;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    -moz-box-shadow: 0 0 5px #e0e0e0;
    -o-box-shadow: 0 0 5px #e0e0e0;
    -ms-box-shadow: 0 0 5px #e0e0e0;
    margin-left: 6px;
    margin-top: 6px
}

@-webkit-keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-o-keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-moz-keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes scale {
    from {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }

    50% {
        -webkit-transform: scale(1.5);
        -moz-transform: scale(1.5);
        -ms-transform: scale(1.5);
        -o-transform: scale(1.5);
        transform: scale(1.5)
    }

    to {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

@-o-keyframes scale {
    from {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }

    50% {
        -webkit-transform: scale(1.5);
        -moz-transform: scale(1.5);
        -ms-transform: scale(1.5);
        -o-transform: scale(1.5);
        transform: scale(1.5)
    }

    to {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

@-moz-keyframes scale {
    from {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }

    50% {
        -webkit-transform: scale(1.5);
        -moz-transform: scale(1.5);
        -ms-transform: scale(1.5);
        -o-transform: scale(1.5);
        transform: scale(1.5)
    }

    to {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes scale {
    from {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }

    50% {
        -webkit-transform: scale(1.5);
        -moz-transform: scale(1.5);
        -ms-transform: scale(1.5);
        -o-transform: scale(1.5);
        transform: scale(1.5)
    }

    to {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

.loader.duration-300ms-before:before,.loader.duration-300ms-after:after,.duration-300ms {
    -webkit-animation-duration: 300ms;
    -moz-animation-duration: 300ms;
    -o-animation-duration: 300ms;
    animation-duration: 300ms
}

.loader.duration-500ms-before:before,.loader.duration-500ms-after:after,.duration-500ms {
    -webkit-animation-duration: 500ms;
    -moz-animation-duration: 500ms;
    -o-animation-duration: 500ms;
    animation-duration: 500ms
}

.loader.duration-1s-before:before,.loader.duration-1s-after:after,.duration-1s {
    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    -o-animation-duration: 1s;
    animation-duration: 1s
}

.loader.duration-2s-before:before,.loader.duration-2s-after:after,.duration-2s {
    -webkit-animation-duration: 2s;
    -moz-animation-duration: 2s;
    -o-animation-duration: 2s;
    animation-duration: 2s
}

.loader.duration-3s-before:before,.loader.duration-3s-after:after,.duration-3s {
    -webkit-animation-duration: 3s;
    -moz-animation-duration: 3s;
    -o-animation-duration: 3s;
    animation-duration: 3s
}

.loader.duration-4s-before:before,.loader.duration-4s-after:after,.duration-4s {
    -webkit-animation-duration: 4s;
    -moz-animation-duration: 4s;
    -o-animation-duration: 4s;
    animation-duration: 4s
}

.loader.duration-5s-before:before,.loader.duration-5s-after:after,.duration-5s {
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -o-animation-duration: 5s;
    animation-duration: 5s
}

.loader-red:before {
    border-bottom-color: #db7093;
    border-top-color: #db7093
}

.loader-red a {
    color: #db7093
}

.loader-gray:before {
    border-bottom-color: #333;
    border-top-color: #333
}

.loader-gray a {
    color: #333
}

.loader-green:before {
    border-bottom-color: #3cb371;
    border-top-color: #3cb371
}

.loader-green a {
    color: #3cb371
}

.loader-orange:before {
    border-bottom-color: orange;
    border-top-color: orange
}

.loader-orange a {
    color: orange
}

.loader2-red:before {
    border-bottom-color: #db7093;
    border-top-color: #e0e0e0
}

.loader2-red a {
    color: #db7093
}

.loader2-gray:before {
    border-bottom-color: #333;
    border-top-color: #e0e0e0
}

.loader2-gray a {
    color: #333
}

.loader2-green:before {
    border-bottom-color: #3cb371;
    border-top-color: #e0e0e0
}

.loader2-green a {
    color: #3cb371
}

.loader2-orange:before {
    border-bottom-color: orange;
    border-top-color: #e0e0e0
}

.loader2-orange a {
    color: orange
}

.loader3-red:after,.loader3-red a,.loader4-red:after,.loader4-red a,.loader5-red a {
    background-color: #db7093
}

.loader3-gray:after,.loader3-gray a,.loader4-gray:after,.loader4-gray a,.loader5-gray a {
    background-color: #333
}

.loader3-green:after,.loader3-green a,.loader4-green:after,.loader4-green a,.loader5-green a {
    background-color: #3cb371
}

.loader3-orange:after,.loader3-orange a,.loader4-orange:after,.loader4-orange a,.loader5-orange a {
    background-color: orange
}

.loader5-red:after {
    border-color: #db7093
}

.loader5-gray:after {
    border-color: #333
}

.loader5-green:after {
    border-color: #3cb371
}

.loader5-orange:after {
    border-color: orange
}