.loader {
    transform: rotate(45deg);
    perspective: 1000px;
    border-radius: 50%;
    width: 78px;
    height: 78px;
    color: #f6aa00
}

.loader:after,
.loader:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: inherit;
    height: inherit;
    border-radius: 50%;
    transform: rotateX(70deg);
    animation: spin 1s linear infinite
}

.loader:after {
    color: #000000;
    transform: rotateY(70deg);
    animation-delay: .4s
}

@keyframes rotate {
    0% {
        transform: translate(-50%, -50%) rotate(0deg)
    }

    to {
        transform: translate(-50%, -50%) rotate(1turn)
    }
}

@keyframes rotateccw {
    0% {
        transform: translate(-50%, -50%) rotate(0deg)
    }

    to {
        transform: translate(-50%, -50%) rotate(-1turn)
    }
}

@keyframes spin {

    0%,
    to {
        box-shadow: .2em 0 0 0 currentcolor
    }

    12% {
        box-shadow: .2em .2em 0 0 currentcolor
    }

    25% {
        box-shadow: 0 .2em 0 0 currentcolor
    }

    37% {
        box-shadow: -.2em .2em 0 0 currentcolor
    }

    50% {
        box-shadow: -.2em 0 0 0 currentcolor
    }

    62% {
        box-shadow: -.2em -.2em 0 0 currentcolor
    }

    75% {
        box-shadow: 0 -.2em 0 0 currentcolor
    }

    87% {
        box-shadow: .2em -.2em 0 0 currentcolor
    }
}