@preloader-size: 30px; @preloader-wieght: 1px; @preloader-satelit-size: 8px; @preloader-orbit-size: (@preloader-size * 1.1); .preloader{ position: fixed; width: 100%; height: 100%; background-color: white; z-index: 9999; } .preloader-animation{ width: @preloader-size; height: @preloader-size; border: @preloader-wieght solid @color_blue; border-radius: 50%; position: fixed; left: 50%; top: 50%; margin-top: -@preloader-size / 2; margin-left: -@preloader-size / 2; background-color: lighten(@color_blue, 40%); box-shadow: 0 0 0 @preloader-orbit-size white, 0 0 0 @preloader-orbit-size + @preloader-wieght lighten(@color_blue, 30%); backface-visibility: hidden; &:after, &:before{ content: ''; display: block; width: @preloader-satelit-size; height: @preloader-satelit-size; border-radius: 50%; background-color: @color_blue; border: @preloader-wieght solid @color_blue; left: 50%; .transform(translateX(-50%)); position: absolute; background-color: lighten(@color_blue, 40%); } &:after{ top: -@preloader-orbit-size - (@preloader-satelit-size / 2) - @preloader-wieght; -webkit-transform-origin: 0 (@preloader-size / 2) + (@preloader-satelit-size / 2) + @preloader-orbit-size; -moz-transform-origin: 0 (@preloader-size / 2) + (@preloader-satelit-size / 2) + @preloader-orbit-size; -ms-transform-origin: 0 (@preloader-size / 2) + (@preloader-satelit-size / 2) + @preloader-orbit-size; -o-transform-origin: 0 (@preloader-size / 2) + (@preloader-satelit-size / 2) + @preloader-orbit-size; transform-origin: 0 (@preloader-size / 2) + (@preloader-satelit-size / 2) + @preloader-orbit-size; .animation(preloader-anim 1.5s linear infinite); } &:before{ bottom: -@preloader-orbit-size - (@preloader-satelit-size / 2) - @preloader-wieght; -webkit-transform-origin: 0 -(@preloader-size / 2) + (@preloader-satelit-size / 2) - @preloader-orbit-size; -moz-transform-origin: 0 -(@preloader-size / 2) + (@preloader-satelit-size / 2) - @preloader-orbit-size; -ms-transform-origin: 0 -(@preloader-size / 2) + (@preloader-satelit-size / 2) - @preloader-orbit-size; -o-transform-origin: 0 -(@preloader-size / 2) + (@preloader-satelit-size / 2) - @preloader-orbit-size; transform-origin: 0 -(@preloader-size / 2) + (@preloader-satelit-size / 2) - @preloader-orbit-size; .animation(preloader-anim 1.3s linear infinite); } } .keyframes(preloader-anim; { 0%{ .transform(rotate(-180deg) translateX(-50%)); } 100%{ .transform(rotate(180deg) translateX(-50%)); } });