├── images ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg ├── 6.jpg ├── 7.jpg ├── 8.jpg ├── 9.jpg ├── bg-1.png ├── bg-2.png ├── favicon.ico ├── mstile-70x70.png ├── favicon-16x16.png ├── favicon-32x32.png ├── mstile-144x144.png ├── mstile-150x150.png ├── mstile-310x150.png ├── mstile-310x310.png ├── apple-touch-icon.png ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── icon-arrow-down.svg ├── input-checked.svg ├── browserconfig.xml ├── input-error.svg ├── site.webmanifest ├── download.svg └── safari-pinned-tab.svg ├── README.md ├── .gitignore ├── normalize.css ├── style.css ├── index.html ├── tilt.js ├── main.js ├── aos.css └── aos.js /images/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/1.jpg -------------------------------------------------------------------------------- /images/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/2.jpg -------------------------------------------------------------------------------- /images/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/3.jpg -------------------------------------------------------------------------------- /images/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/4.jpg -------------------------------------------------------------------------------- /images/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/5.jpg -------------------------------------------------------------------------------- /images/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/6.jpg -------------------------------------------------------------------------------- /images/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/7.jpg -------------------------------------------------------------------------------- /images/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/8.jpg -------------------------------------------------------------------------------- /images/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/9.jpg -------------------------------------------------------------------------------- /images/bg-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/bg-1.png -------------------------------------------------------------------------------- /images/bg-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/bg-2.png -------------------------------------------------------------------------------- /images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/favicon.ico -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Puzzle 2 | 3 | ### Demo 4 | 5 | [Link](https://andrey-kudinov.github.io/puzzle/) 6 | -------------------------------------------------------------------------------- /images/mstile-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/mstile-70x70.png -------------------------------------------------------------------------------- /images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/favicon-16x16.png -------------------------------------------------------------------------------- /images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/favicon-32x32.png -------------------------------------------------------------------------------- /images/mstile-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/mstile-144x144.png -------------------------------------------------------------------------------- /images/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/mstile-150x150.png -------------------------------------------------------------------------------- /images/mstile-310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/mstile-310x150.png -------------------------------------------------------------------------------- /images/mstile-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/mstile-310x310.png -------------------------------------------------------------------------------- /images/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/apple-touch-icon.png -------------------------------------------------------------------------------- /images/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/android-chrome-192x192.png -------------------------------------------------------------------------------- /images/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrey-kudinov/puzzle/HEAD/images/android-chrome-512x512.png -------------------------------------------------------------------------------- /images/icon-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /images/input-checked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #2d89ef 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /images/input-error.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "android-chrome-512x512.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /images/download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # IDEs and editors 33 | .idea 34 | .project 35 | .classpath 36 | .c9/ 37 | *.launch 38 | .settings/ 39 | *.sublime-workspace 40 | 41 | # IDE - VSCode 42 | *.code-workspace 43 | .vscode/* 44 | !.vscode/settings.json 45 | !.vscode/tasks.json 46 | !.vscode/launch.json 47 | !.vscode/extensions.json 48 | 49 | # misc 50 | .sass-cache 51 | connect.lock 52 | typings 53 | 54 | # Logs 55 | logs 56 | *.log 57 | npm-debug.log* 58 | yarn-debug.log* 59 | yarn-error.log* 60 | 61 | 62 | # Dependency directories 63 | node_modules/ 64 | jspm_packages/ 65 | 66 | # Optional npm cache directory 67 | .npm 68 | 69 | # Optional eslint cache 70 | .eslintcache 71 | 72 | # Optional REPL history 73 | .node_repl_history 74 | 75 | # Output of 'npm pack' 76 | *.tgz 77 | 78 | # Yarn Integrity file 79 | .yarn-integrity 80 | 81 | # dotenv environment variables file 82 | .env 83 | 84 | # next.js build output 85 | .next 86 | 87 | # Lerna 88 | lerna-debug.log 89 | 90 | # System Files 91 | .DS_Store 92 | Thumbs.db -------------------------------------------------------------------------------- /normalize.css: -------------------------------------------------------------------------------- 1 | html, 2 | body, 3 | div, 4 | span, 5 | applet, 6 | object, 7 | iframe, 8 | h1, 9 | h2, 10 | h3, 11 | h4, 12 | h5, 13 | h6, 14 | p, 15 | blockquote, 16 | pre, 17 | a, 18 | abbr, 19 | acronym, 20 | address, 21 | big, 22 | cite, 23 | code, 24 | del, 25 | dfn, 26 | em, 27 | img, 28 | ins, 29 | kbd, 30 | q, 31 | s, 32 | samp, 33 | small, 34 | strike, 35 | strong, 36 | sub, 37 | sup, 38 | tt, 39 | var, 40 | b, 41 | u, 42 | i, 43 | center, 44 | dl, 45 | dt, 46 | dd, 47 | ol, 48 | ul, 49 | li, 50 | fieldset, 51 | form, 52 | label, 53 | legend, 54 | table, 55 | caption, 56 | tbody, 57 | tfoot, 58 | thead, 59 | tr, 60 | th, 61 | td, 62 | article, 63 | aside, 64 | canvas, 65 | details, 66 | embed, 67 | figure, 68 | figcaption, 69 | footer, 70 | header, 71 | hgroup, 72 | menu, 73 | nav, 74 | output, 75 | ruby, 76 | section, 77 | summary, 78 | time, 79 | mark, 80 | audio, 81 | video, 82 | div, 83 | p, 84 | section, 85 | a { 86 | margin: 0; 87 | padding: 0; 88 | border: 0; 89 | font-size: 100%; 90 | font: inherit; 91 | vertical-align: baseline; 92 | 93 | box-sizing: border-box; 94 | color: inherit; 95 | text-decoration: none; 96 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 97 | } 98 | /* HTML5 display-role reset for older browsers */ 99 | article, 100 | aside, 101 | details, 102 | figcaption, 103 | figure, 104 | footer, 105 | header, 106 | hgroup, 107 | menu, 108 | nav, 109 | section { 110 | display: block; 111 | } 112 | ol, 113 | ul { 114 | list-style: none; 115 | } 116 | blockquote, 117 | q { 118 | quotes: none; 119 | } 120 | blockquote:before, 121 | blockquote:after, 122 | q:before, 123 | q:after { 124 | content: ""; 125 | content: none; 126 | } 127 | table { 128 | border-collapse: collapse; 129 | border-spacing: 0; 130 | } 131 | 132 | html, 133 | body { 134 | font-family: "HelveticaNeue", sans-serif; 135 | line-height: 1.2; 136 | color: #061b36; 137 | -webkit-text-size-adjust: 100%; 138 | -webkit-font-smoothing: antialiased; 139 | min-height: 100vh; 140 | } 141 | 142 | body { 143 | overflow-x: hidden; 144 | } 145 | 146 | button, input, select { 147 | font: inherit; 148 | } 149 | 150 | b { 151 | font-weight: 500; 152 | } 153 | 154 | @media screen and (max-width: 1024px) { 155 | html, 156 | body { 157 | overflow-x: hidden; 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /images/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.11, written by Peter Selinger 2001-2013 9 | 10 | 12 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | body { 2 | grid-template-columns: 3 | [full-start] minmax(1em, 1fr) 4 | [main-start] minmax(0, 50em) 5 | [main-end] minmax(1em, 1fr) 6 | [full-end]; 7 | } 8 | 9 | main { 10 | grid-column: main; 11 | } 12 | 13 | .btn-group { 14 | grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); 15 | } 16 | 17 | .buttons-wrap_active img { 18 | transform: rotate(180deg); 19 | } 20 | 21 | .buttons-wrap_active .btn-group { 22 | max-height: var(--max-height); 23 | margin-bottom: 12px; 24 | } 25 | 26 | .puzzle__input-check { 27 | width: 100%; 28 | height: 100%; 29 | border: 2px solid #c4c4c4; 30 | border-radius: 5px; 31 | } 32 | 33 | .puzzle__input:checked + .puzzle__input-check img { 34 | opacity: 1; 35 | } 36 | 37 | .puzzle__input:checked + .puzzle__input-check { 38 | border: none; 39 | } 40 | 41 | .puzzle__input-container_disable { 42 | pointer-events: none; 43 | opacity: .7; 44 | } 45 | 46 | .puzzle__comment-false-js { 47 | margin-top: -15px; 48 | margin-bottom: 10px; 49 | padding-left: 46px; 50 | color: #facc15; 51 | font-size: 14px; 52 | line-height: 17px; 53 | } 54 | 55 | .puzzle__comment { 56 | margin-bottom: 30px; 57 | margin-left: 44px; 58 | padding: 20px 19px 20px 15px; 59 | color: #515151; 60 | border: 1px solid #d1d2cd; 61 | border-radius: 5px; 62 | font-size: 14px; 63 | line-height: 17px; 64 | } 65 | 66 | .puzzle__answer { 67 | color: #333; 68 | font-size: 14px; 69 | } 70 | 71 | .puzzle__input-container-correct .puzzle__answer { 72 | color: #facc15; 73 | font-weight: bold; 74 | } 75 | 76 | .puzzle__item-num { 77 | padding-top: 13px; 78 | padding-left: 18px; 79 | transition: .3s; 80 | color: #d1d2cd; 81 | font-size: 24px; 82 | font-weight: bold; 83 | line-height: 32px; 84 | } 85 | 86 | .puzzle__item-first:not(:first-child) { 87 | position: relative; 88 | overflow: hidden; 89 | } 90 | 91 | .puzzle__item-first:before { 92 | --size: 0; 93 | content: ''; 94 | position: absolute; 95 | left: var(--x); 96 | top: var(--y); 97 | width: var(--size); 98 | height: var(--size); 99 | background: radial-gradient(circle closest-side, #facc15, transparent); 100 | transform: translate(-50%, -50%); 101 | transition: width 0.2s ease, height 0.2s ease; 102 | } 103 | 104 | .puzzle__item-first:hover:before { 105 | --size: 4rem; 106 | } 107 | 108 | .active .puzzle__item-num { 109 | color: #facc15; 110 | } 111 | 112 | .active.puzzle__item-first { 113 | background: #fff8c7; 114 | } 115 | 116 | .puzzle__item-second { 117 | transform: rotateY(180deg); 118 | } 119 | 120 | .puzzle__item.opened .puzzle__item-second { 121 | transform: rotateY(0); 122 | } 123 | 124 | .puzzle__item.opened .puzzle__item-first { 125 | transform: rotateY(180deg); 126 | } 127 | 128 | .puzzle__message { 129 | display: none; 130 | } 131 | 132 | @media screen and (max-width: 767px) { 133 | .puzzle__answer { 134 | font-size: 14px; 135 | line-height: 17px; 136 | align-self: center; 137 | padding-top: 3px; 138 | } 139 | 140 | .puzzle__comment { 141 | margin-bottom: 16px; 142 | margin-left: 4px; 143 | } 144 | 145 | .puzzle__comment-text { 146 | font-size: 12px; 147 | line-height: 18px; 148 | } 149 | 150 | .puzzle__comment-false-js { 151 | padding-left: 34px; 152 | } 153 | 154 | .puzzle__progress-caption { 155 | font-size: 15px; 156 | line-height: 18px; 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Пазл 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |

