.sb-loader {
    position: fixed;
    width: 100%;
    background: rgba(0, 0, 0, 0.17);
    top: 0;
    height: 100%;
    left: 0;
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: center;
    
    .spring-spinner {
        height: 60px;
        width: 60px;
        
        .spring-spinner-part {
            overflow: hidden;
            height: calc(60px / 2);
            width: 60px;
            
            &.bottom {
                @include transforms(rotate(180deg) scale(-1, 1));
            }
        }
        .spring-spinner-rotator {
            width: 60px;
            height: 60px;
            border: calc(60px / 7) solid transparent;
            border-right-color: $primary-color;
            border-top-color: $primary-color;
            border-radius: 50%;
            box-sizing: border-box;
            -webkit-animation: spring-spinner-animation 3s ease-in-out infinite;
            -moz-animation: spring-spinner-animation 3s ease-in-out infinite;
            -ms-animation: spring-spinner-animation 3s ease-in-out infinite;
            animation: spring-spinner-animation 3s ease-in-out infinite;
            @include transforms(rotate(-200deg));
        }
    }
}


@keyframes spring-spinner-animation {
    0% {
        border-width: calc(60px / 7);
    }
    
    25% {
        border-width: calc(60px / 23.33);
    }
    
    50% {
        @include transforms(rotate(115deg));
        border-width: calc(60px / 7);
    }
    
    75% {
        border-width: calc(60px / 23.33);
    }
    
    100% {
        border-width: calc(60px / 7);
    }
}
