html, body {
height: 100%;
margin: 0;
overflow: hidden;
}
body {
display: flex;
align-items: center;
justify-content: center;
background: transparent;
}
div {
width: 40vmin;
height: 40vmin;
overflow: hidden;
}
div > div {
width: 100%;
border-radius:40%;
height: 100%;
animation: a 3s linear infinite;
background-color: hsla(180,100%,25%, 0.5);;
}
@keyframes a {
0% { transform: scale(.5) rotateY(2deg); }
6.25% { transform: scale(.915) rotateY(5.625deg); }
12.5% { transform: scale(.85) rotateY(11.25deg); }
18.75% { transform: scale(.8) rotateY(16.875deg); }
25% { transform: scale(.765) rotateY(22.5deg); }
31.25% { transform: scale(.74) rotateY(28.125deg); }
37.5% { transform: scale(.72) rotateY(33.75deg); }
43.75% { transform: scale(.71) rotateY(39.375deg); }
50% { transform: scale(.708) rotateZ(45deg); }