/* Pre-anim states apply only before an element is marked as played */
.gfe-anim:not(.gfe-played)[data-gfe-preset^="fade"] { opacity: 0; }
.gfe-anim:not(.gfe-played)[data-gfe-preset="fade-up"]    { transform: translate3d(0, 20px, 0); }
.gfe-anim:not(.gfe-played)[data-gfe-preset="fade-down"]  { transform: translate3d(0, -20px, 0); }
.gfe-anim:not(.gfe-played)[data-gfe-preset="fade-left"]  { transform: translate3d(20px, 0, 0); }
.gfe-anim:not(.gfe-played)[data-gfe-preset="fade-right"] { transform: translate3d(-20px, 0, 0); }
.gfe-anim:not(.gfe-played)[data-gfe-preset="scale-in"]   { transform: scale(0.95); opacity: 0; }
.gfe-anim:not(.gfe-played)[data-gfe-preset="rotate-in"]  { transform: rotate(-4deg); opacity: 0; transform-origin: 50% 60%; }

.gfe-anim { will-change: transform, opacity; }
.gfe-split span { display: inline-block; }