@keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } .#{$ns}Spinner-overlay { position: absolute; z-index: 10; top: 0; left: 0; right: 0; bottom: 0; background: $Spinner-overlay-bg; .#{$ns}Spinner { position: absolute; top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); } .#{$ns}Spinner--lg { width: $Spinner--lg-width; height: $Spinner--lg-height; line-height: $Spinner--lg-height; } } .#{$ns}Spinner { width: $Spinner-width; height: $Spinner-height; transform: translateZ(0); display: inline-block; background: $Spinner-bg; background-size: 100%; &--lg { width: $Spinner--lg-width; height: $Spinner--lg-height; } } @include media-breakpoint-up(md) { .#{$ns}Layout .#{$ns}Page-body > .#{$ns}Spinner-overlay { left: $Layout-aside-width; } .#{$ns}Layout--folded .#{$ns}Page-body > .#{$ns}Spinner-overlay { left: $Layout-aside--folded-width; } }