PageSourceSearch

https://cmief.ca/wp-content/themes/adnetframework/extensions/anima…/js/scrollObserver-class.js

js cmief.ca collected 2026-10-04 02:39:45 UTC 59,853 bytes, 2,416 lines download raw bytes

1window.addEventListener('load', function() {
2
3// global options
4
5let duration = 1500;
6let prevratio = 0.0;
7
8// observer options
9let observeroptions = {
10    
11    root: null,
12    rootmargin: "0px",
13    threshold: buildthresholdlist()
14};
15
16// threshold list
17function buildthresholdlist() {
18
19    let thresholds = [];
20    let numsteps = 20;
21  
22    for (let i = 1.0; i <= numsteps; i++) {
23
24        let ratio = i/numsteps;
25        thresholds.push(ratio);
26    }
27  
28    thresholds.push(0);
29    return thresholds;
30}
31
32/*
33
34utility classes 
35
36// delay
37.animate__delay-2s
38.animate__delay-3s
39.animate__delay-4s
40.animate__delay-5s
41
42// speed
43.animate__slow
44.animate__slower
45.animate__fast
46.animate__faster
47
48// repeats
49.animate__repeat-1
50.animate__repeat-2
51.animate__repeat-3
52.animate__infinite
53
54*/
55
56// animations
57
58// observers
59
60// attention seekers
61let observerbounce = new IntersectionObserver(bounce, observeroptions);
62let observerflash = new IntersectionObserver(flash, observeroptions);
63let observerpulse = new IntersectionObserver(pulse, observeroptions);
64let observerrubberband = new IntersectionObserver(rubberband, observeroptions);
65let observershakex = new IntersectionObserver(shakex, observeroptions);
66let observershakey = new IntersectionObserver(shakey, observeroptions);
67let observerheadshake = new IntersectionObserver(headshake, observeroptions);
68let observerswing = new IntersectionObserver(swing, observeroptions);
69let observertada = new IntersectionObserver(tada, observeroptions);
70let observerwobble = new IntersectionObserver(wobble, observeroptions);
71let observerjello = new IntersectionObserver(jello, observeroptions);
72let observerheartbeat = new IntersectionObserver(heartbeat, observeroptions);
73
74// back entrances
75let observerbackindown = new IntersectionObserver(backindown, observeroptions);
76let observerbackinleft = new IntersectionObserver(backinleft, observeroptions);
77let observerbackinright = new IntersectionObserver(backinright, observeroptions);
78let observerbackinup = new IntersectionObserver(backinup, observeroptions);
79
80// back exits
81let observerbackoutdown = new IntersectionObserver(backoutdown, observeroptions);
82let observerbackoutleft = new IntersectionObserver(backoutleft, observeroptions);
83let observerbackoutright = new IntersectionObserver(backoutright, observeroptions);
84let observerbackoutup = new IntersectionObserver(backoutup, observeroptions);
85
86// bouncing entrances
87let observerbouncein = new IntersectionObserver(bouncein, observeroptions);
88let observerbounceindown = new IntersectionObserver(bounceindown, observeroptions);
89let observerbounceinleft = new IntersectionObserver(bounceinleft, observeroptions);
90let observerbounceinright = new IntersectionObserver(bounceinright, observeroptions);
91let observerbounceinup = new IntersectionObserver(bounceinup, observeroptions);
92
93// bouncing exits
94let observerbounceout = new IntersectionObserver(bounceout, observeroptions);
95let observerbounceoutdown = new IntersectionObserver(bounceoutdown, observeroptions);
96let observerbounceoutleft = new IntersectionObserver(bounceoutleft, observeroptions);
97let observerbounceoutright = new IntersectionObserver(bounceoutright, observeroptions);
98let observerbounceoutup = new IntersectionObserver(bounceoutup, observeroptions);
99
100// fading entrances
101let observerfadein = new IntersectionObserver(fadein, observeroptions);
102let observerfadeindown = new IntersectionObserver(fadeindown, observeroptions);
103let observerfadeindownbig = new IntersectionObserver(fadeindownbig, observeroptions);
104let observerfadeinleft = new IntersectionObserver(fadeinleft, observeroptions);
105let observerfadeinleftbig = new IntersectionObserver(fadeinleftbig, observeroptions);
106let observerfadeinright = new IntersectionObserver(fadeinright, observeroptions);
107let observerfadeinrightbig = new IntersectionObserver(fadeinrightbig, observeroptions);
108let observerfadeinup = new IntersectionObserver(fadeinup, observeroptions);
109let observerfadeinupbig = new IntersectionObserver(fadeinupbig, observeroptions);
110let observerfadeintopleft = new IntersectionObserver(fadeintopleft, observeroptions);
111let observerfadeintopright = new IntersectionObserver(fadeintopright, observeroptions);
112let observerfadeinbottomleft = new IntersectionObserver(fadeinbottomleft, observeroptions);
113let observerfadeinbottomright = new IntersectionObserver(fadeinbottomright, observeroptions);
114
115// fading exits
116let observerfadeout = new IntersectionObserver(fadeout, observeroptions);
117let observerfadeoutdown = new IntersectionObserver(fadeoutdown, observeroptions);
118let observerfadeoutdownbig = new IntersectionObserver(fadeoutdownbig, observeroptions);
119let observerfadeoutleft = new IntersectionObserver(fadeoutleft, observeroptions);
120let observerfadeoutleftbig = new IntersectionObserver(fadeoutleftbig, observeroptions);
121let observerfadeoutright = new IntersectionObserver(fadeoutright, observeroptions);
122let observerfadeoutrightbig = new IntersectionObserver(fadeoutrightbig, observeroptions);
123let observerfadeoutup = new IntersectionObserver(fadeoutup, observeroptions);
124let observerfadeoutupbig = new IntersectionObserver(fadeoutupbig, observeroptions);
125let observerfadeouttopleft = new IntersectionObserver(fadeouttopleft, observeroptions);
126let observerfadeouttopright = new IntersectionObserver(fadeouttopright, observeroptions);
127let observerfadeoutbottomleft = new IntersectionObserver(fadeoutbottomleft, observeroptions);
128let observerfadeoutbottomright = new IntersectionObserver(fadeoutbottomright, observeroptions);
129
130// flippers
131let observerflip = new IntersectionObserver(flip, observeroptions);
132let observerflipinx = new IntersectionObserver(flipinx, observeroptions);
133let observerflipiny = new IntersectionObserver(flipiny, observeroptions);
134let observerflipoutx = new IntersectionObserver(flipoutx, observeroptions);
135let observerflipouty = new IntersectionObserver(flipouty, observeroptions);
136
137// lightspeed
138let observerlightspeedinleft = new IntersectionObserver(lightspeedinleft, observeroptions);
139let observerlightspeedinright = new IntersectionObserver(lightspeedinright, observeroptions);
140let observerlightspeedoutleft = new IntersectionObserver(lightspeedoutleft, observeroptions);
141let observerlightspeedoutright = new IntersectionObserver(lightspeedoutright, observeroptions);
142
143// rotating entrances
144let observerrotatein = new IntersectionObserver(rotatein, observeroptions);
145let observerrotateindownleft = new IntersectionObserver(rotateindownleft, observeroptions);
146let observerrotateindownright = new IntersectionObserver(rotateindownright, observeroptions);
147let observerrotateinupleft = new IntersectionObserver(rotateinupleft, observeroptions);
148let observerrotateinupright = new IntersectionObserver(rotateinupright, observeroptions);
149
150// rotating exits
151let observerrotateout = new IntersectionObserver(rotateout, observeroptions);
152let observerrotateoutdownleft = new IntersectionObserver(rotateoutdownleft, observeroptions);
153let observerrotateoutdownright = new IntersectionObserver(rotateoutdownright, observeroptions);
154let observerrotateoutupleft = new IntersectionObserver(rotateoutupleft, observeroptions);
155let observerrotateoutupright = new IntersectionObserver(rotateoutupright, observeroptions);
156
157// specials
158let observerhinge = new IntersectionObserver(hinge, observeroptions);
159let observerjackinthebox = new IntersectionObserver(jackinthebox, observeroptions);
160let observerrollin = new IntersectionObserver(rollin, observeroptions);
161let observerrollout = new IntersectionObserver(rollout, observeroptions);
162
163// zooming entrances
164let observerzoomin = new IntersectionObserver(zoomin, observeroptions);
165let observerzoomindown = new IntersectionObserver(zoomindown, observeroptions);
166let observerzoominleft = new IntersectionObserver(zoominleft, observeroptions);
167let observerzoominright = new IntersectionObserver(zoominright, observeroptions);
168let observerzoominup = new IntersectionObserver(zoominup, observeroptions);
169
170// zooming exits
171let observerzoomout = new IntersectionObserver(zoomout, observeroptions);
172let observerzoomoutdown = new IntersectionObserver(zoomoutdown, observeroptions);
173let observerzoomoutleft = new IntersectionObserver(zoomoutleft, observeroptions);
174let observerzoomoutright = new IntersectionObserver(zoomoutright, observeroptions);
175let observerzoomoutup = new IntersectionObserver(zoomoutup, observeroptions);
176
177// sliding entrances
178let observerslideindown = new IntersectionObserver(slideindown, observeroptions);
179let observerslideinleft = new IntersectionObserver(slideinleft, observeroptions);
180let observerslideinright = new IntersectionObserver(slideinright, observeroptions);
181let observerslideinup = new IntersectionObserver(slideinup, observeroptions);
182
183// sliding exits
184let observerslideoutdown = new IntersectionObserver(slideoutdown, observeroptions);
185let observerslideoutleft = new IntersectionObserver(slideoutleft, observeroptions);
186let observerslideoutright = new IntersectionObserver(slideoutright, observeroptions);
187let observerslideoutup = new IntersectionObserver(slideoutup, observeroptions);
188
189// targets
190
191// attention seekers
192document.querySelectorAll('.bounce').forEach(element => {
193
194    observerbounce.observe(element);
195});
196
197document.querySelectorAll('.flash').forEach(element => {
198
199    observerflash.observe(element);
200});
201
202document.querySelectorAll('.pulse').forEach(element => {
203
204    observerpulse.observe(element);
205});
206
207document.querySelectorAll('.rubberband').forEach(element => {
208
209    observerrubberband.observe(element);
210});
211
212document.querySelectorAll('.shakex').forEach(element => {
213
214    observershakex.observe(element);
215});
216
217document.querySelectorAll('.shakey').forEach(element => {
218
219    observershakey.observe(element);
220});
221
222document.querySelectorAll('.headshake').forEach(element => {
223
224    observerheadshake.observe(element);
225});
226
227document.querySelectorAll('.swing').forEach(element => {
228
229    observerswing.observe(element);
230});
231
232document.querySelectorAll('.tada').forEach(element => {
233
234    observertada.observe(element);
235});
236
237document.querySelectorAll('.wobble').forEach(element => {
238
239    observerwobble.observe(element);
240});
241
242document.querySelectorAll('.jello').forEach(element => {
243
244    observerjello.observe(element);
245});
246
247document.querySelectorAll('.heartbeat').forEach(element => {
248
249    observerheartbeat.observe(element);
250});
251
252// back entrances
253document.querySelectorAll('.backindown').forEach(element => {
254
255    observerbackindown.observe(element);
256});
257
258document.querySelectorAll('.backinleft').forEach(element => {
259
260    observerbackinleft.observe(element);
261});
262
263document.querySelectorAll('.backinright').forEach(element => {
264
265    observerbackinright.observe(element);
266});
267
268document.querySelectorAll('.backinup').forEach(element => {
269
270    observerbackinup.observe(element);
271});
272
273// back exits
274document.querySelectorAll('.backoutdown').forEach(element => {
275
276    observerbackoutdown.observe(element);
277});
278
279document.querySelectorAll('.backoutleft').forEach(element => {
280
281    observerbackoutleft.observe(element);
282});
283
284document.querySelectorAll('.backoutright').forEach(element => {
285
286    observerbackoutright.observe(element);
287});
288
289document.querySelectorAll('.backoutup').forEach(element => {
290
291    observerbackoutup.observe(element);
292});
293
294// bouncing entrances
295document.querySelectorAll('.bouncein').forEach(element => {
296
297    observerbouncein.observe(element);
298});
299
300document.querySelectorAll('.bounceindown').forEach(element => {
301
302    observerbounceindown.observe(element);
303});
304
305document.querySelectorAll('.bounceinleft').forEach(element => {
306
307    observerbounceinleft.observe(element);
308});
309
310document.querySelectorAll('.bounceinright').forEach(element => {
311
312    observerbounceinright.observe(element);
313});
314
315document.querySelectorAll('.bounceinup').forEach(element => {
316
317    observerbounceinup.observe(element);
318});
319
320// bouncing exits
321document.querySelectorAll('.bounceout').forEach(element => {
322
323    observerbounceout.observe(element);
324});
325
326document.querySelectorAll('.bounceoutdown').forEach(element => {
327
328    observerbounceoutdown.observe(element);
329});
330
331document.querySelectorAll('.bounceoutleft').forEach(element => {
332
333    observerbounceoutleft.observe(element);
334});
335
336document.querySelectorAll('.bounceoutright').forEach(element => {
337
338    observerbounceoutright.observe(element);
339});
340
341document.querySelectorAll('.bounceoutup').forEach(element => {
342
343    observerbounceoutup.observe(element);
344});
345
346// fading entrances
347document.querySelectorAll('.fadein').forEach(element => {
348
349    observerfadein.observe(element);
350});
351
352document.querySelectorAll('.fadeindown').forEach(element => {
353
354    observerfadeindown.observe(element);
355});
356
357document.querySelectorAll('.fadeindownbig').forEach(element => {
358
359    observerfadeindownbig.observe(element);
360});
361
362document.querySelectorAll('.fadeinleft').forEach(element => {
363
364    observerfadeinleft.observe(element);
365});
366
367document.querySelectorAll('.fadeinleftbig').forEach(element => {
368
369    observerfadeinleftbig.observe(element);
370});
371
372document.querySelectorAll('.fadeinright').forEach(element => {
373
374    observerfadeinright.observe(element);
375});
376
377document.querySelectorAll('.fadeinrightbig').forEach(element => {
378
379    observerfadeinrightbig.observe(element);
380});
381
382document.querySelectorAll('.fadeinup').forEach(element => {
383
384    observerfadeinup.observe(element);
385});
386
387document.querySelectorAll('.fadeinupbig').forEach(element => {
388
389    observerfadeinupbig.observe(element);
390});
391
392document.querySelectorAll('.fadeintopleft').forEach(element => {
393
394    observerfadeintopleft.observe(element);
395});
396
397document.querySelectorAll('.fadeintopright').forEach(element => {
398
399    observerfadeintopright.observe(element);
400});
401
402document.querySelectorAll('.fadeinbottomleft').forEach(element => {
403
404    observerfadeinbottomleft.observe(element);
405});
406
407document.querySelectorAll('.fadeinbottomright').forEach(element => {
408
409    observerfadeinbottomright.observe(element);
410});
411
412// fading exits
413document.querySelectorAll('.fadeout').forEach(element => {
414
415    observerfadeout.observe(element);
416});
417
418document.querySelectorAll('.fadeoutdown').forEach(element => {
419
420    observerfadeoutdown.observe(element);
421});
422
423document.querySelectorAll('.fadeoutdownbig').forEach(element => {
424
425    observerfadeoutdownbig.observe(element);
426});
427
428document.querySelectorAll('.fadeoutleft').forEach(element => {
429
430    observerfadeoutleft.observe(element);
431});
432
433document.querySelectorAll('.fadeoutleftbig').forEach(element => {
434
435    observerfadeoutleftbig.observe(element);
436});
437
438document.querySelectorAll('.fadeoutright').forEach(element => {
439
440    observerfadeoutright.observe(element);
441});
442
443document.querySelectorAll('.fadeoutrightbig').forEach(element => {
444
445    observerfadeoutrightbig.observe(element);
446});
447
448document.querySelectorAll('.fadeoutup').forEach(element => {
449
450    observerfadeoutup.observe(element);
451});
452
453document.querySelectorAll('.fadeoutupbig').forEach(element => {
454
455    observerfadeoutupbig.observe(element);
456});
457
458document.querySelectorAll('.fadeouttopleft').forEach(element => {
459
460    observerfadeouttopleft.observe(element);
461});
462
463document.querySelectorAll('.fadeouttopright').forEach(element => {
464
465    observerfadeouttopright.observe(element);
466});
467
468document.querySelectorAll('.fadeoutbottomleft').forEach(element => {
469
470    observerfadeoutbottomleft.observe(element);
471});
472
473document.querySelectorAll('.fadeoutbottomright').forEach(element => {
474
475    observerfadeoutbottomright.observe(element);
476});
477
478// flippers
479document.querySelectorAll('.flip').forEach(element => {
480
481    observerflip.observe(element);
482});
483
484document.querySelectorAll('.flipinx').forEach(element => {
485
486    observerflipinx.observe(element);
487});
488
489document.querySelectorAll('.flipiny').forEach(element => {
490
491    observerflipiny.observe(element);
492});
493
494document.querySelectorAll('.flipoutx').forEach(element => {
495
496    observerflipoutx.observe(element);
497});
498
499document.querySelectorAll('.flipouty').forEach(element => {
500
501    observerflipouty.observe(eleme
501nt);
502});
503
504// lightspeed
505document.querySelectorAll('.lightspeedinleft').forEach(element => {
506
507    observerlightspeedinleft.observe(element);
508});
509
510document.querySelectorAll('.lightspeedinright').forEach(element => {
511
512    observerlightspeedinright.observe(element);
513});
514
515document.querySelectorAll('.lightspeedoutleft').forEach(element => {
516
517    observerlightspeedoutleft.observe(element);
518});
519
520document.querySelectorAll('.lightspeedoutright').forEach(element => {
521
522    observerlightspeedoutright.observe(element);
523});
524
525// rotating entrances
526document.querySelectorAll('.rotatein').forEach(element => {
527
528    observerrotatein.observe(element);
529});
530
531document.querySelectorAll('.rotateindownleft').forEach(element => {
532
533    observerrotateindownleft.observe(element);
534});
535
536document.querySelectorAll('.rotateindownright').forEach(element => {
537
538    observerrotateindownright.observe(element);
539});
540
541document.querySelectorAll('.rotateinupleft').forEach(element => {
542
543    observerrotateinupleft.observe(element);
544});
545
546document.querySelectorAll('.rotateinupright').forEach(element => {
547
548    observerrotateinupright.observe(element);
549});
550
551// rotating exits
552document.querySelectorAll('.rotateout').forEach(element => {
553
554    observerrotateout.observe(element);
555});
556
557document.querySelectorAll('.rotateoutdownleft').forEach(element => {
558
559    observerrotateoutdownleft.observe(element);
560});
561
562document.querySelectorAll('.rotateoutdownright').forEach(element => {
563
564    observerrotateoutdownright.observe(element);
565});
566
567document.querySelectorAll('.rotateoutupleft').forEach(element => {
568
569    observerrotateoutupleft.observe(element);
570});
571
572document.querySelectorAll('.rotateoutupright').forEach(element => {
573
574    observerrotateoutupright.observe(element);
575});
576
577// specials
578document.querySelectorAll('.hinge').forEach(element => {
579
580    observerhinge.observe(element);
581});
582
583document.querySelectorAll('.jackinthebox').forEach(element => {
584
585    observerjackinthebox.observe(element);
586});
587
588document.querySelectorAll('.rollin').forEach(element => {
589
590    observerrollin.observe(element);
591});
592
593document.querySelectorAll('.rollout').forEach(element => {
594
595    observerrollout.observe(element);
596});
597
598// zooming entrances
599document.querySelectorAll('.zoomin').forEach(element => {
600
601    observerzoomin.observe(element);
602});
603
604document.querySelectorAll('.zoomindown').forEach(element => {
605
606    observerzoomindown.observe(element);
607});
608
609document.querySelectorAll('.zoominleft').forEach(element => {
610
611    observerzoominleft.observe(element);
612});
613
614document.querySelectorAll('.zoominright').forEach(element => {
615
616    observerzoominright.observe(element);
617});
618
619document.querySelectorAll('.zoominup').forEach(element => {
620
621    observerzoominup.observe(element);
622});
623
624// zooming exits
625document.querySelectorAll('.zoomout').forEach(element => {
626
627    observerzoomout.observe(element);
628});
629
630document.querySelectorAll('.zoomoutdown').forEach(element => {
631
632    observerzoomoutdown.observe(element);
633});
634
635document.querySelectorAll('.zoomoutleft').forEach(element => {
636
637    observerzoomoutleft.observe(element);
638});
639
640document.querySelectorAll('.zoomoutright').forEach(element => {
641
642    observerzoomoutright.observe(element);
643});
644
645document.querySelectorAll('.zoomoutup').forEach(element => {
646
647    observerzoomoutup.observe(element);
648});
649
650// sliding entrances
651document.querySelectorAll('.slideindown').forEach(element => {
652
653    observerslideindown.observe(element);
654});
655
656document.querySelectorAll('.slideinleft').forEach(element => {
657
658    observerslideinleft.observe(element);
659});
660
661document.querySelectorAll('.slideinright').forEach(element => {
662
663    observerslideinright.observe(element);
664});
665
666document.querySelectorAll('.slideinup').forEach(element => {
667
668    observerslideinup.observe(element);
669});
670
671// sliding exits
672document.querySelectorAll('.slideoutdown').forEach(element => {
673
674    observerslideoutdown.observe(element);
675});
676
677document.querySelectorAll('.slideoutleft').forEach(element => {
678
679    observerslideoutleft.observe(element);
680});
681
682document.querySelectorAll('.slideoutright').forEach(element => {
683
684    observerslideoutright.observe(element);
685});
686
687document.querySelectorAll('.slideoutup').forEach(element => {
688
689    observerslideoutup.observe(element);
690});
691
692// functions
693
694// attention seekers
695function bounce(entries) {
696
697    entries.map((entry) => {
698
699        entry.target.classList.add('animate__animated');
700
701        if (entry.isIntersecting) {
702
703            entry.target.classList.add('animate__bounce');
704            
705        } else if (!entry.isIntersecting) {
706
707            entry.target.classList.remove('animate__bounce');
708        }
709    });
710}
711
712function flash(entries) {
713
714    entries.map((entry) => {
715
716        entry.target.classList.add('animate__animated');
717
718        if (entry.isIntersecting) {
719
720            entry.target.classList.add('animate__flash');
721            
722        } else if (!entry.isIntersecting) {
723
724            entry.target.classList.remove('animate__flash');
725        }
726    });
727}
728
729function pulse(entries) {
730
731    entries.map((entry) => {
732
733        entry.target.classList.add('animate__animated');
734
735        if (entry.isIntersecting) {
736
737            entry.target.classList.add('animate__pulse');
738            
739        } else if (!entry.isIntersecting) {
740
741            entry.target.classList.remove('animate__pulse');
742        }
743    });
744}
745
746function rubberband(entries) {
747
748    entries.map((entry) => {
749
750        entry.target.classList.add('animate__animated');
751
752        if (entry.isIntersecting) {
753
754            entry.target.classList.add('animate__rubberband');
755            
756        } else if (!entry.isIntersecting) {
757
758            entry.target.classList.remove('animate__rubberband');
759        }
760    });
761}
762
763function shakex(entries) {
764
765    entries.map((entry) => {
766
767        entry.target.classList.add('animate__animated');
768
769        if (entry.isIntersecting) {
770
771            entry.target.classList.add('animate__shakex');
772            
773        } else if (!entry.isIntersecting) {
774
775            entry.target.classList.remove('animate__shakex');
776        }
777    });
778}
779
780function shakey(entries) {
781
782    entries.map((entry) => {
783
784        entry.target.classList.add('animate__animated');
785
786        if (entry.isIntersecting) {
787
788            entry.target.classList.add('animate__shakey');
789            
790        } else if (!entry.isIntersecting) {
791
792            entry.target.classList.remove('animate__shakey');
793        }
794    });
795}
796
797function headshake(entries) {
798
799    entries.map((entry) => {
800
801        entry.target.classList.add('animate__animated');
802
803        if (entry.isIntersecting) {
804
805            entry.target.classList.add('animate__headshake');
806            
807        } else if (!entry.isIntersecting) {
808
809            entry.target.classList.remove('animate__headshake');
810        }
811    });
812}
813
814function swing(entries) {
815
816    entries.map((entry) => {
817
818        entry.target.classList.add('animate__animated');
819
820        if (entry.isIntersecting) {
821
822            entry.target.classList.add('animate__swing');
823            
824        } else if (!entry.isIntersecting) {
825
826            entry.target.classList.remove('animate__swing');
827        }
828    });
829}
830
831function tada(entries) {
832
833    entries.map((entry) => {
834
835        entry.target.classList.add('animate__animated');
836
837        if (entry.isIntersecting) {
838
839            entry.target.classList.add('animate__tada');
840            
841        } else if (!entry.isIntersecting) {
842
843            entry.target.classList.remove('animate__tada');
844        }
845    });
846}
847
848function wobble(entries) {
849
850    entries.map((entry) => {
851
852        entry.target.classList.add('animate__animated');
853
854        if (entry.isIntersecting) {
855
856            entry.target.classList.add('animate__wobble');
857            
858        } else if (!entry.isIntersecting) {
859
860            entry.target.classList.remove('animate__wobble');
861        }
862    });
863}
864
865function jello(entries) {
866
867    entries.map((entry) => {
868
869        entry.target.classList.add('animate__animated');
870
871        if (entry.isIntersecting) {
872
873            entry.target.classList.add('animate__jello');
874            
875        } else if (!entry.isIntersecting) {
876
877            entry.target.classList.remove('animate__jello');
878        }
879    });
880}
881
882function heartbeat(entries) {
883
884    entries.map((entry) => {
885
886        entry.target.classList.add('animate__animated');
887
888        if (entry.isIntersecting) {
889
890            entry.target.classList.add('animate__heartbeat');
891            
892        } else if (!entry.isIntersecting) {
893
894            entry.target.classList.remove('animate__heartbeat');
895        }
896    });
897}
898
899// back entrances
900function backindown(entries) {
901
902    entries.map((entry) => {
903
904        entry.target.classList.add('animate__animated');
905        entry.target.style.visibility = "hidden";
906        
907        // prevratio = 0.0;
908
909        /* fade
910        if (entry.intersectionRatio > prevratio) {
911
912            entry.target.parentNode.style.opacity = entry.intersectionRatio;
913
914        } else {
915
916            entry.target.parentNode.style.opacity = entry.intersectionRatio;
917        }
918        */
919
920        if (entry.isIntersecting) {
921
922            entry.target.classList.add('animate__backindown');
923            entry.target.style.visibility = "visible";
924        }
925
926        // prevratio = entry.intersectionRatio;
927    });
928}
929
930function backinleft(entries) {
931
932    entries.map((entry) => {
933
934        entry.target.classList.add('animate__animated');
935        entry.target.style.visibility = "hidden";
936
937        if (entry.isIntersecting) {
938
939            entry.target.classList.add('animate__backinleft');
940            entry.target.style.visibility = "visible";
941        }
942    });
943}
944
945function backinright(entries) {
946
947    entries.map((entry) => {
948
949        entry.target.classList.add('animate__animated');
950        entry.target.style.visibility = "hidden";
951
952        if (entry.isIntersecting) {
953
954            entry.target.classList.add('animate__backinright');
955            entry.target.style.visibility = "visible";
956        }
957    });
958}
959
960function backinup(entries) {
961
962    entries.map((entry) => {
963
964        entry.target.classList.add('animate__animated');
965        entry.target.style.visibility = "hidden";
966
967        if (entry.isIntersecting) {
968
969            entry.target.classList.add('animate__backinup');
970            entry.target.style.visibility = "visible";      
971        }
972    });
973}
974
975
976// back exits
977function backoutdown(entries) {
978
979    entries.map((entry) => {
980
981        entry.target.classList.add('animate__animated');
982        // prevratio = 0.0;
983
984        /* fade
985        if (entry.intersectionRatio > prevratio) {
986
987            entry.target.parentNode.style.opacity = entry.intersectionRatio;
988
989        } else {
990
991            entry.target.parentNode.style.opacity = entry.intersectionRatio;
992        }
993        */
994
995        if (entry.isIntersecting) {
996
997            entry.target.classList.add('animate__backoutdown');
998
999            setTimeout(function() {
1000
1001                entry.target.style.visibility = "hidden";
1002            }, duration);
1003
1004        }
1005
1006        // prevratio = entry.intersectionRatio;
1007    });
1008}
1009
1010function backoutleft(entries) {
1011
1012    entries.map((entry) => {
1013
1014        entry.target.classList.add('animate__animated');
1015
1016        if (entry.isIntersecting) {
1017
1018            entry.target.classList.add('animate__backoutleft');
1019
1020            setTimeout(function() {
1021
1022                entry.target.style.visibility = "hidden";
1023            }, duration);   
1024        }
1025    });
1026}
1027
1028function backoutright(entries) {
1029
1030    entries.map((entry) => {
1031
1032        entry.target.classList.add('animate__animated');
1033        
1034        if (entry.isIntersecting) {
1035
1036            entry.target.classList.add('animate__backoutright');
1037
1038            setTimeout(function() {
1039
1040                entry.target.style.visibility = "hidden";
1041            }, duration);   
1042        }
1043    });
1044}
1045
1046function backoutup(entries) {
1047
1048    entries.map((entry) => {
1049
1050        entry.target.classList.add('animate__animated');
1051
1052        if (entry.isIntersecting) {
1053
1054            entry.target.classList.add('animate__backoutup');
1055
1056            setTimeout(function() {
1057
1058                entry.target.style.visibility = "hidden";
1059            }, duration);   
1060        }
1061    });
1062}
1063
1064// bouncing entrances
1065function bouncein(entries) {
1066
1067    entries.map((entry) => {
1068
1069        entry.target.classList.add('animate__animated');
1070        entry.target.style.visibility = "hidden";
1071
1072        if (entry.isIntersecting) {
1073
1074            entry.target.classList.add('animate__bouncein');
1075            entry.target.style.visibility = "visible";
1076        }
1077    });
1078}
1079
1080function bounceindown(entries) {
1081
1082    entries.map((entry) => {
1083
1084        entry.target.classList.add('animate__animated');
1085        entry.target.style.visibility = "hidden";
1086        // prevratio = 0.0;
1087        
1088        /* fade
1089        if (entry.intersectionRatio > prevratio) {
1090
1091            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1092
1093        } else {
1094
1095            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1096        }
1097        */
1098
1099        if (entry.isIntersecting) {
1100
1101            entry.target.classList.add('animate__bounceindown');
1102            entry.target.style.visibility = "visible";
1103        }
1104        
1105        // prevratio = entry.intersectionRatio;
1106    });
1107}
1108
1109function bounceinleft(entries) {
1110
1111    entries.map((entry) => {
1112
1113        entry.target.classList.add('animate__animated');
1114        entry.target.style.visibility = "hidden";
1115
1116        if (entry.isIntersecting) {
1117            
1118            entry.target.classList.add('animate__bounceinleft');
1119            entry.target.style.visibility = "visible";
1120        }
1121    });
1122}
1123
1124function bounceinright(entries) {
1125
1126    entries.map((entry) => {
1127
1128        entry.target.classList.add('animate__animated');
1129        entry.target.style.visibility = "hidden";
1130
1131        if (entry.isIntersecting) {
1132
1133            entry.target.classList.add('animate__bounceinright');
1134            entry.target.style.visibility = "visible";
1135        }
1136    });
1137}
1138
1139function bounceinup(entries) {
1140
1141    entries.map((entry) => {
1142
1143        entry.target.classList.add('animate__animated');
1144        entry.target.style.visibility = "hidden";
1145
1146        if (entry.isIntersecting) {
1147
1148            entry.target.classList.add('animate__bounceinup');
1149            entry.target.style.visibility = "visible";
1150        }
1151    });
1152}
1153
1154// bouncing exits
1155function bounceout(entries) {
1156
1157    entries.map((entry) => {
1158
1159        entry.target.classList.add('animate__animated');
1160
1161        if (entry.isIntersecting) {
1162
1163            entry.target.classList.add('animate__bounceout');
1164        }
1165    });
1166}
1167
1168function bounceoutdown(entries) {
1169
1170    entries.map((entry) => {
1171
1172        entry.target.classList.add('animate__animated');
1173        // prevratio = 0.0;
1174        
1175        /* fade
1176        if (entry.intersectionRatio > prevratio) {
1177
1178            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1179
1180        } else {
1181
1182            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1183        }
1184        */
1185
1186        if (entry.isIntersecting) {
1187
1188            entry.target.classList.add('animate__bounceoutdown');
1189
1190            setTimeout(function() {
1191
1192                entry.target.style.visibility = "hidden";
1193            }, duration);
1194            
1195        }
1196
1197        // prevratio = entry.intersectionRatio;
1198    });
1199}
1200
1201function bounceoutleft(entries) {
1202
1203    entries.map((entry) => {
1204
1205        entry.target.classList.add('animate__animated');
1206
1207        if (entry.isIntersecting) {
1208
1209            entry.target.classList.add('animate__bounceoutleft');
1210
1211            setTimeout(function() {
1212
1213                entry.target.style.visibility = "hidden";
1214            }, duration);
1215            
1216        }
1217    });
1218}
1219
1220function bounceoutright(entries) {
1221
1222    entries.map((entry) => {
1223
1224        entry.target.classList.add('animate__animated');
1225        
1226        if (entry.isIntersecting) {
1227
1228            entry.target.classList.add('animate__bounceoutright');
1229
1230            setTimeout(function() {
1231
1232                entry.target.style.visibility = "hidden";
1233            }, duration);
1234            
1235        }
1236    });
1237}
1238
1239function bounceoutup(entries) {
1240
1241    entries.map((entry) => {
1242
1243        entry.target.classList.add('animate__animated');
1244
1245        if (entry.isIntersecting) {
1246
1247            entry.target.classList.add('animate__bounceoutup');
1248
1249            setTimeout(function() {
1250
1251                entry.target.style.visibility = "hidden";
1252            }, duration);
1253            
1254        }
1255    });
1256}
1257
1258// fading entrances
1259function fadein(entries) {
1260
1261    entries.map((entry) => {
1262
1263        entry.target.classList.add('animate__animated');
1264        entry.target.style.visibility = "hidden";
1265
1266        if (entry.isIntersecting) {
1267
1268            entry.target.classList.add('animate__fadein');
1269            entry.target.style.visibility = "visible";           
1270        }
1271    });
1272}
1273
1274function fadeindown(entries) {
1275
1276    entries.map((entry) => {
1277
1278        entry.target.classList.add('animate__animated');
1279        entry.target.style.visibility = "hidden";
1280
1281        // prevratio = 0.0;
1282
1283        /* fade
1284        if (entry.intersectionRatio > prevratio) {
1285
1286            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1287
1288        } else {
1289
1290            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1291        }
1292        */
1293
1294        if (entry.isIntersecting) {
1295
1296            entry.target.classList.add('animate__fadeindown');
1297            entry.target.style.visibility = "visible";
1298        }
1299
1300        // prevratio = entry.intersectionRatio;
1301    });
1302}
1303
1304function fadeindownbig(entries) {
1305
1306    entries.map((entry) => {
1307
1308        entry.target.classList.add('animate__animated');
1309        entry.target.style.visibility = "hidden";
1310
1311        if (entry.isIntersecting) {
1312
1313            entry.target.style.visibility = "visible";
1314            
1315            entry.target.classList.add('animate__fadeindownbig');
1316        }
1317    });
1318}
1319
1320function fadeinleft(entries) {
1321
1322    entries.map((entry) => {
1323
1324        entry.target.classList.add('animate__animated');
1325        entry.target.style.visibility = "hidden";
1326
1327        if (entry.isIntersecting) {
1328
1329            entry.target.classList.add('animate__fadeinleft');
1330            entry.target.style.visibility = "visible";
1331        }
1332    });
1333}
1334
1335function fadeinleftbig(entries) {
1336
1337    entries.map((entry) => {
1338
1339        entry.target.classList.add('animate__animated');
1340        entry.target.style.visibility = "hidden";
1341
1342        if (entry.isIntersecting) {
1343
1344            entry.target.classList.add('animate__fadeinleftbig');
1345            entry.target.style.visibility = "visible";            
1346        }
1347    });
1348}
1349
1350function fadeinright(entries) {
1351
1352    entries.map((entry) => {
1353
1354        entry.target.classList.add('animate__animated');
1355        entry.target.style.visibility = "hidden";
1356
1357        if (entry.isIntersecting) {
1358
1359            entry.target.classList.add('animate__fadeinright');
1360            entry.target.style.visibility = "visible";
1361
1362        }
1363    });
1364}
1365
1366function fadeinrightbig(entries) {
1367
1368    entries.map((entry) => {
1369
1370        entry.target.classList.add('animate__animated');
1371        entry.target.style.visibility = "hidden";
1372
1373        if (entry.isIntersecting) {
1374
1375            entry.target.classList.add('animate__fadeinrightbig');
1376            entry.target.style.visibility = "visible";
1377        }
1378    });
1379}
1380
1381function fadeinup(entries) {
1382
1383    entries.map((entry) => {
1384
1385        entry.target.classList.add('animate__animated');
1386        entry.target.style.visibility = "hidden";
1387
1388        if (entry.isIntersecting) {
1389            
1390            entry.target.classList.add('animate__fadeinup');
1391            entry.target.style.visibility = "visible";
1392        }
1393    });
1394}
1395
1396function fadeinupbig(entries) {
1397
1398    entries.map((entry) => {
1399
1400        entry.target.classList.add('animate__animated');
1401        entry.target.style.visibility = "hidden";
1402
1403        if (entry.isIntersecting) {
1404
1405            entry.target.classList.add('animate__fadeinupbig');
1406            entry.target.style.visibility = "visible";
1407        }
1408    });
1409}
1410
1411function fadeintopleft(entries) {
1412
1413    entries.map((entry) => {
1414
1415        entry.target.classList.add('animate__animated');
1416        entry.target.style.visibility = "hidden";
1417
1418        if (entry.isIntersecting) {
1419
1420            entry.target.classList.add('animate__fadeintopleft');
1421            entry.target.style.visibility = "visible";
1422        }
1423    });
1424}
1425
1426function fadeintopright(entries) {
1427
1428    entries.map((entry) => {
1429
1430        entry.target.classList.add('animate__animated');
1431        entry.target.style.visibility = "hidden";
1432
1433        if (entry.isIntersecting) {
1434
1435            entry.target.classList.add('animate__fadeintopright');
1436            entry.target.style.visibility = "visible";
1437        }
1438    });
1439}
1440
1441function fadeinbottomleft(entries) {
1442
1443    entries.map((entry) => {
1444
1445        entry.target.classList.add('animate__animated');
1446        entry.target.style.visibility = "hidden";
1447
1448        if (entry.isIntersecting) {
1449
1450            entry.target.classList.add('animate__fadeinbottomleft');
1451            entry.target.style.visibility = "visible";
1452        }
1453    });
1454}
1455
1456function fadeinbottomright(entries) {
1457
1458    entries.map((entry) => {
1459
1460        entry.target.classList.add('animate__animated');
1461        entry.target.style.visibility = "hidden";
1462
1463        if (entry.isIntersecting) {
1464
1465            entry.target.classList.add('animate__fadeinbottomright');
1466            entry.target.style.visibility = "visible";
1467        }
1468    });
1469}
1470
1471// fading exits
1472function fadeout(entries) {
1473
1474    entries.map((entry) => {
1475
1476        entry.target.classList.add('animate__animated');
1477
1478        if (entry.isIntersecting) {
1479
1480            entry.target.classList.add('animate__fadeout');
1481        }
1482    });
1483}
1484
1485function fadeoutdown(entries) {
1486
1487    entries.map((entry) => {
1488
1489        entry.target.classList.add('animate__animated');
1490        // prevratio = 0.0;
1491        
1492
1493        /* fade
1494        if (entry.intersectionRatio > prevratio) {
1495
1496            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1497
1498        } else {
1499
1500            entry.target.parentNode.style.opacity = entry.intersectionRatio;
1501        }
1502        */
1503
1504        if (entry.isIntersecting) {
1505
1506            entry.target.classList.add('animate__fadeoutdown');
1507
1508            setTimeout(function() {
1509
1510                entry.target.style.visibility = "hidden";
1511            }, duration);
1512            
1513        }
1514        
1515        // prevratio = entry.intersectionRatio;
1516    });
1517}
1518
1519function fadeoutdownbig(entries) {
1520
1521    entries.map((entry) => {
1522
1523        entry.target.classList.add('animate__animated');
1524        
1525        if (entry.isIntersecting) {
1526
1527            entry.target.classList.add('animate__fadeoutdownbig');
1528
1529            setTimeout(function() {
1530
1531                entry.target.style.visibility = "hidden";
1532            }, duration);
1533            
1534        }
1535    });
1536}
1537
1538function fadeoutleft(entries) {
1539
1540    entries.map((entry) => {
1541
1542        entry.target.classList.add('animate__animated');
1543        
1544
1545        if (entry.isIntersecting) {
1546
1547            entry.target.classList.add('animate__fadeoutleft');
1548
1549            setTimeout(function() {
1550
1551                entry.target.style.visibility = "hidden";
1552            }, duration);
1553        }
1554    });
1555}
1556
1557function fadeoutleftbig(entries) {
1558
1559    entries.map((entry) => {
1560
1561        entry.target.classList.add('animate__animated');
1562        
1563        if (entry.isIntersecting) {
1564
1565            entry.target.classList.add('animate__fadeoutleftbig');
1566
1567            setTimeout(function() {
1568
1569                entry.target.style.visibility = "hidden";
1570            }, duration);
1571        }
1572    });
1573}
1574
1575function fadeoutright(entries) {
1576
1577    entries.map((entry) => {
1578
1579        entry.target.classList.add('animate__animated');
1580
1581        if (entry.isIntersecting) {
1582
1583            entry.target.classList.add('animate__fadeoutright');
1584
1585            setTimeout(function() {
1586
1587                entry.target.style.visibility = "hidden";
1588            }, duration);
1589        }
1590    });
1591}
1592
1593function fadeoutrightbig(entries) {
1594
1595    entries.map((entry) => {
1596
1597        entry.target.classList.add('animate__animated');
1598
1599        if (entry.isIntersecting) {
1600
1601            entry.target.classList.add('animate__fadeoutrightbig');
1602
1603            setTimeout(function() {
1604
1605                entry.target.style.visibility = "hidden";
1606            }, duration);
1607        }
1608    });
1609}
1610
1611function fadeoutup(entries) {
1612
1613    entries.map((entry) => {
1614
1615        entry.target.classList.add('animate__animated');
1616
1617        if (entry.isIntersecting) {
1618
1619            entry.target.classList.add('animate__fadeoutup');
1620
1621            setTimeout(function() {
1622
1623                entry.target.style.visibility = "hidden";
1624            }, duration);
1625        }
1626    });
1627}
1628
1629function fadeoutupbig(entries) {
1630
1631    entries.map((entry) => {
1632
1633        entry.target.classList.add('animate__animated');
1634        
1635        if (entry.isIntersecting) {
1636
1637            entry.target.classList.add('animate__fadeoutupbig');
1638
1639            setTimeout(function() {
1640
1641                entry.target.style.visibility = "hidden";
1642            }, duration);
1643        }
1644    });
1645}
1646
1647function fadeouttopleft(entries) {
1648
1649    entries.map((entry) => {
1650
1651        entry.target.classList.add('animate__animated');
1652
1653        if (entry.isIntersecting) {
1654
1655            entry.target.classList.add('animate__fadeouttopleft');
1656
1657            setTimeout(function() {
1658
1659                entry.target.style.visibility = "hidden";
1660            }, duration);
1661        }
1662    });
1663}
1664
1665function fadeouttopright(entries) {
1666
1667    entries.map((entry) => {
1668
1669        entry.target.classList.add('animate__animated');
1670        
1671        if (entry.isIntersecting) {
1672
1673            entry.target.classList.add('animate__fadeouttopright');
1674
1675            setTimeout(function() {
1676
1677                entry.target.style.visibility = "hidden";
1678            }, duration);
1679        }
1680    });
1681}
1682
1683function fadeoutbottomleft(entries) {
1684
1685    entries.map((entry) => {
1686
1687        entry.target.classList.add('animate__animated');
1688        
1689        if (entry.isIntersecting) {
1690
1691            entry.target.classList.add('animate__fadeoutbottomleft');
1692
1693            setTimeout(function() {
1694
1695                entry.target.style.visibility = "hidden";
1696            }, duration);
1697        }
1698    });
1699}
1700
1701function fadeoutbottomright(entries) {
1702
1703    entries.map((entry) => {
1704
1705        entry.target.classList.add('animate__animated');
1706        
1707        if (entry.isIntersecting) {
1708
1709            entry.target.classList.add('animate__fadeoutbottomright');
1710
1711            setTimeout(function() {
1712
1713                entry.target.style.visibility = "hidden";
1714            }, duration);
1715        }
1716    });
1717}
1718
1719// flippers
1720function flip(entries) {
1721
1722    entries.map((entry) => {
1723
1724        entry.target.classList.add('animate__animated');
1725
1726        if (entry.isIntersecting) {
1727
1728            entry.target.classList.add('animate__flip');
1729            
1730        }
1731    });
1732}
1733
1734function flipinx(entries) {
1735
1736    entries.map((entry) => {
1737        
1738        entry.target.classList.add('animate__animated');
1739        entry.target.style.visibility = "hidden";
1740
1741        if (entry.isIntersecting) {
1742
1743            entry.target.classList.add('animate__flipinx');
1744            entry.target.style.visibility = "visible";   
1745        }
1746    });
1747}
1748
1749function flipiny(entries) {
1750
1751    entries.map((entry) => {
1752        
1753        entry.target.classList.add('animate__animated');
1754        entry.target.style.visibility = "hidden";
1755
1756        if (entry.isIntersecting) {
1757
1758            entry.target.classList.add('animate__flipiny');
1759            entry.target.style.visibility = "visible";
1760        }
1761    });
1762}
1763
1764function flipoutx(entries) {
1765
1766    entries.map((entry) => {
1767
1768        entry.target.classList.add('animate__animated');
1769
1770        if (entry.isIntersecting) {
1771
1772            entry.target.classList.add('animate__flipoutx');
1773
1774            setTimeout(function() {
1775
1776                entry.target.style.visibility = "hidden";
1777            }, duration);
1778        }
1779    });
1780}
1781
1782function flipouty(entries) {
1783
1784    entries.map((entry) => {
1785
1786        entry.target.classList.add('animate__animated');
1787
1788        if (entry.isIntersecting) {
1789
1790            entry.target.classList.add('animate__flipouty');
1791
1792            setTimeout(function() {
1793
1794                entry.target.style.visibility = "hidden";
1795            }, duration);   
1796        }
1797    });
1798}
1799
1800// lightspeed
1801function lightspeedinleft(entries) {
1802
1803    entries.map((entry) => {
1804
1805        entry.target.classList.add('animate__animated');
1806        entry.target.style.visibility = "hidden";
1807
1808        if (entry.isIntersecting) {
1809
1810            entry.target.classList.add('animate__lightspeedinleft');
1811            entry.target.style.visibility = "visible";
1812        }
1813    });
1814}
1815
1816function lightspeedinright(entries) {
1817
1818    entries.map((entry) => {
1819
1820        entry.target.classList.add('animate__animated');
1821        entry.target.style.visibility = "hidden";
1822
1823        if (entry.isIntersecting) {
1824
1825            entry.target.classList.add('animate__lightspeedinright');
1826            entry.target.style.visibility = "visible";
1827
1828        }
1829    });
1830}
1831
1832function lightspeedoutleft(entries) {
1833
1834    entries.map((entry) => {
1835
1836        entry.target.classList.add('animate__animated');  
1837
1838        if (entry.isIntersecting) {
1839
1840            entry.target.classList.add('animate__lightspeedoutleft');
1841
1842            setTimeout(function() {
1843
1844                entry.target.style.visibility = "hidden";
1845            }, duration);
1846        }
1847    });
1848}
1849
1850function lightspeedoutright(entries) {
1851
1852    entries.map((entry) => {
1853
1854        entry.target.classList.add('animate__animated');
1855        
1856        if (entry.isIntersecting) {
1857
1858            entry.target.classList.add('animate__lightspeedoutright');
1859
1860            setTimeout(function() {
1861
1862                entry.target.style.visibility = "hidden";
1863            }, duration);
1864        }
1865    });
1866}
1867
1868// rotating entrances
1869function rotatein(entries) {
1870
1871    entries.map((entry) => {
1872
1873        entry.target.classList.add('animate__animated');
1874        entry.target.style.visibility = "hidden";
1875
1876        if (entry.isIntersecting) {
1877            
1878            entry.target.classList.add('animate__rotatein');
1879            entry.target.style.visibility = "visible";        
1880        }
1881    });
1882}
1883
1884function rotateindownleft(entries) {
1885
1886    entries.map((entry) => {
1887
1888        entry.target.classList.add('animate__animated');
1889        entry.target.style.visibility = "hidden";
1890
1891        if (entry.isIntersecting) {
1892
1893            entry.target.classList.add('animate__rotateindownleft');
1894            entry.target.style.visibility = "visible";            
1895        }
1896    });
1897}
1898
1899function rotateindownright(entries) {
1900
1901    entries.map((entry) => {
1902
1903        entry.target.classList.add('animate__animated');
1904        entry.target.style.visibility = "hidden";
1905
1906        if (entry.isIntersecting) {
1907
1908            entry.target.classList.add('animate__rotateindownright');
1909            entry.target.style.visibility = "visible";           
1910        }
1911    });
1912}
1913
1914function rotateinupleft(entries) {
1915
1916    entries.map((entry) => {
1917
1918        entry.target.classList.add('animate__animated');
1919        entry.target.style.visibility = "hidden";
1920
1921        if (entry.isIntersecting) {
1922
1923            entry.target.classList.add('animate__rotateinupleft');
1924            entry.target.style.visibility = "visible";         
1925        }
1926    });
1927}
1928
1929function rotateinupright(entries) {
1930
1931    entries.map((entry) => {
1932
1933        entry.target.classList.add('animate__animated');
1934        entry.target.style.visibility = "hidden";
1935
1936        if (entry.isIntersecting) {
1937
1938            entry.target.classList.add('animate__rotateinupright');
1939            entry.target.style.visibility = "visible";         
1940        }
1941    });
1942}
1943
1944// rotating exits
1945function rotateout(entries) {
1946
1947    entries.map((entry) => {
1948
1949        entry.target.classList.add('animate__animated');
1950
1951        if (entry.isIntersecting) {
1952
1953            entry.target.classList.add('animate__rotateout');
1954            
1955            setTimeout(function() {
1956
1957                entry.target.style.visibility = "hidden";
1958            }, duration);
1959        }
1960    });
1961}
1962
1963function rotateoutdownleft(entries) {
1964
1965    entries.map((entry) => {
1966
1967        entry.target.classList.add('animate__animated');
1968
1969        if (entry.isIntersecting) {
1970
1971            entry.target.classList.add('animate__rotateoutdownleft');
1972
1973            setTimeout(function() {
1974
1975                entry.target.style.visibility = "hidden";
1976            }, duration);
1977        }
1978    });
1979}
1980
1981function rotateoutdownright(entries) {
1982
1983    entries.map((entry) => {
1984
1985        entry.target.classList.add('animate__animated');
1986
1987        if (entry.isIntersecting) {
1988
1989            entry.target.classList.add('animate__rotateoutdownright');
1990            
1991            setTimeout(function() {
1992
1993                entry.target.style.visibility = "hidden";
1994            }, duration);  
1995        }
1996    });
1997}
1998
1999function rotateoutupleft(entries) {
2000
2001    entries.map((entry) => {
2002
2003        entry.target.classList.add('animate__animated');
2004
2005        if (entry.isIntersecting) {
2006
2007            entry.target.classList.add('animate__rotateoutupleft');  
2008            
2009            setTimeout(function() {
2010
2011                entry.target.style.visibility = "hidden";
2012            }, duration);
2013        }
2014    });
2015}
2016
2017function rotateoutupright(entries) {
2018
2019    entries.map((entry) => {
2020
2021        entry.target.classList.add('animate__animated');
2022
2023        if (entry.isIntersecting) {
2024
2025            entry.target.classList.add('animate__rotateoutupright');  
2026            
2027            setTimeout(function() {
2028
2029                entry.target.style.visibility = "hidden";
2030            }, duration);          
2031        }
2032    });
2033}
2034
2035// specials
2036function hinge(entries) {
2037
2038    entries.map((entry) => {
2039
2040        entry.target.classList.add('animate__animated');
2041
2042        if (entry.isIntersecting) {
2043
2044            entry.target.classList.add('animate__hinge');
2045
2046            setTimeout(function() {
2047
2048                    entry.target.style.visibility = "hidden";
2049            }, 5000);
2050        }
2051    });
2052}
2053
2054function jackinthebox(entries) {
2055
2056    entries.map((entry) => {
2057
2058        entry.target.classList.add('animate__animated');
2059
2060        if (entry.isIntersecting) {
2061
2062            entry.target.classList.add('animate__jackinthebox');
2063            
2064        } else if (!entry.isIntersecting) {
2065
2066            entry.target.classList.remove('animate__jackinthebox');
2067        }
2068    });
2069}
2070
2071function rollin(entries) {
2072
2073    entries.map((entry) => {
2074
2075        entry.target.classList.add('animate__animated');
2076        entry.target.style.visibility = "hidden";
2077
2078        if (entry.isIntersecting) {
2079
2080            entry.target.classList.add('animate__rollin');
2081            entry.target.style.visibility = "visible";
2082        }
2083    });
2084}
2085
2086function rollout(entries) {
2087
2088    entries.map((entry) => {
2089
2090        entry.target.classList.add('animate__animated');
2091
2092        if (entry.isIntersecting) {
2093
2094            entry.target.classList.add('animate__rollout');
2095            
2096            setTimeout(function() {
2097
2098                entry.target.style.visibility = "hidden";
2099            }, duration);            
2100          } 
2101    });
2102}
2103
2104// zooming entrances
2105function zoomin(entries) {
2106
2107    entries.map((entry) => {
2108
2109        entry.target.classList.add('animate__animated');
2110        entry.target.style.visibility = "hidden";
2111
2112        if (entry.isIntersecting) {
2113
2114            entry.target.classList.add('animate__zoomin');
2115            entry.target.style.visibility = "visible";
2116        }
2117    });
2118}
2119
2120function zoomindown(entries) {
2121
2122    entries.map((entry) => {
2123
2124        entry.target.classList.add('animate__animated');
2125        entry.target.style.visibility = "hidden";
2126
2127        if (entry.isIntersecting) {
2128
2129            entry.target.classList.add('animate__zoomindown');
2130            entry.target.style.visibility = "visible";
2131        }
2132    });
2133}
2134
2135function zoominleft(entries) {
2136
2137    entries.map((entry) => {
2138
2139        entry.target.classList.add('animate__animated');
2140        entry.target.style.visibility = "hidden";
2141
2142        if (entry.isIntersecting) {
2143
2144            entry.target.classList.add('animate__zoominleft');
2145            entry.target.style.visibility = "visible";
2146        }
2147    });
2148}
2149
2150function zoominright(entries) {
2151
2152    entries.map((entry) => {
2153
2154        entry.target.classList.add('animate__animated');
2155        entry.target.style.visibility = "hidden";
2156
2157        if (entry.isIntersecting) {
2158            
2159            entry.target.classList.add('animate__zoominright');
2160            entry.target.style.visibility = "visible";
2161        }
2162    });
2163}
2164
2165function zoominup(entries) {
2166
2167    entries.map((entry) => {
2168
2169        entry.target.classList.add('animate__animated');
2170        entry.target.style.visibility = "hidden";
2171
2172        if (entry.isIntersecting) {
2173
2174            entry.target.classList.add('animate__zoominup');
2175            entry.target.style.visibility = "visible";
2176        }
2177    });
2178}
2179
2180// zooming exits
2181function zoomout(entries) {
2182
2183    entries.map((entry) => {
2184
2185        entry.target.classList.add('animate__animated');
2186        
2187
2188        if (entry.isIntersecting) {
2189
2190            entry.target.classList.add('animate__zoomout');
2191
2192            setTimeout(function() {
2193
2194                entry.target.style.visibility = "hidden";
2195            }, duration);
2196        }
2197    });
2198}
2199
2200function zoomoutdown(entries) {
2201
2202    entries.map((entry) => {
2203
2204        entry.target.classList.add('animate__animated');
2205        
2206
2207        if (entry.isIntersecting) {
2208
2209            entry.target.classList.add('animate__zoomoutdown');
2210
2211            setTimeout(function() {
2212
2213                entry.target.style.visibility = "hidden";
2214            }, duration);
2215        }
2216    });
2217}
2218
2219function zoomoutleft(entries) {
2220
2221    entries.map((entry) => {
2222
2223        entry.target.classList.add('animate__animated');
2224        
2225
2226        if (entry.isIntersecting) {
2227
2228            entry.target.classList.add('animate__zoomoutleft');
2229
2230            setTimeout(function() {
2231
2232                entry.target.style.visibility = "hidden";
2233            }, duration);
2234        }
2235    });
2236}
2237
2238function zoomoutright(entries) {
2239
2240    entries.map((entry) => {
2241
2242        entry.target.classList.add('animate__animated');
2243        
2244
2245        if (entry.isIntersecting) {
2246
2247            entry.target.classList.add('animate__zoomoutright');
2248
2249            setTimeout(function() {
2250
2251                entry.target.style.visibility = "hidden";
2252            }, duration);
2253        }
2254    });
2255}
2256
2257function zoomoutup(entries) {
2258
2259    entries.map((entry) => {
2260
2261        entry.target.classList.add('animate__animated');
2262        
2263
2264        if (entry.isIntersecting) {
2265
2266            entry.target.classList.add('animate__zoomoutup');
2267            
2268            setTimeout(function() {
2269
2270                entry.target.style.visibility = "hidden";
2271            }, duration);
2272        }
2273    });
2274}
2275
2276// sliding entrances
2277function slideindown(entries) {
2278
2279    entries.map((entry) => {
2280
2281        entry.target.classList.add('animate__animated');
2282        entry.target.style.visibility = "hidden";
2283
2284        if (entry.isIntersecting) {
2285
2286            entry.target.classList.add('animate__slideindown');
2287            entry.target.style.visibility = "visible";
2288        }
2289    });
2290}
2291
2292function slideinleft(entries) {
2293
2294    entries.map((entry) => {
2295
2296        entry.target.classList.add('animate__animated');  
2297        entry.target.style.visibility = "hidden";
2298
2299        if (entry.isIntersecting) {
2300
2301            entry.target.classList.add('animate__slideinleft');
2302            entry.target.style.visibility = "visible";
2303        }
2304    });
2305}
2306
2307function slideinright(entries) {
2308
2309    entries.map((entry) => {
2310
2311        entry.target.classList.add('animate__animated');
2312        entry.target.style.visibility = "hidden";
2313
2314        if (entry.isIntersecting) {
2315
2316            entry.target.classList.add('animate__slideinright');
2317            entry.target.style.visibility = "visible";
2318        }
2319    });
2320}
2321
2322function slideinup(entries) {
2323
2324    entries.map((entry) => {
2325
2326        entry.target.classList.add('animate__animated');
2327        entry.target.style.visibility = "hidden";
2328
2329        if (entry.isIntersecting) {
2330
2331            entry.target.classList.add('animate__slideinup');
2332            entry.target.style.visibility = "visible";
2333        }
2334    });
2335}
2336
2337// sliding exits
2338function slideoutdown(entries) {
2339
2340    entries.map((entry) => {
2341
2342        entry.target.classList.add('animate__animated');
2343
2344        if (entry.isIntersecting) {
2345
2346            entry.target.classList.add('animate__slideoutdown');
2347
2348            setTimeout(function() {
2349
2350                entry.target.style.visibility = "hidden";
2351            }, duration);
2352        }
2353    });
2354}
2355
2356function slideoutleft(entries) {
2357
2358    entries.map((entry) => {
2359
2360        entry.target.classList.add('animate__animated');
2361        
2362        if (entry.isIntersecting) {
2363
2364            entry.target.classList.add('animate__slideoutleft');
2365
2366            setTimeout(function() {
2367
2368                entry.target.style.visibility = "hidden";
2369            }, duration);
2370        }
2371    });
2372}
2373
2374function slideoutright(entries) {
2375
2376    entries.map((entry) => {
2377
2378        entry.target.classList.add('animate__animated');
2379
2380        if (entry.isIntersecting) {
2381
2382            entry.target.classList.add('animate__slideoutright');
2383
2384            setTimeout(function() {
2385
2386                entry.target.style.visibility = "hidden";
2387            }, duration);
2388        }
2389    });
2390}
2391
2392function slideoutup(entries) {
2393
2394    entries.map((entry) => {
2395
2396        entry.target.classList.add('animate__animated');
2397
2398        if (entry.isIntersecting) {
2399
2400            entry.target.classList.add('animate__slideoutup');
2401
2402            setTimeout(function() {
2403
2404                entry.target.style.visibility = "hidden";
2405            }, duration);
2406        }
2407    });
2408}
2409
2410// unobservers
2411// observer.disconnect();
2412
2413// stop observing #button-01
2414// observer.unobserve(document.queryselector("#button-01"));
2415
2416});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.