├── README.md
├── assets
├── css
│ └── style.css
├── img
│ ├── about-abilities-zh.png
│ ├── about-abilities.png
│ ├── about-img-arch.png
│ ├── about-img-data.png
│ ├── about-scaling.png
│ ├── apple-touch-icon.png
│ ├── demo.mp4
│ ├── favicon.png
│ ├── hero-carousel
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ ├── 3.jpg
│ │ └── 4.jpg
│ ├── logo.png
│ ├── portfolio
│ │ ├── detection_016_UCR_Anomaly_DISTORTEDECG4_5000_16900_17100.png
│ │ ├── detection_069_UCR_Anomaly_DISTORTEDinsectEPG5_3200_8500_8501.png
│ │ ├── detection_206_UCR_Anomaly_CHARISten_25130_29080_29140.pdf.png
│ │ ├── forecast_ECL_0.05_10_0.pdf.png
│ │ ├── forecast_ECL_0.2_0.pdf.png
│ │ ├── forecast_PEMS03_0.05_30_0.pdf.png
│ │ ├── forecast_PEMS03_0.2_30_0.pdf.png
│ │ ├── forecast_Traffic_0.05_10_0.pdf.png
│ │ ├── forecast_Traffic_0.2_10_0.pdf.png
│ │ ├── imputation_ECL_0.05_140.pdf.png
│ │ ├── imputation_ECL_0.2_140.pdf.png
│ │ ├── imputation_ETTh2_0.05_400.pdf.png
│ │ ├── imputation_ETTh2_0.2_400.pdf.png
│ │ ├── imputation_Traffic_0.05_180.pdf.png
│ │ └── imputation_Traffic_0.2_180.pdf.png
│ ├── preloader.gif
│ ├── quote-sign-left.png
│ └── quote-sign-right.png
├── js
│ └── main.js
├── scss
│ ├── _footer.scss
│ ├── _general.scss
│ ├── _header.scss
│ ├── _hero.scss
│ ├── _nav.scss
│ ├── _sections.scss
│ ├── _variables.scss
│ └── style.scss
└── vendor
│ ├── aos
│ ├── aos.cjs.js
│ ├── aos.css
│ ├── aos.esm.js
│ ├── aos.js
│ └── aos.js.map
│ ├── bootstrap-icons
│ ├── bootstrap-icons.css
│ ├── bootstrap-icons.json
│ ├── bootstrap-icons.min.css
│ ├── bootstrap-icons.scss
│ └── fonts
│ │ ├── bootstrap-icons.woff
│ │ └── bootstrap-icons.woff2
│ ├── bootstrap
│ ├── css
│ │ ├── bootstrap-grid.css
│ │ ├── bootstrap-grid.css.map
│ │ ├── bootstrap-grid.min.css
│ │ ├── bootstrap-grid.min.css.map
│ │ ├── bootstrap-grid.rtl.css
│ │ ├── bootstrap-grid.rtl.css.map
│ │ ├── bootstrap-grid.rtl.min.css
│ │ ├── bootstrap-grid.rtl.min.css.map
│ │ ├── bootstrap-reboot.css
│ │ ├── bootstrap-reboot.css.map
│ │ ├── bootstrap-reboot.min.css
│ │ ├── bootstrap-reboot.min.css.map
│ │ ├── bootstrap-reboot.rtl.css
│ │ ├── bootstrap-reboot.rtl.css.map
│ │ ├── bootstrap-reboot.rtl.min.css
│ │ ├── bootstrap-reboot.rtl.min.css.map
│ │ ├── bootstrap-utilities.css
│ │ ├── bootstrap-utilities.css.map
│ │ ├── bootstrap-utilities.min.css
│ │ ├── bootstrap-utilities.min.css.map
│ │ ├── bootstrap-utilities.rtl.css
│ │ ├── bootstrap-utilities.rtl.css.map
│ │ ├── bootstrap-utilities.rtl.min.css
│ │ ├── bootstrap-utilities.rtl.min.css.map
│ │ ├── bootstrap.css
│ │ ├── bootstrap.css.map
│ │ ├── bootstrap.min.css
│ │ ├── bootstrap.min.css.map
│ │ ├── bootstrap.rtl.css
│ │ ├── bootstrap.rtl.css.map
│ │ ├── bootstrap.rtl.min.css
│ │ └── bootstrap.rtl.min.css.map
│ └── js
│ │ ├── bootstrap.bundle.js
│ │ ├── bootstrap.bundle.js.map
│ │ ├── bootstrap.bundle.min.js
│ │ ├── bootstrap.bundle.min.js.map
│ │ ├── bootstrap.esm.js
│ │ ├── bootstrap.esm.js.map
│ │ ├── bootstrap.esm.min.js
│ │ ├── bootstrap.esm.min.js.map
│ │ ├── bootstrap.js
│ │ ├── bootstrap.js.map
│ │ ├── bootstrap.min.js
│ │ └── bootstrap.min.js.map
│ ├── boxicons
│ ├── css
│ │ ├── animations.css
│ │ ├── boxicons.css
│ │ ├── boxicons.min.css
│ │ └── transformations.css
│ └── fonts
│ │ ├── boxicons.eot
│ │ ├── boxicons.svg
│ │ ├── boxicons.ttf
│ │ ├── boxicons.woff
│ │ └── boxicons.woff2
│ ├── glightbox
│ ├── css
│ │ ├── glightbox.css
│ │ └── glightbox.min.css
│ └── js
│ │ ├── glightbox.js
│ │ └── glightbox.min.js
│ ├── isotope-layout
│ ├── isotope.pkgd.js
│ └── isotope.pkgd.min.js
│ ├── php-email-form
│ ├── php-email-form.php
│ └── validate.js
│ └── swiper
│ ├── swiper-bundle.min.css
│ ├── swiper-bundle.min.js
│ └── swiper-bundle.min.js.map
├── index.html
└── index_zh.html
/README.md:
--------------------------------------------------------------------------------
1 | # **:triangular_flag_on_post: The complete code and scripts of Timer have been included in [[Large-Time-Series-Model]](https://github.com/thuml/Large-Time-Series-Model).**
2 |
3 | # **:triangular_flag_on_post: The complete code and scripts of Timer have been included in [[Large-Time-Series-Model]](https://github.com/thuml/Large-Time-Series-Model).**
4 |
5 | # **:triangular_flag_on_post: The complete code and scripts of Timer have been included in [[Large-Time-Series-Model]](https://github.com/thuml/Large-Time-Series-Model).**
6 |
--------------------------------------------------------------------------------
/assets/img/about-abilities-zh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/about-abilities-zh.png
--------------------------------------------------------------------------------
/assets/img/about-abilities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/about-abilities.png
--------------------------------------------------------------------------------
/assets/img/about-img-arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/about-img-arch.png
--------------------------------------------------------------------------------
/assets/img/about-img-data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/about-img-data.png
--------------------------------------------------------------------------------
/assets/img/about-scaling.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/about-scaling.png
--------------------------------------------------------------------------------
/assets/img/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/apple-touch-icon.png
--------------------------------------------------------------------------------
/assets/img/demo.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/demo.mp4
--------------------------------------------------------------------------------
/assets/img/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/favicon.png
--------------------------------------------------------------------------------
/assets/img/hero-carousel/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/hero-carousel/1.jpg
--------------------------------------------------------------------------------
/assets/img/hero-carousel/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/hero-carousel/2.jpg
--------------------------------------------------------------------------------
/assets/img/hero-carousel/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/hero-carousel/3.jpg
--------------------------------------------------------------------------------
/assets/img/hero-carousel/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/hero-carousel/4.jpg
--------------------------------------------------------------------------------
/assets/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/logo.png
--------------------------------------------------------------------------------
/assets/img/portfolio/detection_016_UCR_Anomaly_DISTORTEDECG4_5000_16900_17100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/detection_016_UCR_Anomaly_DISTORTEDECG4_5000_16900_17100.png
--------------------------------------------------------------------------------
/assets/img/portfolio/detection_069_UCR_Anomaly_DISTORTEDinsectEPG5_3200_8500_8501.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/detection_069_UCR_Anomaly_DISTORTEDinsectEPG5_3200_8500_8501.png
--------------------------------------------------------------------------------
/assets/img/portfolio/detection_206_UCR_Anomaly_CHARISten_25130_29080_29140.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/detection_206_UCR_Anomaly_CHARISten_25130_29080_29140.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/forecast_ECL_0.05_10_0.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/forecast_ECL_0.05_10_0.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/forecast_ECL_0.2_0.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/forecast_ECL_0.2_0.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/forecast_PEMS03_0.05_30_0.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/forecast_PEMS03_0.05_30_0.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/forecast_PEMS03_0.2_30_0.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/forecast_PEMS03_0.2_30_0.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/forecast_Traffic_0.05_10_0.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/forecast_Traffic_0.05_10_0.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/forecast_Traffic_0.2_10_0.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/forecast_Traffic_0.2_10_0.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/imputation_ECL_0.05_140.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/imputation_ECL_0.05_140.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/imputation_ECL_0.2_140.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/imputation_ECL_0.2_140.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/imputation_ETTh2_0.05_400.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/imputation_ETTh2_0.05_400.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/imputation_ETTh2_0.2_400.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/imputation_ETTh2_0.2_400.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/imputation_Traffic_0.05_180.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/imputation_Traffic_0.05_180.pdf.png
--------------------------------------------------------------------------------
/assets/img/portfolio/imputation_Traffic_0.2_180.pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/portfolio/imputation_Traffic_0.2_180.pdf.png
--------------------------------------------------------------------------------
/assets/img/preloader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/preloader.gif
--------------------------------------------------------------------------------
/assets/img/quote-sign-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/quote-sign-left.png
--------------------------------------------------------------------------------
/assets/img/quote-sign-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/img/quote-sign-right.png
--------------------------------------------------------------------------------
/assets/js/main.js:
--------------------------------------------------------------------------------
1 |
2 | (function() {
3 | "use strict";
4 |
5 | /**
6 | * Easy selector helper function
7 | */
8 | const select = (el, all = false) => {
9 | el = el.trim()
10 | if (all) {
11 | return [...document.querySelectorAll(el)]
12 | } else {
13 | return document.querySelector(el)
14 | }
15 | }
16 |
17 | /**
18 | * Easy event listener function
19 | */
20 | const on = (type, el, listener, all = false) => {
21 | let selectEl = select(el, all)
22 | if (selectEl) {
23 | if (all) {
24 | selectEl.forEach(e => e.addEventListener(type, listener))
25 | } else {
26 | selectEl.addEventListener(type, listener)
27 | }
28 | }
29 | }
30 |
31 | /**
32 | * Easy on scroll event listener
33 | */
34 | const onscroll = (el, listener) => {
35 | el.addEventListener('scroll', listener)
36 | }
37 |
38 | /**
39 | * Navbar links active state on scroll
40 | */
41 | let navbarlinks = select('#navbar .scrollto', true)
42 | const navbarlinksActive = () => {
43 | let position = window.scrollY + 200
44 | navbarlinks.forEach(navbarlink => {
45 | if (!navbarlink.hash) return
46 | let section = select(navbarlink.hash)
47 | if (!section) return
48 | if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) {
49 | navbarlink.classList.add('active')
50 | } else {
51 | navbarlink.classList.remove('active')
52 | }
53 | })
54 | }
55 | window.addEventListener('load', navbarlinksActive)
56 | onscroll(document, navbarlinksActive)
57 |
58 | /**
59 | * Scrolls to an element with header offset
60 | */
61 | const scrollto = (el) => {
62 | let header = select('#header')
63 | let offset = header.offsetHeight
64 |
65 | let elementPos = select(el).offsetTop
66 | window.scrollTo({
67 | top: elementPos - offset,
68 | behavior: 'smooth'
69 | })
70 | }
71 |
72 | /**
73 | * Header fixed top on scroll
74 | */
75 | let selectHeader = select('#header')
76 | if (selectHeader) {
77 | let headerOffset = selectHeader.offsetTop
78 | let nextElement = selectHeader.nextElementSibling
79 | const headerFixed = () => {
80 | if ((headerOffset - window.scrollY) <= 0) {
81 | selectHeader.classList.add('fixed-top')
82 | nextElement.classList.add('scrolled-offset')
83 | } else {
84 | selectHeader.classList.remove('fixed-top')
85 | nextElement.classList.remove('scrolled-offset')
86 | }
87 | }
88 | window.addEventListener('load', headerFixed)
89 | onscroll(document, headerFixed)
90 | }
91 |
92 | /**
93 | * Back to top button
94 | */
95 | let backtotop = select('.back-to-top')
96 | if (backtotop) {
97 | const toggleBacktotop = () => {
98 | if (window.scrollY > 100) {
99 | backtotop.classList.add('active')
100 | } else {
101 | backtotop.classList.remove('active')
102 | }
103 | }
104 | window.addEventListener('load', toggleBacktotop)
105 | onscroll(document, toggleBacktotop)
106 | }
107 |
108 | /**
109 | * Mobile nav toggle
110 | */
111 | on('click', '.mobile-nav-toggle', function(e) {
112 | select('#navbar').classList.toggle('navbar-mobile')
113 | this.classList.toggle('bi-list')
114 | this.classList.toggle('bi-x')
115 | })
116 |
117 | /**
118 | * Mobile nav dropdowns activate
119 | */
120 | on('click', '.navbar .dropdown > a', function(e) {
121 | if (select('#navbar').classList.contains('navbar-mobile')) {
122 | e.preventDefault()
123 | this.nextElementSibling.classList.toggle('dropdown-active')
124 | }
125 | }, true)
126 |
127 | /**
128 | * Scrool with ofset on links with a class name .scrollto
129 | */
130 | on('click', '.scrollto', function(e) {
131 | if (select(this.hash)) {
132 | e.preventDefault()
133 |
134 | let navbar = select('#navbar')
135 | if (navbar.classList.contains('navbar-mobile')) {
136 | navbar.classList.remove('navbar-mobile')
137 | let navbarToggle = select('.mobile-nav-toggle')
138 | navbarToggle.classList.toggle('bi-list')
139 | navbarToggle.classList.toggle('bi-x')
140 | }
141 | scrollto(this.hash)
142 | }
143 | }, true)
144 |
145 | /**
146 | * Scroll with ofset on page load with hash links in the url
147 | */
148 | window.addEventListener('load', () => {
149 | if (window.location.hash) {
150 | if (select(window.location.hash)) {
151 | scrollto(window.location.hash)
152 | }
153 | }
154 | });
155 |
156 | /**
157 | * Clients Slider
158 | */
159 | new Swiper('.hero-slider', {
160 | speed: 1000,
161 | loop: true,
162 | effect: 'fade',
163 | autoplay: {
164 | delay: 5000,
165 | disableOnInteraction: false
166 | }
167 | });
168 |
169 | /**
170 | * Clients Slider
171 | */
172 | new Swiper('.clients-slider', {
173 | speed: 400,
174 | loop: true,
175 | autoplay: {
176 | delay: 5000,
177 | disableOnInteraction: false
178 | },
179 | slidesPerView: 'auto',
180 | pagination: {
181 | el: '.swiper-pagination',
182 | type: 'bullets',
183 | clickable: true
184 | },
185 | breakpoints: {
186 | 320: {
187 | slidesPerView: 2,
188 | spaceBetween: 20
189 | },
190 | 480: {
191 | slidesPerView: 3,
192 | spaceBetween: 20
193 | },
194 | 640: {
195 | slidesPerView: 4,
196 | spaceBetween: 20
197 | },
198 | 992: {
199 | slidesPerView: 6,
200 | spaceBetween: 20
201 | }
202 | }
203 | });
204 |
205 | /**
206 | * Porfolio isotope and filter
207 | */
208 | window.addEventListener('load', () => {
209 | let portfolioContainer = select('.portfolio-container');
210 | if (portfolioContainer) {
211 | let portfolioIsotope = new Isotope(portfolioContainer, {
212 | itemSelector: '.portfolio-item',
213 | layoutMode: 'fitRows'
214 | });
215 |
216 | let portfolioFilters = select('#portfolio-flters li', true);
217 |
218 | on('click', '#portfolio-flters li', function(e) {
219 | e.preventDefault();
220 | portfolioFilters.forEach(function(el) {
221 | el.classList.remove('filter-active');
222 | });
223 | this.classList.add('filter-active');
224 |
225 | portfolioIsotope.arrange({
226 | filter: this.getAttribute('data-filter')
227 | });
228 | portfolioIsotope.on('arrangeComplete', function() {
229 | AOS.refresh()
230 | });
231 | }, true);
232 | }
233 |
234 | });
235 |
236 | /**
237 | * Initiate portfolio lightbox
238 | */
239 | const portfolioLightbox = GLightbox({
240 | selector: '.portfolio-lightbox'
241 | });
242 |
243 | /**
244 | * Portfolio details slider
245 | */
246 | new Swiper('.portfolio-details-slider', {
247 | speed: 400,
248 | loop: true,
249 | autoplay: {
250 | delay: 5000,
251 | disableOnInteraction: false
252 | },
253 | pagination: {
254 | el: '.swiper-pagination',
255 | type: 'bullets',
256 | clickable: true
257 | }
258 | });
259 |
260 | /**
261 | * Testimonials slider
262 | */
263 | new Swiper('.testimonials-slider', {
264 | speed: 600,
265 | loop: true,
266 | autoplay: {
267 | delay: 5000,
268 | disableOnInteraction: false
269 | },
270 | slidesPerView: 'auto',
271 | pagination: {
272 | el: '.swiper-pagination',
273 | type: 'bullets',
274 | clickable: true
275 | },
276 | breakpoints: {
277 | 320: {
278 | slidesPerView: 1,
279 | spaceBetween: 20
280 | },
281 |
282 | 1200: {
283 | slidesPerView: 3,
284 | spaceBetween: 20
285 | }
286 | }
287 | });
288 |
289 | /**
290 | * Animation on scroll
291 | */
292 | window.addEventListener('load', () => {
293 | AOS.init({
294 | duration: 1000,
295 | easing: 'ease-in-out',
296 | once: true,
297 | mirror: false
298 | })
299 | });
300 |
301 | })()
--------------------------------------------------------------------------------
/assets/scss/_footer.scss:
--------------------------------------------------------------------------------
1 | /*--------------------------------------------------------------
2 | # Footer
3 | --------------------------------------------------------------*/
4 | #footer {
5 | background: #f2f5f8;
6 | padding: 0 0 30px 0;
7 | font-size: 14px;
8 |
9 | .copyright {
10 | text-align: center;
11 | padding-top: 30px;
12 | }
13 |
14 | .credits {
15 | text-align: center;
16 | font-size: 13px;
17 | color: #555;
18 | a {
19 | color: $secondary;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/assets/scss/_general.scss:
--------------------------------------------------------------------------------
1 | /*--------------------------------------------------------------
2 | # General
3 | --------------------------------------------------------------*/
4 | body {
5 | background: #fff;
6 | color: $default;
7 | font-family: $font-default;
8 | }
9 |
10 | a {
11 | color: $primary;
12 | text-decoration: none;
13 | transition: 0.5s;
14 | }
15 |
16 | a:hover, a:active, a:focus {
17 | color: lighten($primary, 0.2%);
18 | outline: none;
19 | text-decoration: none;
20 | }
21 |
22 | p {
23 | padding: 0;
24 | margin: 0 0 30px 0;
25 | }
26 |
27 | h1, h2, h3, h4, h5, h6 {
28 | font-family: $font-secondary;
29 | font-weight: 400;
30 | margin: 0 0 20px 0;
31 | padding: 0;
32 | }
33 |
34 | /*--------------------------------------------------------------
35 | # Back to top button
36 | --------------------------------------------------------------*/
37 | .back-to-top {
38 | position: fixed;
39 | visibility: hidden;
40 | opacity: 0;
41 | right: 15px;
42 | bottom: 15px;
43 | z-index: 996;
44 | background: $primary;
45 | width: 40px;
46 | height: 40px;
47 | transition: all 0.4s;
48 |
49 | i {
50 | font-size: 28px;
51 | color: #fff;
52 | line-height: 0;
53 | }
54 |
55 | &:hover {
56 | background: lighten($primary, 8);
57 | color: #fff;
58 | }
59 |
60 | &.active {
61 | visibility: visible;
62 | opacity: 1;
63 | }
64 |
65 | }
66 |
--------------------------------------------------------------------------------
/assets/scss/_header.scss:
--------------------------------------------------------------------------------
1 | /*--------------------------------------------------------------
2 | # Top Bar
3 | --------------------------------------------------------------*/
4 | #topbar {
5 | background: #fff;
6 | border-bottom: 1px solid #eee;
7 | font-size: 14px;
8 | padding: 0;
9 | height: 40px;
10 |
11 | .contact-info {
12 |
13 | i {
14 | font-style: normal;
15 | color: $primary;
16 |
17 | a, span {
18 | padding-left: 5px;
19 | color: $default;
20 | }
21 |
22 | a {
23 | line-height: 0;
24 | transition: 0.3s;
25 | &:hover {
26 | color: $primary;
27 | }
28 | }
29 |
30 | }
31 | }
32 |
33 | .social-links {
34 | a {
35 | color: #555;
36 | padding: 0 15px;
37 | display: inline-block;
38 | line-height: 1px;
39 | border-left: 1px solid #e9e9e9;
40 | &:hover {
41 | color: $primary;
42 | }
43 | &:first-child {
44 | border-left: 0;
45 | }
46 | }
47 | }
48 | }
49 |
50 | /*--------------------------------------------------------------
51 | # Header
52 | --------------------------------------------------------------*/
53 | #header {
54 | height: 80px;
55 | transition: all 0.5s;
56 | z-index: 997;
57 | background: #fff;
58 | box-shadow: 0px 6px 9px 0px rgba(0,0,0,.06);
59 |
60 | #logo {
61 |
62 | h1 {
63 | font-size: 42px;
64 | margin: 0;
65 | padding: 0;
66 | font-family: $font-secondary;
67 | font-weight: 700;
68 | }
69 |
70 | h1 a {
71 | color: $secondary;
72 | span {
73 | color: $primary;
74 | }
75 | }
76 |
77 | img {
78 | padding: 0;
79 | margin: 0;
80 | }
81 | }
82 |
83 | @media (max-width: 768px) {
84 | height: 60px;
85 | #logo {
86 | h1 {
87 | font-size: 34px;
88 | }
89 |
90 | img {
91 | max-height: 40px;
92 | }
93 | }
94 | }
95 | }
96 |
97 | .scrolled-offset {
98 | margin-top: 70px;
99 | }
100 |
--------------------------------------------------------------------------------
/assets/scss/_hero.scss:
--------------------------------------------------------------------------------
1 | /*--------------------------------------------------------------
2 | # Hero Section
3 | --------------------------------------------------------------*/
4 | #hero {
5 | width: 100%;
6 | height: 60vh;
7 | position: relative;
8 | background: url('../img/hero-carousel/1.jpg') no-repeat;
9 | background-size: cover;
10 | padding: 0;
11 |
12 | .hero-content {
13 | position: absolute;
14 | bottom: 0;
15 | top: 0;
16 | left: 0;
17 | right: 0;
18 | z-index: 10;
19 | display: flex;
20 | justify-content: center;
21 | align-items: center;
22 | flex-direction: column;
23 | text-align: center;
24 |
25 | h2 {
26 | color: $secondary;
27 | margin-bottom: 30px;
28 | font-size: 64px;
29 | font-weight: 700;
30 |
31 | span {
32 | color: $primary;
33 | text-decoration: underline;
34 | }
35 |
36 | @media (max-width: 767px) {
37 | font-size: 34px;
38 | }
39 | }
40 |
41 | .btn-get-started, .btn-projects {
42 | font-family: $font-primary;
43 | font-size: 15px;
44 | font-weight: bold;
45 | letter-spacing: 1px;
46 | display: inline-block;
47 | padding: 10px 32px;
48 | border-radius: 2px;
49 | transition: 0.5s;
50 | margin: 10px;
51 | color: #fff;
52 | }
53 |
54 | .btn-get-started {
55 | background: $secondary;
56 | border: 2px solid $secondary;
57 | &:hover {
58 | background: none;
59 | color: $secondary;
60 | }
61 | }
62 |
63 | .btn-projects {
64 | background: $primary;
65 | border: 2px solid $primary;
66 | &:hover {
67 | background: none;
68 | color: $primary;
69 | }
70 | }
71 |
72 | }
73 |
74 | .hero-slider {
75 | z-index: 8;
76 | height: 60vh;
77 | &::before {
78 | content: '';
79 | background-color: rgba(255, 255, 255, 0.7);
80 | position: absolute;
81 | height: 100%;
82 | width: 100%;
83 | top: 0;
84 | right:0;
85 | left: 0;
86 | bottom: 0;
87 | z-index: 7;
88 | }
89 |
90 | .swiper-slide {
91 | background-size: cover;
92 | background-position: center;
93 | background-repeat: no-repeat;
94 | transition-property: opacity;
95 | }
96 |
97 | }
98 |
99 | }
100 |
--------------------------------------------------------------------------------
/assets/scss/_nav.scss:
--------------------------------------------------------------------------------
1 | /*--------------------------------------------------------------
2 | # Navigation Menu
3 | --------------------------------------------------------------*/
4 |
5 | /**
6 | * Desktop Navigation
7 | */
8 | .navbar {
9 | padding: 0;
10 |
11 | ul {
12 | margin: 0;
13 | padding: 0;
14 | display: flex;
15 | list-style: none;
16 | align-items: center;
17 | }
18 |
19 | li {
20 | position: relative;
21 | }
22 |
23 | a, a:focus {
24 | display: flex;
25 | align-items: center;
26 | justify-content: space-between;
27 | padding: 10px 0 10px 30px;
28 | font-family: $font-primary;
29 | font-size: 15px;
30 | font-weight: 600;
31 | color: $default;
32 | white-space: nowrap;
33 | transition: 0.3s;
34 |
35 | i {
36 | font-size: 12px;
37 | line-height: 0;
38 | margin-left: 5px;
39 | }
40 | }
41 |
42 | a:hover, .active, .active:focus, li:hover > a {
43 | color: $primary;
44 | }
45 |
46 |
47 | .dropdown {
48 |
49 | ul {
50 | display: block;
51 | position: absolute;
52 | left: 14px;
53 | top: calc(100% + 30px);
54 | margin: 0;
55 | padding: 10px 0;
56 | z-index: 99;
57 | opacity: 0;
58 | visibility: hidden;
59 | background: #fff;
60 | box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
61 | transition: 0.3s;
62 |
63 | li {
64 | min-width: 200px;
65 | }
66 |
67 | a {
68 | padding: 10px 20px;
69 | font-size: 14px;
70 | i {
71 | font-size: 12px;
72 | }
73 | }
74 |
75 | a:hover, .active:hover, li:hover > a {
76 | color: $primary;
77 | }
78 |
79 | }
80 |
81 | &:hover > ul {
82 | opacity: 1;
83 | top: 100%;
84 | visibility: visible;
85 | }
86 |
87 | }
88 |
89 | .dropdown .dropdown {
90 |
91 | ul {
92 | top: 0;
93 | left: calc(100% - 30px);
94 | visibility: hidden;
95 | }
96 |
97 | &:hover > ul {
98 | opacity: 1;
99 | top: 0;
100 | left: 100%;
101 | visibility: visible;
102 | }
103 |
104 | @media (max-width: 1366px) {
105 | ul {
106 | left: -90%;
107 | }
108 |
109 | &:hover > ul {
110 | left: -100%;
111 | }
112 | }
113 | }
114 |
115 | }
116 |
117 | /**
118 | * Mobile Navigation
119 | */
120 | .mobile-nav-toggle {
121 | color: $secondary;
122 | font-size: 28px;
123 | cursor: pointer;
124 | display: none;
125 | line-height: 0;
126 | transition: 0.5s;
127 | &.bi-x {
128 | color: #fff;
129 | }
130 | }
131 |
132 | @media (max-width: 991px) {
133 |
134 | .mobile-nav-toggle {
135 | display: block;
136 | }
137 |
138 | .navbar ul {
139 | display: none;
140 | }
141 |
142 | }
143 |
144 | .navbar-mobile {
145 | position: fixed;
146 | overflow: hidden;
147 | top: 0;
148 | right: 0;
149 | left: 0;
150 | bottom: 0;
151 | background: rgba(darken($secondary, 10), 0.9);
152 | transition: 0.3s;
153 | z-index: 999;
154 |
155 | .mobile-nav-toggle {
156 | position: absolute;
157 | top: 15px;
158 | right: 15px;
159 | }
160 |
161 | ul {
162 | display: block;
163 | position: absolute;
164 | top: 55px;
165 | right: 15px;
166 | bottom: 15px;
167 | left: 15px;
168 | padding: 10px 0;
169 | background-color: #fff;
170 | overflow-y: auto;
171 | transition: 0.3s;
172 | }
173 |
174 | a, a:focus {
175 | padding: 10px 20px;
176 | font-size: 15px;
177 | color: $secondary;
178 | }
179 |
180 | a:hover, .active, li:hover > a {
181 | color: $primary;
182 | }
183 |
184 | .getstarted, .getstarted:focus {
185 | margin: 15px;
186 | }
187 |
188 | .dropdown {
189 |
190 | ul {
191 | position: static;
192 | display: none;
193 | margin: 10px 20px;
194 | padding: 10px 0;
195 | z-index: 99;
196 | opacity: 1;
197 | visibility: visible;
198 | background: #fff;
199 | box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
200 |
201 | li {
202 | min-width: 200px;
203 | }
204 |
205 | a {
206 | padding: 10px 20px;
207 |
208 | i {
209 | font-size: 12px;
210 | }
211 | }
212 |
213 | a:hover, .active:hover, li:hover > a {
214 | color: $primary;
215 | }
216 |
217 | }
218 |
219 | > .dropdown-active {
220 | display: block;
221 | }
222 |
223 | }
224 |
225 | }
226 |
--------------------------------------------------------------------------------
/assets/scss/_sections.scss:
--------------------------------------------------------------------------------
1 | /*--------------------------------------------------------------
2 | # Sections
3 | --------------------------------------------------------------*/
4 | section {
5 | padding: 40px 0;
6 | overflow: hidden;
7 | }
8 |
9 | /* Sections Header
10 | --------------------------------*/
11 | .section-header {
12 | margin-bottom: 30px;
13 |
14 | h2 {
15 | font-size: 32px;
16 | color: $secondary;
17 | text-transform: uppercase;
18 | font-weight: 700;
19 | position: relative;
20 | padding-bottom: 20px;
21 |
22 | &::before {
23 | content: '';
24 | position: absolute;
25 | display: block;
26 | width: 50px;
27 | height: 3px;
28 | background: $primary;
29 | bottom: 0;
30 | left: 0;
31 | }
32 | }
33 |
34 | p {
35 | padding: 0;
36 | margin: 0;
37 | }
38 |
39 | }
40 |
41 | /*--------------------------------------------------------------
42 | # Breadcrumbs
43 | --------------------------------------------------------------*/
44 | .breadcrumbs {
45 | padding: 20px 0;
46 | background-color: #fafafa;
47 | min-height: 40px;
48 |
49 | h2 {
50 | font-size: 24px;
51 | font-weight: 300;
52 | margin: 0;
53 | @media (max-width: 992px) {
54 | margin: 0 0 10px 0;
55 | }
56 | }
57 |
58 | ol {
59 | display: flex;
60 | flex-wrap: wrap;
61 | list-style: none;
62 | padding: 0;
63 | margin: 0;
64 | font-size: 14px;
65 |
66 | li + li {
67 | padding-left: 10px;
68 | }
69 |
70 | li + li::before {
71 | display: inline-block;
72 | padding-right: 10px;
73 | color: #6c757d;
74 | content: "/";
75 | }
76 | }
77 |
78 | @media (max-width: 768px) {
79 | .d-flex {
80 | display: block !important;
81 |
82 | }
83 |
84 | ol {
85 | display: block;
86 | li {
87 | display: inline-block;
88 | }
89 |
90 | }
91 | }
92 | }
93 |
94 | /* About Section
95 | --------------------------------*/
96 | #about {
97 | padding: 60px 0 30px 0;
98 |
99 | .about-img {
100 | overflow: hidden;
101 | img {
102 | margin-left: -15px;
103 | max-width: 100%;
104 | }
105 |
106 | @media (max-width: 768px) {
107 | height: auto;
108 | img {
109 | margin-left: 0;
110 | padding-bottom: 30px;
111 | }
112 | }
113 | }
114 |
115 | .content {
116 | h2 {
117 | color: $secondary;
118 | font-weight: 700;
119 | font-size: 36px;
120 | font-family: $font-primary;
121 | }
122 |
123 | h3 {
124 | color: #555;
125 | font-weight: 300;
126 | font-size: 18px;
127 | line-height: 26px;
128 | font-style: italic;
129 | }
130 |
131 | p {
132 | line-height: 26px;
133 | &:last-child {
134 | margin-bottom: 0;
135 | }
136 | }
137 |
138 | i {
139 | font-size: 20px;
140 | padding-right: 4px;
141 | color: $primary;
142 | }
143 |
144 | ul {
145 | list-style: none;
146 | padding: 0;
147 | li {
148 | padding-bottom: 10px;
149 | }
150 | }
151 | }
152 |
153 | }
154 |
155 |
156 | /* Services Section
157 | --------------------------------*/
158 | #services {
159 | padding: 40px 0;
160 |
161 | .box {
162 | padding: 40px;
163 | box-shadow: 10px 10px 15px rgba(73, 78, 92, 0.1);
164 | background: #fff;
165 | transition: 0.4s;
166 | height: 100%;
167 |
168 | &:hover {
169 | box-shadow: 0px 0px 30px rgba(73, 78, 92, 0.15);
170 | transform: translateY(-10px);
171 | -webkit-transform: translateY(-10px);
172 | -moz-transform: translateY(-10px);
173 | }
174 |
175 | .icon {
176 | float: left;
177 | i {
178 | color: $default;
179 | font-size: 64px;
180 | transition: 0.5s;
181 | line-height: 0;
182 | margin-top: 34px;
183 | &:before {
184 | background: $secondary;
185 | background: linear-gradient(45deg, $primary 0%, lighten($primary, 20%) 100%);
186 | background-clip: border-box;
187 | -webkit-background-clip: text;
188 | -webkit-text-fill-color: transparent;
189 | }
190 | }
191 | }
192 |
193 | h4 {
194 | margin-left: 100px;
195 | font-weight: 700;
196 | margin-bottom: 15px;
197 | font-size: 22px;
198 | a {
199 | color:#444;
200 | }
201 |
202 | }
203 |
204 | p {
205 | font-size: 14px;
206 | margin-left: 100px;
207 | margin-bottom: 0;
208 | line-height: 24px;
209 | }
210 |
211 | @media (max-width: 767px) {
212 | .box {
213 | margin-bottom: 20px;
214 | }
215 | .icon {
216 | float: none;
217 | text-align: center;
218 | padding-bottom: 15px;
219 | }
220 |
221 | h4, p {
222 | margin-left: 0;
223 | text-align: center;
224 | }
225 | }
226 | }
227 | }
228 |
229 | /* Clients Section
230 | --------------------------------*/
231 | #clients {
232 | padding: 30px 0;
233 |
234 | img {
235 | max-width: 100%;
236 | opacity: 0.5;
237 | transition: 0.3s;
238 | padding: 15px 0;
239 | &:hover {
240 | opacity: 1;
241 | }
242 | }
243 |
244 | .swiper-pagination {
245 | margin-top: 20px;
246 | position: relative;
247 |
248 | .swiper-pagination-bullet {
249 | width: 12px;
250 | height: 12px;
251 | background-color: #fff;
252 | opacity: 1;
253 | border: 1px solid $primary;
254 | }
255 |
256 | .swiper-pagination-bullet-active {
257 | background-color: $primary;
258 | }
259 | }
260 | }
261 |
262 | /* Our Portfolio Section
263 | --------------------------------*/
264 | #portfolio {
265 | background: #fff;
266 | padding: 30px 0;
267 |
268 | #portfolio-flters {
269 | padding:0;
270 | margin:0 auto 25px auto;
271 | list-style:none;
272 | text-align:center;
273 | border-radius: 50px;
274 |
275 | li {
276 | cursor: pointer;
277 | display: inline-block;
278 | padding: 10px 18px 12px 18px;
279 | font-size: 14px;
280 | font-weight: 500;
281 | line-height: 1;
282 | color: $default;
283 | margin: 0 3px 10px 3px;
284 | transition: all ease-in-out 0.3s;
285 | background: lighten($default, 70);
286 | border-radius: 4px;
287 |
288 | &:hover, &.filter-active {
289 | color: #fff;
290 | background: $primary;
291 | }
292 |
293 | &:last-child {
294 | margin-right: 0;
295 | }
296 | }
297 | }
298 |
299 | .portfolio-item {
300 | margin-bottom: 30px;
301 | overflow: hidden;
302 |
303 | img {
304 | position: relative;
305 | top:0;
306 | transition: all 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
307 | }
308 |
309 | .portfolio-info {
310 | opacity: 0;
311 | position: absolute;
312 | left: 12px;
313 | right: 12px;
314 | bottom: -50px;
315 | z-index: 3;
316 | transition: all ease-in-out 0.3s;
317 | background: $primary;
318 | padding: 15px 20px;
319 |
320 | h4 {
321 | font-size: 18px;
322 | color: #fff;
323 | font-weight: 600;
324 | }
325 |
326 | p {
327 | color: #fff;
328 | font-size: 14px;
329 | margin-bottom: 0;
330 | }
331 |
332 | .preview-link, .details-link {
333 | position: absolute;
334 | right: 50px;
335 | font-size: 24px;
336 | top: calc(50% - 18px);
337 | color: rgba(#fff, .6);
338 | transition: ease-in-out 0.3s;
339 | &:hover {
340 | color: #fff;
341 | }
342 | }
343 |
344 | .details-link {
345 | right: 15px;
346 | }
347 |
348 | }
349 |
350 | &:hover {
351 | img {
352 | top:-30px;
353 | }
354 | .portfolio-info {
355 | opacity: 1;
356 | bottom: 0;
357 | }
358 | }
359 | }
360 |
361 | }
362 | /*--------------------------------------------------------------
363 | # Portfolio Details
364 | --------------------------------------------------------------*/
365 | .portfolio-details {
366 |
367 | padding-top: 40px;
368 |
369 | .portfolio-details-slider {
370 | img {
371 | width: 100%;
372 | }
373 | .swiper-pagination {
374 | margin-top: 20px;
375 | position: relative;
376 |
377 | .swiper-pagination-bullet {
378 | width: 12px;
379 | height: 12px;
380 | background-color: #fff;
381 | opacity: 1;
382 | border: 1px solid $primary;
383 | }
384 |
385 | .swiper-pagination-bullet-active {
386 | background-color: $primary;
387 | }
388 | }
389 |
390 | }
391 |
392 | .portfolio-info {
393 | padding: 30px;
394 | box-shadow: 0px 0 30px rgba($secondary, 0.08);
395 |
396 | h3 {
397 | font-size: 22px;
398 | font-weight: 700;
399 | margin-bottom: 20px;
400 | padding-bottom: 20px;
401 | border-bottom: 1px solid #eee;
402 | }
403 |
404 | ul {
405 | list-style: none;
406 | padding: 0;
407 | font-size: 15px;
408 |
409 | li +li {
410 | margin-top: 10px;
411 | }
412 | }
413 |
414 | }
415 |
416 | .portfolio-description {
417 | padding-top: 30px;
418 |
419 | h2 {
420 | font-size: 26px;
421 | font-weight: 700;
422 | margin-bottom: 20px;
423 | }
424 |
425 | p {
426 | padding: 0;
427 | }
428 | }
429 |
430 | }
431 |
432 | /* Testimonials Section
433 | --------------------------------*/
434 | #testimonials {
435 | padding: 30px 0;
436 |
437 |
438 | .testimonials-carousel, .testimonials-slider {
439 | overflow: hidden;
440 | }
441 |
442 | .testimonial-item {
443 | box-sizing: content-box;
444 | padding: 30px 30px 0 30px;
445 | margin: 30px 15px;
446 | text-align: center;
447 | min-height: 350px;
448 | box-shadow: 0px 2px 12px rgba(0,0,0,.08);
449 |
450 | @media (max-width: 767px ) {
451 | margin: 30px 10px;
452 | }
453 |
454 | .testimonial-img {
455 | width: 90px;
456 | border-radius: 50%;
457 | border: 4px solid #fff;
458 | margin: 0 auto;
459 | }
460 |
461 | h3 {
462 | font-size: 18px;
463 | font-weight: bold;
464 | margin: 10px 0 5px 0;
465 | color: #111;
466 | }
467 |
468 | h4 {
469 | font-size: 14px;
470 | color: #999;
471 | margin:0;
472 | }
473 |
474 | .quote-sign-left {
475 | margin-top: -15px;
476 | padding-right: 10px;
477 | display: inline-block;
478 | width: 37px;
479 | }
480 |
481 | .quote-sign-right {
482 | margin-bottom: -15px;
483 | padding-left: 10px;
484 | display: inline-block;
485 | max-width: 100%;
486 | width: 37px;
487 | }
488 |
489 | p {
490 | font-style: italic;
491 | margin: 0 auto 15px auto;
492 | }
493 |
494 | }
495 |
496 | .swiper-pagination {
497 | margin-top: 20px;
498 | position: relative;
499 |
500 | .swiper-pagination-bullet {
501 | width: 12px;
502 | height: 12px;
503 | background-color: #fff;
504 | opacity: 1;
505 | border: 1px solid $primary;
506 | }
507 |
508 | .swiper-pagination-bullet-active {
509 | background-color: $primary;
510 | }
511 | }
512 | }
513 |
514 | /* Call To Action Section
515 | --------------------------------*/
516 | #call-to-action {
517 | background: darken($secondary, 10%);
518 | background-size: cover;
519 | padding: 40px 0;
520 |
521 | .cta-title {
522 | color: #fff;
523 | font-size: 28px;
524 | font-weight: 700;
525 | }
526 |
527 | .cta-text {
528 | color: #fff;
529 | }
530 |
531 | .cta-btn-container {
532 | @media (min-width: 769px) {
533 | display: flex;
534 | align-items: center;
535 | justify-content: flex-end;
536 | }
537 | }
538 |
539 | .cta-btn {
540 | font-family: $font-secondary;
541 | font-weight: 700;
542 | font-size: 16px;
543 | letter-spacing: 1px;
544 | display: inline-block;
545 | padding: 8px 26px;
546 | border-radius: 3px;
547 | transition: 0.5s;
548 | margin: 10px;
549 | border: 3px solid #fff;
550 | color: #fff;
551 | &:hover {
552 | background: $primary;
553 | border: 3px solid $primary;
554 | }
555 | }
556 | }
557 |
558 | /* Our Team Section
559 | --------------------------------*/
560 | #team {
561 | background: #fff;
562 | padding: 30px 0 0 0;
563 |
564 | .member {
565 | text-align: center;
566 | margin-bottom: 20px;
567 |
568 | .pic {
569 | overflow: hidden;
570 | text-align: center;
571 |
572 | img {
573 | max-width: 100%;
574 | }
575 |
576 | }
577 |
578 | .details {
579 | background: $primary;
580 | color: #fff;
581 | padding: 15px;
582 | border-radius: 0 0 3px 3px;
583 | }
584 |
585 | h4 {
586 | font-weight: 700;
587 | margin-bottom: 2px;
588 | font-size: 18px;
589 | }
590 |
591 | span {
592 | font-style: italic;
593 | display: block;
594 | font-size: 13px;
595 | }
596 |
597 | .social {
598 | margin-top: 5px;
599 | a {
600 | color: #fff;
601 |
602 | }
603 |
604 | i {
605 | font-size: 16px;
606 | margin: 0 2px;
607 | }
608 | }
609 | }
610 | }
611 |
612 | /* Contact Section
613 | --------------------------------*/
614 | #contact {
615 | padding: 30px 0;
616 |
617 | .contact-info {
618 | margin-bottom: 20px;
619 | text-align: center;
620 | i {
621 | font-size: 48px;
622 | display: inline-block;
623 | margin-bottom: 10px;
624 | color: $primary;
625 | }
626 |
627 | address, p {
628 | margin-bottom: 0;
629 | color: #000;
630 | }
631 |
632 | h3 {
633 | font-size: 18px;
634 | margin-bottom: 15px;
635 | font-weight: bold;
636 | text-transform: uppercase;
637 | color: #999;
638 | }
639 |
640 | a {
641 | color: #000;
642 | &:hover {
643 | color: $primary;
644 | }
645 | }
646 | }
647 |
648 | .contact-address, .contact-phone, .contact-email {
649 | margin-bottom: 20px;
650 | @media (min-width: 768px) {
651 | padding: 20px 0;
652 | }
653 | }
654 |
655 | @media (min-width: 768px) {
656 | .contact-phone {
657 | border-left: 1px solid #ddd;
658 | border-right: 1px solid #ddd;
659 | }
660 | }
661 |
662 | #google-map {
663 | height: 290px;
664 | margin-bottom: 20px;
665 | @media (max-width: 576px ) {
666 | margin-top: 20px;
667 | }
668 | }
669 |
670 | .php-email-form {
671 |
672 | .validate {
673 | display: none;
674 | color: red;
675 | margin: 0 0 15px 0;
676 | font-weight: 400;
677 | font-size: 13px;
678 | }
679 |
680 | .error-message {
681 | display: none;
682 | color: #fff;
683 | background: #ed3c0d;
684 | text-align: left;
685 | padding: 15px;
686 | font-weight: 600;
687 | & br + br {
688 | margin-top: 25px;
689 | }
690 | }
691 |
692 | .sent-message {
693 | display: none;
694 | color: #fff;
695 | background: #18d26e;
696 | text-align: center;
697 | padding: 15px;
698 | font-weight: 600;
699 | }
700 |
701 | .loading {
702 | display: none;
703 | background: #fff;
704 | text-align: center;
705 | padding: 15px;
706 |
707 | &:before {
708 | content: "";
709 | display: inline-block;
710 | border-radius: 50%;
711 | width: 24px;
712 | height: 24px;
713 | margin: 0 10px -6px 0;
714 | border: 3px solid #18d26e;
715 | border-top-color: #eee;
716 | animation: animate-loading 1s linear infinite;
717 | }
718 |
719 | }
720 |
721 | input, textarea {
722 | padding: 10px 14px;
723 | border-radius: 0;
724 | box-shadow: none;
725 | font-size: 15px;
726 | &::focus {
727 | background-color: $primary;
728 | }
729 | }
730 |
731 | button[type="submit"] {
732 | background: $primary;
733 | border: 0;
734 | border-radius: 3px;
735 | padding: 10px 30px;
736 | color: #fff;
737 | transition: 0.4s;
738 | cursor: pointer;
739 | &:hover {
740 | background: darken($primary, 10%);
741 | }
742 | }
743 |
744 | }
745 |
746 | @keyframes animate-loading {
747 | 0% { transform: rotate(0deg); }
748 | 100% { transform: rotate(360deg); }
749 | }
750 | }
751 |
--------------------------------------------------------------------------------
/assets/scss/_variables.scss:
--------------------------------------------------------------------------------
1 | /// Default color variables
2 |
3 | $primary: #50d8af;
4 | $secondary: #0c2e8a;
5 | $default: #444;
6 |
7 | /// Fonts Variables
8 | $font-primary: 'Raleway', sans-serif;
9 | $font-secondary: 'Montserrat', sans-serif;
10 | $font-default: 'Open Sans', sans-serif;
11 |
--------------------------------------------------------------------------------
/assets/scss/style.scss:
--------------------------------------------------------------------------------
1 | @import 'variables';
2 |
3 | @import 'general';
4 | @import 'header';
5 | @import 'nav';
6 | @import 'hero';
7 | @import 'sections';
8 | @import 'footer';
9 |
--------------------------------------------------------------------------------
/assets/vendor/aos/aos.esm.js:
--------------------------------------------------------------------------------
1 | import throttle from 'lodash.throttle';
2 | import debounce from 'lodash.debounce';
3 |
4 | var callback = function callback() {};
5 |
6 | function containsAOSNode(nodes) {
7 | var i = void 0,
8 | currentNode = void 0,
9 | result = void 0;
10 |
11 | for (i = 0; i < nodes.length; i += 1) {
12 | currentNode = nodes[i];
13 |
14 | if (currentNode.dataset && currentNode.dataset.aos) {
15 | return true;
16 | }
17 |
18 | result = currentNode.children && containsAOSNode(currentNode.children);
19 |
20 | if (result) {
21 | return true;
22 | }
23 | }
24 |
25 | return false;
26 | }
27 |
28 | function check(mutations) {
29 | if (!mutations) return;
30 |
31 | mutations.forEach(function (mutation) {
32 | var addedNodes = Array.prototype.slice.call(mutation.addedNodes);
33 | var removedNodes = Array.prototype.slice.call(mutation.removedNodes);
34 | var allNodes = addedNodes.concat(removedNodes);
35 |
36 | if (containsAOSNode(allNodes)) {
37 | return callback();
38 | }
39 | });
40 | }
41 |
42 | function getMutationObserver() {
43 | return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
44 | }
45 |
46 | function isSupported() {
47 | return !!getMutationObserver();
48 | }
49 |
50 | function ready(selector, fn) {
51 | var doc = window.document;
52 | var MutationObserver = getMutationObserver();
53 |
54 | var observer = new MutationObserver(check);
55 | callback = fn;
56 |
57 | observer.observe(doc.documentElement, {
58 | childList: true,
59 | subtree: true,
60 | removedNodes: true
61 | });
62 | }
63 |
64 | var observer = { isSupported: isSupported, ready: ready };
65 |
66 | var classCallCheck = function (instance, Constructor) {
67 | if (!(instance instanceof Constructor)) {
68 | throw new TypeError("Cannot call a class as a function");
69 | }
70 | };
71 |
72 | var createClass = function () {
73 | function defineProperties(target, props) {
74 | for (var i = 0; i < props.length; i++) {
75 | var descriptor = props[i];
76 | descriptor.enumerable = descriptor.enumerable || false;
77 | descriptor.configurable = true;
78 | if ("value" in descriptor) descriptor.writable = true;
79 | Object.defineProperty(target, descriptor.key, descriptor);
80 | }
81 | }
82 |
83 | return function (Constructor, protoProps, staticProps) {
84 | if (protoProps) defineProperties(Constructor.prototype, protoProps);
85 | if (staticProps) defineProperties(Constructor, staticProps);
86 | return Constructor;
87 | };
88 | }();
89 |
90 | var _extends = Object.assign || function (target) {
91 | for (var i = 1; i < arguments.length; i++) {
92 | var source = arguments[i];
93 |
94 | for (var key in source) {
95 | if (Object.prototype.hasOwnProperty.call(source, key)) {
96 | target[key] = source[key];
97 | }
98 | }
99 | }
100 |
101 | return target;
102 | };
103 |
104 | /**
105 | * Device detector
106 | */
107 |
108 | var fullNameRe = /(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;
109 | var prefixRe = /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;
110 | var fullNameMobileRe = /(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;
111 | var prefixMobileRe = /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;
112 |
113 | function ua() {
114 | return navigator.userAgent || navigator.vendor || window.opera || '';
115 | }
116 |
117 | var Detector = function () {
118 | function Detector() {
119 | classCallCheck(this, Detector);
120 | }
121 |
122 | createClass(Detector, [{
123 | key: 'phone',
124 | value: function phone() {
125 | var a = ua();
126 | return !!(fullNameRe.test(a) || prefixRe.test(a.substr(0, 4)));
127 | }
128 | }, {
129 | key: 'mobile',
130 | value: function mobile() {
131 | var a = ua();
132 | return !!(fullNameMobileRe.test(a) || prefixMobileRe.test(a.substr(0, 4)));
133 | }
134 | }, {
135 | key: 'tablet',
136 | value: function tablet() {
137 | return this.mobile() && !this.phone();
138 | }
139 |
140 | // http://browserhacks.com/#hack-acea075d0ac6954f275a70023906050c
141 |
142 | }, {
143 | key: 'ie11',
144 | value: function ie11() {
145 | return '-ms-scroll-limit' in document.documentElement.style && '-ms-ime-align' in document.documentElement.style;
146 | }
147 | }]);
148 | return Detector;
149 | }();
150 |
151 | var detect = new Detector();
152 |
153 | /**
154 | * Adds multiple classes on node
155 | * @param {DOMNode} node
156 | * @param {array} classes
157 | */
158 | var addClasses = function addClasses(node, classes) {
159 | return classes && classes.forEach(function (className) {
160 | return node.classList.add(className);
161 | });
162 | };
163 |
164 | /**
165 | * Removes multiple classes from node
166 | * @param {DOMNode} node
167 | * @param {array} classes
168 | */
169 | var removeClasses = function removeClasses(node, classes) {
170 | return classes && classes.forEach(function (className) {
171 | return node.classList.remove(className);
172 | });
173 | };
174 |
175 | var fireEvent = function fireEvent(eventName, data) {
176 | var customEvent = void 0;
177 |
178 | if (detect.ie11()) {
179 | customEvent = document.createEvent('CustomEvent');
180 | customEvent.initCustomEvent(eventName, true, true, { detail: data });
181 | } else {
182 | customEvent = new CustomEvent(eventName, {
183 | detail: data
184 | });
185 | }
186 |
187 | return document.dispatchEvent(customEvent);
188 | };
189 |
190 | /**
191 | * Set or remove aos-animate class
192 | * @param {node} el element
193 | * @param {int} top scrolled distance
194 | */
195 | var applyClasses = function applyClasses(el, top) {
196 | var options = el.options,
197 | position = el.position,
198 | node = el.node,
199 | data = el.data;
200 |
201 |
202 | var hide = function hide() {
203 | if (!el.animated) return;
204 |
205 | removeClasses(node, options.animatedClassNames);
206 | fireEvent('aos:out', node);
207 |
208 | if (el.options.id) {
209 | fireEvent('aos:in:' + el.options.id, node);
210 | }
211 |
212 | el.animated = false;
213 | };
214 |
215 | var show = function show() {
216 | if (el.animated) return;
217 |
218 | addClasses(node, options.animatedClassNames);
219 |
220 | fireEvent('aos:in', node);
221 | if (el.options.id) {
222 | fireEvent('aos:in:' + el.options.id, node);
223 | }
224 |
225 | el.animated = true;
226 | };
227 |
228 | if (options.mirror && top >= position.out && !options.once) {
229 | hide();
230 | } else if (top >= position.in) {
231 | show();
232 | } else if (el.animated && !options.once) {
233 | hide();
234 | }
235 | };
236 |
237 | /**
238 | * Scroll logic - add or remove 'aos-animate' class on scroll
239 | *
240 | * @param {array} $elements array of elements nodes
241 | * @return {void}
242 | */
243 | var handleScroll = function handleScroll($elements) {
244 | return $elements.forEach(function (el, i) {
245 | return applyClasses(el, window.pageYOffset);
246 | });
247 | };
248 |
249 | /**
250 | * Get offset of DOM element
251 | * like there were no transforms applied on it
252 | *
253 | * @param {Node} el [DOM element]
254 | * @return {Object} [top and left offset]
255 | */
256 | var offset = function offset(el) {
257 | var _x = 0;
258 | var _y = 0;
259 |
260 | while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
261 | _x += el.offsetLeft - (el.tagName != 'BODY' ? el.scrollLeft : 0);
262 | _y += el.offsetTop - (el.tagName != 'BODY' ? el.scrollTop : 0);
263 | el = el.offsetParent;
264 | }
265 |
266 | return {
267 | top: _y,
268 | left: _x
269 | };
270 | };
271 |
272 | /**
273 | * Get inline option with a fallback.
274 | *
275 | * @param {Node} el [Dom element]
276 | * @param {String} key [Option key]
277 | * @param {String} fallback [Default (fallback) value]
278 | * @return {Mixed} [Option set with inline attributes or fallback value if not set]
279 | */
280 |
281 | var getInlineOption = (function (el, key, fallback) {
282 | var attr = el.getAttribute('data-aos-' + key);
283 |
284 | if (typeof attr !== 'undefined') {
285 | if (attr === 'true') {
286 | return true;
287 | } else if (attr === 'false') {
288 | return false;
289 | }
290 | }
291 |
292 | return attr || fallback;
293 | });
294 |
295 | /**
296 | * Calculate offset
297 | * basing on element's settings like:
298 | * - anchor
299 | * - offset
300 | *
301 | * @param {Node} el [Dom element]
302 | * @return {Integer} [Final offset that will be used to trigger animation in good position]
303 | */
304 |
305 | var getPositionIn = function getPositionIn(el, defaultOffset, defaultAnchorPlacement) {
306 | var windowHeight = window.innerHeight;
307 | var anchor = getInlineOption(el, 'anchor');
308 | var inlineAnchorPlacement = getInlineOption(el, 'anchor-placement');
309 | var additionalOffset = Number(getInlineOption(el, 'offset', inlineAnchorPlacement ? 0 : defaultOffset));
310 | var anchorPlacement = inlineAnchorPlacement || defaultAnchorPlacement;
311 | var finalEl = el;
312 |
313 | if (anchor && document.querySelectorAll(anchor)) {
314 | finalEl = document.querySelectorAll(anchor)[0];
315 | }
316 |
317 | var triggerPoint = offset(finalEl).top - windowHeight;
318 |
319 | switch (anchorPlacement) {
320 | case 'top-bottom':
321 | // Default offset
322 | break;
323 | case 'center-bottom':
324 | triggerPoint += finalEl.offsetHeight / 2;
325 | break;
326 | case 'bottom-bottom':
327 | triggerPoint += finalEl.offsetHeight;
328 | break;
329 | case 'top-center':
330 | triggerPoint += windowHeight / 2;
331 | break;
332 | case 'center-center':
333 | triggerPoint += windowHeight / 2 + finalEl.offsetHeight / 2;
334 | break;
335 | case 'bottom-center':
336 | triggerPoint += windowHeight / 2 + finalEl.offsetHeight;
337 | break;
338 | case 'top-top':
339 | triggerPoint += windowHeight;
340 | break;
341 | case 'bottom-top':
342 | triggerPoint += windowHeight + finalEl.offsetHeight;
343 | break;
344 | case 'center-top':
345 | triggerPoint += windowHeight + finalEl.offsetHeight / 2;
346 | break;
347 | }
348 |
349 | return triggerPoint + additionalOffset;
350 | };
351 |
352 | var getPositionOut = function getPositionOut(el, defaultOffset) {
353 | var windowHeight = window.innerHeight;
354 | var anchor = getInlineOption(el, 'anchor');
355 | var additionalOffset = getInlineOption(el, 'offset', defaultOffset);
356 | var finalEl = el;
357 |
358 | if (anchor && document.querySelectorAll(anchor)) {
359 | finalEl = document.querySelectorAll(anchor)[0];
360 | }
361 |
362 | var elementOffsetTop = offset(finalEl).top;
363 |
364 | return elementOffsetTop + finalEl.offsetHeight - additionalOffset;
365 | };
366 |
367 | /* Clearing variables */
368 |
369 | var prepare = function prepare($elements, options) {
370 | $elements.forEach(function (el, i) {
371 | var mirror = getInlineOption(el.node, 'mirror', options.mirror);
372 | var once = getInlineOption(el.node, 'once', options.once);
373 | var id = getInlineOption(el.node, 'id');
374 | var customClassNames = options.useClassNames && el.node.getAttribute('data-aos');
375 |
376 | var animatedClassNames = [options.animatedClassName].concat(customClassNames ? customClassNames.split(' ') : []).filter(function (className) {
377 | return typeof className === 'string';
378 | });
379 |
380 | if (options.initClassName) {
381 | el.node.classList.add(options.initClassName);
382 | }
383 |
384 | el.position = {
385 | in: getPositionIn(el.node, options.offset, options.anchorPlacement),
386 | out: mirror && getPositionOut(el.node, options.offset)
387 | };
388 |
389 | el.options = {
390 | once: once,
391 | mirror: mirror,
392 | animatedClassNames: animatedClassNames,
393 | id: id
394 | };
395 | });
396 |
397 | return $elements;
398 | };
399 |
400 | /**
401 | * Generate initial array with elements as objects
402 | * This array will be extended later with elements attributes values
403 | * like 'position'
404 | */
405 | var elements = (function () {
406 | var elements = document.querySelectorAll('[data-aos]');
407 | return Array.prototype.map.call(elements, function (node) {
408 | return { node: node };
409 | });
410 | });
411 |
412 | /**
413 | * *******************************************************
414 | * AOS (Animate on scroll) - wowjs alternative
415 | * made to animate elements on scroll in both directions
416 | * *******************************************************
417 | */
418 |
419 | /**
420 | * Private variables
421 | */
422 | var $aosElements = [];
423 | var initialized = false;
424 |
425 | /**
426 | * Default options
427 | */
428 | var options = {
429 | offset: 120,
430 | delay: 0,
431 | easing: 'ease',
432 | duration: 400,
433 | disable: false,
434 | once: false,
435 | mirror: false,
436 | anchorPlacement: 'top-bottom',
437 | startEvent: 'DOMContentLoaded',
438 | animatedClassName: 'aos-animate',
439 | initClassName: 'aos-init',
440 | useClassNames: false,
441 | disableMutationObserver: false,
442 | throttleDelay: 99,
443 | debounceDelay: 50
444 | };
445 |
446 | // Detect not supported browsers (<=IE9)
447 | // http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
448 | var isBrowserNotSupported = function isBrowserNotSupported() {
449 | return document.all && !window.atob;
450 | };
451 |
452 | var initializeScroll = function initializeScroll() {
453 | // Extend elements objects in $aosElements with their positions
454 | $aosElements = prepare($aosElements, options);
455 | // Perform scroll event, to refresh view and show/hide elements
456 | handleScroll($aosElements);
457 |
458 | /**
459 | * Handle scroll event to animate elements on scroll
460 | */
461 | window.addEventListener('scroll', throttle(function () {
462 | handleScroll($aosElements, options.once);
463 | }, options.throttleDelay));
464 |
465 | return $aosElements;
466 | };
467 |
468 | /**
469 | * Refresh AOS
470 | */
471 | var refresh = function refresh() {
472 | var initialize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
473 |
474 | // Allow refresh only when it was first initialized on startEvent
475 | if (initialize) initialized = true;
476 | if (initialized) initializeScroll();
477 | };
478 |
479 | /**
480 | * Hard refresh
481 | * create array with new elements and trigger refresh
482 | */
483 | var refreshHard = function refreshHard() {
484 | $aosElements = elements();
485 |
486 | if (isDisabled(options.disable) || isBrowserNotSupported()) {
487 | return disable();
488 | }
489 |
490 | refresh();
491 | };
492 |
493 | /**
494 | * Disable AOS
495 | * Remove all attributes to reset applied styles
496 | */
497 | var disable = function disable() {
498 | $aosElements.forEach(function (el, i) {
499 | el.node.removeAttribute('data-aos');
500 | el.node.removeAttribute('data-aos-easing');
501 | el.node.removeAttribute('data-aos-duration');
502 | el.node.removeAttribute('data-aos-delay');
503 |
504 | if (options.initClassName) {
505 | el.node.classList.remove(options.initClassName);
506 | }
507 |
508 | if (options.animatedClassName) {
509 | el.node.classList.remove(options.animatedClassName);
510 | }
511 | });
512 | };
513 |
514 | /**
515 | * Check if AOS should be disabled based on provided setting
516 | */
517 | var isDisabled = function isDisabled(optionDisable) {
518 | return optionDisable === true || optionDisable === 'mobile' && detect.mobile() || optionDisable === 'phone' && detect.phone() || optionDisable === 'tablet' && detect.tablet() || typeof optionDisable === 'function' && optionDisable() === true;
519 | };
520 |
521 | /**
522 | * Initializing AOS
523 | * - Create options merging defaults with user defined options
524 | * - Set attributes on
as global setting - css relies on it
525 | * - Attach preparing elements to options.startEvent,
526 | * window resize and orientation change
527 | * - Attach function that handle scroll and everything connected to it
528 | * to window scroll event and fire once document is ready to set initial state
529 | */
530 | var init = function init(settings) {
531 | options = _extends(options, settings);
532 |
533 | // Create initial array with elements -> to be fullfilled later with prepare()
534 | $aosElements = elements();
535 |
536 | /**
537 | * Disable mutation observing if not supported
538 | */
539 | if (!options.disableMutationObserver && !observer.isSupported()) {
540 | console.info('\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 ');
541 | options.disableMutationObserver = true;
542 | }
543 |
544 | /**
545 | * Observe [aos] elements
546 | * If something is loaded by AJAX
547 | * it'll refresh plugin automatically
548 | */
549 | if (!options.disableMutationObserver) {
550 | observer.ready('[data-aos]', refreshHard);
551 | }
552 |
553 | /**
554 | * Don't init plugin if option `disable` is set
555 | * or when browser is not supported
556 | */
557 | if (isDisabled(options.disable) || isBrowserNotSupported()) {
558 | return disable();
559 | }
560 |
561 | /**
562 | * Set global settings on body, based on options
563 | * so CSS can use it
564 | */
565 | document.querySelector('body').setAttribute('data-aos-easing', options.easing);
566 |
567 | document.querySelector('body').setAttribute('data-aos-duration', options.duration);
568 |
569 | document.querySelector('body').setAttribute('data-aos-delay', options.delay);
570 |
571 | /**
572 | * Handle initializing
573 | */
574 | if (['DOMContentLoaded', 'load'].indexOf(options.startEvent) === -1) {
575 | // Listen to options.startEvent and initialize AOS
576 | document.addEventListener(options.startEvent, function () {
577 | refresh(true);
578 | });
579 | } else {
580 | window.addEventListener('load', function () {
581 | refresh(true);
582 | });
583 | }
584 |
585 | if (options.startEvent === 'DOMContentLoaded' && ['complete', 'interactive'].indexOf(document.readyState) > -1) {
586 | // Initialize AOS if default startEvent was already fired
587 | refresh(true);
588 | }
589 |
590 | /**
591 | * Refresh plugin on window resize or orientation change
592 | */
593 | window.addEventListener('resize', debounce(refresh, options.debounceDelay, true));
594 |
595 | window.addEventListener('orientationchange', debounce(refresh, options.debounceDelay, true));
596 |
597 | return $aosElements;
598 | };
599 |
600 | /**
601 | * Export Public API
602 | */
603 |
604 | var aos = {
605 | init: init,
606 | refresh: refresh,
607 | refreshHard: refreshHard
608 | };
609 |
610 | export default aos;
611 |
--------------------------------------------------------------------------------
/assets/vendor/aos/aos.js:
--------------------------------------------------------------------------------
1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.AOS=t()}(this,function(){"use strict";var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t="Expected a function",n=NaN,o="[object Symbol]",i=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,c=/^0o[0-7]+$/i,s=parseInt,u="object"==typeof e&&e&&e.Object===Object&&e,d="object"==typeof self&&self&&self.Object===Object&&self,l=u||d||Function("return this")(),f=Object.prototype.toString,m=Math.max,p=Math.min,b=function(){return l.Date.now()};function v(e,n,o){var i,a,r,c,s,u,d=0,l=!1,f=!1,v=!0;if("function"!=typeof e)throw new TypeError(t);function y(t){var n=i,o=a;return i=a=void 0,d=t,c=e.apply(o,n)}function h(e){var t=e-u;return void 0===u||t>=n||t<0||f&&e-d>=r}function k(){var e=b();if(h(e))return x(e);s=setTimeout(k,function(e){var t=n-(e-u);return f?p(t,r-(e-d)):t}(e))}function x(e){return s=void 0,v&&i?y(e):(i=a=void 0,c)}function O(){var e=b(),t=h(e);if(i=arguments,a=this,u=e,t){if(void 0===s)return function(e){return d=e,s=setTimeout(k,n),l?y(e):c}(u);if(f)return s=setTimeout(k,n),y(u)}return void 0===s&&(s=setTimeout(k,n)),c}return n=w(n)||0,g(o)&&(l=!!o.leading,r=(f="maxWait"in o)?m(w(o.maxWait)||0,n):r,v="trailing"in o?!!o.trailing:v),O.cancel=function(){void 0!==s&&clearTimeout(s),d=0,i=u=a=s=void 0},O.flush=function(){return void 0===s?c:x(b())},O}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function w(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&f.call(e)==o}(e))return n;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var u=r.test(e);return u||c.test(e)?s(e.slice(2),u?2:8):a.test(e)?n:+e}var y=function(e,n,o){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(t);return g(o)&&(i="leading"in o?!!o.leading:i,a="trailing"in o?!!o.trailing:a),v(e,n,{leading:i,maxWait:n,trailing:a})},h="Expected a function",k=NaN,x="[object Symbol]",O=/^\s+|\s+$/g,j=/^[-+]0x[0-9a-f]+$/i,E=/^0b[01]+$/i,N=/^0o[0-7]+$/i,z=parseInt,C="object"==typeof e&&e&&e.Object===Object&&e,A="object"==typeof self&&self&&self.Object===Object&&self,q=C||A||Function("return this")(),L=Object.prototype.toString,T=Math.max,M=Math.min,S=function(){return q.Date.now()};function D(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function H(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&L.call(e)==x}(e))return k;if(D(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=D(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(O,"");var n=E.test(e);return n||N.test(e)?z(e.slice(2),n?2:8):j.test(e)?k:+e}var $=function(e,t,n){var o,i,a,r,c,s,u=0,d=!1,l=!1,f=!0;if("function"!=typeof e)throw new TypeError(h);function m(t){var n=o,a=i;return o=i=void 0,u=t,r=e.apply(a,n)}function p(e){var n=e-s;return void 0===s||n>=t||n<0||l&&e-u>=a}function b(){var e=S();if(p(e))return v(e);c=setTimeout(b,function(e){var n=t-(e-s);return l?M(n,a-(e-u)):n}(e))}function v(e){return c=void 0,f&&o?m(e):(o=i=void 0,r)}function g(){var e=S(),n=p(e);if(o=arguments,i=this,s=e,n){if(void 0===c)return function(e){return u=e,c=setTimeout(b,t),d?m(e):r}(s);if(l)return c=setTimeout(b,t),m(s)}return void 0===c&&(c=setTimeout(b,t)),r}return t=H(t)||0,D(n)&&(d=!!n.leading,a=(l="maxWait"in n)?T(H(n.maxWait)||0,t):a,f="trailing"in n?!!n.trailing:f),g.cancel=function(){void 0!==c&&clearTimeout(c),u=0,o=s=i=c=void 0},g.flush=function(){return void 0===c?r:v(S())},g},W=function(){};function P(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes);if(function e(t){var n=void 0,o=void 0;for(n=0;n=o.out&&!n.once?a():t>=o.in?e.animated||(function(e,t){t&&t.forEach(function(t){return e.classList.add(t)})}(i,n.animatedClassNames),V("aos:in",i),e.options.id&&V("aos:in:"+e.options.id,i),e.animated=!0):e.animated&&!n.once&&a()}(e,window.pageYOffset)})},Z=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}},ee=function(e,t,n){var o=e.getAttribute("data-aos-"+t);if(void 0!==o){if("true"===o)return!0;if("false"===o)return!1}return o||n},te=function(e,t){return e.forEach(function(e,n){var o=ee(e.node,"mirror",t.mirror),i=ee(e.node,"once",t.once),a=ee(e.node,"id"),r=t.useClassNames&&e.node.getAttribute("data-aos"),c=[t.animatedClassName].concat(r?r.split(" "):[]).filter(function(e){return"string"==typeof e});t.initClassName&&e.node.classList.add(t.initClassName),e.position={in:function(e,t,n){var o=window.innerHeight,i=ee(e,"anchor"),a=ee(e,"anchor-placement"),r=Number(ee(e,"offset",a?0:t)),c=a||n,s=e;i&&document.querySelectorAll(i)&&(s=document.querySelectorAll(i)[0]);var u=Z(s).top-o;switch(c){case"top-bottom":break;case"center-bottom":u+=s.offsetHeight/2;break;case"bottom-bottom":u+=s.offsetHeight;break;case"top-center":u+=o/2;break;case"center-center":u+=o/2+s.offsetHeight/2;break;case"bottom-center":u+=o/2+s.offsetHeight;break;case"top-top":u+=o;break;case"bottom-top":u+=o+s.offsetHeight;break;case"center-top":u+=o+s.offsetHeight/2}return u+r}(e.node,t.offset,t.anchorPlacement),out:o&&function(e,t){window.innerHeight;var n=ee(e,"anchor"),o=ee(e,"offset",t),i=e;return n&&document.querySelectorAll(n)&&(i=document.querySelectorAll(n)[0]),Z(i).top+i.offsetHeight-o}(e.node,t.offset)},e.options={once:i,mirror:o,animatedClassNames:c,id:a}}),e},ne=function(){var e=document.querySelectorAll("[data-aos]");return Array.prototype.map.call(e,function(e){return{node:e}})},oe=[],ie=!1,ae={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},re=function(){return document.all&&!window.atob},ce=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&(ie=!0),ie&&(oe=te(oe,ae),X(oe),window.addEventListener("scroll",y(function(){X(oe,ae.once)},ae.throttleDelay)))},se=function(){if(oe=ne(),de(ae.disable)||re())return ue();ce()},ue=function(){oe.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay"),ae.initClassName&&e.node.classList.remove(ae.initClassName),ae.animatedClassName&&e.node.classList.remove(ae.animatedClassName)})},de=function(e){return!0===e||"mobile"===e&&U.mobile()||"phone"===e&&U.phone()||"tablet"===e&&U.tablet()||"function"==typeof e&&!0===e()};return{init:function(e){return ae=I(ae,e),oe=ne(),ae.disableMutationObserver||_.isSupported()||(console.info('\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 '),ae.disableMutationObserver=!0),ae.disableMutationObserver||_.ready("[data-aos]",se),de(ae.disable)||re()?ue():(document.querySelector("body").setAttribute("data-aos-easing",ae.easing),document.querySelector("body").setAttribute("data-aos-duration",ae.duration),document.querySelector("body").setAttribute("data-aos-delay",ae.delay),-1===["DOMContentLoaded","load"].indexOf(ae.startEvent)?document.addEventListener(ae.startEvent,function(){ce(!0)}):window.addEventListener("load",function(){ce(!0)}),"DOMContentLoaded"===ae.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1&&ce(!0),window.addEventListener("resize",$(ce,ae.debounceDelay,!0)),window.addEventListener("orientationchange",$(ce,ae.debounceDelay,!0)),oe)},refresh:ce,refreshHard:se}});
2 |
--------------------------------------------------------------------------------
/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff
--------------------------------------------------------------------------------
/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2
--------------------------------------------------------------------------------
/assets/vendor/bootstrap/css/bootstrap-reboot.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2024 The Bootstrap Authors
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | */
6 | :root,
7 | [data-bs-theme=light] {
8 | --bs-blue: #0d6efd;
9 | --bs-indigo: #6610f2;
10 | --bs-purple: #6f42c1;
11 | --bs-pink: #d63384;
12 | --bs-red: #dc3545;
13 | --bs-orange: #fd7e14;
14 | --bs-yellow: #ffc107;
15 | --bs-green: #198754;
16 | --bs-teal: #20c997;
17 | --bs-cyan: #0dcaf0;
18 | --bs-black: #000;
19 | --bs-white: #fff;
20 | --bs-gray: #6c757d;
21 | --bs-gray-dark: #343a40;
22 | --bs-gray-100: #f8f9fa;
23 | --bs-gray-200: #e9ecef;
24 | --bs-gray-300: #dee2e6;
25 | --bs-gray-400: #ced4da;
26 | --bs-gray-500: #adb5bd;
27 | --bs-gray-600: #6c757d;
28 | --bs-gray-700: #495057;
29 | --bs-gray-800: #343a40;
30 | --bs-gray-900: #212529;
31 | --bs-primary: #0d6efd;
32 | --bs-secondary: #6c757d;
33 | --bs-success: #198754;
34 | --bs-info: #0dcaf0;
35 | --bs-warning: #ffc107;
36 | --bs-danger: #dc3545;
37 | --bs-light: #f8f9fa;
38 | --bs-dark: #212529;
39 | --bs-primary-rgb: 13, 110, 253;
40 | --bs-secondary-rgb: 108, 117, 125;
41 | --bs-success-rgb: 25, 135, 84;
42 | --bs-info-rgb: 13, 202, 240;
43 | --bs-warning-rgb: 255, 193, 7;
44 | --bs-danger-rgb: 220, 53, 69;
45 | --bs-light-rgb: 248, 249, 250;
46 | --bs-dark-rgb: 33, 37, 41;
47 | --bs-primary-text-emphasis: #052c65;
48 | --bs-secondary-text-emphasis: #2b2f32;
49 | --bs-success-text-emphasis: #0a3622;
50 | --bs-info-text-emphasis: #055160;
51 | --bs-warning-text-emphasis: #664d03;
52 | --bs-danger-text-emphasis: #58151c;
53 | --bs-light-text-emphasis: #495057;
54 | --bs-dark-text-emphasis: #495057;
55 | --bs-primary-bg-subtle: #cfe2ff;
56 | --bs-secondary-bg-subtle: #e2e3e5;
57 | --bs-success-bg-subtle: #d1e7dd;
58 | --bs-info-bg-subtle: #cff4fc;
59 | --bs-warning-bg-subtle: #fff3cd;
60 | --bs-danger-bg-subtle: #f8d7da;
61 | --bs-light-bg-subtle: #fcfcfd;
62 | --bs-dark-bg-subtle: #ced4da;
63 | --bs-primary-border-subtle: #9ec5fe;
64 | --bs-secondary-border-subtle: #c4c8cb;
65 | --bs-success-border-subtle: #a3cfbb;
66 | --bs-info-border-subtle: #9eeaf9;
67 | --bs-warning-border-subtle: #ffe69c;
68 | --bs-danger-border-subtle: #f1aeb5;
69 | --bs-light-border-subtle: #e9ecef;
70 | --bs-dark-border-subtle: #adb5bd;
71 | --bs-white-rgb: 255, 255, 255;
72 | --bs-black-rgb: 0, 0, 0;
73 | --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
74 | --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
75 | --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
76 | --bs-body-font-family: var(--bs-font-sans-serif);
77 | --bs-body-font-size: 1rem;
78 | --bs-body-font-weight: 400;
79 | --bs-body-line-height: 1.5;
80 | --bs-body-color: #212529;
81 | --bs-body-color-rgb: 33, 37, 41;
82 | --bs-body-bg: #fff;
83 | --bs-body-bg-rgb: 255, 255, 255;
84 | --bs-emphasis-color: #000;
85 | --bs-emphasis-color-rgb: 0, 0, 0;
86 | --bs-secondary-color: rgba(33, 37, 41, 0.75);
87 | --bs-secondary-color-rgb: 33, 37, 41;
88 | --bs-secondary-bg: #e9ecef;
89 | --bs-secondary-bg-rgb: 233, 236, 239;
90 | --bs-tertiary-color: rgba(33, 37, 41, 0.5);
91 | --bs-tertiary-color-rgb: 33, 37, 41;
92 | --bs-tertiary-bg: #f8f9fa;
93 | --bs-tertiary-bg-rgb: 248, 249, 250;
94 | --bs-heading-color: inherit;
95 | --bs-link-color: #0d6efd;
96 | --bs-link-color-rgb: 13, 110, 253;
97 | --bs-link-decoration: underline;
98 | --bs-link-hover-color: #0a58ca;
99 | --bs-link-hover-color-rgb: 10, 88, 202;
100 | --bs-code-color: #d63384;
101 | --bs-highlight-color: #212529;
102 | --bs-highlight-bg: #fff3cd;
103 | --bs-border-width: 1px;
104 | --bs-border-style: solid;
105 | --bs-border-color: #dee2e6;
106 | --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
107 | --bs-border-radius: 0.375rem;
108 | --bs-border-radius-sm: 0.25rem;
109 | --bs-border-radius-lg: 0.5rem;
110 | --bs-border-radius-xl: 1rem;
111 | --bs-border-radius-xxl: 2rem;
112 | --bs-border-radius-2xl: var(--bs-border-radius-xxl);
113 | --bs-border-radius-pill: 50rem;
114 | --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
115 | --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
116 | --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
117 | --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
118 | --bs-focus-ring-width: 0.25rem;
119 | --bs-focus-ring-opacity: 0.25;
120 | --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
121 | --bs-form-valid-color: #198754;
122 | --bs-form-valid-border-color: #198754;
123 | --bs-form-invalid-color: #dc3545;
124 | --bs-form-invalid-border-color: #dc3545;
125 | }
126 |
127 | [data-bs-theme=dark] {
128 | color-scheme: dark;
129 | --bs-body-color: #dee2e6;
130 | --bs-body-color-rgb: 222, 226, 230;
131 | --bs-body-bg: #212529;
132 | --bs-body-bg-rgb: 33, 37, 41;
133 | --bs-emphasis-color: #fff;
134 | --bs-emphasis-color-rgb: 255, 255, 255;
135 | --bs-secondary-color: rgba(222, 226, 230, 0.75);
136 | --bs-secondary-color-rgb: 222, 226, 230;
137 | --bs-secondary-bg: #343a40;
138 | --bs-secondary-bg-rgb: 52, 58, 64;
139 | --bs-tertiary-color: rgba(222, 226, 230, 0.5);
140 | --bs-tertiary-color-rgb: 222, 226, 230;
141 | --bs-tertiary-bg: #2b3035;
142 | --bs-tertiary-bg-rgb: 43, 48, 53;
143 | --bs-primary-text-emphasis: #6ea8fe;
144 | --bs-secondary-text-emphasis: #a7acb1;
145 | --bs-success-text-emphasis: #75b798;
146 | --bs-info-text-emphasis: #6edff6;
147 | --bs-warning-text-emphasis: #ffda6a;
148 | --bs-danger-text-emphasis: #ea868f;
149 | --bs-light-text-emphasis: #f8f9fa;
150 | --bs-dark-text-emphasis: #dee2e6;
151 | --bs-primary-bg-subtle: #031633;
152 | --bs-secondary-bg-subtle: #161719;
153 | --bs-success-bg-subtle: #051b11;
154 | --bs-info-bg-subtle: #032830;
155 | --bs-warning-bg-subtle: #332701;
156 | --bs-danger-bg-subtle: #2c0b0e;
157 | --bs-light-bg-subtle: #343a40;
158 | --bs-dark-bg-subtle: #1a1d20;
159 | --bs-primary-border-subtle: #084298;
160 | --bs-secondary-border-subtle: #41464b;
161 | --bs-success-border-subtle: #0f5132;
162 | --bs-info-border-subtle: #087990;
163 | --bs-warning-border-subtle: #997404;
164 | --bs-danger-border-subtle: #842029;
165 | --bs-light-border-subtle: #495057;
166 | --bs-dark-border-subtle: #343a40;
167 | --bs-heading-color: inherit;
168 | --bs-link-color: #6ea8fe;
169 | --bs-link-hover-color: #8bb9fe;
170 | --bs-link-color-rgb: 110, 168, 254;
171 | --bs-link-hover-color-rgb: 139, 185, 254;
172 | --bs-code-color: #e685b5;
173 | --bs-highlight-color: #dee2e6;
174 | --bs-highlight-bg: #664d03;
175 | --bs-border-color: #495057;
176 | --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
177 | --bs-form-valid-color: #75b798;
178 | --bs-form-valid-border-color: #75b798;
179 | --bs-form-invalid-color: #ea868f;
180 | --bs-form-invalid-border-color: #ea868f;
181 | }
182 |
183 | *,
184 | *::before,
185 | *::after {
186 | box-sizing: border-box;
187 | }
188 |
189 | @media (prefers-reduced-motion: no-preference) {
190 | :root {
191 | scroll-behavior: smooth;
192 | }
193 | }
194 |
195 | body {
196 | margin: 0;
197 | font-family: var(--bs-body-font-family);
198 | font-size: var(--bs-body-font-size);
199 | font-weight: var(--bs-body-font-weight);
200 | line-height: var(--bs-body-line-height);
201 | color: var(--bs-body-color);
202 | text-align: var(--bs-body-text-align);
203 | background-color: var(--bs-body-bg);
204 | -webkit-text-size-adjust: 100%;
205 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
206 | }
207 |
208 | hr {
209 | margin: 1rem 0;
210 | color: inherit;
211 | border: 0;
212 | border-top: var(--bs-border-width) solid;
213 | opacity: 0.25;
214 | }
215 |
216 | h6, h5, h4, h3, h2, h1 {
217 | margin-top: 0;
218 | margin-bottom: 0.5rem;
219 | font-weight: 500;
220 | line-height: 1.2;
221 | color: var(--bs-heading-color);
222 | }
223 |
224 | h1 {
225 | font-size: calc(1.375rem + 1.5vw);
226 | }
227 | @media (min-width: 1200px) {
228 | h1 {
229 | font-size: 2.5rem;
230 | }
231 | }
232 |
233 | h2 {
234 | font-size: calc(1.325rem + 0.9vw);
235 | }
236 | @media (min-width: 1200px) {
237 | h2 {
238 | font-size: 2rem;
239 | }
240 | }
241 |
242 | h3 {
243 | font-size: calc(1.3rem + 0.6vw);
244 | }
245 | @media (min-width: 1200px) {
246 | h3 {
247 | font-size: 1.75rem;
248 | }
249 | }
250 |
251 | h4 {
252 | font-size: calc(1.275rem + 0.3vw);
253 | }
254 | @media (min-width: 1200px) {
255 | h4 {
256 | font-size: 1.5rem;
257 | }
258 | }
259 |
260 | h5 {
261 | font-size: 1.25rem;
262 | }
263 |
264 | h6 {
265 | font-size: 1rem;
266 | }
267 |
268 | p {
269 | margin-top: 0;
270 | margin-bottom: 1rem;
271 | }
272 |
273 | abbr[title] {
274 | -webkit-text-decoration: underline dotted;
275 | text-decoration: underline dotted;
276 | cursor: help;
277 | -webkit-text-decoration-skip-ink: none;
278 | text-decoration-skip-ink: none;
279 | }
280 |
281 | address {
282 | margin-bottom: 1rem;
283 | font-style: normal;
284 | line-height: inherit;
285 | }
286 |
287 | ol,
288 | ul {
289 | padding-left: 2rem;
290 | }
291 |
292 | ol,
293 | ul,
294 | dl {
295 | margin-top: 0;
296 | margin-bottom: 1rem;
297 | }
298 |
299 | ol ol,
300 | ul ul,
301 | ol ul,
302 | ul ol {
303 | margin-bottom: 0;
304 | }
305 |
306 | dt {
307 | font-weight: 700;
308 | }
309 |
310 | dd {
311 | margin-bottom: 0.5rem;
312 | margin-left: 0;
313 | }
314 |
315 | blockquote {
316 | margin: 0 0 1rem;
317 | }
318 |
319 | b,
320 | strong {
321 | font-weight: bolder;
322 | }
323 |
324 | small {
325 | font-size: 0.875em;
326 | }
327 |
328 | mark {
329 | padding: 0.1875em;
330 | color: var(--bs-highlight-color);
331 | background-color: var(--bs-highlight-bg);
332 | }
333 |
334 | sub,
335 | sup {
336 | position: relative;
337 | font-size: 0.75em;
338 | line-height: 0;
339 | vertical-align: baseline;
340 | }
341 |
342 | sub {
343 | bottom: -0.25em;
344 | }
345 |
346 | sup {
347 | top: -0.5em;
348 | }
349 |
350 | a {
351 | color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
352 | text-decoration: underline;
353 | }
354 | a:hover {
355 | --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
356 | }
357 |
358 | a:not([href]):not([class]), a:not([href]):not([class]):hover {
359 | color: inherit;
360 | text-decoration: none;
361 | }
362 |
363 | pre,
364 | code,
365 | kbd,
366 | samp {
367 | font-family: var(--bs-font-monospace);
368 | font-size: 1em;
369 | }
370 |
371 | pre {
372 | display: block;
373 | margin-top: 0;
374 | margin-bottom: 1rem;
375 | overflow: auto;
376 | font-size: 0.875em;
377 | }
378 | pre code {
379 | font-size: inherit;
380 | color: inherit;
381 | word-break: normal;
382 | }
383 |
384 | code {
385 | font-size: 0.875em;
386 | color: var(--bs-code-color);
387 | word-wrap: break-word;
388 | }
389 | a > code {
390 | color: inherit;
391 | }
392 |
393 | kbd {
394 | padding: 0.1875rem 0.375rem;
395 | font-size: 0.875em;
396 | color: var(--bs-body-bg);
397 | background-color: var(--bs-body-color);
398 | border-radius: 0.25rem;
399 | }
400 | kbd kbd {
401 | padding: 0;
402 | font-size: 1em;
403 | }
404 |
405 | figure {
406 | margin: 0 0 1rem;
407 | }
408 |
409 | img,
410 | svg {
411 | vertical-align: middle;
412 | }
413 |
414 | table {
415 | caption-side: bottom;
416 | border-collapse: collapse;
417 | }
418 |
419 | caption {
420 | padding-top: 0.5rem;
421 | padding-bottom: 0.5rem;
422 | color: var(--bs-secondary-color);
423 | text-align: left;
424 | }
425 |
426 | th {
427 | text-align: inherit;
428 | text-align: -webkit-match-parent;
429 | }
430 |
431 | thead,
432 | tbody,
433 | tfoot,
434 | tr,
435 | td,
436 | th {
437 | border-color: inherit;
438 | border-style: solid;
439 | border-width: 0;
440 | }
441 |
442 | label {
443 | display: inline-block;
444 | }
445 |
446 | button {
447 | border-radius: 0;
448 | }
449 |
450 | button:focus:not(:focus-visible) {
451 | outline: 0;
452 | }
453 |
454 | input,
455 | button,
456 | select,
457 | optgroup,
458 | textarea {
459 | margin: 0;
460 | font-family: inherit;
461 | font-size: inherit;
462 | line-height: inherit;
463 | }
464 |
465 | button,
466 | select {
467 | text-transform: none;
468 | }
469 |
470 | [role=button] {
471 | cursor: pointer;
472 | }
473 |
474 | select {
475 | word-wrap: normal;
476 | }
477 | select:disabled {
478 | opacity: 1;
479 | }
480 |
481 | [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
482 | display: none !important;
483 | }
484 |
485 | button,
486 | [type=button],
487 | [type=reset],
488 | [type=submit] {
489 | -webkit-appearance: button;
490 | }
491 | button:not(:disabled),
492 | [type=button]:not(:disabled),
493 | [type=reset]:not(:disabled),
494 | [type=submit]:not(:disabled) {
495 | cursor: pointer;
496 | }
497 |
498 | ::-moz-focus-inner {
499 | padding: 0;
500 | border-style: none;
501 | }
502 |
503 | textarea {
504 | resize: vertical;
505 | }
506 |
507 | fieldset {
508 | min-width: 0;
509 | padding: 0;
510 | margin: 0;
511 | border: 0;
512 | }
513 |
514 | legend {
515 | float: left;
516 | width: 100%;
517 | padding: 0;
518 | margin-bottom: 0.5rem;
519 | font-size: calc(1.275rem + 0.3vw);
520 | line-height: inherit;
521 | }
522 | @media (min-width: 1200px) {
523 | legend {
524 | font-size: 1.5rem;
525 | }
526 | }
527 | legend + * {
528 | clear: left;
529 | }
530 |
531 | ::-webkit-datetime-edit-fields-wrapper,
532 | ::-webkit-datetime-edit-text,
533 | ::-webkit-datetime-edit-minute,
534 | ::-webkit-datetime-edit-hour-field,
535 | ::-webkit-datetime-edit-day-field,
536 | ::-webkit-datetime-edit-month-field,
537 | ::-webkit-datetime-edit-year-field {
538 | padding: 0;
539 | }
540 |
541 | ::-webkit-inner-spin-button {
542 | height: auto;
543 | }
544 |
545 | [type=search] {
546 | -webkit-appearance: textfield;
547 | outline-offset: -2px;
548 | }
549 |
550 | /* rtl:raw:
551 | [type="tel"],
552 | [type="url"],
553 | [type="email"],
554 | [type="number"] {
555 | direction: ltr;
556 | }
557 | */
558 | ::-webkit-search-decoration {
559 | -webkit-appearance: none;
560 | }
561 |
562 | ::-webkit-color-swatch-wrapper {
563 | padding: 0;
564 | }
565 |
566 | ::-webkit-file-upload-button {
567 | font: inherit;
568 | -webkit-appearance: button;
569 | }
570 |
571 | ::file-selector-button {
572 | font: inherit;
573 | -webkit-appearance: button;
574 | }
575 |
576 | output {
577 | display: inline-block;
578 | }
579 |
580 | iframe {
581 | border: 0;
582 | }
583 |
584 | summary {
585 | display: list-item;
586 | cursor: pointer;
587 | }
588 |
589 | progress {
590 | vertical-align: baseline;
591 | }
592 |
593 | [hidden] {
594 | display: none !important;
595 | }
596 |
597 | /*# sourceMappingURL=bootstrap-reboot.css.map */
--------------------------------------------------------------------------------
/assets/vendor/bootstrap/css/bootstrap-reboot.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2024 The Bootstrap Authors
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
6 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */
--------------------------------------------------------------------------------
/assets/vendor/bootstrap/css/bootstrap-reboot.rtl.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2024 The Bootstrap Authors
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | */
6 | :root,
7 | [data-bs-theme=light] {
8 | --bs-blue: #0d6efd;
9 | --bs-indigo: #6610f2;
10 | --bs-purple: #6f42c1;
11 | --bs-pink: #d63384;
12 | --bs-red: #dc3545;
13 | --bs-orange: #fd7e14;
14 | --bs-yellow: #ffc107;
15 | --bs-green: #198754;
16 | --bs-teal: #20c997;
17 | --bs-cyan: #0dcaf0;
18 | --bs-black: #000;
19 | --bs-white: #fff;
20 | --bs-gray: #6c757d;
21 | --bs-gray-dark: #343a40;
22 | --bs-gray-100: #f8f9fa;
23 | --bs-gray-200: #e9ecef;
24 | --bs-gray-300: #dee2e6;
25 | --bs-gray-400: #ced4da;
26 | --bs-gray-500: #adb5bd;
27 | --bs-gray-600: #6c757d;
28 | --bs-gray-700: #495057;
29 | --bs-gray-800: #343a40;
30 | --bs-gray-900: #212529;
31 | --bs-primary: #0d6efd;
32 | --bs-secondary: #6c757d;
33 | --bs-success: #198754;
34 | --bs-info: #0dcaf0;
35 | --bs-warning: #ffc107;
36 | --bs-danger: #dc3545;
37 | --bs-light: #f8f9fa;
38 | --bs-dark: #212529;
39 | --bs-primary-rgb: 13, 110, 253;
40 | --bs-secondary-rgb: 108, 117, 125;
41 | --bs-success-rgb: 25, 135, 84;
42 | --bs-info-rgb: 13, 202, 240;
43 | --bs-warning-rgb: 255, 193, 7;
44 | --bs-danger-rgb: 220, 53, 69;
45 | --bs-light-rgb: 248, 249, 250;
46 | --bs-dark-rgb: 33, 37, 41;
47 | --bs-primary-text-emphasis: #052c65;
48 | --bs-secondary-text-emphasis: #2b2f32;
49 | --bs-success-text-emphasis: #0a3622;
50 | --bs-info-text-emphasis: #055160;
51 | --bs-warning-text-emphasis: #664d03;
52 | --bs-danger-text-emphasis: #58151c;
53 | --bs-light-text-emphasis: #495057;
54 | --bs-dark-text-emphasis: #495057;
55 | --bs-primary-bg-subtle: #cfe2ff;
56 | --bs-secondary-bg-subtle: #e2e3e5;
57 | --bs-success-bg-subtle: #d1e7dd;
58 | --bs-info-bg-subtle: #cff4fc;
59 | --bs-warning-bg-subtle: #fff3cd;
60 | --bs-danger-bg-subtle: #f8d7da;
61 | --bs-light-bg-subtle: #fcfcfd;
62 | --bs-dark-bg-subtle: #ced4da;
63 | --bs-primary-border-subtle: #9ec5fe;
64 | --bs-secondary-border-subtle: #c4c8cb;
65 | --bs-success-border-subtle: #a3cfbb;
66 | --bs-info-border-subtle: #9eeaf9;
67 | --bs-warning-border-subtle: #ffe69c;
68 | --bs-danger-border-subtle: #f1aeb5;
69 | --bs-light-border-subtle: #e9ecef;
70 | --bs-dark-border-subtle: #adb5bd;
71 | --bs-white-rgb: 255, 255, 255;
72 | --bs-black-rgb: 0, 0, 0;
73 | --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
74 | --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
75 | --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
76 | --bs-body-font-family: var(--bs-font-sans-serif);
77 | --bs-body-font-size: 1rem;
78 | --bs-body-font-weight: 400;
79 | --bs-body-line-height: 1.5;
80 | --bs-body-color: #212529;
81 | --bs-body-color-rgb: 33, 37, 41;
82 | --bs-body-bg: #fff;
83 | --bs-body-bg-rgb: 255, 255, 255;
84 | --bs-emphasis-color: #000;
85 | --bs-emphasis-color-rgb: 0, 0, 0;
86 | --bs-secondary-color: rgba(33, 37, 41, 0.75);
87 | --bs-secondary-color-rgb: 33, 37, 41;
88 | --bs-secondary-bg: #e9ecef;
89 | --bs-secondary-bg-rgb: 233, 236, 239;
90 | --bs-tertiary-color: rgba(33, 37, 41, 0.5);
91 | --bs-tertiary-color-rgb: 33, 37, 41;
92 | --bs-tertiary-bg: #f8f9fa;
93 | --bs-tertiary-bg-rgb: 248, 249, 250;
94 | --bs-heading-color: inherit;
95 | --bs-link-color: #0d6efd;
96 | --bs-link-color-rgb: 13, 110, 253;
97 | --bs-link-decoration: underline;
98 | --bs-link-hover-color: #0a58ca;
99 | --bs-link-hover-color-rgb: 10, 88, 202;
100 | --bs-code-color: #d63384;
101 | --bs-highlight-color: #212529;
102 | --bs-highlight-bg: #fff3cd;
103 | --bs-border-width: 1px;
104 | --bs-border-style: solid;
105 | --bs-border-color: #dee2e6;
106 | --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
107 | --bs-border-radius: 0.375rem;
108 | --bs-border-radius-sm: 0.25rem;
109 | --bs-border-radius-lg: 0.5rem;
110 | --bs-border-radius-xl: 1rem;
111 | --bs-border-radius-xxl: 2rem;
112 | --bs-border-radius-2xl: var(--bs-border-radius-xxl);
113 | --bs-border-radius-pill: 50rem;
114 | --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
115 | --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
116 | --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
117 | --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
118 | --bs-focus-ring-width: 0.25rem;
119 | --bs-focus-ring-opacity: 0.25;
120 | --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
121 | --bs-form-valid-color: #198754;
122 | --bs-form-valid-border-color: #198754;
123 | --bs-form-invalid-color: #dc3545;
124 | --bs-form-invalid-border-color: #dc3545;
125 | }
126 |
127 | [data-bs-theme=dark] {
128 | color-scheme: dark;
129 | --bs-body-color: #dee2e6;
130 | --bs-body-color-rgb: 222, 226, 230;
131 | --bs-body-bg: #212529;
132 | --bs-body-bg-rgb: 33, 37, 41;
133 | --bs-emphasis-color: #fff;
134 | --bs-emphasis-color-rgb: 255, 255, 255;
135 | --bs-secondary-color: rgba(222, 226, 230, 0.75);
136 | --bs-secondary-color-rgb: 222, 226, 230;
137 | --bs-secondary-bg: #343a40;
138 | --bs-secondary-bg-rgb: 52, 58, 64;
139 | --bs-tertiary-color: rgba(222, 226, 230, 0.5);
140 | --bs-tertiary-color-rgb: 222, 226, 230;
141 | --bs-tertiary-bg: #2b3035;
142 | --bs-tertiary-bg-rgb: 43, 48, 53;
143 | --bs-primary-text-emphasis: #6ea8fe;
144 | --bs-secondary-text-emphasis: #a7acb1;
145 | --bs-success-text-emphasis: #75b798;
146 | --bs-info-text-emphasis: #6edff6;
147 | --bs-warning-text-emphasis: #ffda6a;
148 | --bs-danger-text-emphasis: #ea868f;
149 | --bs-light-text-emphasis: #f8f9fa;
150 | --bs-dark-text-emphasis: #dee2e6;
151 | --bs-primary-bg-subtle: #031633;
152 | --bs-secondary-bg-subtle: #161719;
153 | --bs-success-bg-subtle: #051b11;
154 | --bs-info-bg-subtle: #032830;
155 | --bs-warning-bg-subtle: #332701;
156 | --bs-danger-bg-subtle: #2c0b0e;
157 | --bs-light-bg-subtle: #343a40;
158 | --bs-dark-bg-subtle: #1a1d20;
159 | --bs-primary-border-subtle: #084298;
160 | --bs-secondary-border-subtle: #41464b;
161 | --bs-success-border-subtle: #0f5132;
162 | --bs-info-border-subtle: #087990;
163 | --bs-warning-border-subtle: #997404;
164 | --bs-danger-border-subtle: #842029;
165 | --bs-light-border-subtle: #495057;
166 | --bs-dark-border-subtle: #343a40;
167 | --bs-heading-color: inherit;
168 | --bs-link-color: #6ea8fe;
169 | --bs-link-hover-color: #8bb9fe;
170 | --bs-link-color-rgb: 110, 168, 254;
171 | --bs-link-hover-color-rgb: 139, 185, 254;
172 | --bs-code-color: #e685b5;
173 | --bs-highlight-color: #dee2e6;
174 | --bs-highlight-bg: #664d03;
175 | --bs-border-color: #495057;
176 | --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
177 | --bs-form-valid-color: #75b798;
178 | --bs-form-valid-border-color: #75b798;
179 | --bs-form-invalid-color: #ea868f;
180 | --bs-form-invalid-border-color: #ea868f;
181 | }
182 |
183 | *,
184 | *::before,
185 | *::after {
186 | box-sizing: border-box;
187 | }
188 |
189 | @media (prefers-reduced-motion: no-preference) {
190 | :root {
191 | scroll-behavior: smooth;
192 | }
193 | }
194 |
195 | body {
196 | margin: 0;
197 | font-family: var(--bs-body-font-family);
198 | font-size: var(--bs-body-font-size);
199 | font-weight: var(--bs-body-font-weight);
200 | line-height: var(--bs-body-line-height);
201 | color: var(--bs-body-color);
202 | text-align: var(--bs-body-text-align);
203 | background-color: var(--bs-body-bg);
204 | -webkit-text-size-adjust: 100%;
205 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
206 | }
207 |
208 | hr {
209 | margin: 1rem 0;
210 | color: inherit;
211 | border: 0;
212 | border-top: var(--bs-border-width) solid;
213 | opacity: 0.25;
214 | }
215 |
216 | h6, h5, h4, h3, h2, h1 {
217 | margin-top: 0;
218 | margin-bottom: 0.5rem;
219 | font-weight: 500;
220 | line-height: 1.2;
221 | color: var(--bs-heading-color);
222 | }
223 |
224 | h1 {
225 | font-size: calc(1.375rem + 1.5vw);
226 | }
227 | @media (min-width: 1200px) {
228 | h1 {
229 | font-size: 2.5rem;
230 | }
231 | }
232 |
233 | h2 {
234 | font-size: calc(1.325rem + 0.9vw);
235 | }
236 | @media (min-width: 1200px) {
237 | h2 {
238 | font-size: 2rem;
239 | }
240 | }
241 |
242 | h3 {
243 | font-size: calc(1.3rem + 0.6vw);
244 | }
245 | @media (min-width: 1200px) {
246 | h3 {
247 | font-size: 1.75rem;
248 | }
249 | }
250 |
251 | h4 {
252 | font-size: calc(1.275rem + 0.3vw);
253 | }
254 | @media (min-width: 1200px) {
255 | h4 {
256 | font-size: 1.5rem;
257 | }
258 | }
259 |
260 | h5 {
261 | font-size: 1.25rem;
262 | }
263 |
264 | h6 {
265 | font-size: 1rem;
266 | }
267 |
268 | p {
269 | margin-top: 0;
270 | margin-bottom: 1rem;
271 | }
272 |
273 | abbr[title] {
274 | -webkit-text-decoration: underline dotted;
275 | text-decoration: underline dotted;
276 | cursor: help;
277 | -webkit-text-decoration-skip-ink: none;
278 | text-decoration-skip-ink: none;
279 | }
280 |
281 | address {
282 | margin-bottom: 1rem;
283 | font-style: normal;
284 | line-height: inherit;
285 | }
286 |
287 | ol,
288 | ul {
289 | padding-right: 2rem;
290 | }
291 |
292 | ol,
293 | ul,
294 | dl {
295 | margin-top: 0;
296 | margin-bottom: 1rem;
297 | }
298 |
299 | ol ol,
300 | ul ul,
301 | ol ul,
302 | ul ol {
303 | margin-bottom: 0;
304 | }
305 |
306 | dt {
307 | font-weight: 700;
308 | }
309 |
310 | dd {
311 | margin-bottom: 0.5rem;
312 | margin-right: 0;
313 | }
314 |
315 | blockquote {
316 | margin: 0 0 1rem;
317 | }
318 |
319 | b,
320 | strong {
321 | font-weight: bolder;
322 | }
323 |
324 | small {
325 | font-size: 0.875em;
326 | }
327 |
328 | mark {
329 | padding: 0.1875em;
330 | color: var(--bs-highlight-color);
331 | background-color: var(--bs-highlight-bg);
332 | }
333 |
334 | sub,
335 | sup {
336 | position: relative;
337 | font-size: 0.75em;
338 | line-height: 0;
339 | vertical-align: baseline;
340 | }
341 |
342 | sub {
343 | bottom: -0.25em;
344 | }
345 |
346 | sup {
347 | top: -0.5em;
348 | }
349 |
350 | a {
351 | color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
352 | text-decoration: underline;
353 | }
354 | a:hover {
355 | --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
356 | }
357 |
358 | a:not([href]):not([class]), a:not([href]):not([class]):hover {
359 | color: inherit;
360 | text-decoration: none;
361 | }
362 |
363 | pre,
364 | code,
365 | kbd,
366 | samp {
367 | font-family: var(--bs-font-monospace);
368 | font-size: 1em;
369 | }
370 |
371 | pre {
372 | display: block;
373 | margin-top: 0;
374 | margin-bottom: 1rem;
375 | overflow: auto;
376 | font-size: 0.875em;
377 | }
378 | pre code {
379 | font-size: inherit;
380 | color: inherit;
381 | word-break: normal;
382 | }
383 |
384 | code {
385 | font-size: 0.875em;
386 | color: var(--bs-code-color);
387 | word-wrap: break-word;
388 | }
389 | a > code {
390 | color: inherit;
391 | }
392 |
393 | kbd {
394 | padding: 0.1875rem 0.375rem;
395 | font-size: 0.875em;
396 | color: var(--bs-body-bg);
397 | background-color: var(--bs-body-color);
398 | border-radius: 0.25rem;
399 | }
400 | kbd kbd {
401 | padding: 0;
402 | font-size: 1em;
403 | }
404 |
405 | figure {
406 | margin: 0 0 1rem;
407 | }
408 |
409 | img,
410 | svg {
411 | vertical-align: middle;
412 | }
413 |
414 | table {
415 | caption-side: bottom;
416 | border-collapse: collapse;
417 | }
418 |
419 | caption {
420 | padding-top: 0.5rem;
421 | padding-bottom: 0.5rem;
422 | color: var(--bs-secondary-color);
423 | text-align: right;
424 | }
425 |
426 | th {
427 | text-align: inherit;
428 | text-align: -webkit-match-parent;
429 | }
430 |
431 | thead,
432 | tbody,
433 | tfoot,
434 | tr,
435 | td,
436 | th {
437 | border-color: inherit;
438 | border-style: solid;
439 | border-width: 0;
440 | }
441 |
442 | label {
443 | display: inline-block;
444 | }
445 |
446 | button {
447 | border-radius: 0;
448 | }
449 |
450 | button:focus:not(:focus-visible) {
451 | outline: 0;
452 | }
453 |
454 | input,
455 | button,
456 | select,
457 | optgroup,
458 | textarea {
459 | margin: 0;
460 | font-family: inherit;
461 | font-size: inherit;
462 | line-height: inherit;
463 | }
464 |
465 | button,
466 | select {
467 | text-transform: none;
468 | }
469 |
470 | [role=button] {
471 | cursor: pointer;
472 | }
473 |
474 | select {
475 | word-wrap: normal;
476 | }
477 | select:disabled {
478 | opacity: 1;
479 | }
480 |
481 | [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
482 | display: none !important;
483 | }
484 |
485 | button,
486 | [type=button],
487 | [type=reset],
488 | [type=submit] {
489 | -webkit-appearance: button;
490 | }
491 | button:not(:disabled),
492 | [type=button]:not(:disabled),
493 | [type=reset]:not(:disabled),
494 | [type=submit]:not(:disabled) {
495 | cursor: pointer;
496 | }
497 |
498 | ::-moz-focus-inner {
499 | padding: 0;
500 | border-style: none;
501 | }
502 |
503 | textarea {
504 | resize: vertical;
505 | }
506 |
507 | fieldset {
508 | min-width: 0;
509 | padding: 0;
510 | margin: 0;
511 | border: 0;
512 | }
513 |
514 | legend {
515 | float: right;
516 | width: 100%;
517 | padding: 0;
518 | margin-bottom: 0.5rem;
519 | font-size: calc(1.275rem + 0.3vw);
520 | line-height: inherit;
521 | }
522 | @media (min-width: 1200px) {
523 | legend {
524 | font-size: 1.5rem;
525 | }
526 | }
527 | legend + * {
528 | clear: right;
529 | }
530 |
531 | ::-webkit-datetime-edit-fields-wrapper,
532 | ::-webkit-datetime-edit-text,
533 | ::-webkit-datetime-edit-minute,
534 | ::-webkit-datetime-edit-hour-field,
535 | ::-webkit-datetime-edit-day-field,
536 | ::-webkit-datetime-edit-month-field,
537 | ::-webkit-datetime-edit-year-field {
538 | padding: 0;
539 | }
540 |
541 | ::-webkit-inner-spin-button {
542 | height: auto;
543 | }
544 |
545 | [type=search] {
546 | -webkit-appearance: textfield;
547 | outline-offset: -2px;
548 | }
549 |
550 | [type="tel"],
551 | [type="url"],
552 | [type="email"],
553 | [type="number"] {
554 | direction: ltr;
555 | }
556 | ::-webkit-search-decoration {
557 | -webkit-appearance: none;
558 | }
559 |
560 | ::-webkit-color-swatch-wrapper {
561 | padding: 0;
562 | }
563 |
564 | ::-webkit-file-upload-button {
565 | font: inherit;
566 | -webkit-appearance: button;
567 | }
568 |
569 | ::file-selector-button {
570 | font: inherit;
571 | -webkit-appearance: button;
572 | }
573 |
574 | output {
575 | display: inline-block;
576 | }
577 |
578 | iframe {
579 | border: 0;
580 | }
581 |
582 | summary {
583 | display: list-item;
584 | cursor: pointer;
585 | }
586 |
587 | progress {
588 | vertical-align: baseline;
589 | }
590 |
591 | [hidden] {
592 | display: none !important;
593 | }
594 | /*# sourceMappingURL=bootstrap-reboot.rtl.css.map */
--------------------------------------------------------------------------------
/assets/vendor/bootstrap/css/bootstrap-reboot.rtl.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2024 The Bootstrap Authors
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
6 | /*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */
--------------------------------------------------------------------------------
/assets/vendor/boxicons/css/animations.css:
--------------------------------------------------------------------------------
1 | @-webkit-keyframes spin
2 | {
3 | 0%
4 | {
5 | -webkit-transform: rotate(0);
6 | transform: rotate(0);
7 | }
8 | 100%
9 | {
10 | -webkit-transform: rotate(359deg);
11 | transform: rotate(359deg);
12 | }
13 | }
14 | @keyframes spin
15 | {
16 | 0%
17 | {
18 | -webkit-transform: rotate(0);
19 | transform: rotate(0);
20 | }
21 | 100%
22 | {
23 | -webkit-transform: rotate(359deg);
24 | transform: rotate(359deg);
25 | }
26 | }
27 | @-webkit-keyframes burst
28 | {
29 | 0%
30 | {
31 | -webkit-transform: scale(1);
32 | transform: scale(1);
33 |
34 | opacity: 1;
35 | }
36 | 90%
37 | {
38 | -webkit-transform: scale(1.5);
39 | transform: scale(1.5);
40 |
41 | opacity: 0;
42 | }
43 | }
44 | @keyframes burst
45 | {
46 | 0%
47 | {
48 | -webkit-transform: scale(1);
49 | transform: scale(1);
50 |
51 | opacity: 1;
52 | }
53 | 90%
54 | {
55 | -webkit-transform: scale(1.5);
56 | transform: scale(1.5);
57 |
58 | opacity: 0;
59 | }
60 | }
61 | @-webkit-keyframes flashing
62 | {
63 | 0%
64 | {
65 | opacity: 1;
66 | }
67 | 45%
68 | {
69 | opacity: 0;
70 | }
71 | 90%
72 | {
73 | opacity: 1;
74 | }
75 | }
76 | @keyframes flashing
77 | {
78 | 0%
79 | {
80 | opacity: 1;
81 | }
82 | 45%
83 | {
84 | opacity: 0;
85 | }
86 | 90%
87 | {
88 | opacity: 1;
89 | }
90 | }
91 | @-webkit-keyframes fade-left
92 | {
93 | 0%
94 | {
95 | -webkit-transform: translateX(0);
96 | transform: translateX(0);
97 |
98 | opacity: 1;
99 | }
100 | 75%
101 | {
102 | -webkit-transform: translateX(-20px);
103 | transform: translateX(-20px);
104 |
105 | opacity: 0;
106 | }
107 | }
108 | @keyframes fade-left
109 | {
110 | 0%
111 | {
112 | -webkit-transform: translateX(0);
113 | transform: translateX(0);
114 |
115 | opacity: 1;
116 | }
117 | 75%
118 | {
119 | -webkit-transform: translateX(-20px);
120 | transform: translateX(-20px);
121 |
122 | opacity: 0;
123 | }
124 | }
125 | @-webkit-keyframes fade-right
126 | {
127 | 0%
128 | {
129 | -webkit-transform: translateX(0);
130 | transform: translateX(0);
131 |
132 | opacity: 1;
133 | }
134 | 75%
135 | {
136 | -webkit-transform: translateX(20px);
137 | transform: translateX(20px);
138 |
139 | opacity: 0;
140 | }
141 | }
142 | @keyframes fade-right
143 | {
144 | 0%
145 | {
146 | -webkit-transform: translateX(0);
147 | transform: translateX(0);
148 |
149 | opacity: 1;
150 | }
151 | 75%
152 | {
153 | -webkit-transform: translateX(20px);
154 | transform: translateX(20px);
155 |
156 | opacity: 0;
157 | }
158 | }
159 | @-webkit-keyframes fade-up
160 | {
161 | 0%
162 | {
163 | -webkit-transform: translateY(0);
164 | transform: translateY(0);
165 |
166 | opacity: 1;
167 | }
168 | 75%
169 | {
170 | -webkit-transform: translateY(-20px);
171 | transform: translateY(-20px);
172 |
173 | opacity: 0;
174 | }
175 | }
176 | @keyframes fade-up
177 | {
178 | 0%
179 | {
180 | -webkit-transform: translateY(0);
181 | transform: translateY(0);
182 |
183 | opacity: 1;
184 | }
185 | 75%
186 | {
187 | -webkit-transform: translateY(-20px);
188 | transform: translateY(-20px);
189 |
190 | opacity: 0;
191 | }
192 | }
193 | @-webkit-keyframes fade-down
194 | {
195 | 0%
196 | {
197 | -webkit-transform: translateY(0);
198 | transform: translateY(0);
199 |
200 | opacity: 1;
201 | }
202 | 75%
203 | {
204 | -webkit-transform: translateY(20px);
205 | transform: translateY(20px);
206 |
207 | opacity: 0;
208 | }
209 | }
210 | @keyframes fade-down
211 | {
212 | 0%
213 | {
214 | -webkit-transform: translateY(0);
215 | transform: translateY(0);
216 |
217 | opacity: 1;
218 | }
219 | 75%
220 | {
221 | -webkit-transform: translateY(20px);
222 | transform: translateY(20px);
223 |
224 | opacity: 0;
225 | }
226 | }
227 | @-webkit-keyframes tada
228 | {
229 | from
230 | {
231 | -webkit-transform: scale3d(1, 1, 1);
232 | transform: scale3d(1, 1, 1);
233 | }
234 |
235 | 10%,
236 | 20%
237 | {
238 | -webkit-transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
239 | transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
240 | }
241 |
242 | 30%,
243 | 50%,
244 | 70%,
245 | 90%
246 | {
247 | -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
248 | transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
249 | }
250 |
251 | 40%,
252 | 60%,
253 | 80%
254 | {
255 | -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
256 | transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
257 | }
258 |
259 | to
260 | {
261 | -webkit-transform: scale3d(1, 1, 1);
262 | transform: scale3d(1, 1, 1);
263 | }
264 | }
265 |
266 | @keyframes tada
267 | {
268 | from
269 | {
270 | -webkit-transform: scale3d(1, 1, 1);
271 | transform: scale3d(1, 1, 1);
272 | }
273 |
274 | 10%,
275 | 20%
276 | {
277 | -webkit-transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
278 | transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
279 | }
280 |
281 | 30%,
282 | 50%,
283 | 70%,
284 | 90%
285 | {
286 | -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
287 | transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
288 | }
289 |
290 | 40%,
291 | 60%,
292 | 80%
293 | {
294 | -webkit-transform: rotate3d(0, 0, 1, -10deg);
295 | transform: rotate3d(0, 0, 1, -10deg);
296 | }
297 |
298 | to
299 | {
300 | -webkit-transform: scale3d(1, 1, 1);
301 | transform: scale3d(1, 1, 1);
302 | }
303 | }
304 | .bx-spin
305 | {
306 | -webkit-animation: spin 2s linear infinite;
307 | animation: spin 2s linear infinite;
308 | }
309 | .bx-spin-hover:hover
310 | {
311 | -webkit-animation: spin 2s linear infinite;
312 | animation: spin 2s linear infinite;
313 | }
314 |
315 | .bx-tada
316 | {
317 | -webkit-animation: tada 1.5s ease infinite;
318 | animation: tada 1.5s ease infinite;
319 | }
320 | .bx-tada-hover:hover
321 | {
322 | -webkit-animation: tada 1.5s ease infinite;
323 | animation: tada 1.5s ease infinite;
324 | }
325 |
326 | .bx-flashing
327 | {
328 | -webkit-animation: flashing 1.5s infinite linear;
329 | animation: flashing 1.5s infinite linear;
330 | }
331 | .bx-flashing-hover:hover
332 | {
333 | -webkit-animation: flashing 1.5s infinite linear;
334 | animation: flashing 1.5s infinite linear;
335 | }
336 |
337 | .bx-burst
338 | {
339 | -webkit-animation: burst 1.5s infinite linear;
340 | animation: burst 1.5s infinite linear;
341 | }
342 | .bx-burst-hover:hover
343 | {
344 | -webkit-animation: burst 1.5s infinite linear;
345 | animation: burst 1.5s infinite linear;
346 | }
347 | .bx-fade-up
348 | {
349 | -webkit-animation: fade-up 1.5s infinite linear;
350 | animation: fade-up 1.5s infinite linear;
351 | }
352 | .bx-fade-up-hover:hover
353 | {
354 | -webkit-animation: fade-up 1.5s infinite linear;
355 | animation: fade-up 1.5s infinite linear;
356 | }
357 | .bx-fade-down
358 | {
359 | -webkit-animation: fade-down 1.5s infinite linear;
360 | animation: fade-down 1.5s infinite linear;
361 | }
362 | .bx-fade-down-hover:hover
363 | {
364 | -webkit-animation: fade-down 1.5s infinite linear;
365 | animation: fade-down 1.5s infinite linear;
366 | }
367 | .bx-fade-left
368 | {
369 | -webkit-animation: fade-left 1.5s infinite linear;
370 | animation: fade-left 1.5s infinite linear;
371 | }
372 | .bx-fade-left-hover:hover
373 | {
374 | -webkit-animation: fade-left 1.5s infinite linear;
375 | animation: fade-left 1.5s infinite linear;
376 | }
377 | .bx-fade-right
378 | {
379 | -webkit-animation: fade-right 1.5s infinite linear;
380 | animation: fade-right 1.5s infinite linear;
381 | }
382 | .bx-fade-right-hover:hover
383 | {
384 | -webkit-animation: fade-right 1.5s infinite linear;
385 | animation: fade-right 1.5s infinite linear;
386 | }
--------------------------------------------------------------------------------
/assets/vendor/boxicons/css/transformations.css:
--------------------------------------------------------------------------------
1 | .bx-rotate-90
2 | {
3 | transform: rotate(90deg);
4 |
5 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)';
6 | }
7 | .bx-rotate-180
8 | {
9 | transform: rotate(180deg);
10 |
11 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)';
12 | }
13 | .bx-rotate-270
14 | {
15 | transform: rotate(270deg);
16 |
17 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)';
18 | }
19 | .bx-flip-horizontal
20 | {
21 | transform: scaleX(-1);
22 |
23 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)';
24 | }
25 | .bx-flip-vertical
26 | {
27 | transform: scaleY(-1);
28 |
29 | -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)';
30 | }
31 |
--------------------------------------------------------------------------------
/assets/vendor/boxicons/fonts/boxicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/vendor/boxicons/fonts/boxicons.eot
--------------------------------------------------------------------------------
/assets/vendor/boxicons/fonts/boxicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/vendor/boxicons/fonts/boxicons.ttf
--------------------------------------------------------------------------------
/assets/vendor/boxicons/fonts/boxicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/vendor/boxicons/fonts/boxicons.woff
--------------------------------------------------------------------------------
/assets/vendor/boxicons/fonts/boxicons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thuml/timer/3e7f08861b237252e70ac57e6395a04944fbf017/assets/vendor/boxicons/fonts/boxicons.woff2
--------------------------------------------------------------------------------
/assets/vendor/glightbox/css/glightbox.css:
--------------------------------------------------------------------------------
1 | .glightbox-container {
2 | width: 100%;
3 | height: 100%;
4 | position: fixed;
5 | top: 0;
6 | left: 0;
7 | z-index: 999999 !important;
8 | overflow: hidden;
9 | -ms-touch-action: none;
10 | touch-action: none;
11 | -webkit-text-size-adjust: 100%;
12 | -moz-text-size-adjust: 100%;
13 | -ms-text-size-adjust: 100%;
14 | text-size-adjust: 100%;
15 | -webkit-backface-visibility: hidden;
16 | backface-visibility: hidden;
17 | outline: none;
18 | }
19 |
20 | .glightbox-container.inactive {
21 | display: none;
22 | }
23 |
24 | .glightbox-container .gcontainer {
25 | position: relative;
26 | width: 100%;
27 | height: 100%;
28 | z-index: 9999;
29 | overflow: hidden;
30 | }
31 |
32 | .glightbox-container .gslider {
33 | -webkit-transition: -webkit-transform 0.4s ease;
34 | transition: -webkit-transform 0.4s ease;
35 | transition: transform 0.4s ease;
36 | transition: transform 0.4s ease, -webkit-transform 0.4s ease;
37 | height: 100%;
38 | left: 0;
39 | top: 0;
40 | width: 100%;
41 | position: relative;
42 | overflow: hidden;
43 | display: -webkit-box !important;
44 | display: -ms-flexbox !important;
45 | display: flex !important;
46 | -webkit-box-pack: center;
47 | -ms-flex-pack: center;
48 | justify-content: center;
49 | -webkit-box-align: center;
50 | -ms-flex-align: center;
51 | align-items: center;
52 | -webkit-transform: translate3d(0, 0, 0);
53 | transform: translate3d(0, 0, 0);
54 | }
55 |
56 | .glightbox-container .gslide {
57 | width: 100%;
58 | position: absolute;
59 | -webkit-user-select: none;
60 | -moz-user-select: none;
61 | -ms-user-select: none;
62 | user-select: none;
63 | display: -webkit-box;
64 | display: -ms-flexbox;
65 | display: flex;
66 | -webkit-box-align: center;
67 | -ms-flex-align: center;
68 | align-items: center;
69 | -webkit-box-pack: center;
70 | -ms-flex-pack: center;
71 | justify-content: center;
72 | opacity: 0;
73 | }
74 |
75 | .glightbox-container .gslide.current {
76 | opacity: 1;
77 | z-index: 99999;
78 | position: relative;
79 | }
80 |
81 | .glightbox-container .gslide.prev {
82 | opacity: 1;
83 | z-index: 9999;
84 | }
85 |
86 | .glightbox-container .gslide-inner-content {
87 | width: 100%;
88 | }
89 |
90 | .glightbox-container .ginner-container {
91 | position: relative;
92 | width: 100%;
93 | display: -webkit-box;
94 | display: -ms-flexbox;
95 | display: flex;
96 | -webkit-box-pack: center;
97 | -ms-flex-pack: center;
98 | justify-content: center;
99 | -webkit-box-orient: vertical;
100 | -webkit-box-direction: normal;
101 | -ms-flex-direction: column;
102 | flex-direction: column;
103 | max-width: 100%;
104 | margin: auto;
105 | height: 100vh;
106 | }
107 |
108 | .glightbox-container .ginner-container.gvideo-container {
109 | width: 100%;
110 | }
111 |
112 | .glightbox-container .ginner-container.desc-bottom,
113 | .glightbox-container .ginner-container.desc-top {
114 | -webkit-box-orient: vertical;
115 | -webkit-box-direction: normal;
116 | -ms-flex-direction: column;
117 | flex-direction: column;
118 | }
119 |
120 | .glightbox-container .ginner-container.desc-left,
121 | .glightbox-container .ginner-container.desc-right {
122 | max-width: 100% !important;
123 | }
124 |
125 | .gslide iframe,
126 | .gslide video {
127 | outline: none !important;
128 | border: none;
129 | min-height: 165px;
130 | -webkit-overflow-scrolling: touch;
131 | -ms-touch-action: auto;
132 | touch-action: auto;
133 | }
134 |
135 | .gslide:not(.current) {
136 | pointer-events: none;
137 | }
138 |
139 | .gslide-image {
140 | -webkit-box-align: center;
141 | -ms-flex-align: center;
142 | align-items: center;
143 | }
144 |
145 | .gslide-image img {
146 | max-height: 100vh;
147 | display: block;
148 | padding: 0;
149 | float: none;
150 | outline: none;
151 | border: none;
152 | -webkit-user-select: none;
153 | -moz-user-select: none;
154 | -ms-user-select: none;
155 | user-select: none;
156 | max-width: 100vw;
157 | width: auto;
158 | height: auto;
159 | -o-object-fit: cover;
160 | object-fit: cover;
161 | -ms-touch-action: none;
162 | touch-action: none;
163 | margin: auto;
164 | min-width: 200px;
165 | }
166 |
167 | .desc-top .gslide-image img,
168 | .desc-bottom .gslide-image img {
169 | width: auto;
170 | }
171 |
172 | .desc-left .gslide-image img,
173 | .desc-right .gslide-image img {
174 | width: auto;
175 | max-width: 100%;
176 | }
177 |
178 | .gslide-image img.zoomable {
179 | position: relative;
180 | }
181 |
182 | .gslide-image img.dragging {
183 | cursor: -webkit-grabbing !important;
184 | cursor: grabbing !important;
185 | -webkit-transition: none;
186 | transition: none;
187 | }
188 |
189 | .gslide-video {
190 | position: relative;
191 | max-width: 100vh;
192 | width: 100% !important;
193 | }
194 |
195 | .gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
196 | display: none;
197 | }
198 |
199 | .gslide-video .gvideo-wrapper {
200 | width: 100%;
201 | /* max-width: 160vmin; */
202 | margin: auto;
203 | }
204 |
205 | .gslide-video::before {
206 | content: '';
207 | position: absolute;
208 | width: 100%;
209 | height: 100%;
210 | background: rgba(255, 0, 0, 0.34);
211 | display: none;
212 | }
213 |
214 | .gslide-video.playing::before {
215 | display: none;
216 | }
217 |
218 | .gslide-video.fullscreen {
219 | max-width: 100% !important;
220 | min-width: 100%;
221 | height: 75vh;
222 | }
223 |
224 | .gslide-video.fullscreen video {
225 | max-width: 100% !important;
226 | width: 100% !important;
227 | }
228 |
229 | .gslide-inline {
230 | background: #fff;
231 | text-align: left;
232 | max-height: calc(100vh - 40px);
233 | overflow: auto;
234 | max-width: 100%;
235 | margin: auto;
236 | }
237 |
238 | .gslide-inline .ginlined-content {
239 | padding: 20px;
240 | width: 100%;
241 | }
242 |
243 | .gslide-inline .dragging {
244 | cursor: -webkit-grabbing !important;
245 | cursor: grabbing !important;
246 | -webkit-transition: none;
247 | transition: none;
248 | }
249 |
250 | .ginlined-content {
251 | overflow: auto;
252 | display: block !important;
253 | opacity: 1;
254 | }
255 |
256 | .gslide-external {
257 | display: -webkit-box;
258 | display: -ms-flexbox;
259 | display: flex;
260 | width: 100%;
261 | min-width: 100%;
262 | background: #fff;
263 | padding: 0;
264 | overflow: auto;
265 | max-height: 75vh;
266 | height: 100%;
267 | }
268 |
269 | .gslide-media {
270 | display: -webkit-box;
271 | display: -ms-flexbox;
272 | display: flex;
273 | width: auto;
274 | }
275 |
276 | .zoomed .gslide-media {
277 | -webkit-box-shadow: none !important;
278 | box-shadow: none !important;
279 | }
280 |
281 | .desc-top .gslide-media,
282 | .desc-bottom .gslide-media {
283 | margin: 0 auto;
284 | -webkit-box-orient: vertical;
285 | -webkit-box-direction: normal;
286 | -ms-flex-direction: column;
287 | flex-direction: column;
288 | }
289 |
290 | .gslide-description {
291 | position: relative;
292 | -webkit-box-flex: 1;
293 | -ms-flex: 1 0 100%;
294 | flex: 1 0 100%;
295 | }
296 |
297 | .gslide-description.description-left,
298 | .gslide-description.description-right {
299 | max-width: 100%;
300 | }
301 |
302 | .gslide-description.description-bottom,
303 | .gslide-description.description-top {
304 | margin: 0 auto;
305 | width: 100%;
306 | }
307 |
308 | .gslide-description p {
309 | margin-bottom: 12px;
310 | }
311 |
312 | .gslide-description p:last-child {
313 | margin-bottom: 0;
314 | }
315 |
316 | .zoomed .gslide-description {
317 | display: none;
318 | }
319 |
320 | .glightbox-button-hidden {
321 | display: none;
322 | }
323 |
324 |
325 | /*
326 | * Description for mobiles
327 | * something like facebook does the description
328 | * for the photos
329 | */
330 |
331 | .glightbox-mobile .glightbox-container .gslide-description {
332 | height: auto !important;
333 | width: 100%;
334 | position: absolute;
335 | bottom: 0;
336 | padding: 19px 11px;
337 | max-width: 100vw !important;
338 | -webkit-box-ordinal-group: 3 !important;
339 | -ms-flex-order: 2 !important;
340 | order: 2 !important;
341 | max-height: 78vh;
342 | overflow: auto !important;
343 | background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
344 | background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
345 | -webkit-transition: opacity 0.3s linear;
346 | transition: opacity 0.3s linear;
347 | padding-bottom: 50px;
348 | }
349 |
350 | .glightbox-mobile .glightbox-container .gslide-title {
351 | color: #fff;
352 | font-size: 1em;
353 | }
354 |
355 | .glightbox-mobile .glightbox-container .gslide-desc {
356 | color: #a1a1a1;
357 | }
358 |
359 | .glightbox-mobile .glightbox-container .gslide-desc a {
360 | color: #fff;
361 | font-weight: bold;
362 | }
363 |
364 | .glightbox-mobile .glightbox-container .gslide-desc * {
365 | color: inherit;
366 | }
367 |
368 | .glightbox-mobile .glightbox-container .gslide-desc .desc-more {
369 | color: #fff;
370 | opacity: 0.4;
371 | }
372 |
373 | .gdesc-open .gslide-media {
374 | -webkit-transition: opacity 0.5s ease;
375 | transition: opacity 0.5s ease;
376 | opacity: 0.4;
377 | }
378 |
379 | .gdesc-open .gdesc-inner {
380 | padding-bottom: 30px;
381 | }
382 |
383 | .gdesc-closed .gslide-media {
384 | -webkit-transition: opacity 0.5s ease;
385 | transition: opacity 0.5s ease;
386 | opacity: 1;
387 | }
388 |
389 | .greset {
390 | -webkit-transition: all 0.3s ease;
391 | transition: all 0.3s ease;
392 | }
393 |
394 | .gabsolute {
395 | position: absolute;
396 | }
397 |
398 | .grelative {
399 | position: relative;
400 | }
401 |
402 | .glightbox-desc {
403 | display: none !important;
404 | }
405 |
406 | .glightbox-open {
407 | overflow: hidden;
408 | }
409 |
410 | .gloader {
411 | height: 25px;
412 | width: 25px;
413 | -webkit-animation: lightboxLoader 0.8s infinite linear;
414 | animation: lightboxLoader 0.8s infinite linear;
415 | border: 2px solid #fff;
416 | border-right-color: transparent;
417 | border-radius: 50%;
418 | position: absolute;
419 | display: block;
420 | z-index: 9999;
421 | left: 0;
422 | right: 0;
423 | margin: 0 auto;
424 | top: 47%;
425 | }
426 |
427 | .goverlay {
428 | width: 100%;
429 | height: calc(100vh + 1px);
430 | position: fixed;
431 | top: -1px;
432 | left: 0;
433 | background: #000;
434 | will-change: opacity;
435 | }
436 |
437 | .glightbox-mobile .goverlay {
438 | background: #000;
439 | }
440 |
441 | .gprev,
442 | .gnext,
443 | .gclose {
444 | z-index: 99999;
445 | cursor: pointer;
446 | width: 26px;
447 | height: 44px;
448 | border: none;
449 | display: -webkit-box;
450 | display: -ms-flexbox;
451 | display: flex;
452 | -webkit-box-pack: center;
453 | -ms-flex-pack: center;
454 | justify-content: center;
455 | -webkit-box-align: center;
456 | -ms-flex-align: center;
457 | align-items: center;
458 | -webkit-box-orient: vertical;
459 | -webkit-box-direction: normal;
460 | -ms-flex-direction: column;
461 | flex-direction: column;
462 | }
463 |
464 | .gprev svg,
465 | .gnext svg,
466 | .gclose svg {
467 | display: block;
468 | width: 25px;
469 | height: auto;
470 | margin: 0;
471 | padding: 0;
472 | }
473 |
474 | .gprev.disabled,
475 | .gnext.disabled,
476 | .gclose.disabled {
477 | opacity: 0.1;
478 | }
479 |
480 | .gprev .garrow,
481 | .gnext .garrow,
482 | .gclose .garrow {
483 | stroke: #fff;
484 | }
485 |
486 | .gbtn.focused {
487 | outline: 2px solid #0f3d81;
488 | }
489 |
490 | iframe.wait-autoplay {
491 | opacity: 0;
492 | }
493 |
494 | .glightbox-closing .gnext,
495 | .glightbox-closing .gprev,
496 | .glightbox-closing .gclose {
497 | opacity: 0 !important;
498 | }
499 |
500 |
501 | /*Skin */
502 |
503 | .glightbox-clean .gslide-description {
504 | background: #fff;
505 | }
506 |
507 | .glightbox-clean .gdesc-inner {
508 | padding: 22px 20px;
509 | }
510 |
511 | .glightbox-clean .gslide-title {
512 | font-size: 1em;
513 | font-weight: normal;
514 | font-family: arial;
515 | color: #000;
516 | margin-bottom: 19px;
517 | line-height: 1.4em;
518 | }
519 |
520 | .glightbox-clean .gslide-desc {
521 | font-size: 0.86em;
522 | margin-bottom: 0;
523 | font-family: arial;
524 | line-height: 1.4em;
525 | }
526 |
527 | .glightbox-clean .gslide-video {
528 | background: #000;
529 | }
530 |
531 | .glightbox-clean .gprev,
532 | .glightbox-clean .gnext,
533 | .glightbox-clean .gclose {
534 | background-color: rgba(0, 0, 0, 0.75);
535 | border-radius: 4px;
536 | }
537 |
538 | .glightbox-clean .gprev path,
539 | .glightbox-clean .gnext path,
540 | .glightbox-clean .gclose path {
541 | fill: #fff;
542 | }
543 |
544 | .glightbox-clean .gprev {
545 | position: absolute;
546 | top: -100%;
547 | left: 30px;
548 | width: 40px;
549 | height: 50px;
550 | }
551 |
552 | .glightbox-clean .gnext {
553 | position: absolute;
554 | top: -100%;
555 | right: 30px;
556 | width: 40px;
557 | height: 50px;
558 | }
559 |
560 | .glightbox-clean .gclose {
561 | width: 35px;
562 | height: 35px;
563 | top: 15px;
564 | right: 10px;
565 | position: absolute;
566 | }
567 |
568 | .glightbox-clean .gclose svg {
569 | width: 18px;
570 | height: auto;
571 | }
572 |
573 | .glightbox-clean .gclose:hover {
574 | opacity: 1;
575 | }
576 |
577 |
578 | /*CSS Animations*/
579 |
580 | .gfadeIn {
581 | -webkit-animation: gfadeIn 0.5s ease;
582 | animation: gfadeIn 0.5s ease;
583 | }
584 |
585 | .gfadeOut {
586 | -webkit-animation: gfadeOut 0.5s ease;
587 | animation: gfadeOut 0.5s ease;
588 | }
589 |
590 | .gslideOutLeft {
591 | -webkit-animation: gslideOutLeft 0.3s ease;
592 | animation: gslideOutLeft 0.3s ease;
593 | }
594 |
595 | .gslideInLeft {
596 | -webkit-animation: gslideInLeft 0.3s ease;
597 | animation: gslideInLeft 0.3s ease;
598 | }
599 |
600 | .gslideOutRight {
601 | -webkit-animation: gslideOutRight 0.3s ease;
602 | animation: gslideOutRight 0.3s ease;
603 | }
604 |
605 | .gslideInRight {
606 | -webkit-animation: gslideInRight 0.3s ease;
607 | animation: gslideInRight 0.3s ease;
608 | }
609 |
610 | .gzoomIn {
611 | -webkit-animation: gzoomIn 0.5s ease;
612 | animation: gzoomIn 0.5s ease;
613 | }
614 |
615 | .gzoomOut {
616 | -webkit-animation: gzoomOut 0.5s ease;
617 | animation: gzoomOut 0.5s ease;
618 | }
619 |
620 | @-webkit-keyframes lightboxLoader {
621 | 0% {
622 | -webkit-transform: rotate(0deg);
623 | transform: rotate(0deg);
624 | }
625 | 100% {
626 | -webkit-transform: rotate(360deg);
627 | transform: rotate(360deg);
628 | }
629 | }
630 |
631 | @keyframes lightboxLoader {
632 | 0% {
633 | -webkit-transform: rotate(0deg);
634 | transform: rotate(0deg);
635 | }
636 | 100% {
637 | -webkit-transform: rotate(360deg);
638 | transform: rotate(360deg);
639 | }
640 | }
641 |
642 | @-webkit-keyframes gfadeIn {
643 | from {
644 | opacity: 0;
645 | }
646 | to {
647 | opacity: 1;
648 | }
649 | }
650 |
651 | @keyframes gfadeIn {
652 | from {
653 | opacity: 0;
654 | }
655 | to {
656 | opacity: 1;
657 | }
658 | }
659 |
660 | @-webkit-keyframes gfadeOut {
661 | from {
662 | opacity: 1;
663 | }
664 | to {
665 | opacity: 0;
666 | }
667 | }
668 |
669 | @keyframes gfadeOut {
670 | from {
671 | opacity: 1;
672 | }
673 | to {
674 | opacity: 0;
675 | }
676 | }
677 |
678 | @-webkit-keyframes gslideInLeft {
679 | from {
680 | opacity: 0;
681 | -webkit-transform: translate3d(-60%, 0, 0);
682 | transform: translate3d(-60%, 0, 0);
683 | }
684 | to {
685 | visibility: visible;
686 | -webkit-transform: translate3d(0, 0, 0);
687 | transform: translate3d(0, 0, 0);
688 | opacity: 1;
689 | }
690 | }
691 |
692 | @keyframes gslideInLeft {
693 | from {
694 | opacity: 0;
695 | -webkit-transform: translate3d(-60%, 0, 0);
696 | transform: translate3d(-60%, 0, 0);
697 | }
698 | to {
699 | visibility: visible;
700 | -webkit-transform: translate3d(0, 0, 0);
701 | transform: translate3d(0, 0, 0);
702 | opacity: 1;
703 | }
704 | }
705 |
706 | @-webkit-keyframes gslideOutLeft {
707 | from {
708 | opacity: 1;
709 | visibility: visible;
710 | -webkit-transform: translate3d(0, 0, 0);
711 | transform: translate3d(0, 0, 0);
712 | }
713 | to {
714 | -webkit-transform: translate3d(-60%, 0, 0);
715 | transform: translate3d(-60%, 0, 0);
716 | opacity: 0;
717 | visibility: hidden;
718 | }
719 | }
720 |
721 | @keyframes gslideOutLeft {
722 | from {
723 | opacity: 1;
724 | visibility: visible;
725 | -webkit-transform: translate3d(0, 0, 0);
726 | transform: translate3d(0, 0, 0);
727 | }
728 | to {
729 | -webkit-transform: translate3d(-60%, 0, 0);
730 | transform: translate3d(-60%, 0, 0);
731 | opacity: 0;
732 | visibility: hidden;
733 | }
734 | }
735 |
736 | @-webkit-keyframes gslideInRight {
737 | from {
738 | opacity: 0;
739 | visibility: visible;
740 | -webkit-transform: translate3d(60%, 0, 0);
741 | transform: translate3d(60%, 0, 0);
742 | }
743 | to {
744 | -webkit-transform: translate3d(0, 0, 0);
745 | transform: translate3d(0, 0, 0);
746 | opacity: 1;
747 | }
748 | }
749 |
750 | @keyframes gslideInRight {
751 | from {
752 | opacity: 0;
753 | visibility: visible;
754 | -webkit-transform: translate3d(60%, 0, 0);
755 | transform: translate3d(60%, 0, 0);
756 | }
757 | to {
758 | -webkit-transform: translate3d(0, 0, 0);
759 | transform: translate3d(0, 0, 0);
760 | opacity: 1;
761 | }
762 | }
763 |
764 | @-webkit-keyframes gslideOutRight {
765 | from {
766 | opacity: 1;
767 | visibility: visible;
768 | -webkit-transform: translate3d(0, 0, 0);
769 | transform: translate3d(0, 0, 0);
770 | }
771 | to {
772 | -webkit-transform: translate3d(60%, 0, 0);
773 | transform: translate3d(60%, 0, 0);
774 | opacity: 0;
775 | }
776 | }
777 |
778 | @keyframes gslideOutRight {
779 | from {
780 | opacity: 1;
781 | visibility: visible;
782 | -webkit-transform: translate3d(0, 0, 0);
783 | transform: translate3d(0, 0, 0);
784 | }
785 | to {
786 | -webkit-transform: translate3d(60%, 0, 0);
787 | transform: translate3d(60%, 0, 0);
788 | opacity: 0;
789 | }
790 | }
791 |
792 | @-webkit-keyframes gzoomIn {
793 | from {
794 | opacity: 0;
795 | -webkit-transform: scale3d(0.3, 0.3, 0.3);
796 | transform: scale3d(0.3, 0.3, 0.3);
797 | }
798 | to {
799 | opacity: 1;
800 | }
801 | }
802 |
803 | @keyframes gzoomIn {
804 | from {
805 | opacity: 0;
806 | -webkit-transform: scale3d(0.3, 0.3, 0.3);
807 | transform: scale3d(0.3, 0.3, 0.3);
808 | }
809 | to {
810 | opacity: 1;
811 | }
812 | }
813 |
814 | @-webkit-keyframes gzoomOut {
815 | from {
816 | opacity: 1;
817 | }
818 | 50% {
819 | opacity: 0;
820 | -webkit-transform: scale3d(0.3, 0.3, 0.3);
821 | transform: scale3d(0.3, 0.3, 0.3);
822 | }
823 | to {
824 | opacity: 0;
825 | }
826 | }
827 |
828 | @keyframes gzoomOut {
829 | from {
830 | opacity: 1;
831 | }
832 | 50% {
833 | opacity: 0;
834 | -webkit-transform: scale3d(0.3, 0.3, 0.3);
835 | transform: scale3d(0.3, 0.3, 0.3);
836 | }
837 | to {
838 | opacity: 0;
839 | }
840 | }
841 |
842 | @media (min-width: 769px) {
843 | .glightbox-container .ginner-container {
844 | width: auto;
845 | height: auto;
846 | -webkit-box-orient: horizontal;
847 | -webkit-box-direction: normal;
848 | -ms-flex-direction: row;
849 | flex-direction: row;
850 | }
851 | .glightbox-container .ginner-container.desc-top .gslide-description {
852 | -webkit-box-ordinal-group: 1;
853 | -ms-flex-order: 0;
854 | order: 0;
855 | }
856 | .glightbox-container .ginner-container.desc-top .gslide-image,
857 | .glightbox-container .ginner-container.desc-top .gslide-image img {
858 | -webkit-box-ordinal-group: 2;
859 | -ms-flex-order: 1;
860 | order: 1;
861 | }
862 | .glightbox-container .ginner-container.desc-left .gslide-description {
863 | -webkit-box-ordinal-group: 1;
864 | -ms-flex-order: 0;
865 | order: 0;
866 | }
867 | .glightbox-container .ginner-container.desc-left .gslide-image {
868 | -webkit-box-ordinal-group: 2;
869 | -ms-flex-order: 1;
870 | order: 1;
871 | }
872 | .gslide-image img {
873 | max-height: 97vh;
874 | max-width: 100%;
875 | }
876 | .gslide-image img.zoomable {
877 | cursor: -webkit-zoom-in;
878 | cursor: zoom-in;
879 | }
880 | .zoomed .gslide-image img.zoomable {
881 | cursor: -webkit-grab;
882 | cursor: grab;
883 | }
884 | .gslide-inline {
885 | max-height: 95vh;
886 | }
887 | .gslide-external {
888 | max-height: 100vh;
889 | }
890 | .gslide-description.description-left,
891 | .gslide-description.description-right {
892 | max-width: 275px;
893 | }
894 | .glightbox-open {
895 | height: auto;
896 | }
897 | .goverlay {
898 | background: rgba(0, 0, 0, 0.92);
899 | }
900 | .glightbox-clean .gslide-media {
901 | -webkit-box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
902 | box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
903 | }
904 | .glightbox-clean .description-left .gdesc-inner,
905 | .glightbox-clean .description-right .gdesc-inner {
906 | position: absolute;
907 | height: 100%;
908 | overflow-y: auto;
909 | }
910 | .glightbox-clean .gprev,
911 | .glightbox-clean .gnext,
912 | .glightbox-clean .gclose {
913 | background-color: rgba(0, 0, 0, 0.32);
914 | }
915 | .glightbox-clean .gprev:hover,
916 | .glightbox-clean .gnext:hover,
917 | .glightbox-clean .gclose:hover {
918 | background-color: rgba(0, 0, 0, 0.7);
919 | }
920 | .glightbox-clean .gprev {
921 | top: 45%;
922 | }
923 | .glightbox-clean .gnext {
924 | top: 45%;
925 | }
926 | }
927 |
928 | @media (min-width: 992px) {
929 | .glightbox-clean .gclose {
930 | opacity: 0.7;
931 | right: 20px;
932 | }
933 | }
934 |
935 | @media screen and (max-height: 420px) {
936 | .goverlay {
937 | background: #000;
938 | }
939 | }
940 |
--------------------------------------------------------------------------------
/assets/vendor/glightbox/css/glightbox.min.css:
--------------------------------------------------------------------------------
1 | .glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
--------------------------------------------------------------------------------
/assets/vendor/php-email-form/validate.js:
--------------------------------------------------------------------------------
1 | /**
2 | * PHP Email Form Validation - v3.7
3 | * URL: https://bootstrapmade.com/php-email-form/
4 | * Author: BootstrapMade.com
5 | */
6 | (function () {
7 | "use strict";
8 |
9 | let forms = document.querySelectorAll('.php-email-form');
10 |
11 | forms.forEach( function(e) {
12 | e.addEventListener('submit', function(event) {
13 | event.preventDefault();
14 |
15 | let thisForm = this;
16 |
17 | let action = thisForm.getAttribute('action');
18 | let recaptcha = thisForm.getAttribute('data-recaptcha-site-key');
19 |
20 | if( ! action ) {
21 | displayError(thisForm, 'The form action property is not set!');
22 | return;
23 | }
24 | thisForm.querySelector('.loading').classList.add('d-block');
25 | thisForm.querySelector('.error-message').classList.remove('d-block');
26 | thisForm.querySelector('.sent-message').classList.remove('d-block');
27 |
28 | let formData = new FormData( thisForm );
29 |
30 | if ( recaptcha ) {
31 | if(typeof grecaptcha !== "undefined" ) {
32 | grecaptcha.ready(function() {
33 | try {
34 | grecaptcha.execute(recaptcha, {action: 'php_email_form_submit'})
35 | .then(token => {
36 | formData.set('recaptcha-response', token);
37 | php_email_form_submit(thisForm, action, formData);
38 | })
39 | } catch(error) {
40 | displayError(thisForm, error);
41 | }
42 | });
43 | } else {
44 | displayError(thisForm, 'The reCaptcha javascript API url is not loaded!')
45 | }
46 | } else {
47 | php_email_form_submit(thisForm, action, formData);
48 | }
49 | });
50 | });
51 |
52 | function php_email_form_submit(thisForm, action, formData) {
53 | fetch(action, {
54 | method: 'POST',
55 | body: formData,
56 | headers: {'X-Requested-With': 'XMLHttpRequest'}
57 | })
58 | .then(response => {
59 | if( response.ok ) {
60 | return response.text();
61 | } else {
62 | throw new Error(`${response.status} ${response.statusText} ${response.url}`);
63 | }
64 | })
65 | .then(data => {
66 | thisForm.querySelector('.loading').classList.remove('d-block');
67 | if (data.trim() == 'OK') {
68 | thisForm.querySelector('.sent-message').classList.add('d-block');
69 | thisForm.reset();
70 | } else {
71 | throw new Error(data ? data : 'Form submission failed and no error message returned from: ' + action);
72 | }
73 | })
74 | .catch((error) => {
75 | displayError(thisForm, error);
76 | });
77 | }
78 |
79 | function displayError(thisForm, error) {
80 | thisForm.querySelector('.loading').classList.remove('d-block');
81 | thisForm.querySelector('.error-message').innerHTML = error;
82 | thisForm.querySelector('.error-message').classList.add('d-block');
83 | }
84 |
85 | })();
86 |
--------------------------------------------------------------------------------
/assets/vendor/swiper/swiper-bundle.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Swiper 11.1.1
3 | * Most modern mobile touch slider and framework with hardware accelerated transitions
4 | * https://swiperjs.com
5 | *
6 | * Copyright 2014-2024 Vladimir Kharlampidi
7 | *
8 | * Released under the MIT License
9 | *
10 | * Released on: April 9, 2024
11 | */
12 |
13 | @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
--------------------------------------------------------------------------------
/index_zh.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Timer: 时间序列基础模型
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
68 |
69 |
70 |
71 |
72 |
73 |
基于大模型的通用时间序列分析
74 |
78 |
79 |
80 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |

