Frontend Forever App
We have a mobile app for you to download and use. And you can unlock many features in the app.
Get it now
Intall Later
Run
HTML
CSS
Javascript
Output
Document
@charset "UTF-8"; @import url(https://fonts.googleapis.com/css?family=Nunito+Sans:300,400,600,700,800); *, :after, :before { box-sizing: border-box; padding: 0; margin: 0; } $none: rgba(#fff, 0); $blk: #000; $crater: lighten($blk, 50); $lte: #fff; html, body, div { height: 100%; } html { font-size: 1vmin; background: $blk; } body { margin: auto; overflow: hidden; } div { transform-style: preserve-3d; perspective: 100em; position: relative; *, *:before, *:after, &:after { content: ""; position: absolute; left: 0; top: 0; box-sizing: border-box; transform-style: preserve-3d; backface-visibility: hidden; } &:after { width: 50rem; height: 50rem; background: radial-gradient( circle at 40% 40%, $none, $blk, rgba($blk, 0.7) ); transform: translate3d(0, 0, 40rem); margin: auto; bottom: 0; right: 0; } } moon { margin: auto; inset: 0; width: 81rem; height: 81rem; background: lighten($crater, 30); border-radius: 50%; animation: wobble 2s linear infinite; spin { animation: r 10s linear infinite; width: 80rem; height: 0; margin: auto; inset: 0; } c { width: 80rem; height: 1rem; z-index: 1; font-size: 5rem; &:before, &:after { width: 5rem; height: 5rem; border-radius: 50%; transform: rotateY(-90deg); background: rgba($blk, 0.05); animation: light 10s linear infinite; opacity: 0.75; border: 0.2rem dashed $none; } &:after { background: $lte; } } @for $i from 1 through 36 { $scale: random(10) * 0.1; c:nth-of-type(#{$i}) { transform: rotate((random(60)) * 1deg) rotateY(#{$i * 10}deg); &:before, &:after { animation-delay: -#{$i * 0.277}s; } &:before { transform: rotateY(-90deg) scale($scale); } &:after { transform: translate3d(-75rem, 0, 0) rotateY(90deg) scale(random(10) / 10); } } } @keyframes r { to { transform: rotateY(360deg); } } @keyframes wobble { 20% { transform: translate3d(0.25rem, 0, 0); } 70% { transform: translate3d(-0.25rem, 0, 0); } } @keyframes light { 40% { box-shadow: 3rem 1rem #000, inset 3rem 1rem #000; } 10% { box-shadow: -2rem 0.5rem #000, inset -2rem 0.5rem #000; } 25% { box-shadow: 0.5rem 0.5rem #000, inset 0.5rem 0.5rem #000; } } } .sig { &, * { height: 9.25em; overflow: hidden; border-radius: 0.5em; } position: absolute; left: auto; right: 1rem; top: 1rem; font-size: 0.5rem; color: $lte; width: 10em; transform: skewX(10deg) scaleY(0.45) rotate(2deg); mix-blend-mode: difference; &:before, *:before { content: ""; position: absolute; top: 0; left: 0; width: 5em; height: 5em; background: currentColor; transform: translate3d(-2.5em, 0, 0) rotate(-45deg); box-shadow: -3em 3em 0 0 currentColor; border-radius: 0.5em 2em 0.5em 2em; } * { width: 5em; transform: translate3d(3.75em, 0, 0) scaleY(0.95); display: block !important; &:before { transform: translate3d(-3em, -2em, 0) rotate(-45deg); box-shadow: -3em 3em 0 0 currentColor, -6em 6em 0 0 currentColor; border-radius: 0.5em; } } }
console.log("Event Fired")