| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- @charset "UTF-8";
- /* from: https://codepen.io/nonsalant/pen/poKdGKN/8cd36d806e3bcae07060ebb80533f88d */
- /* ---------------------------------------- */
- /* Quick SCSS System for Animated Entrances */
- /* ---------------------------------------- */
- /* Converted to SCSS by Ștefan Matei from:
- ---------------------------------------------------------------------------
- "System for Animated Entrances" by Neale Van Fleet
- https://css-tricks.com/a-handy-little-system-for-animated-entrances-in-css/
- ---------------------------------------------------------------------------
- */
- @media (prefers-reduced-motion: reduce) {
- .animate {
- animation: none !important;
- }
- }
- /* Animation delay classes. Eg: .delay-1 */
- .delay-1 {
- animation-delay: calc(0.5s + 1*0.1s);
- }
- .delay-2 {
- animation-delay: calc(0.5s + 2*0.1s);
- }
- .delay-3 {
- animation-delay: calc(0.5s + 3*0.1s);
- }
- .delay-4 {
- animation-delay: calc(0.5s + 4*0.1s);
- }
- .delay-5 {
- animation-delay: calc(0.5s + 5*0.1s);
- }
- .delay-6 {
- animation-delay: calc(0.5s + 6*0.1s);
- }
- .delay-7 {
- animation-delay: calc(0.5s + 7*0.1s);
- }
- .delay-8 {
- animation-delay: calc(0.5s + 8*0.1s);
- }
- .delay-9 {
- animation-delay: calc(0.5s + 9*0.1s);
- }
- .delay-10 {
- animation-delay: calc(0.5s + 10*0.1s);
- }
- .delay-11 {
- animation-delay: calc(0.5s + 11*0.1s);
- }
- .delay-12 {
- animation-delay: calc(0.5s + 12*0.1s);
- }
- .delay-13 {
- animation-delay: calc(0.5s + 13*0.1s);
- }
- .delay-14 {
- animation-delay: calc(0.5s + 14*0.1s);
- }
- .delay-15 {
- animation-delay: calc(0.5s + 15*0.1s);
- }
- .delay-16 {
- animation-delay: calc(0.5s + 16*0.1s);
- }
- :where(.animate) {
- animation-duration: 0.75s;
- animation-delay: 0.5s;
- animation-name: animate-fade;
- animation-timing-function: cubic-bezier(0.26, 0.53, 0.74, 1.48);
- animation-fill-mode: backwards;
- /* Fade In */
- /* Pop In */
- /* Blur In */
- /* Glow In */
- /* Grow In */
- /* Splat In */
- /* Roll In */
- /* Flip In */
- /* Spin In */
- /* Slide In */
- /* Drop In */
- /* Drop Up */
- }
- :where(.animate).fade {
- animation-name: animate-fade;
- animation-timing-function: ease;
- }
- :where(.animate).pop {
- animation-name: animate-pop;
- }
- :where(.animate).blur {
- animation-name: animate-blur;
- animation-timing-function: ease;
- }
- :where(.animate).glow {
- animation-name: animate-glow;
- animation-timing-function: ease;
- }
- :where(.animate).grow {
- animation-name: animate-grow;
- }
- :where(.animate).splat {
- animation-name: animate-splat;
- }
- :where(.animate).roll {
- animation-name: animate-roll;
- }
- :where(.animate).flip {
- animation-name: animate-flip;
- transform-style: preserve-3d;
- perspective: 1000px;
- }
- :where(.animate).spin {
- animation-name: animate-spin;
- transform-style: preserve-3d;
- perspective: 1000px;
- }
- :where(.animate).slide {
- animation-name: animate-slide;
- }
- :where(.animate).drop {
- animation-name: animate-drop;
- animation-timing-function: cubic-bezier(0.77, 0.14, 0.91, 1.25);
- }
- :where(.animate).drop-up {
- animation-name: animate-drop-up;
- animation-timing-function: cubic-bezier(0.77, 0.14, 0.91, 1.25);
- }
- @media screen {
- @keyframes animate-fade {
- 0% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
- @keyframes animate-pop {
- 0% {
- opacity: 0;
- transform: scale(0.5, 0.5);
- }
- 100% {
- opacity: 1;
- transform: scale(1, 1);
- }
- }
- @keyframes animate-blur {
- 0% {
- opacity: 0;
- filter: blur(15px);
- }
- 100% {
- opacity: 1;
- filter: blur(0px);
- }
- }
- @keyframes animate-glow {
- 0% {
- opacity: 0;
- filter: brightness(3) saturate(3);
- transform: scale(0.8, 0.8);
- }
- 100% {
- opacity: 1;
- filter: brightness(1) saturate(1);
- transform: scale(1, 1);
- }
- }
- @keyframes animate-grow {
- 0% {
- opacity: 0;
- transform: scale(1, 0);
- visibility: hidden;
- }
- 100% {
- opacity: 1;
- transform: scale(1, 1);
- }
- }
- @keyframes animate-splat {
- 0% {
- opacity: 0;
- transform: scale(0, 0) rotate(20deg) translate(0, -30px);
- }
- 70% {
- opacity: 1;
- transform: scale(1.1, 1.1) rotate(15deg);
- }
- 85% {
- opacity: 1;
- transform: scale(1.1, 1.1) rotate(15deg) translate(0, -10px);
- }
- 100% {
- opacity: 1;
- transform: scale(1, 1) rotate(0) translate(0, 0);
- }
- }
- @keyframes animate-roll {
- 0% {
- opacity: 0;
- transform: scale(0, 0) rotate(360deg);
- }
- 100% {
- opacity: 1;
- transform: scale(1, 1) rotate(0deg);
- }
- }
- @keyframes animate-flip {
- 0% {
- opacity: 0;
- transform: rotateX(-120deg) scale(0.9, 0.9);
- }
- 100% {
- opacity: 1;
- transform: rotateX(0deg) scale(1, 1);
- }
- }
- @keyframes animate-spin {
- 0% {
- opacity: 0;
- transform: rotateY(-120deg) scale(0.9, 0.9);
- }
- 100% {
- opacity: 1;
- transform: rotateY(0deg) scale(1, 1);
- }
- }
- @keyframes animate-slide {
- 0% {
- opacity: 0;
- transform: translate(0, 20px);
- }
- 100% {
- opacity: 1;
- transform: translate(0, 0);
- }
- }
- @keyframes animate-drop {
- 0% {
- opacity: 0;
- transform: translate(0, -300px) scale(0.9, 1.1);
- }
- 95% {
- opacity: 1;
- transform: translate(0, 0) scale(0.9, 1.1);
- }
- 96% {
- opacity: 1;
- transform: translate(10px, 0) scale(1.2, 0.9);
- }
- 97% {
- opacity: 1;
- transform: translate(-10px, 0) scale(1.2, 0.9);
- }
- 98% {
- opacity: 1;
- transform: translate(5px, 0) scale(1.1, 0.9);
- }
- 99% {
- opacity: 1;
- transform: translate(-5px, 0) scale(1.1, 0.9);
- }
- 100% {
- opacity: 1;
- transform: translate(0, 0) scale(1, 1);
- }
- }
- @keyframes animate-drop-up {
- 0% {
- opacity: 0;
- transform: translate(0, 300px) scale(0.9, 1.1);
- }
- 95% {
- opacity: 1;
- transform: translate(0, 0) scale(0.9, 1.1);
- }
- 96% {
- opacity: 1;
- transform: translate(-10px, 0) scale(1.2, 0.9);
- }
- 97% {
- opacity: 1;
- transform: translate(10px, 0) scale(1.2, 0.9);
- }
- 98% {
- opacity: 1;
- transform: translate(-5px, 0) scale(1.1, 0.9);
- }
- 99% {
- opacity: 1;
- transform: translate(5px, 0) scale(1.1, 0.9);
- }
- 100% {
- opacity: 1;
- transform: translate(0, 0) scale(1, 1);
- }
- }
- }
|