Puzzle

27 |
28 |
29 | Выбор категории 30 | arrow 35 |
36 | 37 |
38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
50 |
51 | 52 |
53 |

Название теста

54 | 55 |
56 |
11%
57 |
58 |
59 |
60 | 61 |
62 | Пройдено 63 |
64 | 1/9 65 |
66 |
67 |
68 | 69 |
70 |

Нажимайте на любой кусочек пазла и отвечайте на вопросы

71 |

Title

72 |
73 |
74 |
75 |
76 |
77 |
78 |

Поздравляем, вы справились!

79 | 80 |
81 |
82 |

Получите приз!

83 | 84 |

Теперь вы можете скачать приз — анимированные стикеры для Telegram

85 | 86 | 87 | 88 | Cкачать 89 | 90 |
91 | 92 | 93 |
94 | 95 | 101 |
102 |
103 | 104 | 105 | 106 | 109 | 110 | 113 | 114 | 115 | -------------------------------------------------------------------------------- /tilt.js: -------------------------------------------------------------------------------- 1 | var VanillaTilt=function(){"use strict";class t{constructor(e,i={}){if(!(e instanceof Node))throw"Can't initialize VanillaTilt because "+e+" is not a Node.";this.width=null,this.height=null,this.clientWidth=null,this.clientHeight=null,this.left=null,this.top=null,this.gammazero=null,this.betazero=null,this.lastgammazero=null,this.lastbetazero=null,this.transitionTimeout=null,this.updateCall=null,this.event=null,this.updateBind=this.update.bind(this),this.resetBind=this.reset.bind(this),this.element=e,this.settings=this.extendSettings(i),this.reverse=this.settings.reverse?-1:1,this.glare=t.isSettingTrue(this.settings.glare),this.glarePrerender=t.isSettingTrue(this.settings["glare-prerender"]),this.fullPageListening=t.isSettingTrue(this.settings["full-page-listening"]),this.gyroscope=t.isSettingTrue(this.settings.gyroscope),this.gyroscopeSamples=this.settings.gyroscopeSamples,this.elementListener=this.getElementListener(),this.glare&&this.prepareGlare(),this.fullPageListening&&this.updateClientSize(),this.addEventListeners(),this.reset(),this.updateInitialPosition()}static isSettingTrue(t){return""===t||!0===t||1===t}getElementListener(){if(this.fullPageListening)return window.document;if("string"==typeof this.settings["mouse-event-element"]){const t=document.querySelector(this.settings["mouse-event-element"]);if(t)return t}return this.settings["mouse-event-element"]instanceof Node?this.settings["mouse-event-element"]:this.element}addEventListeners(){this.onMouseEnterBind=this.onMouseEnter.bind(this),this.onMouseMoveBind=this.onMouseMove.bind(this),this.onMouseLeaveBind=this.onMouseLeave.bind(this),this.onWindowResizeBind=this.onWindowResize.bind(this),this.onDeviceOrientationBind=this.onDeviceOrientation.bind(this),this.elementListener.addEventListener("mouseenter",this.onMouseEnterBind),this.elementListener.addEventListener("mouseleave",this.onMouseLeaveBind),this.elementListener.addEventListener("mousemove",this.onMouseMoveBind),(this.glare||this.fullPageListening)&&window.addEventListener("resize",this.onWindowResizeBind),this.gyroscope&&window.addEventListener("deviceorientation",this.onDeviceOrientationBind)}removeEventListeners(){this.elementListener.removeEventListener("mouseenter",this.onMouseEnterBind),this.elementListener.removeEventListener("mouseleave",this.onMouseLeaveBind),this.elementListener.removeEventListener("mousemove",this.onMouseMoveBind),this.gyroscope&&window.removeEventListener("deviceorientation",this.onDeviceOrientationBind),(this.glare||this.fullPageListening)&&window.removeEventListener("resize",this.onWindowResizeBind)}destroy(){clearTimeout(this.transitionTimeout),null!==this.updateCall&&cancelAnimationFrame(this.updateCall),this.reset(),this.removeEventListeners(),this.element.vanillaTilt=null,delete this.element.vanillaTilt,this.element=null}onDeviceOrientation(t){if(null===t.gamma||null===t.beta)return;this.updateElementPosition(),this.gyroscopeSamples>0&&(this.lastgammazero=this.gammazero,this.lastbetazero=this.betazero,null===this.gammazero?(this.gammazero=t.gamma,this.betazero=t.beta):(this.gammazero=(t.gamma+this.lastgammazero)/2,this.betazero=(t.beta+this.lastbetazero)/2),this.gyroscopeSamples-=1);const e=this.settings.gyroscopeMaxAngleX-this.settings.gyroscopeMinAngleX,i=this.settings.gyroscopeMaxAngleY-this.settings.gyroscopeMinAngleY,s=e/this.width,n=i/this.height,l=(t.gamma-(this.settings.gyroscopeMinAngleX+this.gammazero))/s,a=(t.beta-(this.settings.gyroscopeMinAngleY+this.betazero))/n;null!==this.updateCall&&cancelAnimationFrame(this.updateCall),this.event={clientX:l+this.left,clientY:a+this.top},this.updateCall=requestAnimationFrame(this.updateBind)}onMouseEnter(){this.updateElementPosition(),this.element.style.willChange="transform",this.setTransition()}onMouseMove(t){null!==this.updateCall&&cancelAnimationFrame(this.updateCall),this.event=t,this.updateCall=requestAnimationFrame(this.updateBind)}onMouseLeave(){this.setTransition(),this.settings.reset&&requestAnimationFrame(this.resetBind)}reset(){this.event={clientX:this.left+this.width/2,clientY:this.top+this.height/2},this.element&&this.element.style&&(this.element.style.transform=`perspective(${this.settings.perspective}px) `+"rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)"),this.resetGlare()}resetGlare(){this.glare&&(this.glareElement.style.transform="rotate(180deg) translate(-50%, -50%)",this.glareElement.style.opacity="0")}updateInitialPosition(){if(0===this.settings.startX&&0===this.settings.startY)return;this.onMouseEnter(),this.fullPageListening?this.event={clientX:(this.settings.startX+this.settings.max)/(2*this.settings.max)*this.clientWidth,clientY:(this.settings.startY+this.settings.max)/(2*this.settings.max)*this.clientHeight}:this.event={clientX:this.left+(this.settings.startX+this.settings.max)/(2*this.settings.max)*this.width,clientY:this.top+(this.settings.startY+this.settings.max)/(2*this.settings.max)*this.height};let t=this.settings.scale;this.settings.scale=1,this.update(),this.settings.scale=t,this.resetGlare()}getValues(){let t,e;return this.fullPageListening?(t=this.event.clientX/this.clientWidth,e=this.event.clientY/this.clientHeight):(t=(this.event.clientX-this.left)/this.width,e=(this.event.clientY-this.top)/this.height),t=Math.min(Math.max(t,0),1),e=Math.min(Math.max(e,0),1),{tiltX:(this.reverse*(this.settings.max-t*this.settings.max*2)).toFixed(2),tiltY:(this.reverse*(e*this.settings.max*2-this.settings.max)).toFixed(2),percentageX:100*t,percentageY:100*e,angle:Math.atan2(this.event.clientX-(this.left+this.width/2),-(this.event.clientY-(this.top+this.height/2)))*(180/Math.PI)}}updateElementPosition(){let t=this.element.getBoundingClientRect();this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.left=t.left,this.top=t.top}update(){let t=this.getValues();this.element.style.transform="perspective("+this.settings.perspective+"px) rotateX("+("x"===this.settings.axis?0:t.tiltY)+"deg) rotateY("+("y"===this.settings.axis?0:t.tiltX)+"deg) scale3d("+this.settings.scale+", "+this.settings.scale+", "+this.settings.scale+")",this.glare&&(this.glareElement.style.transform=`rotate(${t.angle}deg) translate(-50%, -50%)`,this.glareElement.style.opacity=`${t.percentageY*this.settings["max-glare"]/100}`),this.element.dispatchEvent(new CustomEvent("tiltChange",{detail:t})),this.updateCall=null}prepareGlare(){if(!this.glarePrerender){const t=document.createElement("div");t.classList.add("js-tilt-glare");const e=document.createElement("div");e.classList.add("js-tilt-glare-inner"),t.appendChild(e),this.element.appendChild(t)}this.glareElementWrapper=this.element.querySelector(".js-tilt-glare"),this.glareElement=this.element.querySelector(".js-tilt-glare-inner"),this.glarePrerender||(Object.assign(this.glareElementWrapper.style,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",overflow:"hidden","pointer-events":"none"}),Object.assign(this.glareElement.style,{position:"absolute",top:"50%",left:"50%","pointer-events":"none","background-image":"linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)",transform:"rotate(180deg) translate(-50%, -50%)","transform-origin":"0% 0%",opacity:"0"}),this.updateGlareSize())}updateGlareSize(){if(this.glare){const t=2*(this.element.offsetWidth>this.element.offsetHeight?this.element.offsetWidth:this.element.offsetHeight);Object.assign(this.glareElement.style,{width:`${t}px`,height:`${t}px`})}}updateClientSize(){this.clientWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,this.clientHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}onWindowResize(){this.updateGlareSize(),this.updateClientSize()}setTransition(){clearTimeout(this.transitionTimeout),this.element.style.transition=this.settings.speed+"ms "+this.settings.easing,this.glare&&(this.glareElement.style.transition=`opacity ${this.settings.speed}ms ${this.settings.easing}`),this.transitionTimeout=setTimeout(()=>{this.element.style.transition="",this.glare&&(this.glareElement.style.transition="")},this.settings.speed)}extendSettings(t){let e={reverse:!1,max:15,startX:0,startY:0,perspective:1e3,easing:"cubic-bezier(.03,.98,.52,.99)",scale:1,speed:300,transition:!0,axis:null,glare:!1,"max-glare":1,"glare-prerender":!1,"full-page-listening":!1,"mouse-event-element":null,reset:!0,gyroscope:!0,gyroscopeMinAngleX:-45,gyroscopeMaxAngleX:45,gyroscopeMinAngleY:-45,gyroscopeMaxAngleY:45,gyroscopeSamples:10},i={};for(var s in e)if(s in t)i[s]=t[s];else if(this.element.hasAttribute("data-tilt-"+s)){let t=this.element.getAttribute("data-tilt-"+s);try{i[s]=JSON.parse(t)}catch(e){i[s]=t}}else i[s]=e[s];return i}static init(e,i){e instanceof Node&&(e=[e]),e instanceof NodeList&&(e=[].slice.call(e)),e instanceof Array&&e.forEach(e=>{"vanillaTilt"in e||(e.vanillaTilt=new t(e,i))})}}return"undefined"!=typeof document&&(window.VanillaTilt=t,t.init(document.querySelectorAll("[data-tilt]"))),t}(); -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | const getQuiz = async (type = 27) => { 2 | const url = `https://opentdb.com/api.php?amount=30&category=${type}&type=multiple` 3 | const response = await fetch(url, { 4 | method: 'GET', 5 | mode: 'cors', 6 | cache: 'no-cache', 7 | credentials: 'same-origin', 8 | redirect: 'follow', 9 | referrerPolicy: 'no-referrer' 10 | }) 11 | const data = await response.json() 12 | return data.results 13 | } 14 | 15 | const shuffle = array => array.sort(() => Math.random() - 0.5) 16 | 17 | const puzzleStart = async id => { 18 | const quiz = (await getQuiz(id)).slice(0, 8) 19 | shuffle(quiz) 20 | 21 | let questionClass = 'block' 22 | let cardClass = 'active' 23 | const puzzleItemsHTML = document.querySelector('.puzzle__items-js') 24 | puzzleItemsHTML.innerHTML = ` 25 |
36 |
37 |
0
38 |
39 |
40 | puzzle item 45 |
46 |
47 | ` 48 | 49 | for (let i = 0; i < quiz.length; i++) { 50 | let answers = '' 51 | const currentQuiz = quiz[i] 52 | const answersArray = [ 53 | currentQuiz.correct_answer, 54 | currentQuiz.incorrect_answers[0], 55 | currentQuiz.incorrect_answers[1] 56 | ] 57 | shuffle(answersArray) 58 | 59 | if (i !== 0) { 60 | questionClass = 'hidden' 61 | cardClass = '' 62 | } 63 | 64 | for (let j = 0; j < 3; j++) { 65 | const answer = answersArray[j] 66 | 67 | const answerHTML = `` 76 | 77 | answers += answerHTML 78 | } 79 | 80 | const questionHTML = ` 81 |
82 |
83 |
84 | Вопрос ${i + 1} 85 |
86 |
87 | ${currentQuiz.question} 88 |
89 |
90 |
91 |
92 | ${answers} 93 |
94 |
95 |
` 96 | const questionsHTML = document.querySelector('.puzzle__questions') 97 | questionsHTML.innerHTML += questionHTML 98 | const animations = [ 99 | 'fade-up', 100 | 'fade-down', 101 | 'fade-left', 102 | 'fade-right', 103 | 'fade-up-right', 104 | 'fade-up-left', 105 | 'fade-down-right', 106 | 'fade-down-left' 107 | ] 108 | 109 | const puzzleItemHTML = ` 110 |
122 |
125 |
${i + 1}
126 |
127 |
131 | puzzle item 136 |
137 |
` 138 | puzzleItemsHTML.innerHTML += puzzleItemHTML 139 | } 140 | 141 | let correctAnswersCounter = 1 142 | document.querySelectorAll('.puzzle__caption-js').forEach(item => { 143 | item.textContent = `${quiz[0].category}` 144 | }) 145 | document.querySelectorAll('.puzzle__input').forEach(item => { 146 | item.addEventListener('change', async e => { 147 | const question = e.target.closest('.puzzle__question-container') 148 | const answer = e.target.closest('.puzzle__input-container-js') 149 | const question_id = e.target.closest('.puzzle__question-container') 150 | .dataset.id 151 | 152 | const comment = document.createElement('div') 153 | const comments = question.querySelectorAll('.puzzle__comment') 154 | comments.forEach(comment => comment.remove()) 155 | const falseComments = question.querySelectorAll( 156 | '.puzzle__comment-false-js' 157 | ) 158 | falseComments.forEach(item => item.remove()) 159 | const inputHTML = answer.querySelector('.puzzle__input-check') 160 | const inputsContainer = question.querySelectorAll( 161 | '.puzzle__input-container-js' 162 | ) 163 | 164 | if (answer.textContent.trim() == quiz[question_id].correct_answer) { 165 | correctAnswersCounter++ 166 | const correctAnswersCounterHTML = document.querySelector( 167 | '.puzzle__result-num' 168 | ) 169 | correctAnswersCounterHTML.textContent = correctAnswersCounter 170 | 171 | const correctAnswersPercentHTML = document.querySelector( 172 | '.puzzle__progress-caption-js' 173 | ) 174 | correctAnswersPercentHTML.textContent = `${Math.round( 175 | (correctAnswersCounter * 100) / 9 176 | )}%` 177 | 178 | const progressHTML = document.querySelector( 179 | '.puzzle__progress-bar-green-js' 180 | ) 181 | progressHTML.style.width = `${Math.round( 182 | (correctAnswersCounter * 100) / 9 183 | )}%` 184 | 185 | inputHTML.innerHTML = 186 | '' 187 | 188 | comment.classList.add('puzzle__comment') 189 | comment.innerHTML = ` 190 |
191 | Верно! 192 |
193 |
194 | Вопрос уровня ${quiz[question_id].difficulty} 195 |
` 196 | 197 | answer.classList.add('puzzle__input-container-correct') 198 | 199 | inputsContainer.forEach(input => 200 | input.classList.add('pointer-events-none') 201 | ) 202 | 203 | const puzzleItem = document.querySelector( 204 | `.puzzle__item[data-id="${question_id}"]` 205 | ) 206 | puzzleItem.classList.add('opened') 207 | 208 | if (correctAnswersCounter == 9) { 209 | document.querySelector('.puzzle__result-all').style.color = '#061b36' 210 | } 211 | const puzzleItemsOpened = document.querySelectorAll( 212 | '.puzzle__item.opened' 213 | ) 214 | if (puzzleItemsOpened.length == 9) { 215 | setTimeout(() => { 216 | document.querySelector('.puzzle__buttons-js').style.display = 'none' 217 | document.querySelector( 218 | '.puzzle__buttons-js' 219 | ).nextElementSibling.style.display = 'none' 220 | document.querySelector('.puzzle__handle').style.display = 'none' 221 | document.querySelector('.puzzle__message').style.display = 'block' 222 | }, 1000) 223 | } 224 | } else { 225 | inputHTML.innerHTML = 226 | '' 227 | comment.innerText = `Попробуй еще раз!` 228 | comment.classList.add('puzzle__comment-false-js') 229 | inputsContainer.forEach(item => item.classList.remove('text-red-600')) 230 | answer.classList.add('text-red-600') 231 | } 232 | answer.after(comment) 233 | }) 234 | }) 235 | 236 | const puzzleItems = document.querySelectorAll('.puzzle__item') 237 | puzzleItems.forEach(puzzleItem => { 238 | puzzleItem.onclick = e => { 239 | if (!e.currentTarget.classList.contains('opened')) { 240 | const id = e.currentTarget.dataset.id 241 | const questions = document.querySelectorAll( 242 | '.puzzle__question-container' 243 | ) 244 | const question = document.querySelector( 245 | `.puzzle__question-container[data-id="${id}"]` 246 | ) 247 | const puzzleItemsFront = document.querySelectorAll( 248 | '.puzzle__item-first' 249 | ) 250 | 251 | questions.forEach(question => { 252 | question.classList.remove('block') 253 | question.classList.add('hidden') 254 | }) 255 | question.classList.remove('hidden') 256 | question.classList.add('block') 257 | puzzleItemsFront.forEach(item => item.classList.remove('active')) 258 | 259 | e.currentTarget 260 | .querySelector('.puzzle__item-first') 261 | .classList.add('active') 262 | } 263 | } 264 | }) 265 | 266 | document.querySelector('h2').addEventListener('dblclick', () => { 267 | document.querySelectorAll('.puzzle__item').forEach(item => { 268 | item.classList.add('opened') 269 | }) 270 | }) 271 | 272 | setTimeout(() => { 273 | VanillaTilt.init(document.querySelectorAll("[data-tilt]")); 274 | 275 | puzzleItems.forEach(puzzleItem => { 276 | const puzzleItems = document.querySelectorAll('.puzzle__item-first') 277 | 278 | puzzleItem.onmousemove = e => { 279 | const { left, top } = e.currentTarget.getBoundingClientRect() 280 | const x = e.clientX - left 281 | const y = e.clientY - top 282 | puzzleItem.style.setProperty('--x', `${x}px`) 283 | puzzleItem.style.setProperty('--y', `${y}px`) 284 | } 285 | }) 286 | }, 1000); 287 | } 288 | 289 | const reset = () => { 290 | document.querySelector('.puzzle__questions').innerHTML = '' 291 | document.querySelector('.puzzle__result-num').textContent = 1 292 | document.querySelector('.puzzle__progress-caption-js').textContent = `11%` 293 | document.querySelector('.puzzle__progress-bar-green-js').style.width = `11%` 294 | 295 | if (document.querySelectorAll('.puzzle__item.opened').length > 1) { 296 | document.querySelectorAll('.puzzle__item').forEach(item => { 297 | item.classList.remove('opened') 298 | }) 299 | } 300 | } 301 | 302 | document.addEventListener('DOMContentLoaded', async () => { 303 | puzzleStart() 304 | 305 | document.querySelectorAll('.btn-choose').forEach(button => { 306 | button.onclick = () => { 307 | reset() 308 | puzzleStart(button.dataset.id) 309 | } 310 | }) 311 | 312 | document.querySelector('.btn-caption-js').onclick = () => { 313 | const buttons = document.querySelector('.btn-group'); 314 | const height = buttons.scrollHeight; 315 | buttons.style.setProperty('--max-height', `${height}px`); 316 | 317 | const button = document.querySelector('.puzzle__buttons-js'); 318 | button.classList.toggle('buttons-wrap_active'); 319 | } 320 | 321 | document.onmouseup = e => { 322 | if (!document.querySelector('.puzzle__buttons-js').contains(e.target)) { 323 | document 324 | .querySelector('.puzzle__buttons-js') 325 | .classList.remove('buttons-wrap_active') 326 | } 327 | } 328 | }) 329 | -------------------------------------------------------------------------------- /aos.css: -------------------------------------------------------------------------------- 1 | [data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)} 2 | -------------------------------------------------------------------------------- /aos.js: -------------------------------------------------------------------------------- 1 | !(function (e, t) { 2 | 'object' == typeof exports && 'object' == typeof module 3 | ? (module.exports = t()) 4 | : 'function' == typeof define && define.amd 5 | ? define([], t) 6 | : 'object' == typeof exports 7 | ? (exports.AOS = t()) 8 | : (e.AOS = t()) 9 | })(this, function () { 10 | return (function (e) { 11 | function t(o) { 12 | if (n[o]) return n[o].exports 13 | var i = (n[o] = { exports: {}, id: o, loaded: !1 }) 14 | return e[o].call(i.exports, i, i.exports, t), (i.loaded = !0), i.exports 15 | } 16 | var n = {} 17 | return (t.m = e), (t.c = n), (t.p = 'dist/'), t(0) 18 | })([ 19 | function (e, t, n) { 20 | 'use strict' 21 | function o(e) { 22 | return e && e.__esModule ? e : { default: e } 23 | } 24 | var i = 25 | Object.assign || 26 | function (e) { 27 | for (var t = 1; t < arguments.length; t++) { 28 | var n = arguments[t] 29 | for (var o in n) 30 | Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]) 31 | } 32 | return e 33 | }, 34 | r = n(1), 35 | a = (o(r), n(6)), 36 | u = o(a), 37 | c = n(7), 38 | s = o(c), 39 | f = n(8), 40 | d = o(f), 41 | l = n(9), 42 | p = o(l), 43 | m = n(10), 44 | b = o(m), 45 | v = n(11), 46 | y = o(v), 47 | g = n(14), 48 | h = o(g), 49 | w = [], 50 | k = !1, 51 | x = { 52 | offset: 120, 53 | delay: 0, 54 | easing: 'ease', 55 | duration: 400, 56 | disable: !1, 57 | once: !1, 58 | startEvent: 'DOMContentLoaded', 59 | throttleDelay: 99, 60 | debounceDelay: 50, 61 | disableMutationObserver: !1 62 | }, 63 | j = function () { 64 | var e = 65 | arguments.length > 0 && void 0 !== arguments[0] && arguments[0] 66 | if ((e && (k = !0), k)) 67 | return (w = (0, y.default)(w, x)), (0, b.default)(w, x.once), w 68 | }, 69 | O = function () { 70 | ;(w = (0, h.default)()), j() 71 | }, 72 | M = function () { 73 | w.forEach(function (e, t) { 74 | e.node.removeAttribute('data-aos'), 75 | e.node.removeAttribute('data-aos-easing'), 76 | e.node.removeAttribute('data-aos-duration'), 77 | e.node.removeAttribute('data-aos-delay') 78 | }) 79 | }, 80 | S = function (e) { 81 | return ( 82 | e === !0 || 83 | ('mobile' === e && p.default.mobile()) || 84 | ('phone' === e && p.default.phone()) || 85 | ('tablet' === e && p.default.tablet()) || 86 | ('function' == typeof e && e() === !0) 87 | ) 88 | }, 89 | _ = function (e) { 90 | ;(x = i(x, e)), (w = (0, h.default)()) 91 | var t = document.all && !window.atob 92 | return S(x.disable) || t 93 | ? M() 94 | : (x.disableMutationObserver || 95 | d.default.isSupported() || 96 | (console.info( 97 | '\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n ' 98 | ), 99 | (x.disableMutationObserver = !0)), 100 | document 101 | .querySelector('body') 102 | .setAttribute('data-aos-easing', x.easing), 103 | document 104 | .querySelector('body') 105 | .setAttribute('data-aos-duration', x.duration), 106 | document 107 | .querySelector('body') 108 | .setAttribute('data-aos-delay', x.delay), 109 | 'DOMContentLoaded' === x.startEvent && 110 | ['complete', 'interactive'].indexOf(document.readyState) > -1 111 | ? j(!0) 112 | : 'load' === x.startEvent 113 | ? window.addEventListener(x.startEvent, function () { 114 | j(!0) 115 | }) 116 | : document.addEventListener(x.startEvent, function () { 117 | j(!0) 118 | }), 119 | window.addEventListener( 120 | 'resize', 121 | (0, s.default)(j, x.debounceDelay, !0) 122 | ), 123 | window.addEventListener( 124 | 'orientationchange', 125 | (0, s.default)(j, x.debounceDelay, !0) 126 | ), 127 | window.addEventListener( 128 | 'scroll', 129 | (0, u.default)(function () { 130 | ;(0, b.default)(w, x.once) 131 | }, x.throttleDelay) 132 | ), 133 | x.disableMutationObserver || d.default.ready('[data-aos]', O), 134 | w) 135 | } 136 | e.exports = { init: _, refresh: j, refreshHard: O } 137 | }, 138 | function (e, t) {}, 139 | , 140 | , 141 | , 142 | , 143 | function (e, t) { 144 | ;(function (t) { 145 | 'use strict' 146 | function n(e, t, n) { 147 | function o(t) { 148 | var n = b, 149 | o = v 150 | return (b = v = void 0), (k = t), (g = e.apply(o, n)) 151 | } 152 | function r(e) { 153 | return (k = e), (h = setTimeout(f, t)), M ? o(e) : g 154 | } 155 | function a(e) { 156 | var n = e - w, 157 | o = e - k, 158 | i = t - n 159 | return S ? j(i, y - o) : i 160 | } 161 | function c(e) { 162 | var n = e - w, 163 | o = e - k 164 | return void 0 === w || n >= t || n < 0 || (S && o >= y) 165 | } 166 | function f() { 167 | var e = O() 168 | return c(e) ? d(e) : void (h = setTimeout(f, a(e))) 169 | } 170 | function d(e) { 171 | return (h = void 0), _ && b ? o(e) : ((b = v = void 0), g) 172 | } 173 | function l() { 174 | void 0 !== h && clearTimeout(h), (k = 0), (b = w = v = h = void 0) 175 | } 176 | function p() { 177 | return void 0 === h ? g : d(O()) 178 | } 179 | function m() { 180 | var e = O(), 181 | n = c(e) 182 | if (((b = arguments), (v = this), (w = e), n)) { 183 | if (void 0 === h) return r(w) 184 | if (S) return (h = setTimeout(f, t)), o(w) 185 | } 186 | return void 0 === h && (h = setTimeout(f, t)), g 187 | } 188 | var b, 189 | v, 190 | y, 191 | g, 192 | h, 193 | w, 194 | k = 0, 195 | M = !1, 196 | S = !1, 197 | _ = !0 198 | if ('function' != typeof e) throw new TypeError(s) 199 | return ( 200 | (t = u(t) || 0), 201 | i(n) && 202 | ((M = !!n.leading), 203 | (S = 'maxWait' in n), 204 | (y = S ? x(u(n.maxWait) || 0, t) : y), 205 | (_ = 'trailing' in n ? !!n.trailing : _)), 206 | (m.cancel = l), 207 | (m.flush = p), 208 | m 209 | ) 210 | } 211 | function o(e, t, o) { 212 | var r = !0, 213 | a = !0 214 | if ('function' != typeof e) throw new TypeError(s) 215 | return ( 216 | i(o) && 217 | ((r = 'leading' in o ? !!o.leading : r), 218 | (a = 'trailing' in o ? !!o.trailing : a)), 219 | n(e, t, { leading: r, maxWait: t, trailing: a }) 220 | ) 221 | } 222 | function i(e) { 223 | var t = 'undefined' == typeof e ? 'undefined' : c(e) 224 | return !!e && ('object' == t || 'function' == t) 225 | } 226 | function r(e) { 227 | return ( 228 | !!e && 'object' == ('undefined' == typeof e ? 'undefined' : c(e)) 229 | ) 230 | } 231 | function a(e) { 232 | return ( 233 | 'symbol' == ('undefined' == typeof e ? 'undefined' : c(e)) || 234 | (r(e) && k.call(e) == d) 235 | ) 236 | } 237 | function u(e) { 238 | if ('number' == typeof e) return e 239 | if (a(e)) return f 240 | if (i(e)) { 241 | var t = 'function' == typeof e.valueOf ? e.valueOf() : e 242 | e = i(t) ? t + '' : t 243 | } 244 | if ('string' != typeof e) return 0 === e ? e : +e 245 | e = e.replace(l, '') 246 | var n = m.test(e) 247 | return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e 248 | } 249 | var c = 250 | 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator 251 | ? function (e) { 252 | return typeof e 253 | } 254 | : function (e) { 255 | return e && 256 | 'function' == typeof Symbol && 257 | e.constructor === Symbol && 258 | e !== Symbol.prototype 259 | ? 'symbol' 260 | : typeof e 261 | }, 262 | s = 'Expected a function', 263 | f = NaN, 264 | d = '[object Symbol]', 265 | l = /^\s+|\s+$/g, 266 | p = /^[-+]0x[0-9a-f]+$/i, 267 | m = /^0b[01]+$/i, 268 | b = /^0o[0-7]+$/i, 269 | v = parseInt, 270 | y = 271 | 'object' == ('undefined' == typeof t ? 'undefined' : c(t)) && 272 | t && 273 | t.Object === Object && 274 | t, 275 | g = 276 | 'object' == ('undefined' == typeof self ? 'undefined' : c(self)) && 277 | self && 278 | self.Object === Object && 279 | self, 280 | h = y || g || Function('return this')(), 281 | w = Object.prototype, 282 | k = w.toString, 283 | x = Math.max, 284 | j = Math.min, 285 | O = function () { 286 | return h.Date.now() 287 | } 288 | e.exports = o 289 | }.call( 290 | t, 291 | (function () { 292 | return this 293 | })() 294 | )) 295 | }, 296 | function (e, t) { 297 | ;(function (t) { 298 | 'use strict' 299 | function n(e, t, n) { 300 | function i(t) { 301 | var n = b, 302 | o = v 303 | return (b = v = void 0), (O = t), (g = e.apply(o, n)) 304 | } 305 | function r(e) { 306 | return (O = e), (h = setTimeout(f, t)), M ? i(e) : g 307 | } 308 | function u(e) { 309 | var n = e - w, 310 | o = e - O, 311 | i = t - n 312 | return S ? x(i, y - o) : i 313 | } 314 | function s(e) { 315 | var n = e - w, 316 | o = e - O 317 | return void 0 === w || n >= t || n < 0 || (S && o >= y) 318 | } 319 | function f() { 320 | var e = j() 321 | return s(e) ? d(e) : void (h = setTimeout(f, u(e))) 322 | } 323 | function d(e) { 324 | return (h = void 0), _ && b ? i(e) : ((b = v = void 0), g) 325 | } 326 | function l() { 327 | void 0 !== h && clearTimeout(h), (O = 0), (b = w = v = h = void 0) 328 | } 329 | function p() { 330 | return void 0 === h ? g : d(j()) 331 | } 332 | function m() { 333 | var e = j(), 334 | n = s(e) 335 | if (((b = arguments), (v = this), (w = e), n)) { 336 | if (void 0 === h) return r(w) 337 | if (S) return (h = setTimeout(f, t)), i(w) 338 | } 339 | return void 0 === h && (h = setTimeout(f, t)), g 340 | } 341 | var b, 342 | v, 343 | y, 344 | g, 345 | h, 346 | w, 347 | O = 0, 348 | M = !1, 349 | S = !1, 350 | _ = !0 351 | if ('function' != typeof e) throw new TypeError(c) 352 | return ( 353 | (t = a(t) || 0), 354 | o(n) && 355 | ((M = !!n.leading), 356 | (S = 'maxWait' in n), 357 | (y = S ? k(a(n.maxWait) || 0, t) : y), 358 | (_ = 'trailing' in n ? !!n.trailing : _)), 359 | (m.cancel = l), 360 | (m.flush = p), 361 | m 362 | ) 363 | } 364 | function o(e) { 365 | var t = 'undefined' == typeof e ? 'undefined' : u(e) 366 | return !!e && ('object' == t || 'function' == t) 367 | } 368 | function i(e) { 369 | return ( 370 | !!e && 'object' == ('undefined' == typeof e ? 'undefined' : u(e)) 371 | ) 372 | } 373 | function r(e) { 374 | return ( 375 | 'symbol' == ('undefined' == typeof e ? 'undefined' : u(e)) || 376 | (i(e) && w.call(e) == f) 377 | ) 378 | } 379 | function a(e) { 380 | if ('number' == typeof e) return e 381 | if (r(e)) return s 382 | if (o(e)) { 383 | var t = 'function' == typeof e.valueOf ? e.valueOf() : e 384 | e = o(t) ? t + '' : t 385 | } 386 | if ('string' != typeof e) return 0 === e ? e : +e 387 | e = e.replace(d, '') 388 | var n = p.test(e) 389 | return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e 390 | } 391 | var u = 392 | 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator 393 | ? function (e) { 394 | return typeof e 395 | } 396 | : function (e) { 397 | return e && 398 | 'function' == typeof Symbol && 399 | e.constructor === Symbol && 400 | e !== Symbol.prototype 401 | ? 'symbol' 402 | : typeof e 403 | }, 404 | c = 'Expected a function', 405 | s = NaN, 406 | f = '[object Symbol]', 407 | d = /^\s+|\s+$/g, 408 | l = /^[-+]0x[0-9a-f]+$/i, 409 | p = /^0b[01]+$/i, 410 | m = /^0o[0-7]+$/i, 411 | b = parseInt, 412 | v = 413 | 'object' == ('undefined' == typeof t ? 'undefined' : u(t)) && 414 | t && 415 | t.Object === Object && 416 | t, 417 | y = 418 | 'object' == ('undefined' == typeof self ? 'undefined' : u(self)) && 419 | self && 420 | self.Object === Object && 421 | self, 422 | g = v || y || Function('return this')(), 423 | h = Object.prototype, 424 | w = h.toString, 425 | k = Math.max, 426 | x = Math.min, 427 | j = function () { 428 | return g.Date.now() 429 | } 430 | e.exports = n 431 | }.call( 432 | t, 433 | (function () { 434 | return this 435 | })() 436 | )) 437 | }, 438 | function (e, t) { 439 | 'use strict' 440 | function n(e) { 441 | var t = void 0, 442 | o = void 0, 443 | i = void 0 444 | for (t = 0; t < e.length; t += 1) { 445 | if (((o = e[t]), o.dataset && o.dataset.aos)) return !0 446 | if ((i = o.children && n(o.children))) return !0 447 | } 448 | return !1 449 | } 450 | function o() { 451 | return ( 452 | window.MutationObserver || 453 | window.WebKitMutationObserver || 454 | window.MozMutationObserver 455 | ) 456 | } 457 | function i() { 458 | return !!o() 459 | } 460 | function r(e, t) { 461 | var n = window.document, 462 | i = o(), 463 | r = new i(a) 464 | ;(u = t), 465 | r.observe(n.documentElement, { 466 | childList: !0, 467 | subtree: !0, 468 | removedNodes: !0 469 | }) 470 | } 471 | function a(e) { 472 | e && 473 | e.forEach(function (e) { 474 | var t = Array.prototype.slice.call(e.addedNodes), 475 | o = Array.prototype.slice.call(e.removedNodes), 476 | i = t.concat(o) 477 | if (n(i)) return u() 478 | }) 479 | } 480 | Object.defineProperty(t, '__esModule', { value: !0 }) 481 | var u = function () {} 482 | t.default = { isSupported: i, ready: r } 483 | }, 484 | function (e, t) { 485 | 'use strict' 486 | function n(e, t) { 487 | if (!(e instanceof t)) 488 | throw new TypeError('Cannot call a class as a function') 489 | } 490 | function o() { 491 | return navigator.userAgent || navigator.vendor || window.opera || '' 492 | } 493 | Object.defineProperty(t, '__esModule', { value: !0 }) 494 | var i = (function () { 495 | function e(e, t) { 496 | for (var n = 0; n < t.length; n++) { 497 | var o = t[n] 498 | ;(o.enumerable = o.enumerable || !1), 499 | (o.configurable = !0), 500 | 'value' in o && (o.writable = !0), 501 | Object.defineProperty(e, o.key, o) 502 | } 503 | } 504 | return function (t, n, o) { 505 | return n && e(t.prototype, n), o && e(t, o), t 506 | } 507 | })(), 508 | r = 509 | /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, 510 | a = 511 | /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, 512 | u = 513 | /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, 514 | c = 515 | /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, 516 | s = (function () { 517 | function e() { 518 | n(this, e) 519 | } 520 | return ( 521 | i(e, [ 522 | { 523 | key: 'phone', 524 | value: function () { 525 | var e = o() 526 | return !(!r.test(e) && !a.test(e.substr(0, 4))) 527 | } 528 | }, 529 | { 530 | key: 'mobile', 531 | value: function () { 532 | var e = o() 533 | return !(!u.test(e) && !c.test(e.substr(0, 4))) 534 | } 535 | }, 536 | { 537 | key: 'tablet', 538 | value: function () { 539 | return this.mobile() && !this.phone() 540 | } 541 | } 542 | ]), 543 | e 544 | ) 545 | })() 546 | t.default = new s() 547 | }, 548 | function (e, t) { 549 | 'use strict' 550 | Object.defineProperty(t, '__esModule', { value: !0 }) 551 | var n = function (e, t, n) { 552 | var o = e.node.getAttribute('data-aos-once') 553 | t > e.position 554 | ? e.node.classList.add('aos-animate') 555 | : 'undefined' != typeof o && 556 | ('false' === o || (!n && 'true' !== o)) && 557 | e.node.classList.remove('aos-animate') 558 | }, 559 | o = function (e, t) { 560 | var o = window.pageYOffset, 561 | i = window.innerHeight 562 | e.forEach(function (e, r) { 563 | n(e, i + o, t) 564 | }) 565 | } 566 | t.default = o 567 | }, 568 | function (e, t, n) { 569 | 'use strict' 570 | function o(e) { 571 | return e && e.__esModule ? e : { default: e } 572 | } 573 | Object.defineProperty(t, '__esModule', { value: !0 }) 574 | var i = n(12), 575 | r = o(i), 576 | a = function (e, t) { 577 | return ( 578 | e.forEach(function (e, n) { 579 | e.node.classList.add('aos-init'), 580 | (e.position = (0, r.default)(e.node, t.offset)) 581 | }), 582 | e 583 | ) 584 | } 585 | t.default = a 586 | }, 587 | function (e, t, n) { 588 | 'use strict' 589 | function o(e) { 590 | return e && e.__esModule ? e : { default: e } 591 | } 592 | Object.defineProperty(t, '__esModule', { value: !0 }) 593 | var i = n(13), 594 | r = o(i), 595 | a = function (e, t) { 596 | var n = 0, 597 | o = 0, 598 | i = window.innerHeight, 599 | a = { 600 | offset: e.getAttribute('data-aos-offset'), 601 | anchor: e.getAttribute('data-aos-anchor'), 602 | anchorPlacement: e.getAttribute('data-aos-anchor-placement') 603 | } 604 | switch ( 605 | (a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), 606 | a.anchor && 607 | document.querySelectorAll(a.anchor) && 608 | (e = document.querySelectorAll(a.anchor)[0]), 609 | (n = (0, r.default)(e).top), 610 | a.anchorPlacement) 611 | ) { 612 | case 'top-bottom': 613 | break 614 | case 'center-bottom': 615 | n += e.offsetHeight / 2 616 | break 617 | case 'bottom-bottom': 618 | n += e.offsetHeight 619 | break 620 | case 'top-center': 621 | n += i / 2 622 | break 623 | case 'bottom-center': 624 | n += i / 2 + e.offsetHeight 625 | break 626 | case 'center-center': 627 | n += i / 2 + e.offsetHeight / 2 628 | break 629 | case 'top-top': 630 | n += i 631 | break 632 | case 'bottom-top': 633 | n += e.offsetHeight + i 634 | break 635 | case 'center-top': 636 | n += e.offsetHeight / 2 + i 637 | } 638 | return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o 639 | } 640 | t.default = a 641 | }, 642 | function (e, t) { 643 | 'use strict' 644 | Object.defineProperty(t, '__esModule', { value: !0 }) 645 | var n = function (e) { 646 | for ( 647 | var t = 0, n = 0; 648 | e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop); 649 | 650 | ) 651 | (t += e.offsetLeft - ('BODY' != e.tagName ? e.scrollLeft : 0)), 652 | (n += e.offsetTop - ('BODY' != e.tagName ? e.scrollTop : 0)), 653 | (e = e.offsetParent) 654 | return { top: n, left: t } 655 | } 656 | t.default = n 657 | }, 658 | function (e, t) { 659 | 'use strict' 660 | Object.defineProperty(t, '__esModule', { value: !0 }) 661 | var n = function (e) { 662 | return ( 663 | (e = e || document.querySelectorAll('[data-aos]')), 664 | Array.prototype.map.call(e, function (e) { 665 | return { node: e } 666 | }) 667 | ) 668 | } 669 | t.default = n 670 | } 671 | ]) 672 | }) 673 | --------------------------------------------------------------------------------