.loader {
    width: 80px;
    height: 80px;
    margin: 50px auto 0;
    perspective: 800px;
    position: relative;
}

.loader div {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
}

.loader div:nth-child(1) {
    border-bottom: 4px solid red;
    left: 0;
    top: 0;
    animation: rotate-one 1s linear infinite;
}

.loader div:nth-child(2) {
    border-right: 4px solid green;
    right: 0;
    top: 0;
    animation: rotate-two 1s linear infinite;
}

.loader div:nth-child(3) {
    border-top: 4px solid blue;
    right: 0;
    bottom: 0;
    animation: rotate-three 1s linear infinite;
}

@keyframes rotate-one {
    0% {
        transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
    }
    100% {
        transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
    }
}

@keyframes rotate-two {
    0% {
        transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
    }
    100% {
        transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
    }
}

@keyframes rotate-three {
    0% {
        transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
    }
    100% {
        transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
    }
}