PageSourceSearch

https://technofog.com/wp-content/themes/gilroy/assets/js/gilroy-core.js?ver=1.0.3

js technofog.com collected 2026-09-27 06:03:38 UTC 25,772 bytes, 1,238 lines download raw bytes

1/*
2	Author: themexriver
3	Version: 1.0
4*/
5
6
7(function ($) {
8	"use strict";
9
10	// smoooth scroll activation start
11	const lenis = new Lenis()
12	function raf(time) {
13	  lenis.raf(time)
14	  requestAnimationFrame(raf)
15	}
16	requestAnimationFrame(raf)
17
18
19	// preloader
20	document.addEventListener("DOMContentLoaded", function () {
21
22		let preloader = document.querySelector("#preloader");
23
24		window.addEventListener('load', function(){
25
26			if (preloader) {
27				preloader.classList.add("preloaded");
28				setTimeout(function () {
29					  preloader.remove();
30
31
32
33				  }, 1000 ) ;
34			}
35
36			// class-add
37			const txaaddclass = gsap.utils.toArray('.add-class');
38			txaaddclass.forEach(img => {
39				gsap.to(img, {
40					scrollTrigger: {
41						trigger: img,
42						scrub: 1,
43						start: "top 70%",
44						toggleClass: "active",
45						toggleActions: "play reverse play reverse",
46					}
47				});
48			});
49
50			// home-1-hero-1-animation
51			const h1tl = gsap.timeline();
52
53			h1tl.from(".h1-fade-up" , { scale: 1.3 ,  y: 100, opacity: 0, stagger: .5, duration:2 });
54			h1tl.fromTo(".gly-hero-1-title .gly-gd-color-1" , { clipPath: "polygon(0 0, 0 0, 0 100%, 0% 100%)"},
55						{        clipPath: "polygon(0 0, 100% 0, 100% 100%, 0% 100%)" }, "<1.5"
56			);
57
58			// home-2-hero-2-animation
59			const h2tl = gsap.timeline();
60
61			h2tl.from(".gly-hero-2-il-3" , { y: 200, duration: 1 });
62			h2tl.from(".gly-hero-2-title" , { scale: 1.3 ,  y: 100, opacity: 0, stagger: .5, duration:1 });
63			h2tl.fromTo(".gly-hero-2-title .gly-gd-color-1" , { clipPath: "polygon(0 0, 0 0, 0 100%, 0% 100%)"},
64						{        clipPath: "polygon(0 0, 100% 0, 100% 100%, 0% 100%)" });
65			h2tl.from(".gly-hero-2-il-2" , {  y: 200,  opacity: 0 });
66			h2tl.from(".gly-hero-2-il-1" , {  y: -200, opacity: 0 });
67			h2tl.from(".gly-project-2-area" , {  y: 200, opacity: 0 });
68
69
70			// home-1-hero-1-animation
71			const h3tl = gsap.timeline();
72
73			h3tl.from(".gly-hero-3-demo-row" , { opacity: 1, duration:2 });
74			h3tl.from(".h3-fadebttm" , { y: "-=100", opacity: 0, stagger: .2, duration:1 });
75
76		})
77
78	});
79
80
81	function glystickyHeader() {
82		var $window = $(window);
83		var lastScrollTop = 0;
84		var $header = $('[data-txStickyHeader]');
85		var headerHeight = $header.outerHeight() + 30;
86
87		$window.scroll(function () {
88		  var windowTop = $window.scrollTop();
89
90		  if (windowTop >= headerHeight) {
91			$header.addClass('gly_sticky');
92		  } else {
93			$header.removeClass('gly_sticky');
94			$header.removeClass('gly_sticky_show');
95		  }
96
97		  if ($header.hasClass('gly_sticky')) {
98			if (windowTop < lastScrollTop) {
99			  $header.addClass('gly_sticky_show');
100			} else {
101			  $header.removeClass('gly_sticky_show');
102			}
103		  }
104
105		  lastScrollTop = windowTop;
106		});
107	}
108
109	glystickyHeader();
110
111
112
113	// mobile-menu-start
114	if($('.mobile-main-navigation li.dropdown ul').length){
115		$('.mobile-main-navigation li.dropdown').append('<div class="dropdown-btn"><i class="fa-solid fa-angle-right"></i></div>');
116		$('.mobile-main-navigation li.dropdown .dropdown-btn').on('click', function() {
117			$(this).prev('ul').slideToggle(500);
118		});
119	}
120
121	$(".dropdown-btn").on("click", function () {
122		$(this).toggleClass("toggle-open");
123	});
124
125
126	// search-popup-start
127	$('.search_btn_toggle').on('click', function() {
128		$('.overlay, .search_1_popup_active').addClass('active');
129	});
130	$('.overlay, .search_1_popup_close').on('click', function() {
131		$('.search_1_popup_active').removeClass('active');
132		$('.overlay').removeClass('active');
133	})
134
135
136
137	// gsap-start
138	gsap.registerPlugin(ScrollTrigger);
139
140
141	// mobile-menu-toggle-start
142	var menuToggle = document.getElementById("menuToggle")
143	var menuToggle2 = document.getElementById("menuToggle2")
144
145	if (menuToggle2) {
146
147		var menuBar = gsap.timeline();
148		menuBar.reverse();
149		var menubgline = gsap.timeline({ paused: true });
150
151		menubgline.to('.mobile-menu' , {
152			duration: 0,
153			display: "block",
154			ease: 'Expo.easeInOut'
155		});
156		menubgline.to('.mobile-menu-bg span' , {
157			duration: .5,
158			height: "100%",
159			stagger: 0.1,
160			ease: 'Expo.easeInOut'
161		});
162		menubgline.from('.mobile-menu-logo' , {
163			x: -50,
164			opacity: 0,
165			ease: 'Expo.easeInOut'
166		});
167		menubgline.to('.mobile-menu-close' , {
168			duration: 0,
169			x: 0,
170			rotate: 0,
171			opacity: 1,
172			ease: 'Expo.easeInOut'
173		}, "<");
174		menubgline.fromTo('.mobile-main-navigation  ul li' , {
175			opacity: 0,
176			y: 50,
177			ease: 'Expo.easeInOut',
178			stagger: 0.2,
179		} , {
180			opacity: 1,
181			y: 0,
182		}, "<");
183		menubgline.from('.mobile-menu-search-bar' , {
184			opacity: 0,
185			y: 50,
186			ease: 'Expo.easeInOut'
187		}, "<");
188
189		menubgline.from('.mobile-menu-socail-link' , {
190			opacity: 0,
191			x: 50,
192			ease: 'Expo.easeInOut'
193		}, "<");
194
195
196		menubgline.reverse();
197
198		menuToggle.addEventListener('click', function(){
199			menubgline.reversed(!menubgline.reversed());
200		});
201		menuToggle2.addEventListener('click', function(){
202			menubgline.reversed(!menubgline.reversed());
203		});
204
205	}
206
207	// fadeinup-animation-start
208	gsap.utils.toArray('.title-ani ').forEach((el, index) => {
209		let tl1 = gsap.timeline({
210		  scrollTrigger: {
211			trigger: el,
212			scrub: 1,
213			start: "top 90%",
214			end: "buttom 50%",
215			toggleActions: "play none none reverse",
216			 markers: false
217		  }
218		})
219
220		tl1
221		.from(el, { y: "+=100" , opacity: .8 }, {opacity: 1, scale: 1, y: 0, duration: 1, immediateRender: false})
222	  })
223
224
225	// fadeinright-animation-start
226	gsap.utils.toArray('.fadeleft ').forEach((el, index) => {
227		let tl1 = gsap.timeline({
228		  scrollTrigger: {
229			trigger: el,
230			scrub: 1,
231			start: "top 90%",
232			end: "buttom 50%",
233			toggleActions: "play none none reverse",
234			 markers: false
235		  }
236		})
237
238		tl1
239		.from(el, { x: "-=100" , opacity: .8 }, {opacity: 1, scale: 1, x: 0, duration: 1, immediateRender: false})
240	  })
241
242	// fadeinleft-animation-start
243	gsap.utils.toArray('.faderight ').forEach((el, index) => {
244		let tl1 = gsap.timeline({
245		  scrollTrigger: {
246			trigger: el,
247			scrub: 1,
248			start: "top 90%",
249			end: "buttom 50%",
250			toggleActions: "play none none reverse",
251			 markers: false
252		  }
253		})
254
255		tl1
256		.from(el, { x: "+=100" , opacity: .8 }, {opacity: 1, scale: 1, x: 0, duration: 1, immediateRender: false})
257	  })
258
259
260
261
262	// text-clipPath-animation-start
263	gsap.utils.toArray('.has-stoke ').forEach((el, index) => {
264		let tl1 = gsap.timeline({
265		  scrollTrigger: {
266			trigger: el,
267			scrub: 1,
268			start: "top 90%",
269			end: "buttom 60%",
270			toggleActions: "play none none reverse",
271			 markers: false
272		  }
273		})
274
275		tl1
276		.fromTo(el , { clipPath: "polygon(0 0, 0 0, 0 100%, 0% 100%)"},
277							{        clipPath: "polygon(0 0, 100% 0, 100% 100%, 0% 100%)" })
278	  })
279
280
281	// image-paralax-animation-start
282	  gsap.utils.toArray(".image-pllx").forEach(function(container) {
283		let image = container.querySelector("img");
284
285		let tl = gsap.timeline({
286			scrollTrigger: {
287			  trigger: container,
288			  scrub: true,
289			  pin: false,
290			},
291		  });
292		  tl.from(image, {
293			yPercent: -30,
294			scale: 1.1,
295			ease: "none",
296		  }).to(image, {
297			yPercent: 30,
298			scale: 1.1,
299			ease: "none",
300		  });
301	  });
302
303
304	// services-scetion
305	var gtbp1 = gsap.timeline({
306
307		scrollTrigger: {
308		  animation: gtbp1,
309		  trigger: '.gly-services-1-area',
310		  start: "top 100%",
311		  end: "bottom 30%",
312		  scrub: 2,
313		  toggleActions: "play reverse play reverse",
314		  markers: false
315		}
316	});
317
318	gtbp1.from( ".gly-services-1-icon-wrap" , { rotateZ: -200,  duration:1 } )
319	gtbp1.from( ".gly-services-1-icon-3" , { scale: 0 ,  },"<")
320	gtbp1.from( ".gly-services-1-icon-2" , { scale: 0 , },"<=.1")
321	gtbp1.from( ".gly-services-1-icon-1" , { scale: 0 , },"<=.1")
322	gtbp1.from( ".gly-services-1-img img" , { scale: 1.5, duration:1 }, "<" )
323
324
325
326	// project-1-section-animation
327	var glypr1 = gsap.timeline({
328
329		scrollTrigger: {
330			animation: glypr1,
331			trigger: '.gly-project-1-area',
332			start: "top 80%",
333			end: "top 30%",
334			scrub: 2,
335			// pin: true,
336			// pinSpacing: true,
337			markers: false
338		}
339	});
340
341	glypr1.from( ".gly-project-1-curlc-icon svg" , { rotateZ: 360,  duration:1 })
342	glypr1.from( ".gly-project-1-curlc-icon i" , { yPercent: 100, xPercent: -100,  duration:1 }, "<")
343
344
345	// testimonial-2-animation
346	var glyt2g = gsap.timeline({
347
348		scrollTrigger: {
349			animation: glyt2g,
350			trigger: '.gly-testimonial-2-area',
351			start: "top 130%",
352			end: "bottom 0%",
353			scrub: 2,
354			// pin: true,
355			// pinSpacing: true,
356			markers: false
357		}
358	});
359
360	glyt2g.from( ".gly-earth" , { rotateZ: 360,  duration:1 })
361	glyt2g.from( ".gly-earth" , { yPercent: 100,   duration:1 }, "<")
362	glyt2g.fromTo( ".gly-earth img" , { filter: "drop-shadow(0px 0px  0px #1667A9)" ,   duration:1 }, {
363		filter: "drop-shadow(0px -40px  50px #1667A9)"
364	}, "<.5" )
365
366
367	// project-3-animation
368	gsap.utils.toArray('.gly-project-3-item1 ').forEach((el, index) => {
369		let tl1 = gsap.timeline({
370		  scrollTrigger: {
371			trigger: el,
372			scrub: 1,
373			start: "top 90%",
374			end: "buttom 50%",
375			toggleActions: "play none none reverse",
376			 markers: false
377		  }
378		})
379
380		tl1
381		.set(el, { perspective: 2000 , transformStyle: "preserve-3d" , transformOrigin: "0% 50%" })
382		.from(el , { scaleX: .2  , opacity: 0})
383	  })
384
385
386	gsap.utils.toArray('.gly-project-3-item2 ').forEach((el, index) => {
387		let tl1 = gsap.timeline({
388		  scrollTrigger: {
389			trigger: el,
390			scrub: 1,
391			start: "top 90%",
392			end: "buttom 50%",
393			toggleActions: "play none none reverse",
394			 markers: false
395		  }
396		})
397
398		tl1
399		.set(el, { perspective: 2000 , transformStyle: "preserve-3d" , transformOrigin: "100% 50%" })
400		.from(el , { scaleX: .2  , opacity: 0})
401	  })
402
403
404	// footer-2-animation
405	var glyf2g = gsap.timeline({
406
407		scrollTrigger: {
408			animation: glyf2g,
409			trigger: '.gly-footer-2-area',
410			start: "top 100%",
411			end: "bottom 90%",
412			scrub: 1,
413			// pin: true,
414			// pinSpacing: true,
415			markers: false
416		}
417	});
418
419	glyf2g.from( ".gly-footer-2-area" , { yPercent: 20,  duration:1 })
420	.from( ".gly-footer-2-il-1" , { yPercent: -20, xPercent: 20,  duration:1 }, "<.3")
421	.from( ".gly-footer-2-il-2" , { yPercent: 20, xPercent: -20,  duration:1 }, "<.3")
422	.from( ".gly-footer-2-top-line" , { scaleX: .5 ,  duration:1 }, "<")
423
424
425	// portfolio-3-animation
426	var glyf3g = gsap.timeline({
427
428		scrollTrigger: {
429			animation: glyf3g,
430			trigger: '.gly-portfolio-3-area',
431			start: "top 100%",
432			end: "top 30%",
433			scrub: 1,
434			markers: false
435		}
436	});
437
438	glyf3g.from( ".gly-portfolio-3-item-wrap" , { xPercent: 100,  duration:1 })
439	.from( ".gly-portfolio-3-bg-shape" , { xPercent: 100,  duration:1 }, "<=.5")
440
441
442	// about-3-animation
443	var glyabut3g = gsap.timeline({
444
445		scrollTrigger: {
446			animation: glyabut3g,
447			trigger: '.gly-about-3-area',
448			start: "top 80%",
449			end: "top -30%",
450			scrub: 1,
451			markers: false
452		}
453	});
454
455	glyabut3g.from( ".gly-about-3-shape-1" , { scaleX: 0,  duration:1 })
456
457
458	// testimonial-3-animation
459	var glyt3g = gsap.timeline({
460
461		scrollTrigger: {
462			animation: glyt3g,
463			trigger: '.gly-testimonial-3-bg-img',
464			start: "top 70%",
465			end: "top 0%",
466			scrub: 1,
467			markers: false
468		}
469	});
470
471	glyt3g.from( ".gly-testimonial-3-bg-img img" , { yPercent: 100,  duration:1 })
472
473	// campaign-3-animation
474	var glyc3g = gsap.timeline({
475
476		scrollTrigger: {
477			animation: glyc3g,
478			trigger: '.gly-campaign-3-img',
479			start: "top 70%",
480			end: "top 0%",
481			scrub: 2,
482			markers: false
483		}
484	});
485
486	glyc3g.from( ".gly-campaign-3-img" , { xPercent: 100, stagger: .2,  duration:1 })
487
488	// award-3-animation
489	var glyaw3g = gsap.timeline({
490
491		scrollTrigger: {
492			animation: glyaw3g,
493			trigger: '.gly-award-3-img',
494			start: "top 80%",
495			end: "top 40%",
496			scrub: 2,
497			markers: false
498		}
499	});
500
501	glyaw3g.from( ".gly-award-3-img img" , { yPercent: 100, stagger: .2,  duration:1 })
502
503
504	// counter-4-animation
505	var glyct4g = gsap.timeline({
506
507		scrollTrigger: {
508			animation: glyaw3g,
509			trigger: '.gly-expi-count-4-area',
510			start: "top 90%",
511			end: "top 50%",
512			scrub: 2,
513			markers: false
514		}
515	});
516
517	glyct4g.from( ".gly-expi-count-4-area" , { yPercent: 100,  duration:1 })
518
519
520	// campaign-4-animation
521	var glycam4g = gsap.timeline({
522
523		scrollTrigger: {
524			animation: glyaw3g,
525			trigger: '.gly-campaign-4-bg-img',
526			start: "top 90%",
527			end: "top 50%",
528			scrub: 2,
529			markers: false
530		}
531	});
532
533	glycam4g.from( ".gly-campaign-4-bg-img" , { scale: 0,  duration:1 })
534	glycam4g.from( ".gly-campaign-4-img" , { yPercent: 100,  duration:1 })
535
536
537	// price-4-animation
538	var glyprice4g = gsap.timeline({
539
540		scrollTrigger: {
541			animation: glyaw3g,
542			trigger: '.gly-price-4-bg-img ',
543			start: "top 80%",
544			end: "top 30%",
545			scrub: 2,
546			markers: false
547		}
548	});
549
550	glyprice4g.from( ".gly-price-4-bg-shape" , { y: "100%",  duration:1 })
551	glyprice4g.from( ".gly-price-4-bg-img img" , { y: "100%",  duration:1 })
552
553
554
555	// cta-4-animation
556	var glycta4g = gsap.timeline({
557
558		scrollTrigger: {
559			animation: glyaw3g,
560			trigger: '.news5-img',
561			start: "top 80%",
562			end: "top 30%",
563			scrub: 2,
564			markers: false
565		}
566	});
567
568	glycta4g.from( ".news5-img img" , { y: "100%",  duration:1 })
569
570
571
572	// title-animation
573	$(window).on('load',function(){
574		var st = $(".gly-split-text");
575		if(st.length == 0) return;
576		gsap.registerPlugin(SplitText);
577		st.each(function(index, el) {
578		  el.split = new SplitText(el, {
579			type: "lines,words,chars",
580			linesClass: "split-line"
581		  });
582		  gsap.set(el, { perspective: 400 });
583
584
585		  if( $(el).hasClass('gly-split-in-clr') ){
586			gsap.set(el.split.chars, {
587			  opacity: 1,
588				scale: .8,
589				x: "100",
590				ease: "Back.easeOut",
591				color:'#a249ed',
592			});
593		  }
594
595
596		  if( $(el).hasClass('gly-split-in-down') ){
597			gsap.set(el.split.lines, {
598				  opacity: 0,
599				y: "-100",
600				rotateX: "50",
601				ease: "Back.easeOut",
602				color: "red",
603			});
604		  }
605
606		  el.anim = gsap.to(el.split.chars, {
607			scrollTrigger: {
608			  trigger: el,
609			  start: "top 90%",
610			},
611			x: "0",
612			y: "0",
613			rotateX: "0",
614			color: 'inherit',
615			scale: 1,
616			opacity: 1,
617			duration: 1.5,
618			stagger: 0.02,
619		  });
620		  el.anim = gsap.to(el.split.lines, {
621			scrollTrigger: {
622			  trigger: el,
623			  start: "top 90%",
624			},
625			x: "0",
626			y: "0",
627			rotateX: "0",
628			color: 'inherit',
629			scale: 1,
630			opacity: 1,
631			duration: 1.5,
632			stagger: 0.02,
633		  });
634		});
635	});
636
637	// experience-1-slider
638	let glyexp1 = new Swiper('.gly-ex1-active', {
639		loop: true,
640		speed: 2000,
641
642		direction: "vertical",
643		mousewheel: true,
644
645		autoplay: {
646		  delay: 2000,
647		},
648
649	});
650
651	// blog-img-slider
652	let glyblogimg = new Swiper('.gly-blog-img-slider-active', {
653		loop: true,
654		speed: 1000,
655		autoplay: {
656		  delay: 3000,
657		},
658
659		navigation: {
660			nextEl: ".gly_blog_img_next",
661			prevEl: ".gly_blog_img_prev",
662		},
663
664	});
665
666	// testimonial-2-slider
667	let glyt2 = new Swiper('.gly-t2-active', {
668		loop: true,
669		spaceBetween: 25,
670		speed: 2000,
671		centeredSlides: true,
672		autoplay: {
673		  delay: 5000,
674		},
675
676		navigation: {
677			nextEl: ".gly_t2_next",
678			prevEl: ".gly_t2_prev",
679		},
680
681
682	});
683
684	// testimonial-3-slider-active
685	if($('.gly-t3-active'.length)) {
686
687		var glyt3= new Swiper('.gly-t3-active', {
688		  speed: 1000,
689		  loop: true,
690		  spaceBetween: 20,
691		  direction: "vertical",
692		  mousewheel: true,
693		  slidesPerView: 3,
694		  autoplay: {
695			delay: 3000,
696		  },
697
698		  navigation: {
699			nextEl: ".gly_t3_next",
700			prevEl: ".gly_t3_prev",
701		  },
702
703		  breakpoints: {
704			0: {
705			  slidesPerView: 1,
706			},
707			576: {
708			  slidesPerView: 1,
709			},
710			768: {
711			  slidesPerView: 2,
712			},
713			992: {
714			  slidesPerView: 2,
715			},
716			1200: {
717			  slidesPerView: 3,
718			},
719		  },
720
721
722		});
723	  }
724
725	// gellary-marquee-active
726
727	if($('.gellary-marquee').length) {
728		$('.gellary-marquee').marquee({
729			duration: 25000,
730			gap: 12,
731			delayBeforeStart: 0,
732			startVisible:true,
733			  pauseOnHover: true,
734			direction: 'left',
735			duplicated: true
736		});
737	}
738
739
740
741
742	/* mouse-move-animation */
743	document.addEventListener("mousemove" , parallax);
744	function parallax(e){
745
746		document.querySelectorAll(".object").forEach(function(move){
747
748			var moving_value = move.getAttribute("data-value");
749			var x = (e.clientX * moving_value) /250;
750			var y = (e.clientY * moving_value) /250;
751
752			move.style.transform = "translateX(" + x + "px) translateY(" + y +"px)";
753		})
754
755	}
756
757
758	// cursor follow
759	$(document).ready(function () {
760		var mWrap = $(".gly-project-4-item .item-img ");
761
762		mWrap.hover(function () {
763		  var mContent = $(this).find("#magnetic-content");
764		  var mArea = $(this).find("#magnetic-area");
765
766		  function parallaxIt(e, target, movement = 1) {
767			var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
768			var boundingRect = mArea[0].getBoundingClientRect();
769			var relX = e.pageX - boundingRect.left;
770			var relY = e.pageY - boundingRect.top;
771
772			gsap.to(mContent, {
773			  x: (relX - boundingRect.width / 2) * movement,
774			  y: (relY - boundingRect.height / 2 - scrollTop) * movement,
775			  ease: "power1",
776			  duration: 0.6
777			});
778		  }
779
780		  function callParallax(e) {
781			parallaxIt(e, mWrap);
782		  }
783
784		  mArea.mousemove(function (e) {
785			callParallax(e);
786		  });
787		  mArea.mouseleave(function (e) {
788			gsap.to(mContent, {
789			  scale: 1,
790			  x: 0,
791			  y: 0,
792			  ease: "power1",
793			  duration: 0.6
794			});
795		  });
796		});
797	  });
798
799
800
801
802	// price-4-active-class
803	if($('.gly-price-4-card').length) {
804		$(".gly-price-4-card").on("mouseover", function(){
805		var current_class = document.getElementsByClassName("gly-price-4-card active");
806		current_class[0].className = current_class[0].className.replace(" active", "");
807		this.className += " active";
808		});
809	}
810
811
812	/* faq-active-class */
813	$(document).on('click', '.gly-accordion-item', function(){
814		$(this).addClass('faq_bg').siblings().removeClass('faq_bg')
815	})
816
817
818	/* back-to-top */
819	var backtotop = $('.scroll-top');
820
821	$(window).scroll(function() {
822		if ($(window).scrollTop() > 300) {
823		backtotop.addClass('show');
824		} else {
825		backtotop.removeClass('show');
826		}
827	});
828
829	backtotop.on('click', function(e) {
830		e.preventDefault();
831		$('html, body').animate({scrollTop:0}, '700');
832	});
833
834
835	/* counter */
836	$('.counter').counterUp({
837		delay: 10,
838		time: 3000
839	});
840
841	/* data-bg-activition */
842	$("[data-background]").each(function(){
843		$(this).css("background-image","url("+$(this).attr("data-background") + ") ")
844	})
845
846
847	// wow-activation
848	if($('.wow').length){
849		var wow = new WOW(
850		{
851			boxClass:     'wow',
852			animateClass: 'animated',
853			offset:       0,
854			mobile:       true,
855			live:         true
856		}
857		);
858		wow.init();
859	};
860
861
862	/*
863	popup-video-activition
864	====start====
865	*/
866
867	if($('.popup-video').length) {
868		$('.popup-video').magnificPopup({
869			type: 'iframe'
870		});
871	}
872
873
874	/*
875	popup-img-activition
876	====start====
877	*/
878
879	if($('.popup_img').length) {
880		$('.popup_img').magnificPopup({
881			type: 'image',
882			gallery: {
883				enabled: true,
884			},
885		});
886	}
887
888
889	// qty activation
890	if ($("input.product-count").length) {
891		$("input.product-count").TouchSpin({
892			min: 1,
893			max: 1000,
894			step: 1,
895			buttondown_class: "btn btn-link",
896			buttonup_class: "btn btn-link",
897		});
898	}
899
900// Background Image Active
901function bgImageActive($scope, $) {
902	$("[data-background]").each(function () {
903		$(this).css(
904			"background-image",
905			"url(" + $(this).attr("data-background") + ") "
906		);
907	});
908}
909
910// service carousel
911function serviceSlider($scope, $) {
912	let service_slider_1 = new Swiper(".gly-p1-slider-active", {
913		loop: true,
914		rtl: false,
915		speed: 1000,
916		autoplay: {
917			delay: 5000,
918		},
919		effect: "fade",
920		fadeEffect: {
921			crossFade: true,
922		},
923		pagination: {
924			el: ".gly-p1-pagination",
925			clickable: true,
926		},
927	});
928}
929
930// brandActive
931function brandActive($scope, $) {
932	let brand_slider_1 = new Swiper(".gly-sponser-1-active", {
933		loop: true,
934		speed: 5000,
935		autoplay: {
936			delay: 0,
937		},
938
939		breakpoints: {
940			0: {
941				slidesPerView: 1,
942			},
943			480: {
944				slidesPerView: 2,
945			},
946			576: {
947				slidesPerView: 2,
948			},
949			768: {
950				slidesPerView: 3,
951			},
952			992: {
953				slidesPerView: 4,
954			},
955			1200: {
956				slidesPerView: 5,
957			},
958		},
959	});
960}
961
962// testimonialActive
963function testimonialActive($scope, $) {
964	let testimonial_slider_1 = new Swiper(".gly-t1-active", {
965		loop: true,
966		speed: 1000,
967		autoplay: {
968			delay: 5000,
969		},
970		navigation: {
971			nextEl: ".gly_t1_next",
972			prevEl: ".gly_t1_prev",
973		},
974
975		pagination: {
976			el: ".swiper-pagination",
977			type: "fraction",
978		},
979	});
980
981	if($('.gly-t5-active'.length)) {
982
983		var testimonial_slider_2 = new Swiper('.gly-t5-active', {
984		  speed: 1000,
985		  loop: true,
986		  spaceBetween: 30,
987		  slidesPerView: 4,
988		  autoplay: {
989			delay: 4000,
990		  },
991
992		  pagination: {
993			el: ".gly-testimonial-5-slider-pagination",
994			clickable: true,
995			renderBullet: function (index, className) {
996			  return '<span class="' + className + '">' + (index + 1) + "</span>";
997			},
998		  },
999
1000
1001		  breakpoints: {
1002			0: {
1003			  slidesPerView: 1,
1004			},
1005			576: {
1006			  slidesPerView: 1,
1007			},
1008			768: {
1009			  slidesPerView: 2,
1010			},
1011			992: {
1012			  slidesPerView: 2,
1013			},
1014			1200: {
1015			  slidesPerView: 2,
1016			},
1017			1400: {
1018			  slidesPerView: 3,
1019			},
1020			1600: {
1021			  slidesPerView: 3,
1022			},
1023			1800: {
1024			  slidesPerView: 4,
1025			},
1026		  },
1027
1028
1029		});
1030	  }
1031}
1032
1033// project Slider
1034function projectSlider($scope, $) {
1035	let glyp2 = new Swiper(".gly-p2-active", {
1036		loop: true,
1037		spaceBetween: 25,
1038		speed: 2000,
1039		centeredSlides: true,
1040		autoplay: {
1041			delay: 5000,
1042		},
1043
1044		navigation: {
1045			nextEl: ".gly_p2_next",
1046			prevEl: ".gly_p2_prev",
1047		},
1048
1049		breakpoints: {
1050			0: {
1051				slidesPerView: 1,
1052			},
1053			576: {
1054				slidesPerView: 1,
1055			},
1056			768: {
1057				slidesPerView: 2,
1058			},
1059			992: {
1060				slidesPerView: 2,
1061			},
1062			1200: {
1063				slidesPerView: 3,
1064			},
1065		},
1066	});
1067}
1068
1069// team slider active
1070function teamSlider($scope, $) {
1071	if ($(".gly-t4-active".length)) {
1072		var temaSlider_1 = new Swiper(".gly-t4-active", {
1073			speed: 1000,
1074			loop: true,
1075			spaceBetween: 30,
1076			slidesPerView: 4,
1077			autoplay: {
1078				delay: 4000,
1079			},
1080			pagination: {
1081				el: ".gly-team-3-slider-pagination",
1082				clickable: true,
1083				renderBullet: function (index, className) {
1084					return (
1085						'<span class="' +
1086						className +
1087						'">' +
1088						(index + 1) +
1089						"</span>"
1090					);
1091				},
1092			},
1093
1094			breakpoints: {
1095				0: {
1096					slidesPerView: 1,
1097				},
1098				576: {
1099					slidesPerView: 1,
1100				},
1101				768: {
1102					slidesPerView: 2,
1103				},
1104				992: {
1105					slidesPerView: 2,
1106				},
1107				1200: {
1108					slidesPerView: 3,
1109				},
1110				1400: {
1111					slidesPerView: 3,
1112				},
1113				1600: {
1114					slidesPerView: 4,
1115				},
1116			},
1117		});
1118	}
1119}
1120
1121// heroSlider
1122function heroSlider($scope, $) {
1123	let heroSlider_1 = new Swiper('.gly-hero-4-active', {
1124		loop: false,
1125		rtl: false,
1126		speed: 3000,
1127		// autoplay: {
1128		//   delay: 5000,
1129		// },
1130		effect: 'fade',
1131		fadeEffect: {
1132			crossFade: true
1133		},
1134		navigation: {
1135			nextEl: ".gly_h4_next",
1136			prevEl: ".gly_h4_prev",
1137		},
1138
1139	});
1140}
1141
1142// service carousel
1143function serviceCarousel($scope, $) {
1144	let service_slider_2 = new Swiper('.gly-s4-active', {
1145		loop: true,
1146		spaceBetween: 30,
1147		speed: 1000,
1148		// autoplay: {
1149		//   delay: 4000,
1150		// },
1151
1152		navigation: {
1153			nextEl: ".gly_s4_next",
1154			prevEl: ".gly_s4_prev",
1155		},
1156
1157		breakpoints: {
1158			0: {
1159			  slidesPerView: 1,
1160			},
1161			768: {
1162			  slidesPerView: 2,
1163			},
1164			992: {
1165			  slidesPerView: 2,
1166			},
1167			1200: {
1168			  slidesPerView: 3,
1169			},
1170		},
1171	});
1172}
1173
1174$(window).on("elementor/frontend/init", function () {
1175	elementorFrontend.hooks.addAction(
1176		"frontend/element_ready/tx_hero_section.default",
1177		function ($scope, $) {
1178			bgImageActive($scope, $);
1179		}
1180	);
1181	elementorFrontend.hooks.addAction(
1182		"frontend/element_ready/tx_service_section.default",
1183		function ($scope, $) {
1184			serviceSlider($scope, $);
1185		}
1186	);
1187	elementorFrontend.hooks.addAction(
1188		"frontend/element_ready/tx_brand.default",
1189		function ($scope, $) {
1190			brandActive($scope, $);
1191		}
1192	);
1193	elementorFrontend.hooks.addAction(
1194		"frontend/element_ready/tx_testimonial.default",
1195		function ($scope, $) {
1196			testimonialActive($scope, $);
1197			bgImageActive($scope, $);
1198		}
1199	);
1200	elementorFrontend.hooks.addAction(
1201		"frontend/element_ready/tx_project_moving.default",
1202		function ($scope, $) {
1203			projectSlider($scope, $);
1204		}
1205	);
1206	elementorFrontend.hooks.addAction(
1207		"frontend/element_ready/tx_team.default",
1208		function ($scope, $) {
1209			teamSlider($scope, $);
1210		}
1211	);
1212	elementorFrontend.hooks.addAction(
1213		"frontend/element_ready/tx_contact_info.default",
1214		function ($scope, $) {
1215			bgImageActive($scope, $);
1216		}
1217	);
1218	elementorFrontend.hooks.addAction(
1219		"frontend/element_ready/tx_newsletter.default",
1220		function ($scope, $) {
1221			bgImageActive($scope, $);
1222		}
1223	);
1224	elementorFrontend.hooks.addAction(
1225		"frontend/element_ready/tx_hero_slider.default",
1226		function ($scope, $) {
1227			heroSlider($scope, $);
1228		}
1229	);
1230	elementorFrontend.hooks.addAction(
1231		"frontend/element_ready/tx_service_lists.default",
1232		function ($scope, $) {
1233			serviceCarousel($scope, $);
1234		}
1235	);
1236});
1237
1238	})(jQuery);

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.