JSFiddle - React, Tailwind, and code Playground

by kougiland

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<div class='stage'>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
  <div class='layer'></div>
</div>

CSS

@charset "UTF-8";
@import url("//fonts.googleapis.com/css?family=Kaushan+Script&text=!");
@import url("//fonts.googleapis.com/css?family=Pacifico&text=Pure");
html, body {
  height: 100%;
}

body {
  background: radial-gradient(circle, #0077ea, #1f4f96, #1b2949, #000000);
  -webkit-font-smoothing: subpixel-antialiased;
}

.stage {
  height: 300px;
  width: 500px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  perspective: 9999px;
  transform-style: preserve-3d;
}

.layer {
  width: 100%;
  height: 100%;
  position: absolute;
  transform-style: preserve-3d;
  opacity: 0;
  animation: ಠ_ಠ 5s infinite alternate ease-in-out -7.5s, o_O 0.1s 1;
  animation-fill-mode: forwards;
  transform: rotateY(40deg) rotateX(33deg) translateZ(0px);
}

.layer:after {
  font: 150px/0.65 'Pacifico', 'Kaushan Script', Futura, 'Trebuchet MS', Helvetica, sans-serif;
  content: 'Question\A     time!';
  white-space: pre;
  text-align: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 50px;
  color: whitesmoke;
  letter-spacing: -2px;
  text-shadow: 4px 0 10px rgba(0, 0, 0, 0.13);
}

.layer:nth-child(1):after {
  transform: translateZ(0px);
}

.layer:nth-child(2):after {
  transform: translateZ(-2px);
}

.layer:nth-child(3):after {
  transform: translateZ(-4px);
}

.layer:nth-child(4):after {
  transform: translateZ(-6px);
}

.layer:nth-child(5):after {
  transform: translateZ(-8px);
}

.layer:nth-child(6):after {
  transform: translateZ(-10px);
}

.layer:nth-child(7):after {
  transform: translateZ(-12px);
}

.layer:nth-child(8):after {
  transform: translateZ(-14px);
}

.layer:nth-child(9):after {
  transform: translateZ(-16px);
}

.layer:nth-child(10):after {
  transform: translateZ(-18px);
}

.layer:nth-child(11):after {
  transform: translateZ(-20px);
}

.layer:nth-child(12):after {
  transform: translateZ(-22px);
}

.layer:nth-child(13):after {
  transform: translateZ(-24px);
}

.layer:nth-child(14):after {
  transform:...