.loader{
--size: 32px;
--duration: 800ms;
width: 96px;
height: 64px;
margin: 50px auto;
transform-style: preserve-3d;
transform-origin: 50% 50%;
transform: rotateX(60deg) rotateZ(45deg) rotateY(0deg) translateZ(0px);
position: relative;
}
.loader .box{
width: 32px;
height: 32px;
transform-style: preserve-3d;
position: absolute;
top: 0;
left: 0;
}
.loader .box:nth-child(1){
transform: translate(100%, 0);
animation: box1 800ms linear infinite;
}
.loader .box:nth-child(2){
transform: translate(0, 100%);
animation: box2 800ms linear infinite;
}
.loader .box:nth-child(3){
transform: translate(100%, 100%);
animation: box3 800ms linear infinite;
}
.loader .box:nth-child(4){
transform: translate(200%, 0);
animation: box4 800ms linear infinite;
}
.loader .box > div{
--translateZ: calc(var(--size) / 2);