{"version":3,"sources":["main.js"],"names":["smoother","isRTL","$","attr","winWidth","window","width","winHeight","height","browserDetect","tem","ua","M","navigator","sayswho","userAgent","match","test","exec","slice","join","replace","appName","appVersion","splice","addClass","dataTrim","each","text","this","html","charLimit","parseInt","maxLength","trim","length","substring","lastIndexOf","ChangeToSvg","$img","imgID","imgClass","imgURL","get","data","$svg","find","removeAttr","replaceWith","ScrollSmootherInitailize","matchMedia","matches","kill","ScrollTrigger","normalizeScroll","ScrollSmoother","create","smooth","effects","type","wraper","content","toggleSmootherPause","isPaused","paused","console","error","document","body","classList","toggle","toggleClass","log","formValidation","submitBtn","querySelectorAll","validMessage","togglePasswordIcons","forEach","button","addEventListener","event","form","target","closest","isValid","$select","$errorMessage","$select2Container","val","show","removeClass","hide","siblings","togglePasswordSlashIcons","togglePasswordVisibility","clickedIcon","passwordField","parentNode","querySelector","relatedIcon","contains","nextElementSibling","previousElementSibling","style","display","icon","Slashicon","videoPlayerInit","index","thisId","dataSrc","load","videojs","lineRevealAnimation","elements","lines","paragraphElement","delay","blur","splitText","SplitText","line","wrapper","createElement","add","overflow","insertBefore","appendChild","tl","gsap","timeline","scrollTrigger","trigger","start","end","toggleActions","fromTo","opacity","y","filter","concat","duration","ease","stagger","lineRevealAnimationAbout","element","onComplete","innerWidth","initializeAnimation","observer","MutationObserver","mutationsList","mutation","attributeName","observe","attributes","attributeFilter","fadeAnimation","animationType","animationProps","x","aboutUsAnimation","textContents","images","aboutUsSection","sections","getAll","pin","pinSpacing","scrub","onUpdate","self","progress","sectionIndex","Math","min","max","round","img","to","yPercent","refresh","initSliders","slick","slidesToShow","slidesToScroll","arrows","vertical","centerMode","centerPadding","verticalSwiping","adaptiveHeight","autoplay","autoplaySpeed","speed","cssEase","pauseOnHover","pauseOnFocus","draggable","responsive","breakpoint","settings","infinite","initialSlide","fade","rtl","on","currentSlide","nextSlide","eq","registerPlugin","ScrollToPlugin","initVideoPlayer","initVideoModal","drivingChangeSlider","initAccordion","stickyFaqSect","keyup","e","keyCode","ready","slideIndex","lastScrollTop","checkAndHide","setTimeout","errorResponse","getElementById","successResponse","inlineErrors","isErrorVisible","getComputedStyle","isSuccessVisible","Array","from","some","addAnalytics","dataLayer","push","category","action","label","page","location","href","scrollToNextSection","nextSection","scrollTo","offsetY","scrollTop","scrollY","documentElement","remove","subscribeForm","btns","dots","click","allAccordionHeaders","selector","arguments","undefined","item","isActive","i","maxHeight","scrollHeight","activeTap","menuItems","contents","currentIndex","findIndex","playButton","innerContent","video","removeAttribute","play","openModalBtns","videoModal","closeModalBtn","modalVideo","openModal","set","zIndex","visibility","closeModal","pause","currentTime","btn","initParallaxEffect","parentElement","leftContainer","rightContainer","startOffset","parseFloat","fontSize"],"mappings":"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","file":"scripts.min.js","sourcesContent":["// const { $ } = require(\"video.js/dist/types/utils/dom\");\r\n\r\nvar isRTL = $(\"html\").attr(\"dir\") == \"rtl\" ? true : false,\r\n winWidth = $(window).width(),\r\n winHeight = $(window).height();\r\ngsap.registerPlugin(ScrollToPlugin);\r\n$(function () {\r\n browserDetect();\r\n});\r\n\r\n$(window).on(\"resize orientationchange\", function () {\r\n // Do on resize\r\n (winWidth = $(window).width()), (winHeight = $(window).height());\r\n});\r\n\r\n$(window).on(\"scroll\", function () {\r\n //Do on Scroll\r\n});\r\n\r\n$(window).on(\"load\", function () {\r\n initVideoPlayer();\r\n initVideoModal();\r\n videoPlayerInit();\r\n initSliders();\r\n drivingChangeSlider();\r\n initAccordion();\r\n lineRevealAnimation();\r\n fadeAnimation();\r\n // initParallaxEffect();\r\n stickyFaqSect();\r\n});\r\n\r\n$(document).keyup(function (e) {\r\n if (e.keyCode == 27) {\r\n //Do on ESC press\r\n }\r\n});\r\n\r\nfunction browserDetect() {\r\n navigator.sayswho = (function () {\r\n var ua = navigator.userAgent,\r\n tem,\r\n M =\r\n ua.match(\r\n /(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i\r\n ) || [];\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return \"IE \" + (tem[1] || \"\");\r\n }\r\n if (M[1] === \"Chrome\") {\r\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\r\n if (tem != null) return tem.slice(1).join(\"\").replace(\"OPR\", \"Opera\");\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, \"-?\"];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) M.splice(1, 1, tem[1]);\r\n return M.join(\" \");\r\n })();\r\n $(\"body\").addClass(navigator.sayswho);\r\n}\r\n\r\n$(document).ready(function () {\r\n // animateWords();\r\n dataTrim();\r\n ChangeToSvg();\r\n ScrollSmootherInitailize();\r\n aboutUsAnimation();\r\n});\r\n\r\nfunction dataTrim() {\r\n var ellipsis = \"...\";\r\n $(\"[data-trim]\").each(function () {\r\n var text = $(this).html();\r\n var charLimit = parseInt($(this).attr(\"data-trim\"));\r\n $(this).html(TrimLength(text, charLimit));\r\n $(this).addClass(\"is--trimmed\");\r\n });\r\n\r\n function TrimLength(text, maxLength) {\r\n text = $.trim(text);\r\n if (text.length > maxLength) {\r\n text = text.substring(0, maxLength - ellipsis.length);\r\n return text.substring(0, text.lastIndexOf(\" \")) + ellipsis;\r\n } else return text;\r\n }\r\n}\r\n\r\nfunction ChangeToSvg() {\r\n $(\"img.js-tosvg\").each(function () {\r\n var $img = $(this);\r\n var imgID = $img.attr(\"id\");\r\n var imgClass = $img.attr(\"class\");\r\n var imgURL = $img.attr(\"src\");\r\n $.get(\r\n imgURL,\r\n function (data) {\r\n var $svg = $(data).find(\"svg\");\r\n if (typeof imgID !== \"undefined\") {\r\n $svg = $svg.attr(\"id\", imgID);\r\n }\r\n if (typeof imgClass !== \"undefined\") {\r\n $svg = $svg.attr(\"class\", imgClass + \" insvg\");\r\n }\r\n $svg = $svg.removeAttr(\"xmlns:a\");\r\n if (\r\n !$svg.attr(\"viewBox\") &&\r\n $svg.attr(\"height\") &&\r\n $svg.attr(\"width\")\r\n ) {\r\n $svg.attr(\r\n \"viewBox\",\r\n \"0 0 \" + $svg.attr(\"height\") + \" \" + $svg.attr(\"width\")\r\n );\r\n }\r\n $img.replaceWith($svg);\r\n },\r\n \"xml\"\r\n );\r\n });\r\n}\r\n\r\nvar smoother;\r\nfunction ScrollSmootherInitailize() {\r\n if (window.matchMedia(\"(min-width: 1200px)\").matches) {\r\n // Destroy existing smoother instance if it exists\r\n if (smoother) {\r\n smoother.kill();\r\n }\r\n\r\n ScrollTrigger.normalizeScroll(true); // Enable for desktop\r\n smoother = ScrollSmoother.create({\r\n smooth: 1.3,\r\n effects: true,\r\n type: \"touch,wheel,pointer\",\r\n wraper: \"#smooth-wraper\",\r\n content: \"#smooth-content\",\r\n });\r\n } else {\r\n // Destroy smoother and revert normalization\r\n if (smoother) {\r\n smoother.kill();\r\n smoother = null;\r\n ScrollTrigger.normalizeScroll(false); // Disable for mobile\r\n }\r\n }\r\n}\r\nwindow.addEventListener(\"resize\", ScrollSmootherInitailize);\r\n\r\n// Function to toggle ScrollSmoother pause state\r\nfunction toggleSmootherPause() {\r\n if (window.matchMedia(\"(min-width: 1200px)\").matches) {\r\n if (!smoother) {\r\n console.error(\"ScrollSmoother is not initialized\");\r\n return;\r\n }\r\n const isPaused = smoother.paused();\r\n smoother.paused(!isPaused); // Toggle between true and false\r\n // console.log(isPaused);\r\n } else {\r\n document.body.classList.toggle(\"no-scroll\");\r\n $(\"html\").toggleClass(\"no-scroll\");\r\n console.log(\"no-scroll\");\r\n }\r\n}\r\n\r\n// Form Field Validation Start\r\nfunction formValidation() {\r\n const submitBtn = document.querySelectorAll(\".Formsubmit\");\r\n const validMessage = document.querySelectorAll(\".valid-message\");\r\n\r\n // Loop through each submit button\r\n submitBtn.forEach(function (button) {\r\n button.addEventListener(\"click\", function (event) {\r\n var form = event.target.closest(\"form\"); // Get the parent form of the clicked button\r\n var isValid = true;\r\n // $validMessage.hide();\r\n $(form)\r\n .find(\".form-row-dropdown, .form-fields-row\")\r\n .each(function () {\r\n var $select = $(this).find(\"select\");\r\n var $errorMessage = $(this).find(\".error\");\r\n var $select2Container = $(this).find(\".select2-container\");\r\n\r\n if ($select.val() == null || $select.val() == \"1\") {\r\n isValid = false;\r\n $select2Container.addClass(\"error-border\");\r\n $errorMessage.show();\r\n } else {\r\n $select2Container.removeClass(\"error-border\");\r\n $errorMessage.hide();\r\n }\r\n });\r\n\r\n // Check input fields with the required class within the current form\r\n $(form)\r\n .find(\".required\")\r\n .each(function () {\r\n if ($(this).val().trim() === \"\") {\r\n isValid = false;\r\n $(this).addClass(\"error-border\");\r\n $(this).siblings(\".error\").show();\r\n } else {\r\n $(this).removeClass(\"error-border\");\r\n $(this).siblings(\".error\").hide();\r\n }\r\n });\r\n\r\n if (!isValid) {\r\n // event.preventDefault(); // Prevent form submission if validation fails\r\n validMessage.show();\r\n //

Field can't be left empty

\r\n }\r\n });\r\n });\r\n\r\n //\r\n var togglePasswordIcons = document.querySelectorAll(\".eye-icon\");\r\n var togglePasswordSlashIcons = document.querySelectorAll(\".eye-slash-icon\");\r\n\r\n togglePasswordIcons.forEach(function (icon) {\r\n icon.addEventListener(\"click\", function () {\r\n togglePasswordVisibility(icon);\r\n });\r\n });\r\n\r\n togglePasswordSlashIcons.forEach(function (Slashicon) {\r\n Slashicon.addEventListener(\"click\", function () {\r\n togglePasswordVisibility(Slashicon);\r\n });\r\n });\r\n\r\n function togglePasswordVisibility(clickedIcon) {\r\n var passwordField = clickedIcon.parentNode.querySelector(\".password-field\");\r\n var relatedIcon = clickedIcon.classList.contains(\"eye-icon\")\r\n ? clickedIcon.nextElementSibling\r\n : clickedIcon.previousElementSibling;\r\n\r\n if (passwordField.type === \"password\") {\r\n passwordField.type = \"text\";\r\n clickedIcon.style.display = \"none\";\r\n relatedIcon.style.display = \"block\";\r\n } else {\r\n passwordField.type = \"password\";\r\n clickedIcon.style.display = \"none\";\r\n relatedIcon.style.display = \"block\";\r\n }\r\n }\r\n}\r\n\r\n// video\r\nfunction videoPlayerInit() {\r\n $(\".my-video-js\").each(function (index) {\r\n var thisId = $(this).attr(\"id\");\r\n $(this).addClass(\"video-js\");\r\n if (!thisId == \"\") {\r\n thisId = \"video-id-\" + index;\r\n $(this).attr(\"id\", thisId);\r\n }\r\n const dataSrc = $(this).data(\"src\");\r\n if (dataSrc) {\r\n // Apply data-src to the video src\r\n $(this).attr(\"src\", dataSrc).removeAttr(\"data-src\");\r\n\r\n // Apply data-src to elements inside the video\r\n $(this)\r\n .find(\"source[data-src]\")\r\n .each(function () {\r\n $(this).attr(\"src\", $(this).data(\"src\")).removeAttr(\"data-src\");\r\n });\r\n\r\n // Load the video to apply the sources\r\n this.load();\r\n }\r\n var player = videojs(thisId);\r\n });\r\n}\r\n\r\nfunction lineRevealAnimation() {\r\n const elements = document.querySelectorAll(\r\n '[data-animation-scroll=\"lineReveal\"]'\r\n );\r\n\r\n if (elements && elements.length > 0) {\r\n $('[data-animation-scroll=\"lineReveal\"]').each(function () {\r\n let paragraphElement = $(this);\r\n let delay = $(this).data(\"delay\") || 0;\r\n let blur = $(this).data(\"blur\") || 0;\r\n if (!paragraphElement[0]) {\r\n return;\r\n }\r\n\r\n // Split text into lines\r\n const splitText = new SplitText(paragraphElement[0], { type: \"lines\" });\r\n if (!splitText || !splitText.lines) {\r\n return;\r\n }\r\n\r\n const lines = splitText.lines;\r\n\r\n // Wrap each line in a div with overflow hidden\r\n lines.forEach((line) => {\r\n if (line && line.parentNode) {\r\n const wrapper = document.createElement(\"div\");\r\n wrapper.classList.add(\"line-wrapper\");\r\n wrapper.style.overflow = \"hidden\";\r\n line.parentNode.insertBefore(wrapper, line);\r\n wrapper.appendChild(line);\r\n }\r\n });\r\n\r\n let tl = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: paragraphElement,\r\n start: \"0% 90%\",\r\n end: \"100% 0%\",\r\n toggleActions: \"play none none none\",\r\n },\r\n });\r\n\r\n // Animate lines with blur and staggered reveal\r\n if (lines && lines.length > 0) {\r\n tl.fromTo(\r\n lines,\r\n { opacity: 0, y: 100, filter: `blur(${blur}px)` },\r\n {\r\n opacity: 1,\r\n y: 0,\r\n filter: \"blur(0px)\",\r\n duration: 1.2,\r\n ease: \"power2.out\",\r\n stagger: 0.2,\r\n delay: delay,\r\n }\r\n );\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction lineRevealAnimationAbout(element) {\r\n if (!element) return;\r\n\r\n const elements = element.querySelectorAll(\r\n '[data-animation-scroll-about=\"lineReveal\"]'\r\n );\r\n\r\n if (elements.length > 0) {\r\n $(elements).each(function () {\r\n let paragraphElement = $(this);\r\n let delay = $(this).data(\"delay\") || 0;\r\n let blur = $(this).data(\"blur\") || 0;\r\n if (!paragraphElement[0]) return;\r\n\r\n // Split text into lines\r\n const splitText = new SplitText(paragraphElement[0], { type: \"lines\" });\r\n if (!splitText || !splitText.lines) return;\r\n\r\n const lines = splitText.lines;\r\n\r\n // Wrap each line in a div with overflow hidden\r\n lines.forEach((line) => {\r\n if (line && line.parentNode) {\r\n const wrapper = document.createElement(\"div\");\r\n wrapper.classList.add(\"line-wrapper\");\r\n wrapper.style.overflow = \"hidden\";\r\n line.parentNode.insertBefore(wrapper, line);\r\n wrapper.appendChild(line);\r\n }\r\n });\r\n\r\n let tl = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: paragraphElement,\r\n start: \"0% 95%\",\r\n end: \"100% 0%\",\r\n toggleActions: \"play none none none\",\r\n },\r\n onComplete: () => {\r\n if (window.innerWidth > 600) {\r\n element.classList.add(\"animated\"); // Mark animation as completed (only for >600px)\r\n }\r\n },\r\n });\r\n\r\n // Animate lines with blur and staggered reveal\r\n if (lines.length > 0) {\r\n tl.fromTo(\r\n lines,\r\n { opacity: 0, y: 100, filter: `blur(${blur}px)` },\r\n {\r\n opacity: 1,\r\n y: 0,\r\n filter: \"blur(0px)\",\r\n duration: 1,\r\n ease: \"power2.out\",\r\n stagger: 0.1,\r\n delay: delay,\r\n }\r\n );\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction initializeAnimation() {\r\n const screenWidth = window.innerWidth;\r\n\r\n if (screenWidth > 600) {\r\n // Run animation for active `.text-content` (only once)\r\n document.querySelectorAll(\".text-content.active\").forEach((element) => {\r\n if (!element.classList.contains(\"animated\")) {\r\n lineRevealAnimationAbout(element);\r\n }\r\n });\r\n\r\n // Observe for new active elements and animate only once\r\n const observer = new MutationObserver((mutationsList) => {\r\n mutationsList.forEach((mutation) => {\r\n if (\r\n mutation.type === \"attributes\" &&\r\n mutation.attributeName === \"class\" &&\r\n mutation.target.classList.contains(\"active\") &&\r\n !mutation.target.classList.contains(\"animated\")\r\n ) {\r\n lineRevealAnimationAbout(mutation.target);\r\n }\r\n });\r\n });\r\n\r\n // Attach observer to all `.text-content` elements\r\n document.querySelectorAll(\".text-content\").forEach((element) => {\r\n observer.observe(element, {\r\n attributes: true,\r\n attributeFilter: [\"class\"],\r\n });\r\n });\r\n } else {\r\n // Below 600px, run animation normally for all elements (no \"active\" check)\r\n document\r\n .querySelectorAll(\r\n \".text-content [data-animation-scroll-about='lineReveal']\"\r\n )\r\n .forEach((element) =>\r\n lineRevealAnimationAbout(element.closest(\".text-content\"))\r\n );\r\n }\r\n}\r\n\r\n// Initialize animation on load and window resize\r\ninitializeAnimation();\r\nwindow.addEventListener(\"resize\", initializeAnimation);\r\n\r\n// fadeUp Animtaion\r\nfunction fadeAnimation() {\r\n $(\"[data-animation-type]\").each(function () {\r\n let element = $(this);\r\n let delay = element.data(\"delay\") || 0;\r\n let blur = element.data(\"blur\") || 0;\r\n let animationType = element.data(\"animation-type\") || \"fade-down\"; // Default: fade-down\r\n\r\n let animationProps = {};\r\n\r\n // Define animation properties based on the data attribute\r\n if (animationType === \"fade-right\") {\r\n animationProps = {\r\n opacity: 0,\r\n x: isRTL ? -200 : 200,\r\n filter: `blur(${blur}px)`,\r\n }; // Move from right\r\n } else if (animationType === \"fade-down\") {\r\n animationProps = { opacity: 0, y: -10, filter: `blur(${blur}px)` }; // Move from top to bottom\r\n } else if (animationType === \"fade-up\") {\r\n animationProps = { opacity: 0, y: 50, filter: `blur(${blur}px)` }; // Move from bottom to top\r\n }\r\n\r\n let tl = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: element,\r\n start: \"0% 95%\",\r\n end: \"100% 0%\",\r\n toggleActions: \"play none none none\",\r\n },\r\n });\r\n\r\n // Animate the whole element\r\n tl.fromTo(element, animationProps, {\r\n opacity: 1,\r\n x: 0,\r\n y: 0,\r\n filter: \"blur(0px)\",\r\n duration: 1.2,\r\n ease: \"power2.out\",\r\n delay: delay,\r\n });\r\n });\r\n}\r\n\r\n//about us section\r\nfunction aboutUsAnimation() {\r\n const textContents = document.querySelectorAll(\".text-content\");\r\n const images = document.querySelectorAll(\".content-image\");\r\n const aboutUsSection = document.querySelector(\".about-us\");\r\n\r\n let sections = images.length;\r\n\r\n // Create responsive animation\r\n let mm = gsap.matchMedia();\r\n\r\n mm.add(\"(min-width: 661px)\", () => {\r\n // Destroy existing ScrollTriggers for this section\r\n ScrollTrigger.getAll().forEach((trigger) => {\r\n if (trigger.trigger === aboutUsSection) {\r\n trigger.kill();\r\n }\r\n });\r\n\r\n // Create a timeline synced with scroll smoother\r\n let tl = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: aboutUsSection,\r\n start: \"top top\",\r\n end: `+=${sections * 60}%`,\r\n pin: true,\r\n pinSpacing: true,\r\n scrub: 1,\r\n onUpdate: function (self) {\r\n let progress = self.progress;\r\n let sectionProgress = progress * sections; // Convert progress into sections\r\n\r\n // Ensure a section changes when it's at least 50% visible\r\n let sectionIndex = Math.min(\r\n Math.max(Math.round(sectionProgress - 1), 0),\r\n sections - 1\r\n );\r\n\r\n textContents.forEach((content, index) => {\r\n content.classList.toggle(\"active\", index === sectionIndex);\r\n });\r\n },\r\n },\r\n });\r\n\r\n // Animate images\r\n images.forEach((img, index) => {\r\n tl.to(images, {\r\n yPercent: -100 * index,\r\n duration: 1,\r\n ease: \"power1.inOut\",\r\n });\r\n });\r\n\r\n // Initial state setup\r\n textContents.forEach((content, index) => {\r\n content.classList.toggle(\"active\", index === 0);\r\n });\r\n\r\n // Refresh ScrollTrigger only for this animation\r\n ScrollTrigger.refresh();\r\n\r\n // Cleanup function when media query does not match\r\n return () => {\r\n tl.kill();\r\n };\r\n });\r\n}\r\n\r\n// how we work slider\r\nfunction initSliders() {\r\n $(\".image-slider\").slick({\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n vertical: true,\r\n centerMode: true,\r\n centerPadding: \"8.75rem\",\r\n verticalSwiping: true,\r\n adaptiveHeight: false,\r\n autoplay: true,\r\n autoplaySpeed: 4000,\r\n speed: 1800,\r\n cssEase: \"ease-in-out\",\r\n pauseOnHover: false,\r\n pauseOnFocus: false,\r\n draggable: true,\r\n\r\n responsive: [\r\n {\r\n breakpoint: 601,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n vertical: false,\r\n centerMode: true,\r\n centerPadding: \"10%\",\r\n verticalSwiping: false,\r\n adaptiveHeight: false,\r\n speed: 1000,\r\n infinite: true,\r\n initialSlide: 1,\r\n fade: false,\r\n arrows: true,\r\n rtl: isRTL,\r\n },\r\n },\r\n ],\r\n });\r\n\r\n $(\".image-slider\").on(\r\n \"beforeChange\",\r\n function (event, slick, currentSlide, nextSlide) {\r\n $(\".accordion-item\").removeClass(\"active\");\r\n $(\".accordion-item\").eq(nextSlide).addClass(\"active\");\r\n }\r\n );\r\n}\r\n\r\n$(\".accordion-item\").on(\"click\", function () {\r\n let slideIndex = $(this).index();\r\n $(\".accordion-item\").removeClass(\"active\");\r\n $(this).addClass(\"active\");\r\n $(\".image-slider\").slick(\"slickGoTo\", slideIndex, false);\r\n});\r\n\r\n// header\r\nlet lastScrollTop = 0;\r\n\r\nwindow.addEventListener(\"scroll\", function () {\r\n let scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n\r\n if (scrollTop > lastScrollTop) {\r\n // Scrolling Down\r\n document.body.classList.add(\"scrollDown\");\r\n document.body.classList.remove(\"scrollUp\");\r\n } else {\r\n // Scrolling Up\r\n document.body.classList.add(\"scrollUp\");\r\n document.body.classList.remove(\"scrollDown\"); \r\n }\r\n\r\n // Agar page bilkul top per hai toh scrollUp remove kar do\r\n if (scrollTop === 0) { \r\n document.body.classList.remove(\"scrollUp\");\r\n document.body.classList.remove(\"scrollDown\"); \r\n }\r\n\r\n lastScrollTop = scrollTop;\r\n});\r\n\r\n// input field validate\r\n// function validateEmailInput(input, errorElement, errorContainer) {\r\n// const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n// const emailValue = input.value.trim();\r\n// const icon = document.querySelector(\".check-icon\");\r\n// const icon1 = document.querySelector(\".icon-1\");\r\n\r\n// if (emailValue === \"\") {\r\n// // errorElement.textContent = \"Field can't be left empty\";\r\n// errorContainer.style.display = \"flex\";\r\n// // errorContainer.style.backgroundColor = \"#C64837\"; // Error background\r\n// icon1.style.display = \"block\";\r\n// icon.style.display = \"none\";\r\n// return false;\r\n// } else if (!emailPattern.test(emailValue)) {\r\n// // errorElement.textContent = \"Invalid email address\";\r\n// errorContainer.style.display = \"flex\";\r\n// // errorContainer.style.backgroundColor = \"#C64837\"; // Error background\r\n// icon1.style.display = \"block\";\r\n// icon.style.display = \"none\";\r\n// return false;\r\n// } else {\r\n// // errorContainer.style.display = \"none\"; // Success background\r\n// icon1.style.display = \"none\";\r\n// icon.style.display = \"block\";\r\n\r\n// return true;\r\n// }\r\n// }\r\n\r\n// document.addEventListener(\"DOMContentLoaded\", function () {\r\n// const responses = document.querySelector(\".mce-responses\");\r\n\r\n// console.log(responses, \"responseeeeeeeeeee\");\r\n// // const errorMessage = document.querySelector(\".error-message\");\r\n// // const errorContainer = document.querySelector(\".message-show\");\r\n// // const form = document.querySelector(\".subscribe-form\");\r\n// // const icon1 = document.querySelector(\".icon-1\");\r\n// // const icon = document.querySelector(\".check-icon\");\r\n\r\n// // if (form) {\r\n// // // Live validation\r\n// // emailInput.addEventListener(\"input\", function () {\r\n// // validateEmailInput(emailInput, errorMessage, errorContainer);\r\n// // });\r\n\r\n// // // Hide error message on blur if the field is empty\r\n// // emailInput.addEventListener(\"blur\", function () {\r\n// // if (emailInput.value.trim() === \"\") {\r\n// // errorContainer.style.display = \"none\";\r\n// // }\r\n// // });\r\n\r\n// // Form submission validation\r\n// form.addEventListener(\"submit\", function (event) {\r\n// event.preventDefault();\r\n// // if (validateEmailInput(emailInput, errorMessage, errorContainer)) {\r\n// // addAnalytics();\r\n// // emailInput.value = \"\";\r\n\r\n// // // Show success message\r\n// // errorContainer.style.display = \"flex\";\r\n// // errorContainer.style.backgroundColor = \"#B3C5B3\"; // Success background\r\n// // errorMessage.textContent = \"Thank you! Subscription successful!\";\r\n// // errorMessage.style.color = \"#1C211E\"; // Dark green text\r\n// // icon.style.display = \"block\";\r\n// // }\r\n// });\r\n// // }\r\n// });\r\n\r\n// document.addEventListener(\"DOMContentLoaded\", function () {\r\n// const successResponse = document.getElementById(\"mce-success-response\");\r\n// const errorMessages = document.querySelectorAll(\".mce_inline_error\");\r\n\r\n// // console.log(successResponse, errorMessages, \"esgaeeeeeeeeeeeeeeeee\");\r\n\r\n// // if (errorMessages) {\r\n// // successResponse.style.display = \"none !important\";\r\n// // }\r\n// // if (successResponse) {\r\n// // addAnalytics();\r\n// // setTimeout(() => {\r\n// // successResponse.style.display = \"none !important\";\r\n// // }, 3000);\r\n// // }s\r\n// });\r\n\r\nfunction checkAndHide() {\r\n setTimeout(() => {\r\n const errorResponse = document.getElementById(\"mce-error-response\");\r\n const successResponse = document.getElementById(\"mce-success-response\");\r\n const inlineErrors = document.querySelectorAll(\".mce_inline_error\");\r\n\r\n const isErrorVisible =\r\n errorResponse &&\r\n window.getComputedStyle(errorResponse).display === \"block\";\r\n const isSuccessVisible =\r\n successResponse &&\r\n window.getComputedStyle(successResponse).display === \"block\";\r\n const isInlineErrorVisible = Array.from(inlineErrors).some(\r\n (error) => window.getComputedStyle(error).display === \"block\"\r\n );\r\n\r\n if (isInlineErrorVisible) {\r\n if (isErrorVisible) {\r\n errorResponse.style.display = \"none\";\r\n }\r\n if (isSuccessVisible) {\r\n successResponse.style.display = \"none\";\r\n }\r\n }\r\n }, 100);\r\n}\r\n\r\n// Attach event listener to the form\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n const subscribeForm = document.getElementById(\"mc-embedded-subscribe-form\");\r\n\r\n if (subscribeForm) {\r\n subscribeForm.addEventListener(\"submit\", function () {\r\n checkAndHide(); // Delay checking to allow Mailchimp messages to update\r\n addAnalytics();\r\n });\r\n }\r\n});\r\n\r\nfunction addAnalytics() {\r\n // Initialize the dataLayer if it doesn't exist\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n event: \"form_submit\",\r\n category: \"form_submit\",\r\n action: \"submit\",\r\n label: \"newsletter form\",\r\n page: window.location.href,\r\n });\r\n}\r\n\r\n// scroll to the next section\r\nfunction scrollToNextSection() {\r\n let nextSection = document.querySelector(\".new-footer-section\");\r\n if (nextSection) {\r\n gsap.to(window, {\r\n duration: 1,\r\n scrollTo: { y: nextSection, offsetY: 0 },\r\n ease: \"power2.inOut\",\r\n });\r\n }\r\n}\r\n\r\nlet btns = document.querySelectorAll(\".btn_go_to_next\");\r\n\r\nif (btns.length > 0) {\r\n btns.forEach((btn) => {\r\n btn.addEventListener(\"click\", scrollToNextSection);\r\n });\r\n} else {\r\n}\r\n\r\n// driving Change Slider\r\nfunction drivingChangeSlider() {\r\n // Initialize Slick Slider for images\r\n $(\".imageContainer\").slick({\r\n vertical: true,\r\n verticalSwiping: true, // Enable vertical swiping\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: false,\r\n arrows: false, // Hide navigation arrows\r\n dots: false,\r\n });\r\n\r\n // Update slide when clicking on menu items\r\n $(\".subtitle\").click(function () {\r\n let index = $(this).index(); // Get index of clicked item\r\n\r\n // Change slide in Slick\r\n $(\".imageContainer\").slick(\"slickGoTo\", index);\r\n\r\n // Update active state in menu\r\n $(\".subtitle\").removeClass(\"active\");\r\n $(this).addClass(\"active\");\r\n\r\n // Update active state in text content\r\n $(\".keyProgramContent\").removeClass(\"active\");\r\n $(\".keyProgramContent\").eq(index).addClass(\"active\");\r\n });\r\n\r\n // Update active classes on vertical swipe\r\n $(\".imageContainer\").on(\"afterChange\", function (event, slick, currentSlide) {\r\n // Update the active state in the menu\r\n $(\".subtitle\").removeClass(\"active\");\r\n $(\".subtitle\").eq(currentSlide).addClass(\"active\");\r\n\r\n // Update the active state in the text content\r\n $(\".keyProgramContent\").removeClass(\"active\");\r\n $(\".keyProgramContent\").eq(currentSlide).addClass(\"active\");\r\n });\r\n}\r\n\r\n//accordian\r\nfunction initAccordion(selector = \".keyProgramContainerSm .main-accordion\") {\r\n const accordions = document.querySelectorAll(selector);\r\n\r\n // console.log(accordions, \"initAccordion\");\r\n if (!accordions.length) {\r\n return;\r\n }\r\n\r\n const allAccordionHeaders = document.querySelectorAll(\r\n `${selector} .accordion-header`\r\n );\r\n\r\n allAccordionHeaders.forEach(function (item) {\r\n item.addEventListener(\"click\", function () {\r\n const isActive = item.classList.contains(\"active\");\r\n\r\n allAccordionHeaders.forEach(function (i) {\r\n i.classList.remove(\"active\");\r\n i.nextElementSibling.style.maxHeight = null;\r\n });\r\n\r\n if (!isActive) {\r\n item.classList.add(\"active\");\r\n item.nextElementSibling.style.maxHeight =\r\n item.nextElementSibling.scrollHeight + \"px\";\r\n }\r\n });\r\n });\r\n}\r\n\r\n// driving changes tabs\r\nfunction activeTap(index) {\r\n const menuItems = document.querySelectorAll(\".keyProgramLeft .subtitle\");\r\n const images = document.querySelectorAll(\".programImage\");\r\n const contents = document.querySelectorAll(\".keyProgramContent\");\r\n\r\n // Remove active class from all menu items and text contents\r\n menuItems.forEach((item) => item.classList.remove(\"active\"));\r\n contents.forEach((content) => content.classList.remove(\"active\"));\r\n\r\n // Add active class to the clicked item and corresponding content\r\n menuItems[index].classList.add(\"active\");\r\n contents[index].classList.add(\"active\");\r\n\r\n // Find the currently active image\r\n let currentIndex = Array.from(images).findIndex((img) =>\r\n img.classList.contains(\"active\")\r\n );\r\n\r\n if (currentIndex !== -1 && currentIndex !== index) {\r\n // Reset any existing movement classes\r\n images[currentIndex].classList.remove(\"moveUp\", \"moveDown\");\r\n\r\n if (index > currentIndex) {\r\n // Moving forward → slide old one up\r\n images[currentIndex].classList.add(\"moveUp\");\r\n } else {\r\n // Moving backward → slide old one down\r\n images[currentIndex].classList.add(\"moveDown\");\r\n }\r\n\r\n setTimeout(() => {\r\n images[currentIndex].classList.remove(\"active\", \"moveUp\", \"moveDown\");\r\n }, 500); // Wait for transition to complete\r\n }\r\n\r\n // Add active class to the new image\r\n images[index].classList.add(\"active\");\r\n}\r\n\r\nfunction initVideoPlayer() {\r\n let playButton = document.querySelector(\".icon-box\");\r\n let innerContent = document.querySelector(\".inner--content\");\r\n let video = document.getElementById(\"videoBannerPoster\");\r\n\r\n if (!playButton || !innerContent || !video) return;\r\n\r\n playButton.addEventListener(\"click\", function () {\r\n // Hide inner content smoothly\r\n gsap.to(innerContent, {\r\n opacity: 0,\r\n duration: 0.2,\r\n onComplete: function () {\r\n innerContent.style.display = \"none\";\r\n },\r\n });\r\n\r\n // Remove poster and play the video\r\n video.removeAttribute(\"poster\"); // Remove poster before playing\r\n video.style.display = \"block\";\r\n gsap.fromTo(video, { opacity: 0 }, { opacity: 1, duration: 0.5 });\r\n video.play();\r\n });\r\n}\r\n\r\n// video modal\r\n\r\nfunction initVideoModal() {\r\n const openModalBtns = document.querySelectorAll(\"#openVideoModal\");\r\n const videoModal = document.getElementById(\"videoModal\");\r\n const closeModalBtn = document.querySelector(\".close-modal\");\r\n const modalVideo = document.getElementById(\"videoBannerPoster\");\r\n\r\n if (!openModalBtns.length || !videoModal || !closeModalBtn) {\r\n return;\r\n }\r\n\r\n if (!modalVideo) {\r\n console.error(\"Video element not found. Check the ID in your HTML.\");\r\n return;\r\n }\r\n\r\n function openModal() {\r\n gsap.set(videoModal, { zIndex: 999 });\r\n gsap.to(videoModal, {\r\n opacity: 1,\r\n visibility: \"visible\",\r\n duration: 0.5,\r\n ease: \"power2.out\",\r\n });\r\n modalVideo.play();\r\n toggleSmootherPause();\r\n }\r\n\r\n function closeModal() {\r\n gsap.to(videoModal, {\r\n opacity: 0,\r\n visibility: \"hidden\",\r\n duration: 0.5,\r\n ease: \"power2.in\",\r\n onComplete: () => {\r\n if (modalVideo) {\r\n // Check before calling pause\r\n modalVideo.pause();\r\n modalVideo.currentTime = 0;\r\n toggleSmootherPause();\r\n }\r\n },\r\n });\r\n }\r\n\r\n openModalBtns.forEach((btn) => {\r\n btn.addEventListener(\"click\", openModal);\r\n });\r\n closeModalBtn.addEventListener(\"click\", closeModal);\r\n\r\n videoModal.addEventListener(\"click\", function (event) {\r\n if (event.target === videoModal) {\r\n closeModal();\r\n }\r\n });\r\n}\r\n\r\nfunction initParallaxEffect() {\r\n const imgBoxes = document.querySelectorAll(\".img_box img\");\r\n\r\n imgBoxes.forEach((img) => {\r\n gsap.to(img, {\r\n yPercent: -15,\r\n ease: \"none\",\r\n scrollTrigger: {\r\n trigger: img.parentElement,\r\n start: \"top bottom\",\r\n end: \"bottom top\",\r\n scrub: 1,\r\n },\r\n });\r\n });\r\n}\r\n\r\n// document.addEventListener(\"DOMContentLoaded\", function () {\r\n// const observer = new MutationObserver((mutations) => {\r\n// mutations.forEach((mutation) => {\r\n// mutation.addedNodes.forEach((node) => {\r\n// if (\r\n// node.nodeType === 1 &&\r\n// node.classList.contains(\"mce_inline_error\")\r\n// ) {\r\n// // Check if icon is already added to prevent duplication\r\n// if (!node.querySelector(\".error-icon\")) {\r\n// const img = document.createElement(\"img\");\r\n// img.src = \"/assets/img/icon/close-icon.svg\";\r\n// img.alt = \"Error\";\r\n// img.classList.add(\"error-icon\");\r\n\r\n// // Insert the icon before the text\r\n// node.prepend(img);\r\n// }\r\n// }\r\n// });\r\n// });\r\n// });\r\n\r\n// observer.observe(document.body, { childList: true, subtree: true });\r\n// });\r\nfunction stickyFaqSect() {\r\n if (window.innerWidth > 600) {\r\n const leftContainer = document.querySelector(\".faqLeftContainer\");\r\n const rightContainer = document.querySelector(\".faqRightContainer\");\r\n const remToPx = (rem) =>\r\n rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\r\n const startOffset = remToPx(7.5);\r\n if (leftContainer && rightContainer) {\r\n gsap.to(leftContainer, {\r\n y: () => rightContainer.scrollHeight - leftContainer.scrollHeight,\r\n ease: \"none\",\r\n scrollTrigger: {\r\n trigger: rightContainer,\r\n start: `top-=${startOffset} top`,\r\n end: () =>\r\n `+=${rightContainer.scrollHeight - leftContainer.scrollHeight}`,\r\n scrub: true,\r\n },\r\n });\r\n }\r\n }\r\n}\r\n"]}