JSFiddle - React, Tailwind, and code Playground
CSS
body {
background-color: #FEF5F2;
overflow: hidden;
text-align: center;
}
figure {
transform-origin: center center;
transform-style: preserve-3d;
transform: rotate3d(0, 0, 0, 0deg);
animation-name: figure;
animation-duration: 8s;
animation-direction: normal;
animation-iteration-count: infinite;
}
@keyframes figure {
20% {
transform: rotate3d(1, 0, 0, 20deg);
}
50% {
transform: rotate3d(0, 0, 0, 0deg);
}
}
h1:first-child {
color: #E65370;
}
h1 {
display: block;
width: 100%;
padding: 10px;
line-height: 1.5;
font: 900 160px 'Concert One', sans-serif;
text-transform: uppercase;
position: absolute;
color: #883D4A;
}
JavaScript
var shadowLength = 40;
for (var i = 0; i < shadowLength; i++) {
var layer = $("<h1>M</h1>").css("transform", "translateZ(-" + i + "px)");
$("figure").append(layer);
}