100 |
101 |
102 |
欢迎使用Timer-深度时序分析通用基础模型
103 |
Timer 模型发源于清华大学软件学院,针对时序分析领域,构建了大规模时序数据集和预训练格式。通过在大量数据集上进行训练,Timer 展现出少样本泛化以及多任务适配能力,具备可观的时序分析能力和对真实场景的数据生成能力,拥有以下特点:
104 |
105 | - 泛化性:基于少样本微调取得领域前沿深度模型预测效果
106 | - 通用性:适配多种任务,支持可变输入输出长度
107 | - 可扩展性:模型随着参数量或预训练规模扩大取得效果提升
108 |
109 |
110 |
111 |
112 |
113 |
114 |

115 |
116 |
117 |
118 |
119 |
120 |
大规模高质量时序数据集
121 | 为了追求业内卓越的分析能力,我们构建了大规模的预训练数据集,该数据集兼有庞大的体量、卓越的质量和丰富的领域等重要特质,这为Timer提供了一个高水准数据知识库,从而使其在众多任务中具有较强的泛化能力。
122 |
123 |
124 |

125 |
126 |
127 |
128 |
129 |
130 |
大模型可扩展性
131 |

132 |
133 |
134 |
135 |
136 |
137 |
141 |
142 |
143 |
对大模型分析解决方案
144 | 基于我们模型的能力,我们可以构建一套完整的大模型解决方案。这些解决方案使您能够通过多种方法访问我们大型模型的高级分析服务,将包括在线API访问、基于平台的调用,乃至定制的私人部署等多种选项。
145 |
为在线调用而设计的前端API即将推出,敬请期待。
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
对时间序列的预测建模是Timer功能的核心。我们的服务能够提供对工业生产、自然环境等时序数据的预测。
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
消除数据丢失带来的麻烦。Timer拥有对缺失序列段的上下文填补能力,为时间序列数据集带来连续性和完整性。
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
我们提供基于自回归分析的异常检测能力,Timer将通过对于序列段的滚动分析对可能异常序列数据进行实时预警。
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
我们的服务在统一的生成方法下运行,为不同的应用程序和领域简化复杂的任务,提供通用时序分析的可能。
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
212 |
213 |
214 |
215 |
216 | - 全部
217 | - 时序预测
218 | - 数据填补
219 | - 异常检测
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |

