Repository: miniMAC/magic Branch: master Commit: f26d3c3beaf3 Files: 74 Total size: 122.6 KB Directory structure: gitextract_wd8dlsq4/ ├── .gitignore ├── LICENSE ├── README.md ├── assets/ │ └── scss/ │ ├── _magictime.scss │ ├── _media.scss │ ├── bling/ │ │ ├── _puffIn.scss │ │ ├── _puffOut.scss │ │ ├── _vanishIn.scss │ │ └── _vanishOut.scss │ ├── boing/ │ │ ├── _boingInUp.scss │ │ └── _boingOutDown.scss │ ├── bomb/ │ │ ├── _bombLeftOut.scss │ │ └── _bombRightOut.scss │ ├── magic.scss │ ├── magic_effects/ │ │ ├── _magic.scss │ │ ├── _swap.scss │ │ ├── _twisterInDown.scss │ │ └── _twisterInUp.scss │ ├── math/ │ │ ├── _foolishIn.scss │ │ ├── _foolishOut.scss │ │ ├── _holeOut.scss │ │ ├── _swashIn.scss │ │ └── _swashOut.scss │ ├── on_the_space/ │ │ ├── _spaceInDown.scss │ │ ├── _spaceInLeft.scss │ │ ├── _spaceInRight.scss │ │ ├── _spaceInUp.scss │ │ ├── _spaceOutDown.scss │ │ ├── _spaceOutLeft.scss │ │ ├── _spaceOutRight.scss │ │ └── _spaceOutUp.scss │ ├── perspective/ │ │ ├── _perspectiveDown.scss │ │ ├── _perspectiveDownReturn.scss │ │ ├── _perspectiveLeft.scss │ │ ├── _perspectiveLeftReturn.scss │ │ ├── _perspectiveRight.scss │ │ ├── _perspectiveRightReturn.scss │ │ ├── _perspectiveUp.scss │ │ └── _perspectiveUpReturn.scss │ ├── rotate/ │ │ ├── _rotateDown.scss │ │ ├── _rotateLeft.scss │ │ ├── _rotateRight.scss │ │ └── _rotateUp.scss │ ├── slide/ │ │ ├── _slideDown.scss │ │ ├── _slideDownReturn.scss │ │ ├── _slideLeft.scss │ │ ├── _slideLeftReturn.scss │ │ ├── _slideRight.scss │ │ ├── _slideRightReturn.scss │ │ ├── _slideUp.scss │ │ └── _slideUpReturn.scss │ ├── static_effects/ │ │ ├── _openDownLeft.scss │ │ ├── _openDownLeftReturn.scss │ │ ├── _openDownRight.scss │ │ ├── _openDownRightReturn.scss │ │ ├── _openUpLeft.scss │ │ ├── _openUpLeftReturn.scss │ │ ├── _openUpRight.scss │ │ └── _openUpRightReturn.scss │ ├── static_effects_out/ │ │ ├── _openDownLeftOut.scss │ │ ├── _openDownRightOut.scss │ │ ├── _openUpLeftOut.scss │ │ └── _openUpRightOut.scss │ └── tin/ │ ├── _tinDownIn.scss │ ├── _tinDownOut.scss │ ├── _tinLeftIn.scss │ ├── _tinLeftOut.scss │ ├── _tinRightIn.scss │ ├── _tinRightOut.scss │ ├── _tinUpIn.scss │ └── _tinUpOut.scss ├── dist/ │ └── magic.css ├── gulpfile.js └── package.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ # Exclusion /node_modules .DS_Store .vscode todo.txt next.md package-lock.json ================================================ FILE: LICENSE ================================================ The MIT License (MIT) Copyright (c) 2022 Christian Pucci Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ :tophat: magic --------------- CSS3 Animations with special effects. **(→ 3.1 kB gzip)** ## Demo Checkout the demo for the animations [here](https://www.minimamente.com/project/magic/) ## **Table of Contents** - [Installation](#installation) - [Getting Started](#getting-started) - [Usage with JavaScript](#usage-with-javascript) - [Usage with jQuery](#usage-with-jquery) - [HTML & CSS tips](#html--css-tips) - [:tada: Gulp and SCSS (SASS) compiling](#tada-gulp-and-scss-sass-compiling) - [:white_check_mark: Browser Support](#white_check_mark-browser-support) ## Installation **GitHub Package Registry** - [Package url](https://github.com/miniMAC/magic/packages/24129) ```bash npm install @minimac/magic.css ``` **NPM** - [Package url](https://www.npmjs.com/package/magic.css) ```bash npm i magic.css ``` **YARN** - [Package url](https://yarnpkg.com/en/package/magic.css) ```bash yarn add magic.css ``` ## Getting Started Include the file **magic.css** or include the minified version **magic.min.css** ```html ``` or ```html ``` ## Usage with JavaScript This is a sample code for on hover effect with **JavaScript**. First, Include the class `magictime` and then a desired animation class. ```js const selector = document.querySelector('.yourdiv') selector.classList.add('magictime', 'puffIn') ``` If you want to load the animation after certain time, you can use this example: ```js //set timer to 5 seconds, after that, load the magic animation function myFunction() { const selector = document.querySelector('.yourdiv') selector.classList.add('magictime', 'puffIn') } setTimeout(myFunction, 5000); ``` If you want to load the animation after certain time but with an infinite loop, you can use this example: ```js //set timer to 3 seconds, after that, load the magic animation and repeat forever function myFunction() { const selector = document.querySelector('.yourdiv') selector.classList.add('magictime', 'puffIn') } setInterval(myFunction, 3000); ``` ## Usage with jQuery This is a sample code for on hover effect with jQuery. First, Include the class `magictime` and then the desired animation class. ```js $('.yourdiv').hover(function () { $(this).addClass('magictime puffIn'); }); ``` If you want to load the animation after certain time, you can use this example: ```js //set timer to 5 seconds, after that, load the magic animation setTimeout(function(){ $('.yourdiv').addClass('magictime puffIn'); }, 5000); ``` If you want to load the animation after certain time but with infinite loop, you can use this example: ```js //set timer to 3 seconds, after that, load the magic animation and repeat forever setInterval(function(){ $('.yourdiv').toggleClass('magictime puffIn'); }, 3000 ); ``` ## HTML & CSS tips You can **change the time** of the animation by setting the class `magictime` for example: ```css .magictime { -webkit-animation-duration: 3s; animation-duration: 3s; } ``` **Default** CSS timing is: ```css .magictime { -webkit-animation-duration: 1s; animation-duration: 1s; } ``` If you want to assign the **timing to a specific animation**, you can use the following code *(use 2 class)*: ```css .magictime.magic { -webkit-animation-duration: 10s; animation-duration: 10s; } ``` ## Animation Classes | MAGIC EFFECTS | BLING | STATIC EFFECTS | STATIC EFFECTS OUT | PERSPECTIVE | ROTATE | |---------------|-----------|---------------------|--------------------|------------------------|-------------| | magic | puffIn | openDownLeft | openDownLeftOut | perspectiveDown | rotateDown | | twisterInDown | puffOut | openDownRight | openDownRightOut | perspectiveUp | rotateUp | | twisterInUp | vanishIn | openUpLeft | openUpLeftOut | perspectiveLeft | rotateLeft | | swap | vanishOut | openUpRight | openUpRightOut | perspectiveRight | rotateRight | | | | openDownLeftReturn | | perspectiveDownReturn | | | | | openDownRightReturn | | perspectiveUpReturn | | | | | openUpLeftReturn | | perspectiveLeftReturn | | | | | openUpRightReturn | | perspectiveRightReturn | | | SLIDE | MATH | TIN | BOMB | BOING | ON THE SPACE | |------------------|-----------|-------------|--------------|--------------|---------------| | slideDown | swashOut | tinRightOut | bombRightOut | boingInUp | spaceOutUp | | slideUp | swashIn | tinLeftOut | bombLeftOut | boingOutDown | spaceOutRight | | slideLeft | foolishIn | tinUpOut | | | spaceOutDown | | slideRight | holeOut | tinDownOut | | | spaceOutLeft | | slideDownReturn | | tinRightIn | | | spaceInUp | | slideUpReturn | | tinLeftIn | | | spaceInRight | | slideLeftReturn | | tinUpIn | | | spaceInDown | | slideRightReturn | | tinDownIn | | | spaceInLeft | :tada: Gulp and SCSS (SASS) compiling --------------- If you want to customize the CSS files, now you will have the chance. For example, if you want to include only certain animations, you will have to go to this file: ```html assets/scss/magic.scss ``` Comment or uncomment your desired file and run from terminal the following commands: ```bash npm install ``` and last command: ```bash gulp ``` **Automatically** this generate the new files! :white_check_mark: Browser Support --------------- **Browser** | Chrome | Firefox | Safari | iOS Safari | Opera | Android | Android Chrome | IE | Opera Mini --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: **Version** | 31+ | 31+ | 7+ | 7.1+ | 27+ | 4.1+ | 42+ | 10+ | :x: ================================================ FILE: assets/scss/_magictime.scss ================================================ .magictime { animation-duration: 1s; animation-fill-mode: both; } ================================================ FILE: assets/scss/_media.scss ================================================ @media (print), (prefers-reduced-motion) { .magictime { animation: unset !important; transition: none !important; } } ================================================ FILE: assets/scss/bling/_puffIn.scss ================================================ .puffIn { animation-name: puffIn; } @-webkit-keyframes puffIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } @keyframes puffIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } ================================================ FILE: assets/scss/bling/_puffOut.scss ================================================ .puffOut { animation-name: puffOut; } @-webkit-keyframes puffOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } } @keyframes puffOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } } ================================================ FILE: assets/scss/bling/_vanishIn.scss ================================================ .vanishIn { animation-name: vanishIn; } @-webkit-keyframes vanishIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(90px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } @keyframes vanishIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(90px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } ================================================ FILE: assets/scss/bling/_vanishOut.scss ================================================ .vanishOut { animation-name: vanishOut; } @-webkit-keyframes vanishOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(20px); } } @keyframes vanishOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(20px); } } ================================================ FILE: assets/scss/boing/_boingInUp.scss ================================================ .boingInUp { -webkit-animation-name: boingInUp; animation-name: boingInUp; } @-webkit-keyframes boingInUp { 0% { opacity: 0; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: perspective(800px) rotateX(-90deg); transform: perspective(800px) rotateX(-90deg); } 50% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: perspective(800px) rotateX(50deg); transform: perspective(800px) rotateX(50deg); } 100% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } } @keyframes boingInUp { 0% { opacity: 0; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: perspective(800px) rotateX(-90deg); transform: perspective(800px) rotateX(-90deg); } 50% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: perspective(800px) rotateX(50deg); transform: perspective(800px) rotateX(50deg); } 100% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } } ================================================ FILE: assets/scss/boing/_boingOutDown.scss ================================================ .boingOutDown { -webkit-animation-name: boingOutDown; animation-name: boingOutDown; } @-webkit-keyframes boingOutDown { 0% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: perspective(800px) rotateX(0deg) rotateY(0deg); transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 20% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: perspective(800px) rotateX(0deg) rotateY(10deg); transform: perspective(800px) rotateX(0deg) rotateY(10deg); } 30% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: perspective(800px) rotateX(0deg) rotateY(0deg); transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 40% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: perspective(800px) rotateX(10deg) rotateY(10deg); transform: perspective(800px) rotateX(10deg) rotateY(10deg); } 100% { opacity: 0; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: perspective(800px) rotateX(90deg) rotateY(0deg); transform: perspective(800px) rotateX(90deg) rotateY(0deg); } } @keyframes boingOutDown { 0% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: perspective(800px) rotateX(0deg) rotateY(0deg); transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 20% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: perspective(800px) rotateX(0deg) rotateY(10deg); transform: perspective(800px) rotateX(0deg) rotateY(10deg); } 30% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: perspective(800px) rotateX(0deg) rotateY(0deg); transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 40% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: perspective(800px) rotateX(10deg) rotateY(10deg); transform: perspective(800px) rotateX(10deg) rotateY(10deg); } 100% { opacity: 0; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: perspective(800px) rotateX(90deg) rotateY(0deg); transform: perspective(800px) rotateX(90deg) rotateY(0deg); } } ================================================ FILE: assets/scss/bomb/_bombLeftOut.scss ================================================ .bombLeftOut { -webkit-animation-name: bombLeftOut; animation-name: bombLeftOut; } @-webkit-keyframes bombLeftOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-filter: blur(0px); filter: blur(0px); } 50% { opacity: 1; -webkit-transform-origin: -100% 50%; transform-origin: -100% 50%; -webkit-transform: rotate(-160deg); transform: rotate(-160deg); -webkit-filter: blur(0px); filter: blur(0px); } 100% { opacity: 0; -webkit-transform-origin: -100% 50%; transform-origin: -100% 50%; -webkit-transform: rotate(-160deg); transform: rotate(-160deg); -webkit-filter: blur(20px); filter: blur(20px); } } @keyframes bombLeftOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-filter: blur(0px); filter: blur(0px); } 50% { opacity: 1; -webkit-transform-origin: -100% 50%; transform-origin: -100% 50%; -webkit-transform: rotate(-160deg); transform: rotate(-160deg); -webkit-filter: blur(0px); filter: blur(0px); } 100% { opacity: 0; -webkit-transform-origin: -100% 50%; transform-origin: -100% 50%; -webkit-transform: rotate(-160deg); transform: rotate(-160deg); -webkit-filter: blur(20px); filter: blur(20px); } } ================================================ FILE: assets/scss/bomb/_bombRightOut.scss ================================================ .bombRightOut { -webkit-animation-name: bombRightOut; animation-name: bombRightOut; } @-webkit-keyframes bombRightOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-filter: blur(0px); filter: blur(0px); } 50% { opacity: 1; -webkit-transform-origin: 200% 50%; transform-origin: 200% 50%; -webkit-transform: rotate(160deg); transform: rotate(160deg); -webkit-filter: blur(0px); filter: blur(0px); } 100% { opacity: 0; -webkit-transform-origin: 200% 50%; transform-origin: 200% 50%; -webkit-transform: rotate(160deg); transform: rotate(160deg); -webkit-filter: blur(20px); filter: blur(20px); } } @keyframes bombRightOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-filter: blur(0px); filter: blur(0px); } 50% { opacity: 1; -webkit-transform-origin: 200% 50%; transform-origin: 200% 50%; -webkit-transform: rotate(160deg); transform: rotate(160deg); -webkit-filter: blur(0px); filter: blur(0px); } 100% { opacity: 0; -webkit-transform-origin: 200% 50%; transform-origin: 200% 50%; -webkit-transform: rotate(160deg); transform: rotate(160deg); -webkit-filter: blur(20px); filter: blur(20px); } } ================================================ FILE: assets/scss/magic.scss ================================================ @charset "UTF-8"; /*! * Magic - https://www.minimamente.com * Licensed under the MIT license - https://opensource.org/licenses/MIT * Copyright (c) 2022 Christian Pucci */ // bling @import "bling/puffIn"; @import "bling/puffOut"; @import "bling/vanishIn"; @import "bling/vanishOut"; // boing @import "boing/boingInUp"; @import "boing/boingOutDown"; // bomb @import "bomb/bombLeftOut"; @import "bomb/bombRightOut"; // magic_effects @import "magic_effects/magic"; @import "magic_effects/swap"; @import "magic_effects/twisterInDown"; @import "magic_effects/twisterInUp"; // math @import "math/foolishIn"; @import "math/foolishOut"; @import "math/holeOut"; @import "math/swashIn"; @import "math/swashOut"; // on_the_space @import "on_the_space/spaceInDown"; @import "on_the_space/spaceInLeft"; @import "on_the_space/spaceInRight"; @import "on_the_space/spaceInUp"; @import "on_the_space/spaceOutDown"; @import "on_the_space/spaceOutLeft"; @import "on_the_space/spaceOutRight"; @import "on_the_space/spaceOutUp"; // perspective @import "perspective/perspectiveDown"; @import "perspective/perspectiveDownReturn"; @import "perspective/perspectiveLeft"; @import "perspective/perspectiveLeftReturn"; @import "perspective/perspectiveRight"; @import "perspective/perspectiveRightReturn"; @import "perspective/perspectiveUp"; @import "perspective/perspectiveUpReturn"; // rotate @import "rotate/rotateDown"; @import "rotate/rotateLeft"; @import "rotate/rotateRight"; @import "rotate/rotateUp"; // slide @import "slide/slideDown"; @import "slide/slideDownReturn"; @import "slide/slideLeft"; @import "slide/slideLeftReturn"; @import "slide/slideRight"; @import "slide/slideRightReturn"; @import "slide/slideUp"; @import "slide/slideUpReturn"; // static_effects @import "static_effects/openDownLeft"; @import "static_effects/openDownLeftReturn"; @import "static_effects/openDownRight"; @import "static_effects/openDownRightReturn"; @import "static_effects/openUpLeft"; @import "static_effects/openUpLeftReturn"; @import "static_effects/openUpRight"; @import "static_effects/openUpRightReturn"; // static_effects_out @import "static_effects_out/openDownLeftOut"; @import "static_effects_out/openDownRightOut"; @import "static_effects_out/openUpLeftOut"; @import "static_effects_out/openUpRightOut"; // tin @import "tin/tinDownIn"; @import "tin/tinDownOut"; @import "tin/tinLeftIn"; @import "tin/tinLeftOut"; @import "tin/tinRightIn"; @import "tin/tinRightOut"; @import "tin/tinUpIn"; @import "tin/tinUpOut"; // magictime @import "magictime"; // media @import "media"; ================================================ FILE: assets/scss/magic_effects/_magic.scss ================================================ .magic { -webkit-animation-name: magic; animation-name: magic; } @-webkit-keyframes magic { 0% { opacity: 1; -webkit-transform-origin: 100% 200%; transform-origin: 100% 200%; -webkit-transform: scale(1, 1) rotate(0deg); transform: scale(1, 1) rotate(0deg); } 100% { opacity: 0; -webkit-transform-origin: 200% 500%; transform-origin: 200% 500%; -webkit-transform: scale(0, 0) rotate(270deg); transform: scale(0, 0) rotate(270deg); } } @keyframes magic { 0% { opacity: 1; -webkit-transform-origin: 100% 200%; transform-origin: 100% 200%; -webkit-transform: scale(1, 1) rotate(0deg); transform: scale(1, 1) rotate(0deg); } 100% { opacity: 0; -webkit-transform-origin: 200% 500%; transform-origin: 200% 500%; -webkit-transform: scale(0, 0) rotate(270deg); transform: scale(0, 0) rotate(270deg); } } ================================================ FILE: assets/scss/magic_effects/_swap.scss ================================================ .swap { -webkit-animation-name: swap; animation-name: swap; } @-webkit-keyframes swap { 0% { opacity: 0; -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: scale(0, 0) translate(-700px, 0px); transform: scale(0, 0) translate(-700px, 0px); } 100% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: scale(1, 1) translate(0px, 0px); transform: scale(1, 1) translate(0px, 0px); } } @keyframes swap { 0% { opacity: 0; -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: scale(0, 0) translate(-700px, 0px); transform: scale(0, 0) translate(-700px, 0px); } 100% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: scale(1, 1) translate(0px, 0px); transform: scale(1, 1) translate(0px, 0px); } } ================================================ FILE: assets/scss/magic_effects/_twisterInDown.scss ================================================ .twisterInDown { -webkit-animation-name: twisterInDown; animation-name: twisterInDown; } @-webkit-keyframes twisterInDown { 0% { opacity: 0; -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: scale(0, 0) rotate(360deg) translateY(-100%); transform: scale(0, 0) rotate(360deg) translateY(-100%); } 30% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: scale(0, 0) rotate(360deg) translateY(-100%); transform: scale(0, 0) rotate(360deg) translateY(-100%); } 100% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: scale(1, 1) rotate(0deg) translateY(0%); transform: scale(1, 1) rotate(0deg) translateY(0%); } } @keyframes twisterInDown { 0% { opacity: 0; -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: scale(0, 0) rotate(360deg) translateY(-100%); transform: scale(0, 0) rotate(360deg) translateY(-100%); } 30% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: scale(0, 0) rotate(360deg) translateY(-100%); transform: scale(0, 0) rotate(360deg) translateY(-100%); } 100% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: scale(1, 1) rotate(0deg) translateY(0%); transform: scale(1, 1) rotate(0deg) translateY(0%); } } ================================================ FILE: assets/scss/magic_effects/_twisterInUp.scss ================================================ .twisterInUp { -webkit-animation-name: twisterInUp; animation-name: twisterInUp; } @-webkit-keyframes twisterInUp { 0% { opacity: 0; -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: scale(0, 0) rotate(360deg) translateY(100%); transform: scale(0, 0) rotate(360deg) translateY(100%); } 30% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: scale(0, 0) rotate(360deg) translateY(100%); transform: scale(0, 0) rotate(360deg) translateY(100%); } 100% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: scale(1, 1) rotate(0deg) translateY(0); transform: scale(1, 1) rotate(0deg) translateY(0); } } @keyframes twisterInUp { 0% { opacity: 0; -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: scale(0, 0) rotate(360deg) translateY(100%); transform: scale(0, 0) rotate(360deg) translateY(100%); } 30% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: scale(0, 0) rotate(360deg) translateY(100%); transform: scale(0, 0) rotate(360deg) translateY(100%); } 100% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: scale(1, 1) rotate(0deg) translateY(0); transform: scale(1, 1) rotate(0deg) translateY(0); } } ================================================ FILE: assets/scss/math/_foolishIn.scss ================================================ .foolishIn { -webkit-animation-name: foolishIn; animation-name: foolishIn; } @-webkit-keyframes foolishIn { 0% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0) rotate(360deg); transform: scale(0, 0) rotate(360deg); } 20% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; -webkit-transform-origin: 0%; transform-origin: 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1) rotate(0deg); transform: scale(1, 1) rotate(0deg); } } @keyframes foolishIn { 0% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0) rotate(360deg); transform: scale(0, 0) rotate(360deg); } 20% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; -webkit-transform-origin: 0%; transform-origin: 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1) rotate(0deg); transform: scale(1, 1) rotate(0deg); } } ================================================ FILE: assets/scss/math/_foolishOut.scss ================================================ .foolishOut { -webkit-animation-name: foolishOut; animation-name: foolishOut; } @-webkit-keyframes foolishOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1) rotate(360deg); transform: scale(1, 1) rotate(360deg); } 20% { opacity: 1; -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; -webkit-transform-origin: 100% 0%; transform-origin: 100% 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; -webkit-transform-origin: 0%; transform-origin: 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0) rotate(0deg); transform: scale(0, 0) rotate(0deg); } } @keyframes foolishOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1) rotate(360deg); transform: scale(1, 1) rotate(360deg); } 20% { opacity: 1; -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; -webkit-transform-origin: 100% 0%; transform-origin: 100% 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; -webkit-transform-origin: 0%; transform-origin: 0%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: scale(0.5, 0.5) rotate(0deg); transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0) rotate(0deg); transform: scale(0, 0) rotate(0deg); } } ================================================ FILE: assets/scss/math/_holeOut.scss ================================================ .holeOut { -webkit-animation-name: holeOut; animation-name: holeOut; } @-webkit-keyframes holeOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1) rotateY(0deg); transform: scale(1, 1) rotateY(0deg); } 100% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0) rotateY(180deg); transform: scale(0, 0) rotateY(180deg); } } @keyframes holeOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1) rotateY(0deg); transform: scale(1, 1) rotateY(0deg); } 100% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0) rotateY(180deg); transform: scale(0, 0) rotateY(180deg); } } ================================================ FILE: assets/scss/math/_swashIn.scss ================================================ .swashIn { -webkit-animation-name: swashIn; animation-name: swashIn; } @-webkit-keyframes swashIn { 0% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0); transform: scale(0, 0); } 90% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); } 100% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @keyframes swashIn { 0% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0); transform: scale(0, 0); } 90% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); } 100% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } ================================================ FILE: assets/scss/math/_swashOut.scss ================================================ .swashOut { -webkit-animation-name: swashOut; animation-name: swashOut; } @-webkit-keyframes swashOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 80% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); } 100% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes swashOut { 0% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 80% { opacity: 1; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); } 100% { opacity: 0; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transform: scale(0, 0); transform: scale(0, 0); } } ================================================ FILE: assets/scss/on_the_space/_spaceInDown.scss ================================================ .spaceInDown { -webkit-animation-name: spaceInDown; animation-name: spaceInDown; } @-webkit-keyframes spaceInDown { 0% { opacity: 0; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(0.2) translate(0%, 200%); transform: scale(0.2) translate(0%, 200%); } 100% { opacity: 1; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } @keyframes spaceInDown { 0% { opacity: 0; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(0.2) translate(0%, 200%); transform: scale(0.2) translate(0%, 200%); } 100% { opacity: 1; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } ================================================ FILE: assets/scss/on_the_space/_spaceInLeft.scss ================================================ .spaceInLeft { -webkit-animation-name: spaceInLeft; animation-name: spaceInLeft; } @-webkit-keyframes spaceInLeft { 0% { opacity: 0; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(0.2) translate(-200%, 0%); transform: scale(0.2) translate(-200%, 0%); } 100% { opacity: 1; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } @keyframes spaceInLeft { 0% { opacity: 0; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(0.2) translate(-200%, 0%); transform: scale(0.2) translate(-200%, 0%); } 100% { opacity: 1; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } ================================================ FILE: assets/scss/on_the_space/_spaceInRight.scss ================================================ .spaceInRight { -webkit-animation-name: spaceInRight; animation-name: spaceInRight; } @-webkit-keyframes spaceInRight { 0% { opacity: 0; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(0.2) translate(200%, 0%); transform: scale(0.2) translate(200%, 0%); } 100% { opacity: 1; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } @keyframes spaceInRight { 0% { opacity: 0; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(0.2) translate(200%, 0%); transform: scale(0.2) translate(200%, 0%); } 100% { opacity: 1; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } ================================================ FILE: assets/scss/on_the_space/_spaceInUp.scss ================================================ .spaceInUp { -webkit-animation-name: spaceInUp; animation-name: spaceInUp; } @-webkit-keyframes spaceInUp { 0% { opacity: 0; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(0.2) translate(0%, -200%); transform: scale(0.2) translate(0%, -200%); } 100% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } @keyframes spaceInUp { 0% { opacity: 0; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(0.2) translate(0%, -200%); transform: scale(0.2) translate(0%, -200%); } 100% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } } ================================================ FILE: assets/scss/on_the_space/_spaceOutDown.scss ================================================ .spaceOutDown { -webkit-animation-name: spaceOutDown; animation-name: spaceOutDown; } @-webkit-keyframes spaceOutDown { 0% { opacity: 1; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(0.2) translate(0%, 200%); transform: scale(0.2) translate(0%, 200%); } } @keyframes spaceOutDown { 0% { opacity: 1; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale(0.2) translate(0%, 200%); transform: scale(0.2) translate(0%, 200%); } } ================================================ FILE: assets/scss/on_the_space/_spaceOutLeft.scss ================================================ .spaceOutLeft { -webkit-animation-name: spaceOutLeft; animation-name: spaceOutLeft; } @-webkit-keyframes spaceOutLeft { 0% { opacity: 1; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(0.2) translate(-200%, 0%); transform: scale(0.2) translate(-200%, 0%); } } @keyframes spaceOutLeft { 0% { opacity: 1; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(0.2) translate(-200%, 0%); transform: scale(0.2) translate(-200%, 0%); } } ================================================ FILE: assets/scss/on_the_space/_spaceOutRight.scss ================================================ .spaceOutRight { -webkit-animation-name: spaceOutRight; animation-name: spaceOutRight; } @-webkit-keyframes spaceOutRight { 0% { opacity: 1; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(0.2) translate(200%, 0%); transform: scale(0.2) translate(200%, 0%); } } @keyframes spaceOutRight { 0% { opacity: 1; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(0.2) translate(200%, 0%); transform: scale(0.2) translate(200%, 0%); } } ================================================ FILE: assets/scss/on_the_space/_spaceOutUp.scss ================================================ .spaceOutUp { -webkit-animation-name: spaceOutUp; animation-name: spaceOutUp; } @-webkit-keyframes spaceOutUp { 0% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(0.2) translate(0%, -200%); transform: scale(0.2) translate(0%, -200%); } } @keyframes spaceOutUp { 0% { opacity: 1; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(1) translate(0%, 0%); transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: scale(0.2) translate(0%, -200%); transform: scale(0.2) translate(0%, -200%); } } ================================================ FILE: assets/scss/perspective/_perspectiveDown.scss ================================================ .perspectiveDown { -webkit-animation-name: perspectiveDown; animation-name: perspectiveDown; } @-webkit-keyframes perspectiveDown { 0% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } 100% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(-180deg); transform: perspective(800px) rotateX(-180deg); } } @keyframes perspectiveDown { 0% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } 100% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(-180deg); transform: perspective(800px) rotateX(-180deg); } } ================================================ FILE: assets/scss/perspective/_perspectiveDownReturn.scss ================================================ .perspectiveDownReturn { -webkit-animation-name: perspectiveDownReturn; animation-name: perspectiveDownReturn; } @-webkit-keyframes perspectiveDownReturn { 0% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(-180deg); transform: perspective(800px) rotateX(-180deg); } 100% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } } @keyframes perspectiveDownReturn { 0% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(-180deg); transform: perspective(800px) rotateX(-180deg); } 100% { -webkit-transform-origin: 0 100%; transform-origin: 0 100%; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } } ================================================ FILE: assets/scss/perspective/_perspectiveLeft.scss ================================================ .perspectiveLeft { -webkit-animation-name: perspectiveLeft; animation-name: perspectiveLeft; } @-webkit-keyframes perspectiveLeft { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(-180deg); transform: perspective(800px) rotateY(-180deg); } } @keyframes perspectiveLeft { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(-180deg); transform: perspective(800px) rotateY(-180deg); } } ================================================ FILE: assets/scss/perspective/_perspectiveLeftReturn.scss ================================================ .perspectiveLeftReturn { -webkit-animation-name: perspectiveLeftReturn; animation-name: perspectiveLeftReturn; } @-webkit-keyframes perspectiveLeftReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(-180deg); transform: perspective(800px) rotateY(-180deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } } @keyframes perspectiveLeftReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(-180deg); transform: perspective(800px) rotateY(-180deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } } ================================================ FILE: assets/scss/perspective/_perspectiveRight.scss ================================================ .perspectiveRight { -webkit-animation-name: perspectiveRight; animation-name: perspectiveRight; } @-webkit-keyframes perspectiveRight { 0% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } 100% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(180deg); transform: perspective(800px) rotateY(180deg); } } @keyframes perspectiveRight { 0% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } 100% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(180deg); transform: perspective(800px) rotateY(180deg); } } ================================================ FILE: assets/scss/perspective/_perspectiveRightReturn.scss ================================================ .perspectiveRightReturn { -webkit-animation-name: perspectiveRightReturn; animation-name: perspectiveRightReturn; } @-webkit-keyframes perspectiveRightReturn { 0% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(180deg); transform: perspective(800px) rotateY(180deg); } 100% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } } @keyframes perspectiveRightReturn { 0% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(180deg); transform: perspective(800px) rotateY(180deg); } 100% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transform: perspective(800px) rotateY(0deg); transform: perspective(800px) rotateY(0deg); } } ================================================ FILE: assets/scss/perspective/_perspectiveUp.scss ================================================ .perspectiveUp { -webkit-animation-name: perspectiveUp; animation-name: perspectiveUp; } @-webkit-keyframes perspectiveUp { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(180deg); transform: perspective(800px) rotateX(180deg); } } @keyframes perspectiveUp { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(180deg); transform: perspective(800px) rotateX(180deg); } } ================================================ FILE: assets/scss/perspective/_perspectiveUpReturn.scss ================================================ .perspectiveUpReturn { -webkit-animation-name: perspectiveUpReturn; animation-name: perspectiveUpReturn; } @-webkit-keyframes perspectiveUpReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(180deg); transform: perspective(800px) rotateX(180deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } } @keyframes perspectiveUpReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(180deg); transform: perspective(800px) rotateX(180deg); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg); transform: perspective(800px) rotateX(0deg); } } ================================================ FILE: assets/scss/rotate/_rotateDown.scss ================================================ .rotateDown { -webkit-animation-name: rotateDown; animation-name: rotateDown; } @-webkit-keyframes rotateDown { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg) translateZ(0px); transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: perspective(800px) rotateX(-180deg) translateZ(300px); transform: perspective(800px) rotateX(-180deg) translateZ(300px); } } @keyframes rotateDown { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg) translateZ(0px); transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: perspective(800px) rotateX(-180deg) translateZ(300px); transform: perspective(800px) rotateX(-180deg) translateZ(300px); } } ================================================ FILE: assets/scss/rotate/_rotateLeft.scss ================================================ .rotateLeft { -webkit-animation-name: rotateLeft; animation-name: rotateLeft; } @-webkit-keyframes rotateLeft { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg) translateZ(0px); transform: perspective(800px) rotateY(0deg) translateZ(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: perspective(800px) rotateY(-180deg) translateZ(300px); transform: perspective(800px) rotateY(-180deg) translateZ(300px); } } @keyframes rotateLeft { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg) translateZ(0px); transform: perspective(800px) rotateY(0deg) translateZ(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: perspective(800px) rotateY(-180deg) translateZ(300px); transform: perspective(800px) rotateY(-180deg) translateZ(300px); } } ================================================ FILE: assets/scss/rotate/_rotateRight.scss ================================================ .rotateRight { -webkit-animation-name: rotateRight; animation-name: rotateRight; } @-webkit-keyframes rotateRight { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg) translate3d(0px); transform: perspective(800px) rotateY(0deg) translate3d(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: perspective(800px) rotateY(180deg) translateZ(150px); transform: perspective(800px) rotateY(180deg) translateZ(150px); } } @keyframes rotateRight { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateY(0deg) translate3d(0px); transform: perspective(800px) rotateY(0deg) translate3d(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: perspective(800px) rotateY(180deg) translateZ(150px); transform: perspective(800px) rotateY(180deg) translateZ(150px); } } ================================================ FILE: assets/scss/rotate/_rotateUp.scss ================================================ .rotateUp { -webkit-animation-name: rotateUp; animation-name: rotateUp; } @-webkit-keyframes rotateUp { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg) translateZ(0px); transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: perspective(800px) rotateX(180deg) translateZ(100px); transform: perspective(800px) rotateX(180deg) translateZ(100px); } } @keyframes rotateUp { 0% { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: perspective(800px) rotateX(0deg) translateZ(0px); transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: perspective(800px) rotateX(180deg) translateZ(100px); transform: perspective(800px) rotateX(180deg) translateZ(100px); } } ================================================ FILE: assets/scss/slide/_slideDown.scss ================================================ .slideDown { -webkit-animation-name: slideDown; animation-name: slideDown; } @-webkit-keyframes slideDown { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(100%); transform: translateY(100%); } } @keyframes slideDown { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(100%); transform: translateY(100%); } } ================================================ FILE: assets/scss/slide/_slideDownReturn.scss ================================================ .slideDownReturn { -webkit-animation-name: slideDownReturn; animation-name: slideDownReturn; } @-webkit-keyframes slideDownReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(100%); transform: translateY(100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } } @keyframes slideDownReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(100%); transform: translateY(100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } } ================================================ FILE: assets/scss/slide/_slideLeft.scss ================================================ .slideLeft { -webkit-animation-name: slideLeft; animation-name: slideLeft; } @-webkit-keyframes slideLeft { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); } } @keyframes slideLeft { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); } } ================================================ FILE: assets/scss/slide/_slideLeftReturn.scss ================================================ .slideLeftReturn { -webkit-animation-name: slideLeftReturn; animation-name: slideLeftReturn; } @-webkit-keyframes slideLeftReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes slideLeftReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } } ================================================ FILE: assets/scss/slide/_slideRight.scss ================================================ .slideRight { -webkit-animation-name: slideRight; animation-name: slideRight; } @-webkit-keyframes slideRight { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%); } } @keyframes slideRight { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%); } } ================================================ FILE: assets/scss/slide/_slideRightReturn.scss ================================================ .slideRightReturn { -webkit-animation-name: slideRightReturn; animation-name: slideRightReturn; } @-webkit-keyframes slideRightReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes slideRightReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0%); transform: translateX(0%); } } ================================================ FILE: assets/scss/slide/_slideUp.scss ================================================ .slideUp { -webkit-animation-name: slideUp; animation-name: slideUp; } @-webkit-keyframes slideUp { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(-100%); transform: translateY(-100%); } } @keyframes slideUp { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(-100%); transform: translateY(-100%); } } ================================================ FILE: assets/scss/slide/_slideUpReturn.scss ================================================ .slideUpReturn { -webkit-animation-name: slideUpReturn; animation-name: slideUpReturn; } @-webkit-keyframes slideUpReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(-100%); transform: translateY(-100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } } @keyframes slideUpReturn { 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(-100%); transform: translateY(-100%); } 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateY(0%); transform: translateY(0%); } } ================================================ FILE: assets/scss/static_effects/_openDownLeft.scss ================================================ .openDownLeft { -webkit-animation-name: openDownLeft; animation-name: openDownLeft; } @-webkit-keyframes openDownLeft { 0% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownLeft { 0% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/static_effects/_openDownLeftReturn.scss ================================================ .openDownLeftReturn { -webkit-animation-name: openDownLeftReturn; animation-name: openDownLeftReturn; } @-webkit-keyframes openDownLeftReturn { 0% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openDownLeftReturn { 0% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } ================================================ FILE: assets/scss/static_effects/_openDownRight.scss ================================================ .openDownRight { -webkit-animation-name: openDownRight; animation-name: openDownRight; } @-webkit-keyframes openDownRight { 0% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownRight { 0% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/static_effects/_openDownRightReturn.scss ================================================ .openDownRightReturn { -webkit-animation-name: openDownRightReturn; animation-name: openDownRightReturn; } @-webkit-keyframes openDownRightReturn { 0% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openDownRightReturn { 0% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } ================================================ FILE: assets/scss/static_effects/_openUpLeft.scss ================================================ .openUpLeft { -webkit-animation-name: openUpLeft; animation-name: openUpLeft; } @-webkit-keyframes openUpLeft { 0% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpLeft { 0% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/static_effects/_openUpLeftReturn.scss ================================================ .openUpLeftReturn { -webkit-animation-name: openUpLeftReturn; animation-name: openUpLeftReturn; } @-webkit-keyframes openUpLeftReturn { 0% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openUpLeftReturn { 0% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } ================================================ FILE: assets/scss/static_effects/_openUpRight.scss ================================================ .openUpRight { -webkit-animation-name: openUpRight; animation-name: openUpRight; } @-webkit-keyframes openUpRight { 0% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpRight { 0% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/static_effects/_openUpRightReturn.scss ================================================ .openUpRightReturn { -webkit-animation-name: openUpRightReturn; animation-name: openUpRightReturn; } @-webkit-keyframes openUpRightReturn { 0% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openUpRightReturn { 0% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } ================================================ FILE: assets/scss/static_effects_out/_openDownLeftOut.scss ================================================ .openDownLeftOut { -webkit-animation-name: openDownLeftOut; animation-name: openDownLeftOut; } @-webkit-keyframes openDownLeftOut { 0% { opacity: 1; -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownLeftOut { 0% { opacity: 1; -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: bottom left; transform-origin: bottom left; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/static_effects_out/_openDownRightOut.scss ================================================ .openDownRightOut { -webkit-animation-name: openDownRightOut; animation-name: openDownRightOut; } @-webkit-keyframes openDownRightOut { 0% { opacity: 1; -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownRightOut { 0% { opacity: 1; -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: bottom right; transform-origin: bottom right; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/static_effects_out/_openUpLeftOut.scss ================================================ .openUpLeftOut { -webkit-animation-name: openUpLeftOut; animation-name: openUpLeftOut; } @-webkit-keyframes openUpLeftOut { 0% { opacity: 1; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpLeftOut { 0% { opacity: 1; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotate(110deg); transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/static_effects_out/_openUpRightOut.scss ================================================ .openUpRightOut { -webkit-animation-name: openUpRightOut; animation-name: openUpRightOut; } @-webkit-keyframes openUpRightOut { 0% { opacity: 1; -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpRightOut { 0% { opacity: 1; -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; -webkit-transform-origin: top right; transform-origin: top right; -webkit-transform: rotate(-110deg); transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } ================================================ FILE: assets/scss/tin/_tinDownIn.scss ================================================ .tinDownIn { -webkit-animation-name: tinDownIn; animation-name: tinDownIn; } @-webkit-keyframes tinDownIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateY(900%); transform: scale(1, 1) translateY(900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } } @keyframes tinDownIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateY(900%); transform: scale(1, 1) translateY(900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } } ================================================ FILE: assets/scss/tin/_tinDownOut.scss ================================================ .tinDownOut { -webkit-animation-name: tinDownOut; animation-name: tinDownOut; } @-webkit-keyframes tinDownOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateY(900%); transform: scale(1, 1) translateY(900%); } } @keyframes tinDownOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateY(900%); transform: scale(1, 1) translateY(900%); } } ================================================ FILE: assets/scss/tin/_tinLeftIn.scss ================================================ .tinLeftIn { -webkit-animation-name: tinLeftIn; animation-name: tinLeftIn; } @-webkit-keyframes tinLeftIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateX(-900%); transform: scale(1, 1) translateX(-900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } } @keyframes tinLeftIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateX(-900%); transform: scale(1, 1) translateX(-900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } } ================================================ FILE: assets/scss/tin/_tinLeftOut.scss ================================================ .tinLeftOut { -webkit-animation-name: tinLeftOut; animation-name: tinLeftOut; } @-webkit-keyframes tinLeftOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateX(-900%); transform: scale(1, 1) translateX(-900%); } } @keyframes tinLeftOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateX(-900%); transform: scale(1, 1) translateX(-900%); } } ================================================ FILE: assets/scss/tin/_tinRightIn.scss ================================================ .tinRightIn { -webkit-animation-name: tinRightIn; animation-name: tinRightIn; } @-webkit-keyframes tinRightIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateX(900%); transform: scale(1, 1) translateX(900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } } @keyframes tinRightIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateX(900%); transform: scale(1, 1) translateX(900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } } ================================================ FILE: assets/scss/tin/_tinRightOut.scss ================================================ .tinRightOut { -webkit-animation-name: tinRightOut; animation-name: tinRightOut; } @-webkit-keyframes tinRightOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateX(900%); transform: scale(1, 1) translateX(900%); } } @keyframes tinRightOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateX(0); transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateX(0); transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateX(900%); transform: scale(1, 1) translateX(900%); } } ================================================ FILE: assets/scss/tin/_tinUpIn.scss ================================================ .tinUpIn { -webkit-animation-name: tinUpIn; animation-name: tinUpIn; } @-webkit-keyframes tinUpIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateY(-900%); transform: scale(1, 1) translateY(-900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } } @keyframes tinUpIn { 0% { opacity: 0; -webkit-transform: scale(1, 1) translateY(-900%); transform: scale(1, 1) translateY(-900%); } 50%, 70%, 90% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } } ================================================ FILE: assets/scss/tin/_tinUpOut.scss ================================================ .tinUpOut { -webkit-animation-name: tinUpOut; animation-name: tinUpOut; } @-webkit-keyframes tinUpOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateY(-900%); transform: scale(1, 1) translateY(-900%); } } @keyframes tinUpOut { 0%, 20%, 40%, 50% { opacity: 1; -webkit-transform: scale(1, 1) translateY(0); transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; -webkit-transform: scale(1.1, 1.1) translateY(0); transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; -webkit-transform: scale(1, 1) translateY(-900%); transform: scale(1, 1) translateY(-900%); } } ================================================ FILE: dist/magic.css ================================================ /*! * Magic - https://www.minimamente.com * Licensed under the MIT license - https://opensource.org/licenses/MIT * Copyright (c) 2022 Christian Pucci */ .puffIn { -webkit-animation-name: puffIn; animation-name: puffIn; } @-webkit-keyframes puffIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } @keyframes puffIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } .puffOut { -webkit-animation-name: puffOut; animation-name: puffOut; } @-webkit-keyframes puffOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } } @keyframes puffOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(2px); } } .vanishIn { -webkit-animation-name: vanishIn; animation-name: vanishIn; } @-webkit-keyframes vanishIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(90px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } @keyframes vanishIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(90px); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } } .vanishOut { -webkit-animation-name: vanishOut; animation-name: vanishOut; } @-webkit-keyframes vanishOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(20px); } } @keyframes vanishOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); filter: blur(0px); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(2, 2); filter: blur(20px); } } .boingInUp { -webkit-animation-name: boingInUp; animation-name: boingInUp; } @-webkit-keyframes boingInUp { 0% { opacity: 0; transform-origin: 50% 0%; transform: perspective(800px) rotateX(-90deg); } 50% { opacity: 1; transform-origin: 50% 0%; transform: perspective(800px) rotateX(50deg); } 100% { opacity: 1; transform-origin: 50% 0%; transform: perspective(800px) rotateX(0deg); } } @keyframes boingInUp { 0% { opacity: 0; transform-origin: 50% 0%; transform: perspective(800px) rotateX(-90deg); } 50% { opacity: 1; transform-origin: 50% 0%; transform: perspective(800px) rotateX(50deg); } 100% { opacity: 1; transform-origin: 50% 0%; transform: perspective(800px) rotateX(0deg); } } .boingOutDown { -webkit-animation-name: boingOutDown; animation-name: boingOutDown; } @-webkit-keyframes boingOutDown { 0% { opacity: 1; transform-origin: 100% 100%; transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 20% { opacity: 1; transform-origin: 100% 100%; transform: perspective(800px) rotateX(0deg) rotateY(10deg); } 30% { opacity: 1; transform-origin: 0% 100%; transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 40% { opacity: 1; transform-origin: 0% 100%; transform: perspective(800px) rotateX(10deg) rotateY(10deg); } 100% { opacity: 0; transform-origin: 100% 100%; transform: perspective(800px) rotateX(90deg) rotateY(0deg); } } @keyframes boingOutDown { 0% { opacity: 1; transform-origin: 100% 100%; transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 20% { opacity: 1; transform-origin: 100% 100%; transform: perspective(800px) rotateX(0deg) rotateY(10deg); } 30% { opacity: 1; transform-origin: 0% 100%; transform: perspective(800px) rotateX(0deg) rotateY(0deg); } 40% { opacity: 1; transform-origin: 0% 100%; transform: perspective(800px) rotateX(10deg) rotateY(10deg); } 100% { opacity: 0; transform-origin: 100% 100%; transform: perspective(800px) rotateX(90deg) rotateY(0deg); } } .bombLeftOut { -webkit-animation-name: bombLeftOut; animation-name: bombLeftOut; } @-webkit-keyframes bombLeftOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: rotate(0deg); filter: blur(0px); } 50% { opacity: 1; transform-origin: -100% 50%; transform: rotate(-160deg); filter: blur(0px); } 100% { opacity: 0; transform-origin: -100% 50%; transform: rotate(-160deg); filter: blur(20px); } } @keyframes bombLeftOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: rotate(0deg); filter: blur(0px); } 50% { opacity: 1; transform-origin: -100% 50%; transform: rotate(-160deg); filter: blur(0px); } 100% { opacity: 0; transform-origin: -100% 50%; transform: rotate(-160deg); filter: blur(20px); } } .bombRightOut { -webkit-animation-name: bombRightOut; animation-name: bombRightOut; } @-webkit-keyframes bombRightOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: rotate(0deg); filter: blur(0px); } 50% { opacity: 1; transform-origin: 200% 50%; transform: rotate(160deg); filter: blur(0px); } 100% { opacity: 0; transform-origin: 200% 50%; transform: rotate(160deg); filter: blur(20px); } } @keyframes bombRightOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: rotate(0deg); filter: blur(0px); } 50% { opacity: 1; transform-origin: 200% 50%; transform: rotate(160deg); filter: blur(0px); } 100% { opacity: 0; transform-origin: 200% 50%; transform: rotate(160deg); filter: blur(20px); } } .magic { -webkit-animation-name: magic; animation-name: magic; } @-webkit-keyframes magic { 0% { opacity: 1; transform-origin: 100% 200%; transform: scale(1, 1) rotate(0deg); } 100% { opacity: 0; transform-origin: 200% 500%; transform: scale(0, 0) rotate(270deg); } } @keyframes magic { 0% { opacity: 1; transform-origin: 100% 200%; transform: scale(1, 1) rotate(0deg); } 100% { opacity: 0; transform-origin: 200% 500%; transform: scale(0, 0) rotate(270deg); } } .swap { -webkit-animation-name: swap; animation-name: swap; } @-webkit-keyframes swap { 0% { opacity: 0; transform-origin: 0 100%; transform: scale(0, 0) translate(-700px, 0px); } 100% { opacity: 1; transform-origin: 100% 100%; transform: scale(1, 1) translate(0px, 0px); } } @keyframes swap { 0% { opacity: 0; transform-origin: 0 100%; transform: scale(0, 0) translate(-700px, 0px); } 100% { opacity: 1; transform-origin: 100% 100%; transform: scale(1, 1) translate(0px, 0px); } } .twisterInDown { -webkit-animation-name: twisterInDown; animation-name: twisterInDown; } @-webkit-keyframes twisterInDown { 0% { opacity: 0; transform-origin: 0 100%; transform: scale(0, 0) rotate(360deg) translateY(-100%); } 30% { transform-origin: 0 100%; transform: scale(0, 0) rotate(360deg) translateY(-100%); } 100% { opacity: 1; transform-origin: 100% 100%; transform: scale(1, 1) rotate(0deg) translateY(0%); } } @keyframes twisterInDown { 0% { opacity: 0; transform-origin: 0 100%; transform: scale(0, 0) rotate(360deg) translateY(-100%); } 30% { transform-origin: 0 100%; transform: scale(0, 0) rotate(360deg) translateY(-100%); } 100% { opacity: 1; transform-origin: 100% 100%; transform: scale(1, 1) rotate(0deg) translateY(0%); } } .twisterInUp { -webkit-animation-name: twisterInUp; animation-name: twisterInUp; } @-webkit-keyframes twisterInUp { 0% { opacity: 0; transform-origin: 100% 0; transform: scale(0, 0) rotate(360deg) translateY(100%); } 30% { transform-origin: 100% 0; transform: scale(0, 0) rotate(360deg) translateY(100%); } 100% { opacity: 1; transform-origin: 0 0; transform: scale(1, 1) rotate(0deg) translateY(0); } } @keyframes twisterInUp { 0% { opacity: 0; transform-origin: 100% 0; transform: scale(0, 0) rotate(360deg) translateY(100%); } 30% { transform-origin: 100% 0; transform: scale(0, 0) rotate(360deg) translateY(100%); } 100% { opacity: 1; transform-origin: 0 0; transform: scale(1, 1) rotate(0deg) translateY(0); } } .foolishIn { -webkit-animation-name: foolishIn; animation-name: foolishIn; } @-webkit-keyframes foolishIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0) rotate(360deg); } 20% { opacity: 1; transform-origin: 0% 100%; transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; transform-origin: 100% 100%; transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; transform-origin: 0%; transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; transform-origin: 0% 0%; transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1) rotate(0deg); } } @keyframes foolishIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0) rotate(360deg); } 20% { opacity: 1; transform-origin: 0% 100%; transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; transform-origin: 100% 100%; transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; transform-origin: 0%; transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; transform-origin: 0% 0%; transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1) rotate(0deg); } } .foolishOut { -webkit-animation-name: foolishOut; animation-name: foolishOut; } @-webkit-keyframes foolishOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1) rotate(360deg); } 20% { opacity: 1; transform-origin: 0% 0%; transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; transform-origin: 100% 0%; transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; transform-origin: 0%; transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; transform-origin: 0% 100%; transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0) rotate(0deg); } } @keyframes foolishOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1) rotate(360deg); } 20% { opacity: 1; transform-origin: 0% 0%; transform: scale(0.5, 0.5) rotate(0deg); } 40% { opacity: 1; transform-origin: 100% 0%; transform: scale(0.5, 0.5) rotate(0deg); } 60% { opacity: 1; transform-origin: 0%; transform: scale(0.5, 0.5) rotate(0deg); } 80% { opacity: 1; transform-origin: 0% 100%; transform: scale(0.5, 0.5) rotate(0deg); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0) rotate(0deg); } } .holeOut { -webkit-animation-name: holeOut; animation-name: holeOut; } @-webkit-keyframes holeOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1) rotateY(0deg); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0) rotateY(180deg); } } @keyframes holeOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1) rotateY(0deg); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0) rotateY(180deg); } } .swashIn { -webkit-animation-name: swashIn; animation-name: swashIn; } @-webkit-keyframes swashIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0); } 90% { opacity: 1; transform-origin: 50% 50%; transform: scale(0.9, 0.9); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); } } @keyframes swashIn { 0% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0); } 90% { opacity: 1; transform-origin: 50% 50%; transform: scale(0.9, 0.9); } 100% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); } } .swashOut { -webkit-animation-name: swashOut; animation-name: swashOut; } @-webkit-keyframes swashOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); } 80% { opacity: 1; transform-origin: 50% 50%; transform: scale(0.9, 0.9); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0); } } @keyframes swashOut { 0% { opacity: 1; transform-origin: 50% 50%; transform: scale(1, 1); } 80% { opacity: 1; transform-origin: 50% 50%; transform: scale(0.9, 0.9); } 100% { opacity: 0; transform-origin: 50% 50%; transform: scale(0, 0); } } .spaceInDown { -webkit-animation-name: spaceInDown; animation-name: spaceInDown; } @-webkit-keyframes spaceInDown { 0% { opacity: 0; transform-origin: 50% 100%; transform: scale(0.2) translate(0%, 200%); } 100% { opacity: 1; transform-origin: 50% 100%; transform: scale(1) translate(0%, 0%); } } @keyframes spaceInDown { 0% { opacity: 0; transform-origin: 50% 100%; transform: scale(0.2) translate(0%, 200%); } 100% { opacity: 1; transform-origin: 50% 100%; transform: scale(1) translate(0%, 0%); } } .spaceInLeft { -webkit-animation-name: spaceInLeft; animation-name: spaceInLeft; } @-webkit-keyframes spaceInLeft { 0% { opacity: 0; transform-origin: 0% 50%; transform: scale(0.2) translate(-200%, 0%); } 100% { opacity: 1; transform-origin: 0% 50%; transform: scale(1) translate(0%, 0%); } } @keyframes spaceInLeft { 0% { opacity: 0; transform-origin: 0% 50%; transform: scale(0.2) translate(-200%, 0%); } 100% { opacity: 1; transform-origin: 0% 50%; transform: scale(1) translate(0%, 0%); } } .spaceInRight { -webkit-animation-name: spaceInRight; animation-name: spaceInRight; } @-webkit-keyframes spaceInRight { 0% { opacity: 0; transform-origin: 100% 50%; transform: scale(0.2) translate(200%, 0%); } 100% { opacity: 1; transform-origin: 100% 50%; transform: scale(1) translate(0%, 0%); } } @keyframes spaceInRight { 0% { opacity: 0; transform-origin: 100% 50%; transform: scale(0.2) translate(200%, 0%); } 100% { opacity: 1; transform-origin: 100% 50%; transform: scale(1) translate(0%, 0%); } } .spaceInUp { -webkit-animation-name: spaceInUp; animation-name: spaceInUp; } @-webkit-keyframes spaceInUp { 0% { opacity: 0; transform-origin: 50% 0%; transform: scale(0.2) translate(0%, -200%); } 100% { opacity: 1; transform-origin: 50% 0%; transform: scale(1) translate(0%, 0%); } } @keyframes spaceInUp { 0% { opacity: 0; transform-origin: 50% 0%; transform: scale(0.2) translate(0%, -200%); } 100% { opacity: 1; transform-origin: 50% 0%; transform: scale(1) translate(0%, 0%); } } .spaceOutDown { -webkit-animation-name: spaceOutDown; animation-name: spaceOutDown; } @-webkit-keyframes spaceOutDown { 0% { opacity: 1; transform-origin: 50% 100%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 50% 100%; transform: scale(0.2) translate(0%, 200%); } } @keyframes spaceOutDown { 0% { opacity: 1; transform-origin: 50% 100%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 50% 100%; transform: scale(0.2) translate(0%, 200%); } } .spaceOutLeft { -webkit-animation-name: spaceOutLeft; animation-name: spaceOutLeft; } @-webkit-keyframes spaceOutLeft { 0% { opacity: 1; transform-origin: 0% 50%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 0% 50%; transform: scale(0.2) translate(-200%, 0%); } } @keyframes spaceOutLeft { 0% { opacity: 1; transform-origin: 0% 50%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 0% 50%; transform: scale(0.2) translate(-200%, 0%); } } .spaceOutRight { -webkit-animation-name: spaceOutRight; animation-name: spaceOutRight; } @-webkit-keyframes spaceOutRight { 0% { opacity: 1; transform-origin: 100% 50%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 100% 50%; transform: scale(0.2) translate(200%, 0%); } } @keyframes spaceOutRight { 0% { opacity: 1; transform-origin: 100% 50%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 100% 50%; transform: scale(0.2) translate(200%, 0%); } } .spaceOutUp { -webkit-animation-name: spaceOutUp; animation-name: spaceOutUp; } @-webkit-keyframes spaceOutUp { 0% { opacity: 1; transform-origin: 50% 0%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 50% 0%; transform: scale(0.2) translate(0%, -200%); } } @keyframes spaceOutUp { 0% { opacity: 1; transform-origin: 50% 0%; transform: scale(1) translate(0%, 0%); } 100% { opacity: 0; transform-origin: 50% 0%; transform: scale(0.2) translate(0%, -200%); } } .perspectiveDown { -webkit-animation-name: perspectiveDown; animation-name: perspectiveDown; } @-webkit-keyframes perspectiveDown { 0% { transform-origin: 0 100%; transform: perspective(800px) rotateX(0deg); } 100% { transform-origin: 0 100%; transform: perspective(800px) rotateX(-180deg); } } @keyframes perspectiveDown { 0% { transform-origin: 0 100%; transform: perspective(800px) rotateX(0deg); } 100% { transform-origin: 0 100%; transform: perspective(800px) rotateX(-180deg); } } .perspectiveDownReturn { -webkit-animation-name: perspectiveDownReturn; animation-name: perspectiveDownReturn; } @-webkit-keyframes perspectiveDownReturn { 0% { transform-origin: 0 100%; transform: perspective(800px) rotateX(-180deg); } 100% { transform-origin: 0 100%; transform: perspective(800px) rotateX(0deg); } } @keyframes perspectiveDownReturn { 0% { transform-origin: 0 100%; transform: perspective(800px) rotateX(-180deg); } 100% { transform-origin: 0 100%; transform: perspective(800px) rotateX(0deg); } } .perspectiveLeft { -webkit-animation-name: perspectiveLeft; animation-name: perspectiveLeft; } @-webkit-keyframes perspectiveLeft { 0% { transform-origin: 0 0; transform: perspective(800px) rotateY(0deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateY(-180deg); } } @keyframes perspectiveLeft { 0% { transform-origin: 0 0; transform: perspective(800px) rotateY(0deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateY(-180deg); } } .perspectiveLeftReturn { -webkit-animation-name: perspectiveLeftReturn; animation-name: perspectiveLeftReturn; } @-webkit-keyframes perspectiveLeftReturn { 0% { transform-origin: 0 0; transform: perspective(800px) rotateY(-180deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateY(0deg); } } @keyframes perspectiveLeftReturn { 0% { transform-origin: 0 0; transform: perspective(800px) rotateY(-180deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateY(0deg); } } .perspectiveRight { -webkit-animation-name: perspectiveRight; animation-name: perspectiveRight; } @-webkit-keyframes perspectiveRight { 0% { transform-origin: 100% 0; transform: perspective(800px) rotateY(0deg); } 100% { transform-origin: 100% 0; transform: perspective(800px) rotateY(180deg); } } @keyframes perspectiveRight { 0% { transform-origin: 100% 0; transform: perspective(800px) rotateY(0deg); } 100% { transform-origin: 100% 0; transform: perspective(800px) rotateY(180deg); } } .perspectiveRightReturn { -webkit-animation-name: perspectiveRightReturn; animation-name: perspectiveRightReturn; } @-webkit-keyframes perspectiveRightReturn { 0% { transform-origin: 100% 0; transform: perspective(800px) rotateY(180deg); } 100% { transform-origin: 100% 0; transform: perspective(800px) rotateY(0deg); } } @keyframes perspectiveRightReturn { 0% { transform-origin: 100% 0; transform: perspective(800px) rotateY(180deg); } 100% { transform-origin: 100% 0; transform: perspective(800px) rotateY(0deg); } } .perspectiveUp { -webkit-animation-name: perspectiveUp; animation-name: perspectiveUp; } @-webkit-keyframes perspectiveUp { 0% { transform-origin: 0 0; transform: perspective(800px) rotateX(0deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateX(180deg); } } @keyframes perspectiveUp { 0% { transform-origin: 0 0; transform: perspective(800px) rotateX(0deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateX(180deg); } } .perspectiveUpReturn { -webkit-animation-name: perspectiveUpReturn; animation-name: perspectiveUpReturn; } @-webkit-keyframes perspectiveUpReturn { 0% { transform-origin: 0 0; transform: perspective(800px) rotateX(180deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateX(0deg); } } @keyframes perspectiveUpReturn { 0% { transform-origin: 0 0; transform: perspective(800px) rotateX(180deg); } 100% { transform-origin: 0 0; transform: perspective(800px) rotateX(0deg); } } .rotateDown { -webkit-animation-name: rotateDown; animation-name: rotateDown; } @-webkit-keyframes rotateDown { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; transform-origin: 50% 100%; transform: perspective(800px) rotateX(-180deg) translateZ(300px); } } @keyframes rotateDown { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; transform-origin: 50% 100%; transform: perspective(800px) rotateX(-180deg) translateZ(300px); } } .rotateLeft { -webkit-animation-name: rotateLeft; animation-name: rotateLeft; } @-webkit-keyframes rotateLeft { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateY(0deg) translateZ(0px); } 100% { opacity: 0; transform-origin: 50% 0; transform: perspective(800px) rotateY(-180deg) translateZ(300px); } } @keyframes rotateLeft { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateY(0deg) translateZ(0px); } 100% { opacity: 0; transform-origin: 50% 0; transform: perspective(800px) rotateY(-180deg) translateZ(300px); } } .rotateRight { -webkit-animation-name: rotateRight; animation-name: rotateRight; } @-webkit-keyframes rotateRight { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateY(0deg) translate3d(0px); } 100% { opacity: 0; transform-origin: 50% 0; transform: perspective(800px) rotateY(180deg) translateZ(150px); } } @keyframes rotateRight { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateY(0deg) translate3d(0px); } 100% { opacity: 0; transform-origin: 50% 0; transform: perspective(800px) rotateY(180deg) translateZ(150px); } } .rotateUp { -webkit-animation-name: rotateUp; animation-name: rotateUp; } @-webkit-keyframes rotateUp { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; transform-origin: 50% 0; transform: perspective(800px) rotateX(180deg) translateZ(100px); } } @keyframes rotateUp { 0% { opacity: 1; transform-origin: 0 0; transform: perspective(800px) rotateX(0deg) translateZ(0px); } 100% { opacity: 0; transform-origin: 50% 0; transform: perspective(800px) rotateX(180deg) translateZ(100px); } } .slideDown { -webkit-animation-name: slideDown; animation-name: slideDown; } @-webkit-keyframes slideDown { 0% { transform-origin: 0 0; transform: translateY(0%); } 100% { transform-origin: 0 0; transform: translateY(100%); } } @keyframes slideDown { 0% { transform-origin: 0 0; transform: translateY(0%); } 100% { transform-origin: 0 0; transform: translateY(100%); } } .slideDownReturn { -webkit-animation-name: slideDownReturn; animation-name: slideDownReturn; } @-webkit-keyframes slideDownReturn { 0% { transform-origin: 0 0; transform: translateY(100%); } 100% { transform-origin: 0 0; transform: translateY(0%); } } @keyframes slideDownReturn { 0% { transform-origin: 0 0; transform: translateY(100%); } 100% { transform-origin: 0 0; transform: translateY(0%); } } .slideLeft { -webkit-animation-name: slideLeft; animation-name: slideLeft; } @-webkit-keyframes slideLeft { 0% { transform-origin: 0 0; transform: translateX(0%); } 100% { transform-origin: 0 0; transform: translateX(-100%); } } @keyframes slideLeft { 0% { transform-origin: 0 0; transform: translateX(0%); } 100% { transform-origin: 0 0; transform: translateX(-100%); } } .slideLeftReturn { -webkit-animation-name: slideLeftReturn; animation-name: slideLeftReturn; } @-webkit-keyframes slideLeftReturn { 0% { transform-origin: 0 0; transform: translateX(-100%); } 100% { transform-origin: 0 0; transform: translateX(0%); } } @keyframes slideLeftReturn { 0% { transform-origin: 0 0; transform: translateX(-100%); } 100% { transform-origin: 0 0; transform: translateX(0%); } } .slideRight { -webkit-animation-name: slideRight; animation-name: slideRight; } @-webkit-keyframes slideRight { 0% { transform-origin: 0 0; transform: translateX(0%); } 100% { transform-origin: 0 0; transform: translateX(100%); } } @keyframes slideRight { 0% { transform-origin: 0 0; transform: translateX(0%); } 100% { transform-origin: 0 0; transform: translateX(100%); } } .slideRightReturn { -webkit-animation-name: slideRightReturn; animation-name: slideRightReturn; } @-webkit-keyframes slideRightReturn { 0% { transform-origin: 0 0; transform: translateX(100%); } 100% { transform-origin: 0 0; transform: translateX(0%); } } @keyframes slideRightReturn { 0% { transform-origin: 0 0; transform: translateX(100%); } 100% { transform-origin: 0 0; transform: translateX(0%); } } .slideUp { -webkit-animation-name: slideUp; animation-name: slideUp; } @-webkit-keyframes slideUp { 0% { transform-origin: 0 0; transform: translateY(0%); } 100% { transform-origin: 0 0; transform: translateY(-100%); } } @keyframes slideUp { 0% { transform-origin: 0 0; transform: translateY(0%); } 100% { transform-origin: 0 0; transform: translateY(-100%); } } .slideUpReturn { -webkit-animation-name: slideUpReturn; animation-name: slideUpReturn; } @-webkit-keyframes slideUpReturn { 0% { transform-origin: 0 0; transform: translateY(-100%); } 100% { transform-origin: 0 0; transform: translateY(0%); } } @keyframes slideUpReturn { 0% { transform-origin: 0 0; transform: translateY(-100%); } 100% { transform-origin: 0 0; transform: translateY(0%); } } .openDownLeft { -webkit-animation-name: openDownLeft; animation-name: openDownLeft; } @-webkit-keyframes openDownLeft { 0% { transform-origin: bottom left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: bottom left; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownLeft { 0% { transform-origin: bottom left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: bottom left; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .openDownLeftReturn { -webkit-animation-name: openDownLeftReturn; animation-name: openDownLeftReturn; } @-webkit-keyframes openDownLeftReturn { 0% { transform-origin: bottom left; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: bottom left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openDownLeftReturn { 0% { transform-origin: bottom left; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: bottom left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } .openDownRight { -webkit-animation-name: openDownRight; animation-name: openDownRight; } @-webkit-keyframes openDownRight { 0% { transform-origin: bottom right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: bottom right; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownRight { 0% { transform-origin: bottom right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: bottom right; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .openDownRightReturn { -webkit-animation-name: openDownRightReturn; animation-name: openDownRightReturn; } @-webkit-keyframes openDownRightReturn { 0% { transform-origin: bottom right; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: bottom right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openDownRightReturn { 0% { transform-origin: bottom right; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: bottom right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } .openUpLeft { -webkit-animation-name: openUpLeft; animation-name: openUpLeft; } @-webkit-keyframes openUpLeft { 0% { transform-origin: top left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: top left; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpLeft { 0% { transform-origin: top left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: top left; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .openUpLeftReturn { -webkit-animation-name: openUpLeftReturn; animation-name: openUpLeftReturn; } @-webkit-keyframes openUpLeftReturn { 0% { transform-origin: top left; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: top left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openUpLeftReturn { 0% { transform-origin: top left; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: top left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } .openUpRight { -webkit-animation-name: openUpRight; animation-name: openUpRight; } @-webkit-keyframes openUpRight { 0% { transform-origin: top right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: top right; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpRight { 0% { transform-origin: top right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform-origin: top right; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .openUpRightReturn { -webkit-animation-name: openUpRightReturn; animation-name: openUpRightReturn; } @-webkit-keyframes openUpRightReturn { 0% { transform-origin: top right; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: top right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } @keyframes openUpRightReturn { 0% { transform-origin: top right; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { transform-origin: top right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } } .openDownLeftOut { -webkit-animation-name: openDownLeftOut; animation-name: openDownLeftOut; } @-webkit-keyframes openDownLeftOut { 0% { opacity: 1; transform-origin: bottom left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: bottom left; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownLeftOut { 0% { opacity: 1; transform-origin: bottom left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: bottom left; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .openDownRightOut { -webkit-animation-name: openDownRightOut; animation-name: openDownRightOut; } @-webkit-keyframes openDownRightOut { 0% { opacity: 1; transform-origin: bottom right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: bottom right; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openDownRightOut { 0% { opacity: 1; transform-origin: bottom right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: bottom right; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .openUpLeftOut { -webkit-animation-name: openUpLeftOut; animation-name: openUpLeftOut; } @-webkit-keyframes openUpLeftOut { 0% { opacity: 1; transform-origin: top left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: top left; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpLeftOut { 0% { opacity: 1; transform-origin: top left; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: top left; transform: rotate(110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .openUpRightOut { -webkit-animation-name: openUpRightOut; animation-name: openUpRightOut; } @-webkit-keyframes openUpRightOut { 0% { opacity: 1; transform-origin: top right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: top right; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } @keyframes openUpRightOut { 0% { opacity: 1; transform-origin: top right; transform: rotate(0deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { opacity: 0; transform-origin: top right; transform: rotate(-110deg); -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } } .tinDownIn { -webkit-animation-name: tinDownIn; animation-name: tinDownIn; } @-webkit-keyframes tinDownIn { 0% { opacity: 0; transform: scale(1, 1) translateY(900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateY(0); } } @keyframes tinDownIn { 0% { opacity: 0; transform: scale(1, 1) translateY(900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateY(0); } } .tinDownOut { -webkit-animation-name: tinDownOut; animation-name: tinDownOut; } @-webkit-keyframes tinDownOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; transform: scale(1, 1) translateY(900%); } } @keyframes tinDownOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; transform: scale(1, 1) translateY(900%); } } .tinLeftIn { -webkit-animation-name: tinLeftIn; animation-name: tinLeftIn; } @-webkit-keyframes tinLeftIn { 0% { opacity: 0; transform: scale(1, 1) translateX(-900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateX(0); } } @keyframes tinLeftIn { 0% { opacity: 0; transform: scale(1, 1) translateX(-900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateX(0); } } .tinLeftOut { -webkit-animation-name: tinLeftOut; animation-name: tinLeftOut; } @-webkit-keyframes tinLeftOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; transform: scale(1, 1) translateX(-900%); } } @keyframes tinLeftOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; transform: scale(1, 1) translateX(-900%); } } .tinRightIn { -webkit-animation-name: tinRightIn; animation-name: tinRightIn; } @-webkit-keyframes tinRightIn { 0% { opacity: 0; transform: scale(1, 1) translateX(900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateX(0); } } @keyframes tinRightIn { 0% { opacity: 0; transform: scale(1, 1) translateX(900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateX(0); } } .tinRightOut { -webkit-animation-name: tinRightOut; animation-name: tinRightOut; } @-webkit-keyframes tinRightOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; transform: scale(1, 1) translateX(900%); } } @keyframes tinRightOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateX(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateX(0); } 100% { opacity: 0; transform: scale(1, 1) translateX(900%); } } .tinUpIn { -webkit-animation-name: tinUpIn; animation-name: tinUpIn; } @-webkit-keyframes tinUpIn { 0% { opacity: 0; transform: scale(1, 1) translateY(-900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateY(0); } } @keyframes tinUpIn { 0% { opacity: 0; transform: scale(1, 1) translateY(-900%); } 50%, 70%, 90% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 60%, 80%, 100% { opacity: 1; transform: scale(1, 1) translateY(0); } } .tinUpOut { -webkit-animation-name: tinUpOut; animation-name: tinUpOut; } @-webkit-keyframes tinUpOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; transform: scale(1, 1) translateY(-900%); } } @keyframes tinUpOut { 0%, 20%, 40%, 50% { opacity: 1; transform: scale(1, 1) translateY(0); } 10%, 30% { opacity: 1; transform: scale(1.1, 1.1) translateY(0); } 100% { opacity: 0; transform: scale(1, 1) translateY(-900%); } } .magictime { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } @media (print), (prefers-reduced-motion) { .magictime { -webkit-animation: unset !important; animation: unset !important; transition: none !important; } } /*# sourceMappingURL=magic.css.map */ ================================================ FILE: gulpfile.js ================================================ /** * Gulp * * npm i --save-dev gulp sass gulp-sass postcss gulp-postcss autoprefixer gulp-rename cssnano gulp-cssnano * * @see https://gulpjs.com/ */ const { src, dest, watch, parallel } = require('gulp'); const sass = require('gulp-sass')(require('sass')); const postcss = require('gulp-postcss'); const autoprefixer = require('autoprefixer'); const cssnano = require('cssnano'); const rename = require('gulp-rename'); // Define project paths let paths = { styles: { // grab all .scss files from that path src: 'assets/scss/*.scss', // destination path dest: 'dist' } }; // SCSS function style() { return src(paths.styles.src, { sourcemaps: true }) .pipe(sass().on("error", sass.logError)) .pipe(postcss([ autoprefixer() ])) .pipe(dest(paths.styles.dest, { sourcemaps: '.' })) } function styleMin() { return src(paths.styles.src, { sourcemaps: true }) .pipe(sass().on("error", sass.logError)) .pipe(postcss([ autoprefixer(), cssnano() ])) .pipe(rename({ extname: '.min.css' })) .pipe(dest(paths.styles.dest, { sourcemaps: '.' })); } // Watchers watch('assets/scss/*.scss', style); // Yo baby!! ✌️ exports.default = parallel( style, styleMin ); ================================================ FILE: package.json ================================================ { "name": "magic.css", "version": "1.4.8", "description": "Magic CSS3 animations", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "git+https://github.com/miniMAC/magic.git" }, "author": "Christian Pucci (https://www.minimamente.com/)", "license": "MIT", "bugs": { "url": "https://github.com/miniMAC/magic/issues" }, "homepage": "https://github.com/miniMAC/magic#readme", "devDependencies": { "autoprefixer": "^10.3.7", "cssnano": "^5.0.8", "gulp": "^4.0.2", "gulp-cssnano": "^1.1.0", "gulp-postcss": "^9.0.1", "gulp-rename": "^2.0.0", "gulp-sass": "^5.1.0", "np": "^7.6.2", "postcss": "^8.3.9", "sass": "^1.49.8" }, "keywords": [ "css", "css3", "animation", "animations", "magic" ] }