.spinner {
    box-sizing: border-box;
    width: 60px;
    height: 60px;
    border-left: 15px solid #2098f5;
    border-right: 15px solid #2098f5;
    overflow: hidden;
    position: relative;
    left: 2em;
    margin-bottom: 2em;
    opacity: 0.36;

    -webkit-animation: rotateplane 1.2s infinite ease-in-out;
    animation: rotateplane 1.2s infinite ease-in-out;
}
    
.spinner:before,
.spinner:after {
    border-left: 11px solid #2098f5;
    border-right: 11px solid #2098f5;        
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    width: 32px;
    height: 15px;
}

.spinner:before {
    top: 0;
    left: -1px;
}

.spinner:after {
    bottom: 0;
    left: -1px;
}

@-webkit-keyframes rotateplane {
    0% { -webkit-transform: perspective(120px) }
    50% { -webkit-transform: perspective(120px) rotateY(180deg) }
    100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes rotateplane {
    0% {
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    } 50% {
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    } 100% {
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}