228 |
229 |
时序预测 ECL数据集
230 |
20% 样本微调
231 |
232 |
233 |
234 |
235 |
236 |
237 |

238 |
239 |
时序预测 Traffic数据集
240 |
20% 样本微调
241 |
242 |
243 |
244 |
245 |
246 |
247 |

248 |
249 |
时序预测 PEMS03数据集
250 |
20% 样本微调
251 |
252 |
253 |
254 |
255 |
256 |
257 |

258 |
259 |
时序预测 ECL数据集
260 |
5% 样本微调
261 |
262 |
263 |
264 |
265 |
266 |
267 |

268 |
269 |
时序预测 Traffic数据集
270 |
5% 样本微调
271 |
272 |
273 |
274 |
275 |
276 |
277 |

278 |
279 |
时序预测 PEMS03数据集
280 |
5% 样本微调
281 |
282 |
283 |
284 |
285 |
286 |
287 |

288 |
289 |
数据填补 ETTh2数据集
290 |
20% 样本微调
291 |
292 |
293 |
294 |
295 |
296 |
297 |

298 |
299 |
数据填补 ECL数据集
300 |
20% 样本微调
301 |
302 |
303 |
304 |
305 |
306 |
307 |

308 |
309 |
数据填补 Traffic数据集
310 |
20% 样本微调
311 |
312 |
313 |
314 |
315 |
316 |
317 |

318 |
319 |
数据填补 ETTh2数据集
320 |
5% 样本微调
321 |
322 |
323 |
324 |
325 |
326 |
327 |

328 |
329 |
数据填补 ECL数据集
330 |
5% 样本微调
331 |
332 |
333 |
334 |
335 |
336 |
337 |

338 |
339 |
数据填补 Traffic数据集
340 |
5% 样本微调
341 |
342 |
343 |
344 |
345 |
346 |
347 |

348 |
349 |
异常检测 ECG4数据集
350 |
351 |
352 |
353 |
354 |
355 |
356 |

357 |
358 |
异常检测 insectEPG5数据集
359 |
360 |
361 |
362 |
363 |
364 |
365 |

366 |
367 |
异常检测 CHARISten数据集
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
--------------------------------------------------------------------------------