@reimujs/aos 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,65 +1,47 @@
1
1
  # aos.js
2
2
 
3
- ![NPM License](https://img.shields.io/npm/l/%40reimujs%2Faos) ![NPM Version](https://img.shields.io/npm/v/%40reimujs%2Faos) ![npm bundle size](https://img.shields.io/bundlephobia/min/%40reimujs%2Faos)
3
+ ![NPM License](https://img.shields.io/npm/l/%40reimujs%2Faos) ![NPM Version](https://img.shields.io/npm/v/%40reimujs%2Faos) ![npm bundle size](https://img.shields.io/bundlephobia/min/%40reimujs%2Faos) [![Coverage Status](https://coveralls.io/repos/github/D-Sketon/aos.js/badge.svg?branch=main)](https://coveralls.io/github/D-Sketon/aos.js?branch=main)
4
4
 
5
- Animate on scroll library.
5
+ Animate on scroll library. A modern TypeScript rewrite of [michalsnik/aos](https://github.com/michalsnik/aos).
6
6
 
7
- Rewrite [aos](https://github.com/michalsnik/aos) using typescript.
7
+ ## Features
8
+
9
+ - Full TypeScript support with type definitions
10
+ - Smaller bundle size: 5.7KB + 23.3KB (vs 14.7KB + 26.1KB)
11
+ - Modern browser optimizations
12
+ - Custom scrollable container support
13
+ - Enhanced API with `destroy()` method
14
+ - Compatible with React, Vue, Angular, Astro, and more
8
15
 
9
16
  ## Installation
10
17
 
11
18
  ```bash
12
- npm install @reimujs/aos --save
19
+ npm install @reimujs/aos
13
20
  ```
14
21
 
15
- or
22
+ CDN:
16
23
 
17
24
  ```html
18
- <link
19
- rel="stylesheet"
20
- href="https://cdn.jsdelivr.net/npm/@reimujs/aos/dist/aos.css"
21
- />
25
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@reimujs/aos/dist/aos.css" />
22
26
  <script src="https://cdn.jsdelivr.net/npm/@reimujs/aos/dist/aos.umd.js"></script>
23
27
  ```
24
28
 
25
- ## Difference
26
-
27
- So what's the difference between aos and @reimujs/aos?
28
-
29
- - Typescript friendly
30
- - Smaller package size (from 14.7KB + 26.1KB to 6.5KB + 25.2KB)
31
- - Only support modern browsers
32
- - Support additional settings
33
- - Support additional API
34
-
35
- ### Additional settings
36
-
37
- #### container
38
-
39
- merge from [aos#223](https://github.com/michalsnik/aos/issues/223), you can set the container of AOS, accepts CSS Selector (e.g. ".my-awesome-container") or HTMLElement.
29
+ ## Usage
40
30
 
41
31
  ```typescript
42
- container: window, // AOS Container, accepts CSS Selector (e.g. ".my-awesome-container") or HTMLElement
43
- ```
44
-
45
- ### Additional API
46
-
47
- #### AOS.destroy()
32
+ import AOS from "@reimujs/aos";
33
+ import "@reimujs/aos/dist/aos.css";
48
34
 
49
- ```typescript
50
- function destroy(): void;
35
+ AOS.init();
51
36
  ```
52
37
 
53
- Remove all event listeners and disconnect MutationObserver.
54
-
55
- ## Usage
38
+ ```html
39
+ <div data-aos="fade-up">Animate on scroll</div>
40
+ ```
56
41
 
57
- Just same as aos@next. For more information, please visit [aos-how-to-use-it](https://github.com/michalsnik/aos?tab=readme-ov-file#-how-to-use-it).
42
+ ## Configuration
58
43
 
59
44
  ```typescript
60
- import AOS from "@reimujs/aos";
61
- import "@reimujs/aos/dist/aos.css";
62
-
63
45
  AOS.init({
64
46
  // Global settings:
65
47
  disable: false, // accepts following values: 'phone', 'tablet', 'mobile', boolean, expression or function
@@ -85,6 +67,38 @@ AOS.init({
85
67
  });
86
68
  ```
87
69
 
70
+ ## Animations
71
+
72
+ Available animation types:
73
+ - **Fade**: `fade`, `fade-up`, `fade-down`, `fade-left`, `fade-right`, `fade-up-right`, `fade-up-left`, `fade-down-right`, `fade-down-left`
74
+ - **Flip**: `flip-up`, `flip-down`, `flip-left`, `flip-right`
75
+ - **Slide**: `slide-up`, `slide-down`, `slide-left`, `slide-right`
76
+ - **Zoom**: `zoom-in`, `zoom-in-up`, `zoom-in-down`, `zoom-in-left`, `zoom-in-right`, `zoom-out`, `zoom-out-up`, `zoom-out-down`, `zoom-out-left`, `zoom-out-right`
77
+
78
+ Available easing functions:
79
+ - `linear`, `ease`, `ease-in`, `ease-out`, `ease-in-out`
80
+ - `ease-in-back`, `ease-out-back`, `ease-in-out-back`
81
+ - `ease-in-sine`, `ease-out-sine`, `ease-in-out-sine`
82
+ - `ease-in-quad`, `ease-out-quad`, `ease-in-out-quad`
83
+ - `ease-in-cubic`, `ease-out-cubic`, `ease-in-out-cubic`
84
+ - `ease-in-quart`, `ease-out-quart`, `ease-in-out-quart`
85
+
86
+ ## API
87
+
88
+ ### `AOS.init(options?)`
89
+ Initialize AOS with optional configuration.
90
+
91
+ ### `AOS.refresh()`
92
+ Recalculate element positions after dynamic content changes.
93
+
94
+ ### `AOS.refreshHard()`
95
+ Force complete reinitialization.
96
+
97
+ ### `AOS.destroy()`
98
+ Remove all event listeners and observers.
99
+
100
+ ## Framework Examples
101
+
88
102
  ### Next.js
89
103
 
90
104
  ```typescript
@@ -101,9 +115,9 @@ export default function Page() {
101
115
  }
102
116
  ```
103
117
 
104
- ### Nuxt
118
+ ### Vue / Nuxt
105
119
 
106
- ```html
120
+ ```vue
107
121
  <script lang="ts" setup>
108
122
  import { onMounted } from "vue";
109
123
  import "@reimujs/aos/dist/aos.css";
@@ -116,7 +130,7 @@ onMounted(() => {
116
130
  </script>
117
131
  ```
118
132
 
119
- ### Augular
133
+ ### Angular
120
134
 
121
135
  ```typescript
122
136
  import { Component, Inject, PLATFORM_ID } from '@angular/core';
@@ -125,9 +139,7 @@ import '@reimujs/aos/dist/aos.css';
125
139
 
126
140
  @Component({})
127
141
  export class AppComponent {
128
- constructor(
129
- @Inject(PLATFORM_ID) private platformId: Object
130
- ) {
142
+ constructor(@Inject(PLATFORM_ID) private platformId: Object) {
131
143
  if (isPlatformBrowser(this.platformId)) {
132
144
  import("@reimujs/aos").then(({ default: AOS }) => {
133
145
  AOS.init();
@@ -139,10 +151,11 @@ export class AppComponent {
139
151
 
140
152
  ### Astro
141
153
 
142
- ```html
154
+ ```astro
143
155
  ---
144
156
  import "@reimujs/aos/dist/aos.css";
145
157
  ---
158
+
146
159
  <script>
147
160
  import AOS from "@reimujs/aos";
148
161
  AOS.init();
@@ -150,5 +163,5 @@ import "@reimujs/aos/dist/aos.css";
150
163
  ```
151
164
 
152
165
  ## License
153
-
166
+
154
167
  MIT
package/dist/aos.cjs.js CHANGED
@@ -4,44 +4,35 @@ function debounce(func, delay) {
4
4
  let timeoutId;
5
5
  return (...args) => {
6
6
  clearTimeout(timeoutId);
7
- timeoutId = setTimeout(() => {
8
- func.apply(this, args);
9
- }, delay);
7
+ timeoutId = setTimeout(() => func(...args), delay);
10
8
  };
11
9
  }
12
10
  function throttle(func, limit) {
13
11
  let lastFunc, lastRan;
14
12
  return (...args) => {
15
- const context = this;
16
- if (!lastRan || Date.now() - lastRan >= limit) {
17
- func.apply(context, args);
18
- lastRan = Date.now();
13
+ const now = Date.now();
14
+ if (!lastRan || now - lastRan >= limit) {
15
+ func(...args);
16
+ lastRan = now;
19
17
  }
20
18
  else {
21
19
  clearTimeout(lastFunc);
22
20
  lastFunc = setTimeout(() => {
23
- func.apply(context, args);
21
+ func(...args);
24
22
  lastRan = Date.now();
25
- }, limit - (Date.now() - lastRan));
23
+ }, limit - (now - lastRan));
26
24
  }
27
25
  };
28
26
  }
29
27
 
30
28
  const phoneRe = /iphone|ipod|android.*mobile|windows phone|blackberry|opera mini|mobile|phone/i;
31
29
  const tabletRe = /ipad|android(?!.*mobile)|tablet|kindle/i;
32
- class Detector {
33
- userAgent = navigator.userAgent;
34
- phone() {
35
- return phoneRe.test(this.userAgent);
36
- }
37
- mobile() {
38
- return phoneRe.test(this.userAgent) || tabletRe.test(this.userAgent);
39
- }
40
- tablet() {
41
- return tabletRe.test(this.userAgent);
42
- }
43
- }
44
- var detect = new Detector();
30
+ const check = (regex) => regex.test(navigator.userAgent);
31
+ var detect = {
32
+ phone: () => check(phoneRe),
33
+ mobile: () => check(phoneRe) || check(tabletRe),
34
+ tablet: () => check(tabletRe),
35
+ };
45
36
 
46
37
  const resolveContainer = (container) => {
47
38
  if (container instanceof Element || container === window)
@@ -61,9 +52,8 @@ const getElementOffset = (container) => {
61
52
  : container.scrollTop;
62
53
  };
63
54
 
64
- const updateClasses = (node, classes, action = "add") => classes?.forEach((className) => node.classList[action](className));
65
- const fireEvent = (eventName, data) => document.dispatchEvent(new CustomEvent(eventName, {
66
- detail: data,
55
+ const fireEvent = (eventName, detail) => document.dispatchEvent(new CustomEvent(eventName, {
56
+ detail,
67
57
  }));
68
58
  const toggleClasses = (el, isVisible) => {
69
59
  if (el.animated === isVisible)
@@ -71,7 +61,7 @@ const toggleClasses = (el, isVisible) => {
71
61
  const { options, node } = el;
72
62
  const eventName = isVisible ? "aos:in" : "aos:out";
73
63
  const action = isVisible ? "add" : "remove";
74
- updateClasses(node, options.animatedClassNames, action);
64
+ options.animatedClassNames?.forEach((className) => node.classList[action](className));
75
65
  fireEvent(eventName, node);
76
66
  if (options.id) {
77
67
  fireEvent(`${eventName}:${options.id}`, node);
@@ -103,75 +93,50 @@ var getInlineOption = (el, key, fallback) => {
103
93
  return attr || fallback;
104
94
  };
105
95
 
106
- const getOffset = function (el, container) {
107
- let left = 0;
96
+ const getOffsetTop = function (el, container) {
108
97
  let top = 0;
109
98
  while (el) {
110
- left += el.offsetLeft - (el.tagName != "BODY" ? el.scrollLeft : 0);
111
99
  top += el.offsetTop - (el.tagName != "BODY" ? el.scrollTop : 0);
112
100
  el =
113
101
  el.offsetParent === container ? null : el.offsetParent;
114
102
  }
115
- return {
116
- top,
117
- left,
118
- };
103
+ return top;
104
+ };
105
+ const getAnchor = (el, container) => {
106
+ const anchor = getInlineOption(el, "anchor");
107
+ if (anchor) {
108
+ const queryResult = (container === window ? document : container).querySelector(anchor);
109
+ if (queryResult)
110
+ return queryResult;
111
+ }
112
+ return el;
119
113
  };
120
114
  const getPositionIn = (el, defaultOffset, defaultAnchorPlacement, container) => {
121
115
  const containerHeight = getElementHeight(container);
122
- const anchor = getInlineOption(el, "anchor");
123
116
  const inlineAnchorPlacement = getInlineOption(el, "anchor-placement");
124
117
  const additionalOffset = Number(getInlineOption(el, "offset", inlineAnchorPlacement ? 0 : defaultOffset));
125
118
  const anchorPlacement = inlineAnchorPlacement || defaultAnchorPlacement;
126
- let finalEl = el;
127
- if (anchor) {
128
- const queryResult = (container === window ? document : container).querySelector(anchor);
129
- if (queryResult)
130
- finalEl = queryResult;
119
+ const finalEl = getAnchor(el, container);
120
+ let triggerPoint = getOffsetTop(finalEl, container) - containerHeight;
121
+ const [elementPart, viewportPart] = anchorPlacement.split("-");
122
+ if (viewportPart === "center") {
123
+ triggerPoint += containerHeight / 2;
124
+ }
125
+ else if (viewportPart === "top") {
126
+ triggerPoint += containerHeight;
127
+ }
128
+ if (elementPart === "center") {
129
+ triggerPoint += finalEl.offsetHeight / 2;
131
130
  }
132
- let triggerPoint = getOffset(finalEl, container).top - containerHeight;
133
- switch (anchorPlacement) {
134
- case "top-bottom":
135
- // Default offset
136
- break;
137
- case "center-bottom":
138
- triggerPoint += finalEl.offsetHeight / 2;
139
- break;
140
- case "bottom-bottom":
141
- triggerPoint += finalEl.offsetHeight;
142
- break;
143
- case "top-center":
144
- triggerPoint += containerHeight / 2;
145
- break;
146
- case "center-center":
147
- triggerPoint += containerHeight / 2 + finalEl.offsetHeight / 2;
148
- break;
149
- case "bottom-center":
150
- triggerPoint += containerHeight / 2 + finalEl.offsetHeight;
151
- break;
152
- case "top-top":
153
- triggerPoint += containerHeight;
154
- break;
155
- case "bottom-top":
156
- triggerPoint += containerHeight + finalEl.offsetHeight;
157
- break;
158
- case "center-top":
159
- triggerPoint += containerHeight + finalEl.offsetHeight / 2;
160
- break;
131
+ else if (elementPart === "bottom") {
132
+ triggerPoint += finalEl.offsetHeight;
161
133
  }
162
134
  return triggerPoint + additionalOffset;
163
135
  };
164
136
  const getPositionOut = (el, defaultOffset, container) => {
165
- const anchor = getInlineOption(el, "anchor");
166
137
  const additionalOffset = getInlineOption(el, "offset", defaultOffset);
167
- let finalEl = el;
168
- if (anchor) {
169
- const queryResult = (container === window ? document : container).querySelector(anchor);
170
- if (queryResult)
171
- finalEl = queryResult;
172
- }
173
- const elementOffsetTop = getOffset(finalEl, container).top;
174
- return elementOffsetTop + finalEl.offsetHeight - additionalOffset;
138
+ const finalEl = getAnchor(el, container);
139
+ return (getOffsetTop(finalEl, container) + finalEl.offsetHeight - additionalOffset);
175
140
  };
176
141
 
177
142
  function prepare(elements, options, container) {
@@ -261,7 +226,7 @@ class Aos {
261
226
  (optionDisable === "mobile" && detect.mobile()) ||
262
227
  (optionDisable === "phone" && detect.phone()) ||
263
228
  (optionDisable === "tablet" && detect.tablet()) ||
264
- (typeof optionDisable === "function" && optionDisable() === true));
229
+ (typeof optionDisable === "function" && optionDisable()));
265
230
  }
266
231
  initializeScroll() {
267
232
  const { container } = this;
package/dist/aos.css CHANGED
@@ -1 +1 @@
1
- body[data-aos-duration="50"] [data-aos],[data-aos][data-aos-duration="50"]{transition-duration:50ms}body[data-aos-delay="50"] [data-aos],[data-aos][data-aos-delay="50"]{transition-delay:0s}body[data-aos-delay="50"] [data-aos].aos-animate,[data-aos][data-aos-delay="50"].aos-animate{transition-delay:50ms}body[data-aos-duration="100"] [data-aos],[data-aos][data-aos-duration="100"]{transition-duration:100ms}body[data-aos-delay="100"] [data-aos],[data-aos][data-aos-delay="100"]{transition-delay:0s}body[data-aos-delay="100"] [data-aos].aos-animate,[data-aos][data-aos-delay="100"].aos-animate{transition-delay:100ms}body[data-aos-duration="150"] [data-aos],[data-aos][data-aos-duration="150"]{transition-duration:150ms}body[data-aos-delay="150"] [data-aos],[data-aos][data-aos-delay="150"]{transition-delay:0s}body[data-aos-delay="150"] [data-aos].aos-animate,[data-aos][data-aos-delay="150"].aos-animate{transition-delay:150ms}body[data-aos-duration="200"] [data-aos],[data-aos][data-aos-duration="200"]{transition-duration:200ms}body[data-aos-delay="200"] [data-aos],[data-aos][data-aos-delay="200"]{transition-delay:0s}body[data-aos-delay="200"] [data-aos].aos-animate,[data-aos][data-aos-delay="200"].aos-animate{transition-delay:200ms}body[data-aos-duration="250"] [data-aos],[data-aos][data-aos-duration="250"]{transition-duration:250ms}body[data-aos-delay="250"] [data-aos],[data-aos][data-aos-delay="250"]{transition-delay:0s}body[data-aos-delay="250"] [data-aos].aos-animate,[data-aos][data-aos-delay="250"].aos-animate{transition-delay:250ms}body[data-aos-duration="300"] [data-aos],[data-aos][data-aos-duration="300"]{transition-duration:300ms}body[data-aos-delay="300"] [data-aos],[data-aos][data-aos-delay="300"]{transition-delay:0s}body[data-aos-delay="300"] [data-aos].aos-animate,[data-aos][data-aos-delay="300"].aos-animate{transition-delay:300ms}body[data-aos-duration="350"] [data-aos],[data-aos][data-aos-duration="350"]{transition-duration:350ms}body[data-aos-delay="350"] [data-aos],[data-aos][data-aos-delay="350"]{transition-delay:0s}body[data-aos-delay="350"] [data-aos].aos-animate,[data-aos][data-aos-delay="350"].aos-animate{transition-delay:350ms}body[data-aos-duration="400"] [data-aos],[data-aos][data-aos-duration="400"]{transition-duration:400ms}body[data-aos-delay="400"] [data-aos],[data-aos][data-aos-delay="400"]{transition-delay:0s}body[data-aos-delay="400"] [data-aos].aos-animate,[data-aos][data-aos-delay="400"].aos-animate{transition-delay:400ms}body[data-aos-duration="450"] [data-aos],[data-aos][data-aos-duration="450"]{transition-duration:450ms}body[data-aos-delay="450"] [data-aos],[data-aos][data-aos-delay="450"]{transition-delay:0s}body[data-aos-delay="450"] [data-aos].aos-animate,[data-aos][data-aos-delay="450"].aos-animate{transition-delay:450ms}body[data-aos-duration="500"] [data-aos],[data-aos][data-aos-duration="500"]{transition-duration:500ms}body[data-aos-delay="500"] [data-aos],[data-aos][data-aos-delay="500"]{transition-delay:0s}body[data-aos-delay="500"] [data-aos].aos-animate,[data-aos][data-aos-delay="500"].aos-animate{transition-delay:500ms}body[data-aos-duration="550"] [data-aos],[data-aos][data-aos-duration="550"]{transition-duration:550ms}body[data-aos-delay="550"] [data-aos],[data-aos][data-aos-delay="550"]{transition-delay:0s}body[data-aos-delay="550"] [data-aos].aos-animate,[data-aos][data-aos-delay="550"].aos-animate{transition-delay:550ms}body[data-aos-duration="600"] [data-aos],[data-aos][data-aos-duration="600"]{transition-duration:600ms}body[data-aos-delay="600"] [data-aos],[data-aos][data-aos-delay="600"]{transition-delay:0s}body[data-aos-delay="600"] [data-aos].aos-animate,[data-aos][data-aos-delay="600"].aos-animate{transition-delay:600ms}body[data-aos-duration="650"] [data-aos],[data-aos][data-aos-duration="650"]{transition-duration:650ms}body[data-aos-delay="650"] [data-aos],[data-aos][data-aos-delay="650"]{transition-delay:0s}body[data-aos-delay="650"] [data-aos].aos-animate,[data-aos][data-aos-delay="650"].aos-animate{transition-delay:650ms}body[data-aos-duration="700"] [data-aos],[data-aos][data-aos-duration="700"]{transition-duration:700ms}body[data-aos-delay="700"] [data-aos],[data-aos][data-aos-delay="700"]{transition-delay:0s}body[data-aos-delay="700"] [data-aos].aos-animate,[data-aos][data-aos-delay="700"].aos-animate{transition-delay:700ms}body[data-aos-duration="750"] [data-aos],[data-aos][data-aos-duration="750"]{transition-duration:750ms}body[data-aos-delay="750"] [data-aos],[data-aos][data-aos-delay="750"]{transition-delay:0s}body[data-aos-delay="750"] [data-aos].aos-animate,[data-aos][data-aos-delay="750"].aos-animate{transition-delay:750ms}body[data-aos-duration="800"] [data-aos],[data-aos][data-aos-duration="800"]{transition-duration:800ms}body[data-aos-delay="800"] [data-aos],[data-aos][data-aos-delay="800"]{transition-delay:0s}body[data-aos-delay="800"] [data-aos].aos-animate,[data-aos][data-aos-delay="800"].aos-animate{transition-delay:800ms}body[data-aos-duration="850"] [data-aos],[data-aos][data-aos-duration="850"]{transition-duration:850ms}body[data-aos-delay="850"] [data-aos],[data-aos][data-aos-delay="850"]{transition-delay:0s}body[data-aos-delay="850"] [data-aos].aos-animate,[data-aos][data-aos-delay="850"].aos-animate{transition-delay:850ms}body[data-aos-duration="900"] [data-aos],[data-aos][data-aos-duration="900"]{transition-duration:900ms}body[data-aos-delay="900"] [data-aos],[data-aos][data-aos-delay="900"]{transition-delay:0s}body[data-aos-delay="900"] [data-aos].aos-animate,[data-aos][data-aos-delay="900"].aos-animate{transition-delay:900ms}body[data-aos-duration="950"] [data-aos],[data-aos][data-aos-duration="950"]{transition-duration:950ms}body[data-aos-delay="950"] [data-aos],[data-aos][data-aos-delay="950"]{transition-delay:0s}body[data-aos-delay="950"] [data-aos].aos-animate,[data-aos][data-aos-delay="950"].aos-animate{transition-delay:950ms}body[data-aos-duration="1000"] [data-aos],[data-aos][data-aos-duration="1000"]{transition-duration:1000ms}body[data-aos-delay="1000"] [data-aos],[data-aos][data-aos-delay="1000"]{transition-delay:0s}body[data-aos-delay="1000"] [data-aos].aos-animate,[data-aos][data-aos-delay="1000"].aos-animate{transition-delay:1000ms}body[data-aos-duration="1050"] [data-aos],[data-aos][data-aos-duration="1050"]{transition-duration:1050ms}body[data-aos-delay="1050"] [data-aos],[data-aos][data-aos-delay="1050"]{transition-delay:0s}body[data-aos-delay="1050"] [data-aos].aos-animate,[data-aos][data-aos-delay="1050"].aos-animate{transition-delay:1050ms}body[data-aos-duration="1100"] [data-aos],[data-aos][data-aos-duration="1100"]{transition-duration:1100ms}body[data-aos-delay="1100"] [data-aos],[data-aos][data-aos-delay="1100"]{transition-delay:0s}body[data-aos-delay="1100"] [data-aos].aos-animate,[data-aos][data-aos-delay="1100"].aos-animate{transition-delay:1100ms}body[data-aos-duration="1150"] [data-aos],[data-aos][data-aos-duration="1150"]{transition-duration:1150ms}body[data-aos-delay="1150"] [data-aos],[data-aos][data-aos-delay="1150"]{transition-delay:0s}body[data-aos-delay="1150"] [data-aos].aos-animate,[data-aos][data-aos-delay="1150"].aos-animate{transition-delay:1150ms}body[data-aos-duration="1200"] [data-aos],[data-aos][data-aos-duration="1200"]{transition-duration:1200ms}body[data-aos-delay="1200"] [data-aos],[data-aos][data-aos-delay="1200"]{transition-delay:0s}body[data-aos-delay="1200"] [data-aos].aos-animate,[data-aos][data-aos-delay="1200"].aos-animate{transition-delay:1200ms}body[data-aos-duration="1250"] [data-aos],[data-aos][data-aos-duration="1250"]{transition-duration:1250ms}body[data-aos-delay="1250"] [data-aos],[data-aos][data-aos-delay="1250"]{transition-delay:0s}body[data-aos-delay="1250"] [data-aos].aos-animate,[data-aos][data-aos-delay="1250"].aos-animate{transition-delay:1250ms}body[data-aos-duration="1300"] [data-aos],[data-aos][data-aos-duration="1300"]{transition-duration:1300ms}body[data-aos-delay="1300"] [data-aos],[data-aos][data-aos-delay="1300"]{transition-delay:0s}body[data-aos-delay="1300"] [data-aos].aos-animate,[data-aos][data-aos-delay="1300"].aos-animate{transition-delay:1300ms}body[data-aos-duration="1350"] [data-aos],[data-aos][data-aos-duration="1350"]{transition-duration:1350ms}body[data-aos-delay="1350"] [data-aos],[data-aos][data-aos-delay="1350"]{transition-delay:0s}body[data-aos-delay="1350"] [data-aos].aos-animate,[data-aos][data-aos-delay="1350"].aos-animate{transition-delay:1350ms}body[data-aos-duration="1400"] [data-aos],[data-aos][data-aos-duration="1400"]{transition-duration:1400ms}body[data-aos-delay="1400"] [data-aos],[data-aos][data-aos-delay="1400"]{transition-delay:0s}body[data-aos-delay="1400"] [data-aos].aos-animate,[data-aos][data-aos-delay="1400"].aos-animate{transition-delay:1400ms}body[data-aos-duration="1450"] [data-aos],[data-aos][data-aos-duration="1450"]{transition-duration:1450ms}body[data-aos-delay="1450"] [data-aos],[data-aos][data-aos-delay="1450"]{transition-delay:0s}body[data-aos-delay="1450"] [data-aos].aos-animate,[data-aos][data-aos-delay="1450"].aos-animate{transition-delay:1450ms}body[data-aos-duration="1500"] [data-aos],[data-aos][data-aos-duration="1500"]{transition-duration:1500ms}body[data-aos-delay="1500"] [data-aos],[data-aos][data-aos-delay="1500"]{transition-delay:0s}body[data-aos-delay="1500"] [data-aos].aos-animate,[data-aos][data-aos-delay="1500"].aos-animate{transition-delay:1500ms}body[data-aos-duration="1550"] [data-aos],[data-aos][data-aos-duration="1550"]{transition-duration:1550ms}body[data-aos-delay="1550"] [data-aos],[data-aos][data-aos-delay="1550"]{transition-delay:0s}body[data-aos-delay="1550"] [data-aos].aos-animate,[data-aos][data-aos-delay="1550"].aos-animate{transition-delay:1550ms}body[data-aos-duration="1600"] [data-aos],[data-aos][data-aos-duration="1600"]{transition-duration:1600ms}body[data-aos-delay="1600"] [data-aos],[data-aos][data-aos-delay="1600"]{transition-delay:0s}body[data-aos-delay="1600"] [data-aos].aos-animate,[data-aos][data-aos-delay="1600"].aos-animate{transition-delay:1600ms}body[data-aos-duration="1650"] [data-aos],[data-aos][data-aos-duration="1650"]{transition-duration:1650ms}body[data-aos-delay="1650"] [data-aos],[data-aos][data-aos-delay="1650"]{transition-delay:0s}body[data-aos-delay="1650"] [data-aos].aos-animate,[data-aos][data-aos-delay="1650"].aos-animate{transition-delay:1650ms}body[data-aos-duration="1700"] [data-aos],[data-aos][data-aos-duration="1700"]{transition-duration:1700ms}body[data-aos-delay="1700"] [data-aos],[data-aos][data-aos-delay="1700"]{transition-delay:0s}body[data-aos-delay="1700"] [data-aos].aos-animate,[data-aos][data-aos-delay="1700"].aos-animate{transition-delay:1700ms}body[data-aos-duration="1750"] [data-aos],[data-aos][data-aos-duration="1750"]{transition-duration:1750ms}body[data-aos-delay="1750"] [data-aos],[data-aos][data-aos-delay="1750"]{transition-delay:0s}body[data-aos-delay="1750"] [data-aos].aos-animate,[data-aos][data-aos-delay="1750"].aos-animate{transition-delay:1750ms}body[data-aos-duration="1800"] [data-aos],[data-aos][data-aos-duration="1800"]{transition-duration:1800ms}body[data-aos-delay="1800"] [data-aos],[data-aos][data-aos-delay="1800"]{transition-delay:0s}body[data-aos-delay="1800"] [data-aos].aos-animate,[data-aos][data-aos-delay="1800"].aos-animate{transition-delay:1800ms}body[data-aos-duration="1850"] [data-aos],[data-aos][data-aos-duration="1850"]{transition-duration:1850ms}body[data-aos-delay="1850"] [data-aos],[data-aos][data-aos-delay="1850"]{transition-delay:0s}body[data-aos-delay="1850"] [data-aos].aos-animate,[data-aos][data-aos-delay="1850"].aos-animate{transition-delay:1850ms}body[data-aos-duration="1900"] [data-aos],[data-aos][data-aos-duration="1900"]{transition-duration:1900ms}body[data-aos-delay="1900"] [data-aos],[data-aos][data-aos-delay="1900"]{transition-delay:0s}body[data-aos-delay="1900"] [data-aos].aos-animate,[data-aos][data-aos-delay="1900"].aos-animate{transition-delay:1900ms}body[data-aos-duration="1950"] [data-aos],[data-aos][data-aos-duration="1950"]{transition-duration:1950ms}body[data-aos-delay="1950"] [data-aos],[data-aos][data-aos-delay="1950"]{transition-delay:0s}body[data-aos-delay="1950"] [data-aos].aos-animate,[data-aos][data-aos-delay="1950"].aos-animate{transition-delay:1950ms}body[data-aos-duration="2000"] [data-aos],[data-aos][data-aos-duration="2000"]{transition-duration:2000ms}body[data-aos-delay="2000"] [data-aos],[data-aos][data-aos-delay="2000"]{transition-delay:0s}body[data-aos-delay="2000"] [data-aos].aos-animate,[data-aos][data-aos-delay="2000"].aos-animate{transition-delay:2000ms}body[data-aos-duration="2050"] [data-aos],[data-aos][data-aos-duration="2050"]{transition-duration:2050ms}body[data-aos-delay="2050"] [data-aos],[data-aos][data-aos-delay="2050"]{transition-delay:0s}body[data-aos-delay="2050"] [data-aos].aos-animate,[data-aos][data-aos-delay="2050"].aos-animate{transition-delay:2050ms}body[data-aos-duration="2100"] [data-aos],[data-aos][data-aos-duration="2100"]{transition-duration:2100ms}body[data-aos-delay="2100"] [data-aos],[data-aos][data-aos-delay="2100"]{transition-delay:0s}body[data-aos-delay="2100"] [data-aos].aos-animate,[data-aos][data-aos-delay="2100"].aos-animate{transition-delay:2100ms}body[data-aos-duration="2150"] [data-aos],[data-aos][data-aos-duration="2150"]{transition-duration:2150ms}body[data-aos-delay="2150"] [data-aos],[data-aos][data-aos-delay="2150"]{transition-delay:0s}body[data-aos-delay="2150"] [data-aos].aos-animate,[data-aos][data-aos-delay="2150"].aos-animate{transition-delay:2150ms}body[data-aos-duration="2200"] [data-aos],[data-aos][data-aos-duration="2200"]{transition-duration:2200ms}body[data-aos-delay="2200"] [data-aos],[data-aos][data-aos-delay="2200"]{transition-delay:0s}body[data-aos-delay="2200"] [data-aos].aos-animate,[data-aos][data-aos-delay="2200"].aos-animate{transition-delay:2200ms}body[data-aos-duration="2250"] [data-aos],[data-aos][data-aos-duration="2250"]{transition-duration:2250ms}body[data-aos-delay="2250"] [data-aos],[data-aos][data-aos-delay="2250"]{transition-delay:0s}body[data-aos-delay="2250"] [data-aos].aos-animate,[data-aos][data-aos-delay="2250"].aos-animate{transition-delay:2250ms}body[data-aos-duration="2300"] [data-aos],[data-aos][data-aos-duration="2300"]{transition-duration:2300ms}body[data-aos-delay="2300"] [data-aos],[data-aos][data-aos-delay="2300"]{transition-delay:0s}body[data-aos-delay="2300"] [data-aos].aos-animate,[data-aos][data-aos-delay="2300"].aos-animate{transition-delay:2300ms}body[data-aos-duration="2350"] [data-aos],[data-aos][data-aos-duration="2350"]{transition-duration:2350ms}body[data-aos-delay="2350"] [data-aos],[data-aos][data-aos-delay="2350"]{transition-delay:0s}body[data-aos-delay="2350"] [data-aos].aos-animate,[data-aos][data-aos-delay="2350"].aos-animate{transition-delay:2350ms}body[data-aos-duration="2400"] [data-aos],[data-aos][data-aos-duration="2400"]{transition-duration:2400ms}body[data-aos-delay="2400"] [data-aos],[data-aos][data-aos-delay="2400"]{transition-delay:0s}body[data-aos-delay="2400"] [data-aos].aos-animate,[data-aos][data-aos-delay="2400"].aos-animate{transition-delay:2400ms}body[data-aos-duration="2450"] [data-aos],[data-aos][data-aos-duration="2450"]{transition-duration:2450ms}body[data-aos-delay="2450"] [data-aos],[data-aos][data-aos-delay="2450"]{transition-delay:0s}body[data-aos-delay="2450"] [data-aos].aos-animate,[data-aos][data-aos-delay="2450"].aos-animate{transition-delay:2450ms}body[data-aos-duration="2500"] [data-aos],[data-aos][data-aos-duration="2500"]{transition-duration:2500ms}body[data-aos-delay="2500"] [data-aos],[data-aos][data-aos-delay="2500"]{transition-delay:0s}body[data-aos-delay="2500"] [data-aos].aos-animate,[data-aos][data-aos-delay="2500"].aos-animate{transition-delay:2500ms}body[data-aos-duration="2550"] [data-aos],[data-aos][data-aos-duration="2550"]{transition-duration:2550ms}body[data-aos-delay="2550"] [data-aos],[data-aos][data-aos-delay="2550"]{transition-delay:0s}body[data-aos-delay="2550"] [data-aos].aos-animate,[data-aos][data-aos-delay="2550"].aos-animate{transition-delay:2550ms}body[data-aos-duration="2600"] [data-aos],[data-aos][data-aos-duration="2600"]{transition-duration:2600ms}body[data-aos-delay="2600"] [data-aos],[data-aos][data-aos-delay="2600"]{transition-delay:0s}body[data-aos-delay="2600"] [data-aos].aos-animate,[data-aos][data-aos-delay="2600"].aos-animate{transition-delay:2600ms}body[data-aos-duration="2650"] [data-aos],[data-aos][data-aos-duration="2650"]{transition-duration:2650ms}body[data-aos-delay="2650"] [data-aos],[data-aos][data-aos-delay="2650"]{transition-delay:0s}body[data-aos-delay="2650"] [data-aos].aos-animate,[data-aos][data-aos-delay="2650"].aos-animate{transition-delay:2650ms}body[data-aos-duration="2700"] [data-aos],[data-aos][data-aos-duration="2700"]{transition-duration:2700ms}body[data-aos-delay="2700"] [data-aos],[data-aos][data-aos-delay="2700"]{transition-delay:0s}body[data-aos-delay="2700"] [data-aos].aos-animate,[data-aos][data-aos-delay="2700"].aos-animate{transition-delay:2700ms}body[data-aos-duration="2750"] [data-aos],[data-aos][data-aos-duration="2750"]{transition-duration:2750ms}body[data-aos-delay="2750"] [data-aos],[data-aos][data-aos-delay="2750"]{transition-delay:0s}body[data-aos-delay="2750"] [data-aos].aos-animate,[data-aos][data-aos-delay="2750"].aos-animate{transition-delay:2750ms}body[data-aos-duration="2800"] [data-aos],[data-aos][data-aos-duration="2800"]{transition-duration:2800ms}body[data-aos-delay="2800"] [data-aos],[data-aos][data-aos-delay="2800"]{transition-delay:0s}body[data-aos-delay="2800"] [data-aos].aos-animate,[data-aos][data-aos-delay="2800"].aos-animate{transition-delay:2800ms}body[data-aos-duration="2850"] [data-aos],[data-aos][data-aos-duration="2850"]{transition-duration:2850ms}body[data-aos-delay="2850"] [data-aos],[data-aos][data-aos-delay="2850"]{transition-delay:0s}body[data-aos-delay="2850"] [data-aos].aos-animate,[data-aos][data-aos-delay="2850"].aos-animate{transition-delay:2850ms}body[data-aos-duration="2900"] [data-aos],[data-aos][data-aos-duration="2900"]{transition-duration:2900ms}body[data-aos-delay="2900"] [data-aos],[data-aos][data-aos-delay="2900"]{transition-delay:0s}body[data-aos-delay="2900"] [data-aos].aos-animate,[data-aos][data-aos-delay="2900"].aos-animate{transition-delay:2900ms}body[data-aos-duration="2950"] [data-aos],[data-aos][data-aos-duration="2950"]{transition-duration:2950ms}body[data-aos-delay="2950"] [data-aos],[data-aos][data-aos-delay="2950"]{transition-delay:0s}body[data-aos-delay="2950"] [data-aos].aos-animate,[data-aos][data-aos-delay="2950"].aos-animate{transition-delay:2950ms}body[data-aos-duration="3000"] [data-aos],[data-aos][data-aos-duration="3000"]{transition-duration:3000ms}body[data-aos-delay="3000"] [data-aos],[data-aos][data-aos-delay="3000"]{transition-delay:0s}body[data-aos-delay="3000"] [data-aos].aos-animate,[data-aos][data-aos-delay="3000"].aos-animate{transition-delay:3000ms}[data-aos]{pointer-events:none}[data-aos].aos-animate{pointer-events:auto}body[data-aos-easing=linear] [data-aos],[data-aos][data-aos-easing=linear]{transition-timing-function:cubic-bezier(0.25, 0.25, 0.75, 0.75)}body[data-aos-easing=ease] [data-aos],[data-aos][data-aos-easing=ease]{transition-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}body[data-aos-easing=ease-in] [data-aos],[data-aos][data-aos-easing=ease-in]{transition-timing-function:cubic-bezier(0.42, 0, 1, 1)}body[data-aos-easing=ease-out] [data-aos],[data-aos][data-aos-easing=ease-out]{transition-timing-function:cubic-bezier(0, 0, 0.58, 1)}body[data-aos-easing=ease-in-out] [data-aos],[data-aos][data-aos-easing=ease-in-out]{transition-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}body[data-aos-easing=ease-in-back] [data-aos],[data-aos][data-aos-easing=ease-in-back]{transition-timing-function:cubic-bezier(0.6, -0.28, 0.735, 0.045)}body[data-aos-easing=ease-out-back] [data-aos],[data-aos][data-aos-easing=ease-out-back]{transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275)}body[data-aos-easing=ease-in-out-back] [data-aos],[data-aos][data-aos-easing=ease-in-out-back]{transition-timing-function:cubic-bezier(0.68, -0.55, 0.265, 1.55)}body[data-aos-easing=ease-in-sine] [data-aos],[data-aos][data-aos-easing=ease-in-sine]{transition-timing-function:cubic-bezier(0.47, 0, 0.745, 0.715)}body[data-aos-easing=ease-out-sine] [data-aos],[data-aos][data-aos-easing=ease-out-sine]{transition-timing-function:cubic-bezier(0.39, 0.575, 0.565, 1)}body[data-aos-easing=ease-in-out-sine] [data-aos],[data-aos][data-aos-easing=ease-in-out-sine]{transition-timing-function:cubic-bezier(0.445, 0.05, 0.55, 0.95)}body[data-aos-easing=ease-in-quad] [data-aos],[data-aos][data-aos-easing=ease-in-quad]{transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53)}body[data-aos-easing=ease-out-quad] [data-aos],[data-aos][data-aos-easing=ease-out-quad]{transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}body[data-aos-easing=ease-in-out-quad] [data-aos],[data-aos][data-aos-easing=ease-in-out-quad]{transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955)}body[data-aos-easing=ease-in-cubic] [data-aos],[data-aos][data-aos-easing=ease-in-cubic]{transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53)}body[data-aos-easing=ease-out-cubic] [data-aos],[data-aos][data-aos-easing=ease-out-cubic]{transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}body[data-aos-easing=ease-in-out-cubic] [data-aos],[data-aos][data-aos-easing=ease-in-out-cubic]{transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955)}body[data-aos-easing=ease-in-quart] [data-aos],[data-aos][data-aos-easing=ease-in-quart]{transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53)}body[data-aos-easing=ease-out-quart] [data-aos],[data-aos][data-aos-easing=ease-out-quart]{transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}body[data-aos-easing=ease-in-out-quart] [data-aos],[data-aos][data-aos-easing=ease-in-out-quart]{transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955)}@media screen{html:not(.no-js) [data-aos^=fade]{opacity:0;transition-property:opacity,transform}html:not(.no-js) [data-aos^=fade].aos-animate{opacity:1;transform:none}html:not(.no-js) [data-aos=fade-up]{transform:translate3d(0, 100px, 0)}html:not(.no-js) [data-aos=fade-down]{transform:translate3d(0, -100px, 0)}html:not(.no-js) [data-aos=fade-right]{transform:translate3d(-100px, 0, 0)}html:not(.no-js) [data-aos=fade-left]{transform:translate3d(100px, 0, 0)}html:not(.no-js) [data-aos=fade-up-right]{transform:translate3d(-100px, 100px, 0)}html:not(.no-js) [data-aos=fade-up-left]{transform:translate3d(100px, 100px, 0)}html:not(.no-js) [data-aos=fade-down-right]{transform:translate3d(-100px, -100px, 0)}html:not(.no-js) [data-aos=fade-down-left]{transform:translate3d(100px, -100px, 0)}html:not(.no-js) [data-aos^=zoom]{opacity:0;transition-property:opacity,transform}html:not(.no-js) [data-aos^=zoom].aos-animate{opacity:1;transform:translate3d(0, 0, 0) scale(1)}html:not(.no-js) [data-aos=zoom-in]{transform:scale(0.6)}html:not(.no-js) [data-aos=zoom-in-up]{transform:translate3d(0, 100px, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-in-down]{transform:translate3d(0, -100px, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-in-right]{transform:translate3d(-100px, 0, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-in-left]{transform:translate3d(100px, 0, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-out]{transform:scale(1.2)}html:not(.no-js) [data-aos=zoom-out-up]{transform:translate3d(0, 100px, 0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-down]{transform:translate3d(0, -100px, 0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-right]{transform:translate3d(-100px, 0, 0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-left]{transform:translate3d(100px, 0, 0) scale(1.2)}html:not(.no-js) [data-aos^=slide]{transition-property:transform;visibility:hidden}html:not(.no-js) [data-aos^=slide].aos-animate{visibility:visible;transform:translate3d(0, 0, 0)}html:not(.no-js) [data-aos=slide-up]{transform:translate3d(0, 100%, 0)}html:not(.no-js) [data-aos=slide-down]{transform:translate3d(0, -100%, 0)}html:not(.no-js) [data-aos=slide-right]{transform:translate3d(-100%, 0, 0)}html:not(.no-js) [data-aos=slide-left]{transform:translate3d(100%, 0, 0)}html:not(.no-js) [data-aos^=flip]{backface-visibility:hidden;transition-property:transform}html:not(.no-js) [data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}html:not(.no-js) [data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}html:not(.no-js) [data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}html:not(.no-js) [data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}html:not(.no-js) [data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}html:not(.no-js) [data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}}
1
+ body[data-aos-delay="50"] [data-aos],[data-aos][data-aos-delay="50"],body[data-aos-delay="100"] [data-aos],[data-aos][data-aos-delay="100"],body[data-aos-delay="150"] [data-aos],[data-aos][data-aos-delay="150"],body[data-aos-delay="200"] [data-aos],[data-aos][data-aos-delay="200"],body[data-aos-delay="250"] [data-aos],[data-aos][data-aos-delay="250"],body[data-aos-delay="300"] [data-aos],[data-aos][data-aos-delay="300"],body[data-aos-delay="350"] [data-aos],[data-aos][data-aos-delay="350"],body[data-aos-delay="400"] [data-aos],[data-aos][data-aos-delay="400"],body[data-aos-delay="450"] [data-aos],[data-aos][data-aos-delay="450"],body[data-aos-delay="500"] [data-aos],[data-aos][data-aos-delay="500"],body[data-aos-delay="550"] [data-aos],[data-aos][data-aos-delay="550"],body[data-aos-delay="600"] [data-aos],[data-aos][data-aos-delay="600"],body[data-aos-delay="650"] [data-aos],[data-aos][data-aos-delay="650"],body[data-aos-delay="700"] [data-aos],[data-aos][data-aos-delay="700"],body[data-aos-delay="750"] [data-aos],[data-aos][data-aos-delay="750"],body[data-aos-delay="800"] [data-aos],[data-aos][data-aos-delay="800"],body[data-aos-delay="850"] [data-aos],[data-aos][data-aos-delay="850"],body[data-aos-delay="900"] [data-aos],[data-aos][data-aos-delay="900"],body[data-aos-delay="950"] [data-aos],[data-aos][data-aos-delay="950"],body[data-aos-delay="1000"] [data-aos],[data-aos][data-aos-delay="1000"],body[data-aos-delay="1050"] [data-aos],[data-aos][data-aos-delay="1050"],body[data-aos-delay="1100"] [data-aos],[data-aos][data-aos-delay="1100"],body[data-aos-delay="1150"] [data-aos],[data-aos][data-aos-delay="1150"],body[data-aos-delay="1200"] [data-aos],[data-aos][data-aos-delay="1200"],body[data-aos-delay="1250"] [data-aos],[data-aos][data-aos-delay="1250"],body[data-aos-delay="1300"] [data-aos],[data-aos][data-aos-delay="1300"],body[data-aos-delay="1350"] [data-aos],[data-aos][data-aos-delay="1350"],body[data-aos-delay="1400"] [data-aos],[data-aos][data-aos-delay="1400"],body[data-aos-delay="1450"] [data-aos],[data-aos][data-aos-delay="1450"],body[data-aos-delay="1500"] [data-aos],[data-aos][data-aos-delay="1500"],body[data-aos-delay="1550"] [data-aos],[data-aos][data-aos-delay="1550"],body[data-aos-delay="1600"] [data-aos],[data-aos][data-aos-delay="1600"],body[data-aos-delay="1650"] [data-aos],[data-aos][data-aos-delay="1650"],body[data-aos-delay="1700"] [data-aos],[data-aos][data-aos-delay="1700"],body[data-aos-delay="1750"] [data-aos],[data-aos][data-aos-delay="1750"],body[data-aos-delay="1800"] [data-aos],[data-aos][data-aos-delay="1800"],body[data-aos-delay="1850"] [data-aos],[data-aos][data-aos-delay="1850"],body[data-aos-delay="1900"] [data-aos],[data-aos][data-aos-delay="1900"],body[data-aos-delay="1950"] [data-aos],[data-aos][data-aos-delay="1950"],body[data-aos-delay="2000"] [data-aos],[data-aos][data-aos-delay="2000"],body[data-aos-delay="2050"] [data-aos],[data-aos][data-aos-delay="2050"],body[data-aos-delay="2100"] [data-aos],[data-aos][data-aos-delay="2100"],body[data-aos-delay="2150"] [data-aos],[data-aos][data-aos-delay="2150"],body[data-aos-delay="2200"] [data-aos],[data-aos][data-aos-delay="2200"],body[data-aos-delay="2250"] [data-aos],[data-aos][data-aos-delay="2250"],body[data-aos-delay="2300"] [data-aos],[data-aos][data-aos-delay="2300"],body[data-aos-delay="2350"] [data-aos],[data-aos][data-aos-delay="2350"],body[data-aos-delay="2400"] [data-aos],[data-aos][data-aos-delay="2400"],body[data-aos-delay="2450"] [data-aos],[data-aos][data-aos-delay="2450"],body[data-aos-delay="2500"] [data-aos],[data-aos][data-aos-delay="2500"],body[data-aos-delay="2550"] [data-aos],[data-aos][data-aos-delay="2550"],body[data-aos-delay="2600"] [data-aos],[data-aos][data-aos-delay="2600"],body[data-aos-delay="2650"] [data-aos],[data-aos][data-aos-delay="2650"],body[data-aos-delay="2700"] [data-aos],[data-aos][data-aos-delay="2700"],body[data-aos-delay="2750"] [data-aos],[data-aos][data-aos-delay="2750"],body[data-aos-delay="2800"] [data-aos],[data-aos][data-aos-delay="2800"],body[data-aos-delay="2850"] [data-aos],[data-aos][data-aos-delay="2850"],body[data-aos-delay="2900"] [data-aos],[data-aos][data-aos-delay="2900"],body[data-aos-delay="2950"] [data-aos],[data-aos][data-aos-delay="2950"],body[data-aos-delay="3000"] [data-aos],[data-aos][data-aos-delay="3000"]{transition-delay:0s}body[data-aos-duration="50"] [data-aos],[data-aos][data-aos-duration="50"]{transition-duration:50ms}body[data-aos-delay="50"] [data-aos].aos-animate,[data-aos][data-aos-delay="50"].aos-animate{transition-delay:50ms}body[data-aos-duration="100"] [data-aos],[data-aos][data-aos-duration="100"]{transition-duration:100ms}body[data-aos-delay="100"] [data-aos].aos-animate,[data-aos][data-aos-delay="100"].aos-animate{transition-delay:100ms}body[data-aos-duration="150"] [data-aos],[data-aos][data-aos-duration="150"]{transition-duration:150ms}body[data-aos-delay="150"] [data-aos].aos-animate,[data-aos][data-aos-delay="150"].aos-animate{transition-delay:150ms}body[data-aos-duration="200"] [data-aos],[data-aos][data-aos-duration="200"]{transition-duration:200ms}body[data-aos-delay="200"] [data-aos].aos-animate,[data-aos][data-aos-delay="200"].aos-animate{transition-delay:200ms}body[data-aos-duration="250"] [data-aos],[data-aos][data-aos-duration="250"]{transition-duration:250ms}body[data-aos-delay="250"] [data-aos].aos-animate,[data-aos][data-aos-delay="250"].aos-animate{transition-delay:250ms}body[data-aos-duration="300"] [data-aos],[data-aos][data-aos-duration="300"]{transition-duration:300ms}body[data-aos-delay="300"] [data-aos].aos-animate,[data-aos][data-aos-delay="300"].aos-animate{transition-delay:300ms}body[data-aos-duration="350"] [data-aos],[data-aos][data-aos-duration="350"]{transition-duration:350ms}body[data-aos-delay="350"] [data-aos].aos-animate,[data-aos][data-aos-delay="350"].aos-animate{transition-delay:350ms}body[data-aos-duration="400"] [data-aos],[data-aos][data-aos-duration="400"]{transition-duration:400ms}body[data-aos-delay="400"] [data-aos].aos-animate,[data-aos][data-aos-delay="400"].aos-animate{transition-delay:400ms}body[data-aos-duration="450"] [data-aos],[data-aos][data-aos-duration="450"]{transition-duration:450ms}body[data-aos-delay="450"] [data-aos].aos-animate,[data-aos][data-aos-delay="450"].aos-animate{transition-delay:450ms}body[data-aos-duration="500"] [data-aos],[data-aos][data-aos-duration="500"]{transition-duration:500ms}body[data-aos-delay="500"] [data-aos].aos-animate,[data-aos][data-aos-delay="500"].aos-animate{transition-delay:500ms}body[data-aos-duration="550"] [data-aos],[data-aos][data-aos-duration="550"]{transition-duration:550ms}body[data-aos-delay="550"] [data-aos].aos-animate,[data-aos][data-aos-delay="550"].aos-animate{transition-delay:550ms}body[data-aos-duration="600"] [data-aos],[data-aos][data-aos-duration="600"]{transition-duration:600ms}body[data-aos-delay="600"] [data-aos].aos-animate,[data-aos][data-aos-delay="600"].aos-animate{transition-delay:600ms}body[data-aos-duration="650"] [data-aos],[data-aos][data-aos-duration="650"]{transition-duration:650ms}body[data-aos-delay="650"] [data-aos].aos-animate,[data-aos][data-aos-delay="650"].aos-animate{transition-delay:650ms}body[data-aos-duration="700"] [data-aos],[data-aos][data-aos-duration="700"]{transition-duration:700ms}body[data-aos-delay="700"] [data-aos].aos-animate,[data-aos][data-aos-delay="700"].aos-animate{transition-delay:700ms}body[data-aos-duration="750"] [data-aos],[data-aos][data-aos-duration="750"]{transition-duration:750ms}body[data-aos-delay="750"] [data-aos].aos-animate,[data-aos][data-aos-delay="750"].aos-animate{transition-delay:750ms}body[data-aos-duration="800"] [data-aos],[data-aos][data-aos-duration="800"]{transition-duration:800ms}body[data-aos-delay="800"] [data-aos].aos-animate,[data-aos][data-aos-delay="800"].aos-animate{transition-delay:800ms}body[data-aos-duration="850"] [data-aos],[data-aos][data-aos-duration="850"]{transition-duration:850ms}body[data-aos-delay="850"] [data-aos].aos-animate,[data-aos][data-aos-delay="850"].aos-animate{transition-delay:850ms}body[data-aos-duration="900"] [data-aos],[data-aos][data-aos-duration="900"]{transition-duration:900ms}body[data-aos-delay="900"] [data-aos].aos-animate,[data-aos][data-aos-delay="900"].aos-animate{transition-delay:900ms}body[data-aos-duration="950"] [data-aos],[data-aos][data-aos-duration="950"]{transition-duration:950ms}body[data-aos-delay="950"] [data-aos].aos-animate,[data-aos][data-aos-delay="950"].aos-animate{transition-delay:950ms}body[data-aos-duration="1000"] [data-aos],[data-aos][data-aos-duration="1000"]{transition-duration:1000ms}body[data-aos-delay="1000"] [data-aos].aos-animate,[data-aos][data-aos-delay="1000"].aos-animate{transition-delay:1000ms}body[data-aos-duration="1050"] [data-aos],[data-aos][data-aos-duration="1050"]{transition-duration:1050ms}body[data-aos-delay="1050"] [data-aos].aos-animate,[data-aos][data-aos-delay="1050"].aos-animate{transition-delay:1050ms}body[data-aos-duration="1100"] [data-aos],[data-aos][data-aos-duration="1100"]{transition-duration:1100ms}body[data-aos-delay="1100"] [data-aos].aos-animate,[data-aos][data-aos-delay="1100"].aos-animate{transition-delay:1100ms}body[data-aos-duration="1150"] [data-aos],[data-aos][data-aos-duration="1150"]{transition-duration:1150ms}body[data-aos-delay="1150"] [data-aos].aos-animate,[data-aos][data-aos-delay="1150"].aos-animate{transition-delay:1150ms}body[data-aos-duration="1200"] [data-aos],[data-aos][data-aos-duration="1200"]{transition-duration:1200ms}body[data-aos-delay="1200"] [data-aos].aos-animate,[data-aos][data-aos-delay="1200"].aos-animate{transition-delay:1200ms}body[data-aos-duration="1250"] [data-aos],[data-aos][data-aos-duration="1250"]{transition-duration:1250ms}body[data-aos-delay="1250"] [data-aos].aos-animate,[data-aos][data-aos-delay="1250"].aos-animate{transition-delay:1250ms}body[data-aos-duration="1300"] [data-aos],[data-aos][data-aos-duration="1300"]{transition-duration:1300ms}body[data-aos-delay="1300"] [data-aos].aos-animate,[data-aos][data-aos-delay="1300"].aos-animate{transition-delay:1300ms}body[data-aos-duration="1350"] [data-aos],[data-aos][data-aos-duration="1350"]{transition-duration:1350ms}body[data-aos-delay="1350"] [data-aos].aos-animate,[data-aos][data-aos-delay="1350"].aos-animate{transition-delay:1350ms}body[data-aos-duration="1400"] [data-aos],[data-aos][data-aos-duration="1400"]{transition-duration:1400ms}body[data-aos-delay="1400"] [data-aos].aos-animate,[data-aos][data-aos-delay="1400"].aos-animate{transition-delay:1400ms}body[data-aos-duration="1450"] [data-aos],[data-aos][data-aos-duration="1450"]{transition-duration:1450ms}body[data-aos-delay="1450"] [data-aos].aos-animate,[data-aos][data-aos-delay="1450"].aos-animate{transition-delay:1450ms}body[data-aos-duration="1500"] [data-aos],[data-aos][data-aos-duration="1500"]{transition-duration:1500ms}body[data-aos-delay="1500"] [data-aos].aos-animate,[data-aos][data-aos-delay="1500"].aos-animate{transition-delay:1500ms}body[data-aos-duration="1550"] [data-aos],[data-aos][data-aos-duration="1550"]{transition-duration:1550ms}body[data-aos-delay="1550"] [data-aos].aos-animate,[data-aos][data-aos-delay="1550"].aos-animate{transition-delay:1550ms}body[data-aos-duration="1600"] [data-aos],[data-aos][data-aos-duration="1600"]{transition-duration:1600ms}body[data-aos-delay="1600"] [data-aos].aos-animate,[data-aos][data-aos-delay="1600"].aos-animate{transition-delay:1600ms}body[data-aos-duration="1650"] [data-aos],[data-aos][data-aos-duration="1650"]{transition-duration:1650ms}body[data-aos-delay="1650"] [data-aos].aos-animate,[data-aos][data-aos-delay="1650"].aos-animate{transition-delay:1650ms}body[data-aos-duration="1700"] [data-aos],[data-aos][data-aos-duration="1700"]{transition-duration:1700ms}body[data-aos-delay="1700"] [data-aos].aos-animate,[data-aos][data-aos-delay="1700"].aos-animate{transition-delay:1700ms}body[data-aos-duration="1750"] [data-aos],[data-aos][data-aos-duration="1750"]{transition-duration:1750ms}body[data-aos-delay="1750"] [data-aos].aos-animate,[data-aos][data-aos-delay="1750"].aos-animate{transition-delay:1750ms}body[data-aos-duration="1800"] [data-aos],[data-aos][data-aos-duration="1800"]{transition-duration:1800ms}body[data-aos-delay="1800"] [data-aos].aos-animate,[data-aos][data-aos-delay="1800"].aos-animate{transition-delay:1800ms}body[data-aos-duration="1850"] [data-aos],[data-aos][data-aos-duration="1850"]{transition-duration:1850ms}body[data-aos-delay="1850"] [data-aos].aos-animate,[data-aos][data-aos-delay="1850"].aos-animate{transition-delay:1850ms}body[data-aos-duration="1900"] [data-aos],[data-aos][data-aos-duration="1900"]{transition-duration:1900ms}body[data-aos-delay="1900"] [data-aos].aos-animate,[data-aos][data-aos-delay="1900"].aos-animate{transition-delay:1900ms}body[data-aos-duration="1950"] [data-aos],[data-aos][data-aos-duration="1950"]{transition-duration:1950ms}body[data-aos-delay="1950"] [data-aos].aos-animate,[data-aos][data-aos-delay="1950"].aos-animate{transition-delay:1950ms}body[data-aos-duration="2000"] [data-aos],[data-aos][data-aos-duration="2000"]{transition-duration:2000ms}body[data-aos-delay="2000"] [data-aos].aos-animate,[data-aos][data-aos-delay="2000"].aos-animate{transition-delay:2000ms}body[data-aos-duration="2050"] [data-aos],[data-aos][data-aos-duration="2050"]{transition-duration:2050ms}body[data-aos-delay="2050"] [data-aos].aos-animate,[data-aos][data-aos-delay="2050"].aos-animate{transition-delay:2050ms}body[data-aos-duration="2100"] [data-aos],[data-aos][data-aos-duration="2100"]{transition-duration:2100ms}body[data-aos-delay="2100"] [data-aos].aos-animate,[data-aos][data-aos-delay="2100"].aos-animate{transition-delay:2100ms}body[data-aos-duration="2150"] [data-aos],[data-aos][data-aos-duration="2150"]{transition-duration:2150ms}body[data-aos-delay="2150"] [data-aos].aos-animate,[data-aos][data-aos-delay="2150"].aos-animate{transition-delay:2150ms}body[data-aos-duration="2200"] [data-aos],[data-aos][data-aos-duration="2200"]{transition-duration:2200ms}body[data-aos-delay="2200"] [data-aos].aos-animate,[data-aos][data-aos-delay="2200"].aos-animate{transition-delay:2200ms}body[data-aos-duration="2250"] [data-aos],[data-aos][data-aos-duration="2250"]{transition-duration:2250ms}body[data-aos-delay="2250"] [data-aos].aos-animate,[data-aos][data-aos-delay="2250"].aos-animate{transition-delay:2250ms}body[data-aos-duration="2300"] [data-aos],[data-aos][data-aos-duration="2300"]{transition-duration:2300ms}body[data-aos-delay="2300"] [data-aos].aos-animate,[data-aos][data-aos-delay="2300"].aos-animate{transition-delay:2300ms}body[data-aos-duration="2350"] [data-aos],[data-aos][data-aos-duration="2350"]{transition-duration:2350ms}body[data-aos-delay="2350"] [data-aos].aos-animate,[data-aos][data-aos-delay="2350"].aos-animate{transition-delay:2350ms}body[data-aos-duration="2400"] [data-aos],[data-aos][data-aos-duration="2400"]{transition-duration:2400ms}body[data-aos-delay="2400"] [data-aos].aos-animate,[data-aos][data-aos-delay="2400"].aos-animate{transition-delay:2400ms}body[data-aos-duration="2450"] [data-aos],[data-aos][data-aos-duration="2450"]{transition-duration:2450ms}body[data-aos-delay="2450"] [data-aos].aos-animate,[data-aos][data-aos-delay="2450"].aos-animate{transition-delay:2450ms}body[data-aos-duration="2500"] [data-aos],[data-aos][data-aos-duration="2500"]{transition-duration:2500ms}body[data-aos-delay="2500"] [data-aos].aos-animate,[data-aos][data-aos-delay="2500"].aos-animate{transition-delay:2500ms}body[data-aos-duration="2550"] [data-aos],[data-aos][data-aos-duration="2550"]{transition-duration:2550ms}body[data-aos-delay="2550"] [data-aos].aos-animate,[data-aos][data-aos-delay="2550"].aos-animate{transition-delay:2550ms}body[data-aos-duration="2600"] [data-aos],[data-aos][data-aos-duration="2600"]{transition-duration:2600ms}body[data-aos-delay="2600"] [data-aos].aos-animate,[data-aos][data-aos-delay="2600"].aos-animate{transition-delay:2600ms}body[data-aos-duration="2650"] [data-aos],[data-aos][data-aos-duration="2650"]{transition-duration:2650ms}body[data-aos-delay="2650"] [data-aos].aos-animate,[data-aos][data-aos-delay="2650"].aos-animate{transition-delay:2650ms}body[data-aos-duration="2700"] [data-aos],[data-aos][data-aos-duration="2700"]{transition-duration:2700ms}body[data-aos-delay="2700"] [data-aos].aos-animate,[data-aos][data-aos-delay="2700"].aos-animate{transition-delay:2700ms}body[data-aos-duration="2750"] [data-aos],[data-aos][data-aos-duration="2750"]{transition-duration:2750ms}body[data-aos-delay="2750"] [data-aos].aos-animate,[data-aos][data-aos-delay="2750"].aos-animate{transition-delay:2750ms}body[data-aos-duration="2800"] [data-aos],[data-aos][data-aos-duration="2800"]{transition-duration:2800ms}body[data-aos-delay="2800"] [data-aos].aos-animate,[data-aos][data-aos-delay="2800"].aos-animate{transition-delay:2800ms}body[data-aos-duration="2850"] [data-aos],[data-aos][data-aos-duration="2850"]{transition-duration:2850ms}body[data-aos-delay="2850"] [data-aos].aos-animate,[data-aos][data-aos-delay="2850"].aos-animate{transition-delay:2850ms}body[data-aos-duration="2900"] [data-aos],[data-aos][data-aos-duration="2900"]{transition-duration:2900ms}body[data-aos-delay="2900"] [data-aos].aos-animate,[data-aos][data-aos-delay="2900"].aos-animate{transition-delay:2900ms}body[data-aos-duration="2950"] [data-aos],[data-aos][data-aos-duration="2950"]{transition-duration:2950ms}body[data-aos-delay="2950"] [data-aos].aos-animate,[data-aos][data-aos-delay="2950"].aos-animate{transition-delay:2950ms}body[data-aos-duration="3000"] [data-aos],[data-aos][data-aos-duration="3000"]{transition-duration:3000ms}body[data-aos-delay="3000"] [data-aos].aos-animate,[data-aos][data-aos-delay="3000"].aos-animate{transition-delay:3000ms}[data-aos]{pointer-events:none}[data-aos].aos-animate{pointer-events:auto}body[data-aos-easing=linear] [data-aos],[data-aos][data-aos-easing=linear]{transition-timing-function:linear}body[data-aos-easing=ease] [data-aos],[data-aos][data-aos-easing=ease]{transition-timing-function:ease}body[data-aos-easing=ease-in] [data-aos],[data-aos][data-aos-easing=ease-in]{transition-timing-function:ease-in}body[data-aos-easing=ease-out] [data-aos],[data-aos][data-aos-easing=ease-out]{transition-timing-function:ease-out}body[data-aos-easing=ease-in-out] [data-aos],[data-aos][data-aos-easing=ease-in-out]{transition-timing-function:ease-in-out}body[data-aos-easing=ease-in-back] [data-aos],[data-aos][data-aos-easing=ease-in-back]{transition-timing-function:cubic-bezier(0.6, -0.28, 0.735, 0.045)}body[data-aos-easing=ease-out-back] [data-aos],[data-aos][data-aos-easing=ease-out-back]{transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275)}body[data-aos-easing=ease-in-out-back] [data-aos],[data-aos][data-aos-easing=ease-in-out-back]{transition-timing-function:cubic-bezier(0.68, -0.55, 0.265, 1.55)}body[data-aos-easing=ease-in-sine] [data-aos],[data-aos][data-aos-easing=ease-in-sine]{transition-timing-function:cubic-bezier(0.47, 0, 0.745, 0.715)}body[data-aos-easing=ease-out-sine] [data-aos],[data-aos][data-aos-easing=ease-out-sine]{transition-timing-function:cubic-bezier(0.39, 0.575, 0.565, 1)}body[data-aos-easing=ease-in-out-sine] [data-aos],[data-aos][data-aos-easing=ease-in-out-sine]{transition-timing-function:cubic-bezier(0.445, 0.05, 0.55, 0.95)}body[data-aos-easing=ease-in-quad] [data-aos],[data-aos][data-aos-easing=ease-in-quad]{transition-timing-function:cubic-bezier(0.55, 0.085, 0.68, 0.53)}body[data-aos-easing=ease-out-quad] [data-aos],[data-aos][data-aos-easing=ease-out-quad]{transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}body[data-aos-easing=ease-in-out-quad] [data-aos],[data-aos][data-aos-easing=ease-in-out-quad]{transition-timing-function:cubic-bezier(0.455, 0.03, 0.515, 0.955)}body[data-aos-easing=ease-in-cubic] [data-aos],[data-aos][data-aos-easing=ease-in-cubic]{transition-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}body[data-aos-easing=ease-out-cubic] [data-aos],[data-aos][data-aos-easing=ease-out-cubic]{transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}body[data-aos-easing=ease-in-out-cubic] [data-aos],[data-aos][data-aos-easing=ease-in-out-cubic]{transition-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1)}body[data-aos-easing=ease-in-quart] [data-aos],[data-aos][data-aos-easing=ease-in-quart]{transition-timing-function:cubic-bezier(0.895, 0.03, 0.685, 0.22)}body[data-aos-easing=ease-out-quart] [data-aos],[data-aos][data-aos-easing=ease-out-quart]{transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)}body[data-aos-easing=ease-in-out-quart] [data-aos],[data-aos][data-aos-easing=ease-in-out-quart]{transition-timing-function:cubic-bezier(0.77, 0, 0.175, 1)}@media screen{html:not(.no-js) [data-aos^=fade]{opacity:0;transition-property:opacity,transform}html:not(.no-js) [data-aos^=fade].aos-animate{opacity:1;transform:none}html:not(.no-js) [data-aos=fade-up]{transform:translate3d(0, 100px, 0)}html:not(.no-js) [data-aos=fade-down]{transform:translate3d(0, -100px, 0)}html:not(.no-js) [data-aos=fade-right]{transform:translate3d(-100px, 0, 0)}html:not(.no-js) [data-aos=fade-left]{transform:translate3d(100px, 0, 0)}html:not(.no-js) [data-aos=fade-up-right]{transform:translate3d(-100px, 100px, 0)}html:not(.no-js) [data-aos=fade-up-left]{transform:translate3d(100px, 100px, 0)}html:not(.no-js) [data-aos=fade-down-right]{transform:translate3d(-100px, -100px, 0)}html:not(.no-js) [data-aos=fade-down-left]{transform:translate3d(100px, -100px, 0)}html:not(.no-js) [data-aos^=zoom]{opacity:0;transition-property:opacity,transform}html:not(.no-js) [data-aos^=zoom].aos-animate{opacity:1;transform:translate3d(0, 0, 0) scale(1)}html:not(.no-js) [data-aos=zoom-in]{transform:scale(0.6)}html:not(.no-js) [data-aos=zoom-in-up]{transform:translate3d(0, 100px, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-in-down]{transform:translate3d(0, -100px, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-in-right]{transform:translate3d(-100px, 0, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-in-left]{transform:translate3d(100px, 0, 0) scale(0.6)}html:not(.no-js) [data-aos=zoom-out]{transform:scale(1.2)}html:not(.no-js) [data-aos=zoom-out-up]{transform:translate3d(0, 100px, 0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-down]{transform:translate3d(0, -100px, 0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-right]{transform:translate3d(-100px, 0, 0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-left]{transform:translate3d(100px, 0, 0) scale(1.2)}html:not(.no-js) [data-aos^=slide]{transition-property:transform;visibility:hidden}html:not(.no-js) [data-aos^=slide].aos-animate{visibility:visible;transform:translate3d(0, 0, 0)}html:not(.no-js) [data-aos=slide-up]{transform:translate3d(0, 100%, 0)}html:not(.no-js) [data-aos=slide-down]{transform:translate3d(0, -100%, 0)}html:not(.no-js) [data-aos=slide-right]{transform:translate3d(-100%, 0, 0)}html:not(.no-js) [data-aos=slide-left]{transform:translate3d(100%, 0, 0)}html:not(.no-js) [data-aos^=flip]{backface-visibility:hidden;transition-property:transform}html:not(.no-js) [data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}html:not(.no-js) [data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}html:not(.no-js) [data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}html:not(.no-js) [data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}html:not(.no-js) [data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}html:not(.no-js) [data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}}
package/dist/aos.esm.js CHANGED
@@ -2,44 +2,35 @@ function debounce(func, delay) {
2
2
  let timeoutId;
3
3
  return (...args) => {
4
4
  clearTimeout(timeoutId);
5
- timeoutId = setTimeout(() => {
6
- func.apply(this, args);
7
- }, delay);
5
+ timeoutId = setTimeout(() => func(...args), delay);
8
6
  };
9
7
  }
10
8
  function throttle(func, limit) {
11
9
  let lastFunc, lastRan;
12
10
  return (...args) => {
13
- const context = this;
14
- if (!lastRan || Date.now() - lastRan >= limit) {
15
- func.apply(context, args);
16
- lastRan = Date.now();
11
+ const now = Date.now();
12
+ if (!lastRan || now - lastRan >= limit) {
13
+ func(...args);
14
+ lastRan = now;
17
15
  }
18
16
  else {
19
17
  clearTimeout(lastFunc);
20
18
  lastFunc = setTimeout(() => {
21
- func.apply(context, args);
19
+ func(...args);
22
20
  lastRan = Date.now();
23
- }, limit - (Date.now() - lastRan));
21
+ }, limit - (now - lastRan));
24
22
  }
25
23
  };
26
24
  }
27
25
 
28
26
  const phoneRe = /iphone|ipod|android.*mobile|windows phone|blackberry|opera mini|mobile|phone/i;
29
27
  const tabletRe = /ipad|android(?!.*mobile)|tablet|kindle/i;
30
- class Detector {
31
- userAgent = navigator.userAgent;
32
- phone() {
33
- return phoneRe.test(this.userAgent);
34
- }
35
- mobile() {
36
- return phoneRe.test(this.userAgent) || tabletRe.test(this.userAgent);
37
- }
38
- tablet() {
39
- return tabletRe.test(this.userAgent);
40
- }
41
- }
42
- var detect = new Detector();
28
+ const check = (regex) => regex.test(navigator.userAgent);
29
+ var detect = {
30
+ phone: () => check(phoneRe),
31
+ mobile: () => check(phoneRe) || check(tabletRe),
32
+ tablet: () => check(tabletRe),
33
+ };
43
34
 
44
35
  const resolveContainer = (container) => {
45
36
  if (container instanceof Element || container === window)
@@ -59,9 +50,8 @@ const getElementOffset = (container) => {
59
50
  : container.scrollTop;
60
51
  };
61
52
 
62
- const updateClasses = (node, classes, action = "add") => classes?.forEach((className) => node.classList[action](className));
63
- const fireEvent = (eventName, data) => document.dispatchEvent(new CustomEvent(eventName, {
64
- detail: data,
53
+ const fireEvent = (eventName, detail) => document.dispatchEvent(new CustomEvent(eventName, {
54
+ detail,
65
55
  }));
66
56
  const toggleClasses = (el, isVisible) => {
67
57
  if (el.animated === isVisible)
@@ -69,7 +59,7 @@ const toggleClasses = (el, isVisible) => {
69
59
  const { options, node } = el;
70
60
  const eventName = isVisible ? "aos:in" : "aos:out";
71
61
  const action = isVisible ? "add" : "remove";
72
- updateClasses(node, options.animatedClassNames, action);
62
+ options.animatedClassNames?.forEach((className) => node.classList[action](className));
73
63
  fireEvent(eventName, node);
74
64
  if (options.id) {
75
65
  fireEvent(`${eventName}:${options.id}`, node);
@@ -101,75 +91,50 @@ var getInlineOption = (el, key, fallback) => {
101
91
  return attr || fallback;
102
92
  };
103
93
 
104
- const getOffset = function (el, container) {
105
- let left = 0;
94
+ const getOffsetTop = function (el, container) {
106
95
  let top = 0;
107
96
  while (el) {
108
- left += el.offsetLeft - (el.tagName != "BODY" ? el.scrollLeft : 0);
109
97
  top += el.offsetTop - (el.tagName != "BODY" ? el.scrollTop : 0);
110
98
  el =
111
99
  el.offsetParent === container ? null : el.offsetParent;
112
100
  }
113
- return {
114
- top,
115
- left,
116
- };
101
+ return top;
102
+ };
103
+ const getAnchor = (el, container) => {
104
+ const anchor = getInlineOption(el, "anchor");
105
+ if (anchor) {
106
+ const queryResult = (container === window ? document : container).querySelector(anchor);
107
+ if (queryResult)
108
+ return queryResult;
109
+ }
110
+ return el;
117
111
  };
118
112
  const getPositionIn = (el, defaultOffset, defaultAnchorPlacement, container) => {
119
113
  const containerHeight = getElementHeight(container);
120
- const anchor = getInlineOption(el, "anchor");
121
114
  const inlineAnchorPlacement = getInlineOption(el, "anchor-placement");
122
115
  const additionalOffset = Number(getInlineOption(el, "offset", inlineAnchorPlacement ? 0 : defaultOffset));
123
116
  const anchorPlacement = inlineAnchorPlacement || defaultAnchorPlacement;
124
- let finalEl = el;
125
- if (anchor) {
126
- const queryResult = (container === window ? document : container).querySelector(anchor);
127
- if (queryResult)
128
- finalEl = queryResult;
117
+ const finalEl = getAnchor(el, container);
118
+ let triggerPoint = getOffsetTop(finalEl, container) - containerHeight;
119
+ const [elementPart, viewportPart] = anchorPlacement.split("-");
120
+ if (viewportPart === "center") {
121
+ triggerPoint += containerHeight / 2;
122
+ }
123
+ else if (viewportPart === "top") {
124
+ triggerPoint += containerHeight;
125
+ }
126
+ if (elementPart === "center") {
127
+ triggerPoint += finalEl.offsetHeight / 2;
129
128
  }
130
- let triggerPoint = getOffset(finalEl, container).top - containerHeight;
131
- switch (anchorPlacement) {
132
- case "top-bottom":
133
- // Default offset
134
- break;
135
- case "center-bottom":
136
- triggerPoint += finalEl.offsetHeight / 2;
137
- break;
138
- case "bottom-bottom":
139
- triggerPoint += finalEl.offsetHeight;
140
- break;
141
- case "top-center":
142
- triggerPoint += containerHeight / 2;
143
- break;
144
- case "center-center":
145
- triggerPoint += containerHeight / 2 + finalEl.offsetHeight / 2;
146
- break;
147
- case "bottom-center":
148
- triggerPoint += containerHeight / 2 + finalEl.offsetHeight;
149
- break;
150
- case "top-top":
151
- triggerPoint += containerHeight;
152
- break;
153
- case "bottom-top":
154
- triggerPoint += containerHeight + finalEl.offsetHeight;
155
- break;
156
- case "center-top":
157
- triggerPoint += containerHeight + finalEl.offsetHeight / 2;
158
- break;
129
+ else if (elementPart === "bottom") {
130
+ triggerPoint += finalEl.offsetHeight;
159
131
  }
160
132
  return triggerPoint + additionalOffset;
161
133
  };
162
134
  const getPositionOut = (el, defaultOffset, container) => {
163
- const anchor = getInlineOption(el, "anchor");
164
135
  const additionalOffset = getInlineOption(el, "offset", defaultOffset);
165
- let finalEl = el;
166
- if (anchor) {
167
- const queryResult = (container === window ? document : container).querySelector(anchor);
168
- if (queryResult)
169
- finalEl = queryResult;
170
- }
171
- const elementOffsetTop = getOffset(finalEl, container).top;
172
- return elementOffsetTop + finalEl.offsetHeight - additionalOffset;
136
+ const finalEl = getAnchor(el, container);
137
+ return (getOffsetTop(finalEl, container) + finalEl.offsetHeight - additionalOffset);
173
138
  };
174
139
 
175
140
  function prepare(elements, options, container) {
@@ -259,7 +224,7 @@ class Aos {
259
224
  (optionDisable === "mobile" && detect.mobile()) ||
260
225
  (optionDisable === "phone" && detect.phone()) ||
261
226
  (optionDisable === "tablet" && detect.tablet()) ||
262
- (typeof optionDisable === "function" && optionDisable() === true));
227
+ (typeof optionDisable === "function" && optionDisable()));
263
228
  }
264
229
  initializeScroll() {
265
230
  const { container } = this;
package/dist/aos.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).AOS=t()}(this,(function(){"use strict";const e=/iphone|ipod|android.*mobile|windows phone|blackberry|opera mini|mobile|phone/i,t=/ipad|android(?!.*mobile)|tablet|kindle/i;var s=new class{userAgent=navigator.userAgent;phone(){return e.test(this.userAgent)}mobile(){return e.test(this.userAgent)||t.test(this.userAgent)}tablet(){return t.test(this.userAgent)}};const n=(e,t)=>document.dispatchEvent(new CustomEvent(e,{detail:t})),i=(e,t)=>{if(e.animated===t)return;const{options:s,node:i}=e,o=t?"aos:in":"aos:out",a=t?"add":"remove";((e,t,s="add")=>{t?.forEach((t=>e.classList[s](t)))})(i,s.animatedClassNames,a),n(o,i),s.id&&n(`${o}:${s.id}`,i),e.animated=t};var o=(e,t)=>{e.forEach((e=>((e,t)=>{const{options:s,position:n}=e;s.mirror&&t>=n.out&&!s.once?i(e,!1):t>=n.in?i(e,!0):e.animated&&!s.once&&i(e,!1)})(e,(e=>e===window?e.pageYOffset:e.scrollTop)(t))))},a=(e,t,s)=>{const n=e.getAttribute(`data-aos-${t}`);return"true"===n||"false"!==n&&(n||s)};const r=function(e,t){let s=0,n=0;for(;e;)s+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent===t?null:e.offsetParent;return{top:n,left:s}},l=(e,t,s,n)=>{const i=(e=>e===window?e.innerHeight:e.clientHeight)(n),o=a(e,"anchor"),l=a(e,"anchor-placement"),d=Number(a(e,"offset",l?0:t)),c=l||s;let h=e;if(o){const e=(n===window?document:n).querySelector(o);e&&(h=e)}let m=r(h,n).top-i;switch(c){case"top-bottom":break;case"center-bottom":m+=h.offsetHeight/2;break;case"bottom-bottom":m+=h.offsetHeight;break;case"top-center":m+=i/2;break;case"center-center":m+=i/2+h.offsetHeight/2;break;case"bottom-center":m+=i/2+h.offsetHeight;break;case"top-top":m+=i;break;case"bottom-top":m+=i+h.offsetHeight;break;case"center-top":m+=i+h.offsetHeight/2}return m+d},d=(e,t,s)=>{const n=a(e,"anchor"),i=a(e,"offset",t);let o=e;if(n){const e=(s===window?document:s).querySelector(n);e&&(o=e)}return r(o,s).top+o.offsetHeight-i};const c=e=>[...e].some((e=>e.dataset?.aos||e.children&&c(e.children))),h={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,mirror:!1,anchorPlacement:"top-bottom",startEvent:"DOMContentLoaded",animatedClassName:"aos-animate",initClassName:"aos-init",useClassNames:!1,disableMutationObserver:!1,throttleDelay:99,debounceDelay:50,container:window};class m{elements=[];initialized=!1;options=h;container=null;observer=null;scrollHandler=null;resizeHandler=null;startHandler=null;static getElements(e){return[...(e===window?document:e).querySelectorAll("[data-aos]")].map((e=>({node:e})))}static isDisabled(e){return!0===e||"mobile"===e&&s.mobile()||"phone"===e&&s.phone()||"tablet"===e&&s.tablet()||"function"==typeof e&&!0===e()}initializeScroll(){const{container:e}=this;return this.elements=function(e,t,s){return e.forEach((e=>{const{node:n}=e,i=a(n,"mirror",t.mirror),o=a(n,"once",t.once),r=a(n,"id"),c=t.useClassNames&&n.getAttribute("data-aos")?.split(" ")||[],h=[t.animatedClassName,...c].filter((e=>"string"==typeof e));t.initClassName&&n.classList.add(t.initClassName),e.position={in:l(n,t.offset,t.anchorPlacement,s),out:i&&d(n,t.offset,s)},e.options={once:o,mirror:i,animatedClassNames:h,id:r}})),e}(this.elements,this.options,e),o(this.elements,this.container),this.scrollHandler=function(e,t){let s,n;return(...i)=>{const o=this;!n||Date.now()-n>=t?(e.apply(o,i),n=Date.now()):(clearTimeout(s),s=setTimeout((()=>{e.apply(o,i),n=Date.now()}),t-(Date.now()-n)))}}((()=>{o(this.elements,e)}),this.options.throttleDelay),e.addEventListener("scroll",this.scrollHandler,{passive:!0}),this.elements}init(e={}){this.destroy(),this.options={...h,...e};const t=(e=>e instanceof Element||e===window?e:"string"==typeof e?document.querySelector(e):null)(this.options.container);if(!t)throw"AOS - cannot find the container element. The container option must be an HTMLElement or a CSS Selector.";if(this.elements=m.getElements(t),this.container=t,m.isDisabled(this.options.disable))return this.disable();this.options.disableMutationObserver||(this.observer=(e=>{const t=new MutationObserver((t=>{t?.some((({addedNodes:e,removedNodes:t})=>c([...e,...t])))&&e()}));return t.observe(document.documentElement,{childList:!0,subtree:!0}),t})(this.refreshHard.bind(this))),document.body.setAttribute("data-aos-easing",this.options.easing),document.body.setAttribute("data-aos-duration",this.options.duration),document.body.setAttribute("data-aos-delay",this.options.delay),this.startHandler={handler:this.refresh.bind(this),type:"document"},["DOMContentLoaded","load"].includes(this.options.startEvent)?(window.addEventListener("load",this.startHandler.handler),this.startHandler.type="window"):document.addEventListener(this.options.startEvent,this.startHandler.handler),"DOMContentLoaded"===this.options.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1&&this.refresh(!0),this.resizeHandler=function(e,t){let s;return(...n)=>{clearTimeout(s),s=setTimeout((()=>{e.apply(this,n)}),t)}}(this.refresh.bind(this),this.options.debounceDelay),window.addEventListener("resize",this.resizeHandler),window.addEventListener("orientationchange",this.resizeHandler)}refresh(e=!1){e&&(this.initialized=!0),this.initialized&&this.initializeScroll()}refreshHard(){if(this.elements=m.getElements(this.container),m.isDisabled(this.options.disable))return this.disable();this.refresh()}disable(){this.elements.forEach((({node:e})=>{e.removeAttribute("data-aos"),e.removeAttribute("data-aos-easing"),e.removeAttribute("data-aos-duration"),e.removeAttribute("data-aos-delay"),this.options.initClassName&&e.classList.remove(this.options.initClassName),this.options.animatedClassName&&e.classList.remove(this.options.animatedClassName)}))}destroy(){if(this.observer?.disconnect(),this.observer=null,this.startHandler){const{handler:e,type:t}=this.startHandler;"document"===t?document.removeEventListener(this.options.startEvent,e):window.removeEventListener("load",e),this.startHandler=null}this.scrollHandler&&(window.removeEventListener("scroll",this.scrollHandler),this.scrollHandler=null),this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),window.removeEventListener("orientationchange",this.resizeHandler),this.resizeHandler=null)}}return new m}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).AOS=t()}(this,(function(){"use strict";const e=/iphone|ipod|android.*mobile|windows phone|blackberry|opera mini|mobile|phone/i,t=/ipad|android(?!.*mobile)|tablet|kindle/i,n=e=>e.test(navigator.userAgent),i=(e,t)=>document.dispatchEvent(new CustomEvent(e,{detail:t})),s=(e,t)=>{if(e.animated===t)return;const{options:n,node:s}=e,o=t?"aos:in":"aos:out",a=t?"add":"remove";n.animatedClassNames?.forEach((e=>s.classList[a](e))),i(o,s),n.id&&i(`${o}:${n.id}`,s),e.animated=t};var o=(e,t)=>{e.forEach((e=>((e,t)=>{const{options:n,position:i}=e;n.mirror&&t>=i.out&&!n.once?s(e,!1):t>=i.in?s(e,!0):e.animated&&!n.once&&s(e,!1)})(e,(e=>e===window?e.pageYOffset:e.scrollTop)(t))))},a=(e,t,n)=>{const i=e.getAttribute(`data-aos-${t}`);return"true"===i||"false"!==i&&(i||n)};const r=function(e,t){let n=0;for(;e;)n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent===t?null:e.offsetParent;return n},l=(e,t)=>{const n=a(e,"anchor");if(n){const e=(t===window?document:t).querySelector(n);if(e)return e}return e},d=(e,t,n,i)=>{const s=(e=>e===window?e.innerHeight:e.clientHeight)(i),o=a(e,"anchor-placement"),d=Number(a(e,"offset",o?0:t)),c=o||n,h=l(e,i);let m=r(h,i)-s;const[u,f]=c.split("-");return"center"===f?m+=s/2:"top"===f&&(m+=s),"center"===u?m+=h.offsetHeight/2:"bottom"===u&&(m+=h.offsetHeight),m+d},c=(e,t,n)=>{const i=a(e,"offset",t),s=l(e,n);return r(s,n)+s.offsetHeight-i},h=e=>[...e].some((e=>e.dataset?.aos||e.children&&h(e.children))),m={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,mirror:!1,anchorPlacement:"top-bottom",startEvent:"DOMContentLoaded",animatedClassName:"aos-animate",initClassName:"aos-init",useClassNames:!1,disableMutationObserver:!1,throttleDelay:99,debounceDelay:50,container:window};class u{elements=[];initialized=!1;options=m;container=null;observer=null;scrollHandler=null;resizeHandler=null;startHandler=null;static getElements(e){return[...(e===window?document:e).querySelectorAll("[data-aos]")].map((e=>({node:e})))}static isDisabled(i){return!0===i||"mobile"===i&&(n(e)||n(t))||"phone"===i&&n(e)||"tablet"===i&&n(t)||"function"==typeof i&&i()}initializeScroll(){const{container:e}=this;return this.elements=function(e,t,n){return e.forEach((e=>{const{node:i}=e,s=a(i,"mirror",t.mirror),o=a(i,"once",t.once),r=a(i,"id"),l=t.useClassNames&&i.getAttribute("data-aos")?.split(" ")||[],h=[t.animatedClassName,...l].filter((e=>"string"==typeof e));t.initClassName&&i.classList.add(t.initClassName),e.position={in:d(i,t.offset,t.anchorPlacement,n),out:s&&c(i,t.offset,n)},e.options={once:o,mirror:s,animatedClassNames:h,id:r}})),e}(this.elements,this.options,e),o(this.elements,this.container),this.scrollHandler=function(e,t){let n,i;return(...s)=>{const o=Date.now();!i||o-i>=t?(e(...s),i=o):(clearTimeout(n),n=setTimeout((()=>{e(...s),i=Date.now()}),t-(o-i)))}}((()=>{o(this.elements,e)}),this.options.throttleDelay),e.addEventListener("scroll",this.scrollHandler,{passive:!0}),this.elements}init(e={}){this.destroy(),this.options={...m,...e};const t=(e=>e instanceof Element||e===window?e:"string"==typeof e?document.querySelector(e):null)(this.options.container);if(!t)throw"AOS - cannot find the container element. The container option must be an HTMLElement or a CSS Selector.";if(this.elements=u.getElements(t),this.container=t,u.isDisabled(this.options.disable))return this.disable();this.options.disableMutationObserver||(this.observer=(e=>{const t=new MutationObserver((t=>{t?.some((({addedNodes:e,removedNodes:t})=>h([...e,...t])))&&e()}));return t.observe(document.documentElement,{childList:!0,subtree:!0}),t})(this.refreshHard.bind(this))),document.body.setAttribute("data-aos-easing",this.options.easing),document.body.setAttribute("data-aos-duration",this.options.duration),document.body.setAttribute("data-aos-delay",this.options.delay),this.startHandler={handler:this.refresh.bind(this),type:"document"},["DOMContentLoaded","load"].includes(this.options.startEvent)?(window.addEventListener("load",this.startHandler.handler),this.startHandler.type="window"):document.addEventListener(this.options.startEvent,this.startHandler.handler),"DOMContentLoaded"===this.options.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1&&this.refresh(!0),this.resizeHandler=function(e,t){let n;return(...i)=>{clearTimeout(n),n=setTimeout((()=>e(...i)),t)}}(this.refresh.bind(this),this.options.debounceDelay),window.addEventListener("resize",this.resizeHandler),window.addEventListener("orientationchange",this.resizeHandler)}refresh(e=!1){e&&(this.initialized=!0),this.initialized&&this.initializeScroll()}refreshHard(){if(this.elements=u.getElements(this.container),u.isDisabled(this.options.disable))return this.disable();this.refresh()}disable(){this.elements.forEach((({node:e})=>{e.removeAttribute("data-aos"),e.removeAttribute("data-aos-easing"),e.removeAttribute("data-aos-duration"),e.removeAttribute("data-aos-delay"),this.options.initClassName&&e.classList.remove(this.options.initClassName),this.options.animatedClassName&&e.classList.remove(this.options.animatedClassName)}))}destroy(){if(this.observer?.disconnect(),this.observer=null,this.startHandler){const{handler:e,type:t}=this.startHandler;"document"===t?document.removeEventListener(this.options.startEvent,e):window.removeEventListener("load",e),this.startHandler=null}this.scrollHandler&&(window.removeEventListener("scroll",this.scrollHandler),this.scrollHandler=null),this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),window.removeEventListener("orientationchange",this.resizeHandler),this.resizeHandler=null)}}return new u}));
@@ -1,8 +1,6 @@
1
- declare class Detector {
2
- userAgent: string;
3
- phone(): boolean;
4
- mobile(): boolean;
5
- tablet(): boolean;
6
- }
7
- declare const _default: Detector;
1
+ declare const _default: {
2
+ phone: () => boolean;
3
+ mobile: () => boolean;
4
+ tablet: () => boolean;
5
+ };
8
6
  export default _default;
package/package.json CHANGED
@@ -1,25 +1,44 @@
1
1
  {
2
2
  "name": "@reimujs/aos",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "main": "dist/aos.cjs.js",
5
5
  "module": "dist/aos.esm.js",
6
6
  "browser": "dist/aos.umd.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "scripts": {
9
- "build": "rollup -c"
9
+ "build": "rollup -c",
10
+ "test": "vitest run",
11
+ "test-cov": "vitest run --coverage"
10
12
  },
13
+ "files": [
14
+ "dist",
15
+ "LICENSE",
16
+ "LICENSE-aos"
17
+ ],
18
+ "keywords": [
19
+ "aos",
20
+ "animate",
21
+ "scroll",
22
+ "animation",
23
+ "library",
24
+ "javascript",
25
+ "typescript"
26
+ ],
11
27
  "author": "D-Sketon",
12
28
  "license": "MIT",
13
29
  "description": "Animate on scroll library",
14
30
  "devDependencies": {
15
- "@rollup/plugin-node-resolve": "^15.3.0",
31
+ "@rollup/plugin-node-resolve": "^16.0.3",
16
32
  "@rollup/plugin-terser": "^0.4.4",
17
- "@rollup/plugin-typescript": "^12.1.2",
18
- "rollup": "^4.32.1",
33
+ "@rollup/plugin-typescript": "^12.3.0",
34
+ "@vitest/coverage-v8": "^4.0.14",
35
+ "jsdom": "^27.2.0",
36
+ "rollup": "^4.53.3",
19
37
  "rollup-plugin-scss": "^3.0.0",
20
- "sass": "^1.83.4",
38
+ "sass": "^1.94.2",
21
39
  "tslib": "^2.8.1",
22
- "typescript": "^5.7.3"
40
+ "typescript": "^5.9.3",
41
+ "vitest": "^4.0.14"
23
42
  },
24
43
  "repository": {
25
44
  "type": "git",