.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
  	background-color: #fff;
}
.loader {
    transform: translateZ(1px);
}
.loader {
    width: 50px;
    aspect-ratio: 1;
    display: grid;
}
.loader::before,
.loader::after {    
	content:"";
    grid-area: 1/1;
    --c:no-repeat radial-gradient(farthest-side,#5033ff 92%,#0000);
    background: 
    	var(--c) 50%  0, 
      	var(--c) 50%  100%, 
      	var(--c) 100% 50%, 
      	var(--c) 0    50%;
	background-size: 12px 12px;
    animation: l12 1s infinite;
}
.loader::before {
    margin: 4px;
    filter: hue-rotate(45deg);
    background-size: 8px 8px;
    animation-timing-function: linear
}
@keyframes l12 { 
    100%{transform: rotate(.5turn)}
}