{"version":3,"sources":["main.js"],"names":["isRTL","$","attr","winWidth","window","width","winHeight","height","isPinned","lastScrollTop","topPos","bottomPos","isMobile","bannerPrev","assetsURL","bannerNext","match_Media","gsap","matchMedia","registerPlugin","ScrollTrigger","browserDetect","resize","initCustomScrollbar","domOnLoad","document","querySelector","classList","add","gsapImageParallax","gsapTextParallax","tem","ua","M","navigator","sayswho","userAgent","match","test","exec","slice","join","replace","appName","appVersion","splice","addClass","vhToPx","params","elem","translateValueInVh","length","$element","each","$animateTriggerElement","this","$animelement","find","translateY_","actualHeightEleWrapper","timeline","scrollTrigger","trigger","start","end","scrub","markers","fromTo","y","offset","top","ChangeToSvg","$img","imgID","imgClass","imgURL","get","data","$svg","removeAttr","replaceWith","on","initValidation","scrollTop","ourApproachSlider","animButton","isotopes","periodSpan","drawer","dataSrc","destroyCustomScrollbar","videoPlayerInit","clickVideoPopup","documentAccordion","initSelect2","multiSelect2","setTimeout","intAccordion","intlTelInputInit","validateForm","$target","selects2","inputsText","inputsEmail","inputsCheckbox","inputsCheckboxChecked","textareas","isValid","_","checkbox","input","value","textarea","val","placeholderAttr","otherOptionTitltAttr","optionSeparatorAttr","dropdownContainerClassAttr","showClearButtonAttr","clearButtonTitleAttr","select2","placeholder","closeOnSelect","dropdownCssClass","event","parent","prop","$clearAllButton","isotope","filter","append","e","selectedOptions","selectedCount","displayText","map","option","text","next","selectedText","target","i","$elemValue","$submitButton","eq","validate","errorElement","errorClass","focusInvalid","highlight","element","parents","unhighlight","removeClass","invalidHandler","form","validator","numberOfInvalids","hide","submitHandler","preventDefault","formData","FormData","formDataObject","Object","fromEntries","entries","formSubmit","errorPlacement","error","insertAfter","valid","scroll","st","addMethod","groupName","name","split","ready","click","toggleClass","slideUp","initTabsAccordion","megamenuHoveredheight","btn","isLeftIconBtn","hasClass","mouseenter","mouseleave","slick","sliderHeight","slidesToShow","slidesToScroll","arrows","fade","swipe","draggable","rtl","autoplay","infinite","speed","asNavFor","dots","focusOnSelect","nextArrow","prevArrow","appendArrows","appendDots","periodSpans","index","span","$span","innerHTML","html","updatedHTML","$isotopeContainer","itemSelector","layoutMode","filters","$select","filterGroup","filterValue","getSelectedValues","concatValues","console","log","obj","values","isCatTypeArray","Array","isArray","undefined","concat","generateThreeCombinations","generateCombinations","push","uniqueArray","self","indexOf","categories","types","combinations","forEach","cat","type","commites","commite","isMobileDevice","stickyBannerFunc","lottiePlayer","desktopLottiePath","getAttribute","mobileLottiePath","lottiePath","matches","lottieAnimation","lottie","loadAnimation","container","renderer","loop","path","impactSection","newRightSection","newRightSectionHeight","clientHeight","impactSectionTimeline","pin","anticipatePin","onUpdate","progress","toFixed","frame","Math","floor","goToAndStop","totalFrames","onEnter","onLeave","onEnterBack","onLeaveBack","boxes","utils","toArray","observer","IntersectionObserver","entry","isIntersecting","remove","root","rootMargin","threshold","yValue","box","observe","vh","innerHeight","to","backgroundColor","ease","onStart","onReverseComplete","$employeeDetails","closest","slideToggle","not","thisSrc","thisId","videojs","tarPlace","minimumResultsForSearch","videoPopup","etarget","play","pause","vidPlayer","videoUrl","videoClass","videoWidth","videoHeight","videoType","videoPoster","$content","fancybox","open","content","beforeShow","afterShow","src","poster","animate","opacity","beforeClose","dispose","$jsDrawers","$jsDrawersClose","$jsBody","$jsSliderElem","drawerId","parentElem","slideIndex","goToSlide","mCustomScrollbar","isDrawerOpenBtn","isDrawerConatainer","$this","dataIndex","slideDown","querySelectorAll","iti","intlTelInput","separateDialCode","initialCountry","currentIndex","tabs","totalTabs","activateTab","tab","tabId","show","nextTab","prevTab","prev","axis","theme","siblings","children","scrollTo","fadeOut","fadeIn","position","left","scrollLeft","keydown","which","isElementInViewport","$elem","docViewTop","docViewBottom","elemTop","banner","acceptButton","localStorage","getItem","setItem","bannerWrapperHeight","hover","subMenuIndex","is","tooltip","addEventListener","tooltipText","rect","getBoundingClientRect","windowWidth","innerWidth","paraDiv","schemeImageWrapper","right","nextDiv","nextElementSibling","secInvestment","gradient","scrollPosition","scrollY"],"mappings":"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","file":"scripts.min.js","sourcesContent":["var isRTL = $('html').attr('dir') == 'rtl' ? true : false,\r\n winWidth = $(window).width(),\r\n winHeight = $(window).height(),\r\n isPinned = false,\r\n lastScrollTop = 0,\r\n topPos = 0,\r\n bottomPos = 0;\r\n isMobile = false;\r\nvar assetsURL = isRTL ? '..' : '.';\r\nvar bannerPrev = `\r\n`;\r\nvar bannerNext = ``;\r\nvar match_Media = gsap.matchMedia();\r\ngsap.registerPlugin(ScrollTrigger);\r\n$(function () {\r\n if (winWidth < 767) {\r\n isMobile = true\r\n }\r\n browserDetect();\r\n});\r\n\r\n$(window).resize(function(){\r\n winWidth = $(window).width();\r\n winHeight = $(window).height();\r\n if (winWidth < 767) {\r\n isMobile = true\r\n }\r\n initCustomScrollbar();\r\n});\r\n\r\nvar isRTL = $('html').attr('dir') == 'rtl' ? true : false;\r\n\r\n$(window).on('load', function () {\r\n\r\n // Do after Page ready\r\n\tdomOnLoad();\r\n\tChangeToSvg();\r\n\tinitValidation('.js-form-validation');\r\n\tscrollTop();\r\n\tourApproachSlider();\r\n\tanimButton();\r\n\tisotopes();\r\n\tperiodSpan();\r\n\tdrawer()\r\n\tdataSrc();\r\n\tdestroyCustomScrollbar()\r\n\tvideoPlayerInit();\r\n\tclickVideoPopup();\r\n\tdocumentAccordion();\r\n\tinitSelect2(\".js-select2\");\r\n\tmultiSelect2('.js-multi-select2');\r\n\tsetTimeout(function () {\r\n\t\t$('html').addClass('dom-ready');\r\n ChangeToSvg();\r\n\t}, 200);\r\n\tintAccordion();\r\n intlTelInputInit();\r\n});\r\n\r\nfunction domOnLoad() {\r\n document.querySelector('body').classList.add('loaded');\r\n gsapImageParallax('.js-parllaxImg-trigger');\r\n gsapTextParallax('.js-parllaxText-trigger');\r\n}\r\n\r\n//Beowser Detect\r\nfunction browserDetect() {\r\n navigator.sayswho = (function () {\r\n var ua = navigator.userAgent,\r\n tem,\r\n M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\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// Convert Px to vh\r\nfunction vhToPx(params) {\r\n const windowHeight = $(window).height();\r\n const pxValue = (params * windowHeight) / 100;\r\n return pxValue;\r\n}\r\n\r\n//Parallax Image \r\nfunction gsapImageParallax(elem) {\r\n if($(elem).length){\r\n const $element = $(elem)\r\n const translateValueInVh = isMobile ? 5 : 15;\r\n // let startPoint = `center center`; // gsap trigger starts points\r\n let endPoint = `bottom 0% `; // gsap trigger ends points\r\n let scurbVlaue = 1.1;\r\n let isMarkers = false;\r\n $element.each(function () {\r\n var $animateTriggerElement = $(this)\r\n const $animelement = $animateTriggerElement.find('.js-parllaxImg')\r\n // const $animInnerBannerelement = $animateTriggerElement.find('.inner-banner')\r\n const translateY_ = vhToPx(translateValueInVh); // translate Y value in px\r\n const actualHeightEleWrapper = $animelement.height(); // here we set the height of fixed img wrapper\r\n $animelement.height(actualHeightEleWrapper + translateY_);\r\n const parallaxImgTl = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: $animateTriggerElement,\r\n start: `${actualHeightEleWrapper/2}px ${actualHeightEleWrapper/2}px`,\r\n end: endPoint,\r\n scrub: scurbVlaue,\r\n markers: isMarkers,\r\n },\r\n });\r\n parallaxImgTl.fromTo(\r\n $animelement,\r\n {\r\n y: 0,\r\n },\r\n {\r\n y: `-${translateY_}px`,\r\n }\r\n );\r\n \r\n })\r\n }\r\n}\r\n// Text Parallax Top Animate\r\nfunction gsapTextParallax(elem) {\r\n if($(elem).length){\r\n const $element = $(elem)\r\n const translateValueInVh = 10;\r\n // let startPoint = `top center`; \r\n let endPoint = `bottom 0% `;\r\n let scurbVlaue = 1;\r\n let isMarkers = false;\r\n $element.each(function () {\r\n var $animateTriggerElement = $(this)\r\n const translateY_ = vhToPx(translateValueInVh);\r\n const actualHeightEleWrapper = $animateTriggerElement.offset()\r\n const parallaxTopTl = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: $animateTriggerElement,\r\n // start: startPoint,\r\n start: `top ${actualHeightEleWrapper.top}px`,\r\n end: endPoint,\r\n scrub: scurbVlaue,\r\n markers: isMarkers,\r\n },\r\n });\r\n parallaxTopTl.fromTo(\r\n $animateTriggerElement,\r\n {\r\n y: 0,\r\n },\r\n {\r\n y: `-${translateY_}px`,\r\n }\r\n );\r\n });\r\n }\r\n}\r\n\r\n// Change Image to Svg\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 (!$svg.attr('viewBox') && $svg.attr('height') && $svg.attr('width')) {\r\n $svg.attr('viewBox', '0 0 ' + $svg.attr('height') + ' ' + $svg.attr('width'));\r\n }\r\n $img.replaceWith($svg);\r\n },\r\n 'xml'\r\n );\r\n });\r\n}\r\n// set isRTL based on HTML dir attribute\r\nvar isRTL = $('html').attr('dir') == 'rtl' ? true : false;\r\n\r\n$.validator.addMethod('validEmail', value => /^([A-Za-z0-9_\\-\\.\\%\\$\\&\\'\\(\\)\\*\\+/])+\\@([A-Za-z0-9_\\-\\.\\%\\$\\&\\'\\(\\)\\*\\+/])+\\.([a-z]{2,4})$/gi.test(value));\r\n\r\n$.validator.addMethod('validName', value => /^[a-zA-Z\\s]+$/.test(value));\r\n$.validator.addMethod('atLeastOneChecked', function(value, element) {\r\n var groupName = element.name.split('_')[0]; // Extract the group name from the checkbox name\r\n return $('input[name^=\"' + groupName + '\"]:checked').length > 0;\r\n}, 'Please select at least one option in each group.');\r\n\r\n// Form Validation\r\nfunction validateForm($target) {\r\n const selects2 = $target.find('select');\r\n const inputsText = $target.find('input[type=\"text\"]');\r\n const inputsEmail = $target.find('input[type=\"email\"]');\r\n const inputsCheckbox= $target.find('input[type=\"checkbox\"]');\r\n const inputsCheckboxChecked= $target.find('input[type=\"checkbox\"]:checked');\r\n const textareas = $target.find('textarea');\r\n let isValid = true;\r\n\r\n if(inputsCheckbox){\r\n inputsCheckbox.each((_, checkbox) => {\r\n if (inputsCheckboxChecked.length === 0) {\r\n isValid = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n if(inputsText){\r\n inputsText.each((_, input) => {\r\n if (input.value === '') {\r\n isValid = false;\r\n }\r\n });\r\n }\r\n\r\n if(inputsEmail){\r\n inputsEmail.each((_, input) => {\r\n if (input.value === '') {\r\n isValid = false;\r\n }\r\n });\r\n }\r\n\r\n if(textareas){\r\n textareas.each((_, textarea) => {\r\n if (textarea.value === '') {\r\n isValid = false;\r\n }\r\n });\r\n }\r\n\r\n if(selects2){\r\n if (selects2.val() === '') {\r\n isValid = false;\r\n }\r\n }\r\n\r\n if (isValid) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\nfunction multiSelect2(params) {\r\n if ($(params).length) {\r\n const $elements = $(params);\r\n\r\n $elements.each(function () {\r\n const $element = $(this);\r\n const placeholderAttr = $element.attr('data-placeholder');\r\n const otherOptionTitltAttr = $element.attr('data-other-option-title');\r\n const optionSeparatorAttr = $element.attr('data-option-separator');\r\n const dropdownContainerClassAttr = $element.attr('data-dropdown-container-class');\r\n const showClearButtonAttr = $element.attr('data-show-clear-button') === 'true';\r\n const clearButtonTitleAttr = $element.attr('data-clear-button-title');\r\n \r\n $element.select2({\r\n placeholder: placeholderAttr,\r\n closeOnSelect: false,\r\n dropdownCssClass: dropdownContainerClassAttr,\r\n });\r\n\r\n $element.on('select2:opening', function (event) {\r\n var $searchfield = $(this).parent().find('.select2-search__field');\r\n $searchfield.prop('disabled', true);\r\n });\r\n\r\n $element.on('select2:open', function () {\r\n if (clearButtonTitleAttr && showClearButtonAttr && !$('.select2-clear-all').length) {\r\n var $clearAllButton = $(``);\r\n $clearAllButton.on('click', function () {\r\n $element.val(null).trigger('change');\r\n $element.select2('close');\r\n $element.select2('open');\r\n\r\n // If \"Clear All\" is clicked, show all items\r\n if( $('#isotopeContainer').length){\r\n $('#isotopeContainer').isotope({\r\n filter: '*'\r\n });\r\n }\r\n\r\n });\r\n $('.select2-dropdown').append($clearAllButton);\r\n }\r\n });\r\n\r\n $element.on('change', function (e) {\r\n // var selectedValues = $(this).val();\r\n // console.log(selectedValues, '--selectedValues');\r\n // var selectedCount = selectedValues ? selectedValues.length : 0;\r\n // if (selectedCount > 2) {\r\n // var displayText = selectedValues.slice(0, 1).join('') + ` ${optionSeparatorAttr} ${selectedCount - 1} ${otherOptionTitltAttr}`;\r\n // $element.next().find('.select2-selection__rendered').text(displayText);\r\n // } else {\r\n // $element.next().find('.select2-selection__rendered').text(selectedValues.join(` ${optionSeparatorAttr} `));\r\n // }\r\n\r\n // Get the selected options\r\n var selectedOptions = $element.select2('data');\r\n var selectedCount = selectedOptions ? selectedOptions.length : 0;\r\n if (selectedCount > 2) {\r\n var displayText = selectedOptions.slice(0, 1).map(option => option.text).join('') +\r\n ` ${optionSeparatorAttr} ${selectedCount - 1} ${otherOptionTitltAttr}`;\r\n $element.next().find('.select2-selection__rendered').text(displayText);\r\n } else {\r\n var selectedText = selectedOptions.map(option => option.text).join(` ${optionSeparatorAttr} `);\r\n $element.next().find('.select2-selection__rendered').text(selectedText);\r\n }\r\n });\r\n\r\n });\r\n }\r\n}\r\nfunction initValidation(target) {\r\n if ($(target).length) {\r\n var $target = $(target);\r\n $target.each(function (i, e) {\r\n const $elemValue = $(this) \r\n var $submitButton = $elemValue.find('.js-btn');\r\n $submitButton.prop('disabled', true);\r\n \r\n var v = $target.eq(i).validate({\r\n errorElement: 'span',\r\n errorClass: 'error-txt body9',\r\n focusInvalid: false,\r\n highlight: function (element) {\r\n $(element).parents('.form-group').addClass('invalid-field');\r\n },\r\n unhighlight: function (element) {\r\n $(element).parents('.form-group').removeClass('invalid-field');\r\n },\r\n invalidHandler: function (form, validator, element) {\r\n var errors = validator.numberOfInvalids();\r\n if (errors) {\r\n $(element).parents('.form-group').addClass('invalid-field');\r\n } else {\r\n $target.find('.error-msg').hide();\r\n }\r\n },\r\n submitHandler: function (form, validator) {\r\n event.preventDefault();\r\n var formData = new FormData(form);\r\n\r\n var formDataObject = Object.fromEntries(formData.entries());\r\n\r\n formSubmit(formDataObject , form);\r\n // $elemValue.find('select').val('').trigger(\"change\");\r\n // $(form).trigger('reset');\r\n $submitButton.prop('disabled', true);\r\n },\r\n errorPlacement: function (error, element) {\r\n if (element.attr('designation') === 'checkbox') {\r\n // Handle checkbox or intlTelInput error placement as needed\r\n } else {\r\n error.insertAfter(element);\r\n }\r\n },\r\n });\r\n $elemValue.find('input, textarea').on('keyup change blur', function () {\r\n if ($(this).valid() && validateForm($elemValue)) {\r\n $submitButton.prop('disabled', false);\r\n } else {\r\n $submitButton.prop('disabled', true);\r\n }\r\n });\r\n $elemValue.find('select').on('select2:closing', function () {\r\n if ($(this).valid() && validateForm($elemValue)) {\r\n $submitButton.prop('disabled', false);\r\n } else {\r\n $submitButton.prop('disabled', true);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nfunction scrollTop() {\r\n \r\n $(window).scroll(function () {\r\n var st = $(this).scrollTop();\r\n if (st > lastScrollTop) {\r\n $('body').addClass('bodyScrolled');\r\n $('body').removeClass('scrollTop');\r\n $('body').removeClass('menuOpen');\r\n $('.menu-link').removeClass('active');\r\n $('.sub-menu .sub-list').removeClass('show--menu');\r\n $('.sub-menu').removeClass('show');\r\n $('.sub-menu .sub-menu-link').removeClass('active');\r\n $('.sub-menu .additional-menu').removeClass('show--menu');\r\n $('.subMenu-list').removeClass('show');\r\n $('.mega-menu-cover').height(0);\r\n } else {\r\n\r\n if (!isPinned) {\r\n \r\n \r\n }else{\r\n \r\n }\r\n $('body').addClass('scrollTop');\r\n $('body').removeClass('bodyScrolled');\r\n }\r\n if (st === 0) {\r\n $('body').removeClass('scrollTop');\r\n $('body').removeClass('bodyScrolled');\r\n }\r\n\r\n lastScrollTop = st;\r\n });\r\n}\r\n$(document).ready(function () {\r\n $('.menuIcon').click(function () {\r\n $('body').toggleClass('menu--open');\r\n $('body').toggleClass('menuOpen');\r\n $('.menu-link').find('.active').removeClass('active');\r\n $('.menu-link').find('.active').removeClass('active');\r\n $('.menu-link').removeClass('active')\r\n $('.subMenu-list').slideUp();\r\n $('.subMenu-list-items').slideUp();\r\n });\r\n initTabsAccordion();\r\n initCustomScrollbar();\r\n});\r\n\r\nvar assetsURL = isRTL ? '..' : '.';\r\n\r\n// Animate Buttons\r\nfunction animButton() {\r\n const buttons = $('.js-btn');\r\n\r\n buttons.each((i, btn) => {\r\n const isLeftIconBtn = $(btn).hasClass('js-left-icon-btn');\r\n\r\n $(btn).mouseenter(() => {\r\n if (!isRTL) {\r\n $(btn).toggleClass('anim-btn', !isLeftIconBtn);\r\n $(btn).toggleClass('reverse-anim-btn', isLeftIconBtn);\r\n } else {\r\n $(btn).toggleClass('anim-btn', isLeftIconBtn);\r\n $(btn).toggleClass('reverse-anim-btn', !isLeftIconBtn);\r\n }\r\n });\r\n\r\n $(btn).mouseleave(() => {\r\n if (!isRTL) {\r\n $(btn).toggleClass('anim-btn', isLeftIconBtn);\r\n $(btn).toggleClass('reverse-anim-btn', !isLeftIconBtn);\r\n } else {\r\n $(btn).toggleClass('anim-btn', !isLeftIconBtn);\r\n $(btn).toggleClass('reverse-anim-btn', isLeftIconBtn);\r\n }\r\n });\r\n });\r\n}\r\n\r\n// Our Approach Slider\r\nfunction ourApproachSlider() {\r\n $('.our-approach-section-slider-left').on('init', function(event, slick){\r\n if (winWidth < 1200) {\r\n var sliderHeight = ($('.our-approach-section-slider-left').height() - 60 );\r\n $('.our-approach-section-slider-left .slider-item').height(sliderHeight)\r\n }\r\n });\r\n $('.our-approach-section-slider-left').slick({\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n fade: true,\r\n swipe: false,\r\n draggable: false,\r\n rtl: isRTL,\r\n autoplay: false,\r\n infinite: true,\r\n speed: 500,\r\n asNavFor: '.our-approach-section-slider-right',\r\n });\r\n \r\n $('.our-approach-section-slider-right').slick({\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n asNavFor: '.our-approach-section-slider-left',\r\n dots: true,\r\n focusOnSelect: true,\r\n draggable: false,\r\n swipe: false,\r\n fade: false,\r\n rtl: isRTL,\r\n autoplay: false,\r\n speed: 500,\r\n nextArrow: bannerNext,\r\n prevArrow: bannerPrev,\r\n appendArrows: `.js-slide-arrow`,\r\n appendDots: '.js-dots',\r\n infinite: true,\r\n });\r\n}\r\n\r\nfunction periodSpan() {\r\n const periodSpans = $('.js-period-span');\r\n\r\n if (periodSpans.length > 0) {\r\n periodSpans.each((index, span) => {\r\n const $span = $(span);\r\n const innerHTML = $span.html();\r\n let updatedHTML = '';\r\n\r\n for (let i = 0; i < innerHTML.length; i++) {\r\n if (innerHTML[i] === '.') {\r\n updatedHTML += '.';\r\n } else {\r\n updatedHTML += innerHTML[i];\r\n }\r\n }\r\n\r\n $span.html(updatedHTML);\r\n });\r\n }\r\n}\r\n\r\n// initialize Isotopes\r\nfunction isotopes() {\r\n var $isotopeContainer = $('.js-isotope-wrapper').isotope({\r\n itemSelector: '.employee-details',\r\n layoutMode: 'fitRows'\r\n });\r\n var filters = [];\r\n $('.filters').on('change', function(event) {\r\n var $select = $( event.target );\r\n var filterGroup = $select.attr('value-group');\r\n filters[filterGroup] = getSelectedValues($select);\r\n var filterValue = concatValues( filters );\r\n console.log(filterValue ,'--filterValue')\r\n $isotopeContainer.isotope({ filter: filterValue });\r\n });\r\n}\r\n\r\nfunction getSelectedValues($select) {\r\n var selectedValues = $select.val();\r\n return selectedValues || []; \r\n}\r\n\r\nfunction concatValues(obj) {\r\n var values = [];\r\n var isCatTypeArray = false\r\n for (var prop in obj) {\r\n if (Array.isArray(obj[prop])) { \r\n if(obj['designation'] != undefined && obj['designation'].length > 0 && obj['function'] != undefined && obj['function'].length > 0 && obj['commite'] != undefined && obj['commite'].length > 0){\r\n values = values.concat(generateThreeCombinations(obj['commite'], obj['function'], obj['designation']));\r\n isCatTypeArray = true\r\n }else if(obj['designation'] != undefined && obj['designation'].length > 0 && obj['function'] != undefined && obj['function'].length > 0){\r\n values = values.concat(generateCombinations(obj['function'], obj['designation']));\r\n isCatTypeArray = true\r\n }else if(obj['commite'] != undefined && obj['commite'].length > 0 && obj['function'] != undefined && obj['function'].length > 0){\r\n values = values.concat(generateCombinations(obj['function'], obj['commite']));\r\n isCatTypeArray = true\r\n }else if(obj['designation'] != undefined && obj['designation'].length > 0 && obj['commite'] != undefined && obj['commite'].length > 0){\r\n values = values.concat(generateCombinations(obj['commite'], obj['designation']));\r\n isCatTypeArray = true\r\n }\r\n else{\r\n values = values.concat(obj[prop]);\r\n isCatTypeArray = false\r\n }\r\n } else {\r\n isCatTypeArray = false\r\n values.push(`${obj[prop]}`);\r\n }\r\n }\r\n \r\n let uniqueArray = values.filter((value, index, self) => {\r\n return self.indexOf(value) === index;\r\n })\r\n return isCatTypeArray ? uniqueArray.join(', ') : values.join(', ');\r\n}\r\n\r\nfunction generateCombinations(categories, types) {\r\n const combinations = [];\r\n categories.forEach(function (cat) {\r\n types.forEach(function (type) {\r\n combinations.push(`${cat}${type}`);\r\n });\r\n });\r\n \r\n return combinations;\r\n}\r\n\r\nfunction generateThreeCombinations(categories, types, commites) {\r\n const combinations = [];\r\n categories.forEach(function (cat) {\r\n types.forEach(function (type) {\r\n commites.forEach(function (commite) {\r\n combinations.push(`${cat}${type}${commite}`);\r\n });\r\n });\r\n });\r\n\r\n return combinations;\r\n}\r\n\r\n\r\n// Enhanced function to detect a wide range of mobile devices, including iPhone, iPad, Android, etc.\r\nfunction isMobileDevice() {\r\n return /Mobi|Android|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile|WPDesktop|Mobile/i.test(navigator.userAgent);\r\n}\r\n\r\n\r\n\r\nfunction stickyBannerFunc(){\r\n $(window).on('beforeunload', function(){\r\n $(window).scrollTop(0);\r\n});\r\n\r\nconst lottiePlayer = document.querySelector('#lottie-player');\r\n\r\n if(lottiePlayer){\r\n \r\n const desktopLottiePath = lottiePlayer.getAttribute('data-desktop-json');\r\n const mobileLottiePath = lottiePlayer.getAttribute('data-mob-json');\r\n \r\n const lottiePath = window.matchMedia(`(max-width: 991px)`).matches ? mobileLottiePath : desktopLottiePath;\r\n\r\n const lottieAnimation = lottie.loadAnimation({\r\n container: lottiePlayer,\r\n renderer: 'svg',\r\n loop: false,\r\n autoplay: false,\r\n path: lottiePath \r\n });\r\n\r\n \r\n const impactSection = $('.sticky-banner')\r\n \r\n const newRightSection = document.querySelector(\".timeline-wrapper\");\r\n const newRightSectionHeight = newRightSection?.clientHeight;\r\n\r\n const impactSectionTimeline = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: impactSection,\r\n start: \"top top\",\r\n pin: true,\r\n // pinSpacing: true,\r\n end: () => window.matchMedia(`(max-width: 991px)`).matches ? `${newRightSectionHeight * 4.5}px` : `${newRightSectionHeight * 3}px`,\r\n // pinContainer: textContainer,\r\n scrub: true,\r\n anticipatePin: window.matchMedia(`(max-width:991px)`).matches ? 1 : 0,\r\n onUpdate: (self) => {\r\n const progress = self.progress.toFixed(3); \r\n // const totalFrames = lottieAnimation.totalFrames; \r\n const totalFrames = 180; \r\n // const stopFrame = 180; \r\n let frame = Math.floor(progress * totalFrames); \r\n // if (frame > stopFrame) {\r\n // frame = stopFrame;\r\n // }\r\n if (progress >= 1) {\r\n frame = totalFrames - 1;\r\n }\r\n lottieAnimation.goToAndStop(frame, true);\r\n },\r\n onEnter: () => {\r\n // isPinned = true; \r\n // $('body').removeClass('scrollTop');\r\n },\r\n onLeave: () => {\r\n // isPinned = false; \r\n // $('body').addClass('scrollTop');\r\n // lottieAnimation.goToAndStop(lottieAnimation.totalFrames - 1, true);\r\n lottieAnimation.goToAndStop(totalFrames - 1, true);\r\n\r\n },\r\n onEnterBack: () => {\r\n // $('body').removeClass('scrollTop');\r\n },\r\n onLeaveBack: () => {\r\n // $('body').addClass('scrollTop');\r\n lottieAnimation.goToAndStop(0, true);\r\n },\r\n },\r\n });\r\n \r\n const boxes = gsap.utils.toArray(\".timeline-wrapper .content-box .item\");\r\n\r\n const observerOptions = {\r\n root: null, // Uses the viewport as the root\r\n rootMargin: '0px',\r\n threshold: 0.8 // Trigger when 50% of the box is visible\r\n };\r\n \r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('active');\r\n } else {\r\n entry.target.classList.remove('active');\r\n }\r\n });\r\n }, observerOptions);\r\n \r\n boxes.forEach(box => {\r\n observer.observe(box);\r\n }); \r\n\r\n let yValue;\r\n if($(window).width() > 991){\r\n switch (boxes.length) {\r\n case 1:\r\n yValue = \"0%\";\r\n break;\r\n case 2:\r\n yValue = \"-28%\";\r\n break;\r\n case 3:\r\n yValue = \"-69%\";\r\n break;\r\n case 4:\r\n yValue = \"-90%\";\r\n break;\r\n case 5:\r\n yValue = \"-100%\";\r\n break;\r\n default:\r\n yValue = \"-130%\"; // Default value if boxes count is more than 5\r\n }\r\n }\r\n else if($(window).width() > 767 && $(window).width() < 991){\r\n switch (boxes.length) {\r\n case 1:\r\n yValue = \"0%\";\r\n break;\r\n case 2:\r\n yValue = \"-28%\";\r\n break;\r\n case 3:\r\n yValue = \"-43%\";\r\n break;\r\n case 4:\r\n yValue = \"-90%\";\r\n break;\r\n case 5:\r\n yValue = \"-100%\";\r\n break;\r\n default:\r\n yValue = \"-130%\"; // Default value if boxes count is more than 5\r\n }\r\n }\r\n else if ($(window).width() < 767){\r\n const vh = window.innerHeight * 0.01; // 1vh in pixels\r\n const totalBoxes = boxes.length;\r\n switch (boxes.length) {\r\n case 1:\r\n yValue = `calc(100vh - 40vh)`; // \"4%\";\r\n break;\r\n case 2:\r\n yValue = `calc(100vh - 50vh)`; //\"-28%\";\r\n break;\r\n case 3:\r\n yValue = `${-40 * vh}px`; //\"-128%\";\r\n break;\r\n case 4:\r\n yValue = \"-210%\";\r\n break;\r\n case 5:\r\n yValue = \"-210%\";\r\n break;\r\n default:\r\n yValue = \"-300%\"; // Default value if boxes count is more than 5\r\n }\r\n }\r\n\r\n impactSectionTimeline\r\n .to(\".colorchange\", {\r\n backgroundColor: \"rgba(20, 33, 50, 1)\", // Final background color with transparency\r\n // duration: 0.3, // Transition duration\r\n ease: \"power2.inOut\" // Smooth easing\r\n }, window.matchMedia(`(max-width: 767px)`).matches ? `<=+.55` : `<=+.5`)\r\n \r\n // if($(window).width() > 767){\r\n\r\n \r\n impactSectionTimeline.fromTo(\r\n newRightSection, {\r\n y: `100%`,\r\n },{\r\n y: yValue\r\n }, window.matchMedia(`(max-width: 767px)`).matches ? `<=+.3` : `<=+.3`)\r\n\r\n // }\r\n // else{\r\n // // on mobile\r\n \r\n // boxes.forEach((box, index) => {\r\n // const positionOffset = (index + 1) * 100;\r\n // // Fade in the current item and fade out the previous item\r\n // impactSectionTimeline\r\n // .to(box, { opacity: 1, translateY: 0,delay: index * 0.5 })\r\n // .to(box, { opacity: 1, translateY: `-${positionOffset}%` }, '+=0.5');\r\n // });\r\n // }\r\n\r\n\r\n \r\n\r\n\r\n\r\n impactSectionTimeline.to(\".content-blocked\", {\r\n onStart: () => {\r\n // Add class when this part of the timeline starts\r\n document.querySelector('.content-blocked').classList.add('top-overlay');\r\n },\r\n onReverseComplete: () => {\r\n // Remove class when the timeline reverses (when leaving)\r\n document.querySelector('.content-blocked').classList.remove('top-overlay');\r\n }\r\n },'<=+0.1');\r\n\r\n\r\n }\r\n}\r\n\r\n$(document).ready(function () {\r\n $('.js-accordion').on('click', function () {\r\n // Toggle active class for accordion\r\n $(this).toggleClass('active');\r\n\r\n // Toggle visibility of the associated more-info section\r\n var $employeeDetails = $(this).closest('.employee-details');\r\n $employeeDetails.find('.js-collapse').slideToggle(200, function () {\r\n // Trigger Isotope layout after the slideToggle animation is complete\r\n $('.js-isotope-wrapper').isotope('layout');\r\n });\r\n\r\n // Toggle active class for the clicked employee details\r\n $employeeDetails.toggleClass('active');\r\n\r\n // Remove \"active\" class from other accordions and employee details\r\n $('.js-accordion').not(this).removeClass('active');\r\n $('.js-collapse').not($employeeDetails.find('.js-collapse')).slideUp(200);\r\n $('.employee-details').not($employeeDetails).removeClass('active');\r\n });\r\n // stickyBannerFunc();\r\n stickyBannerFunc()\r\n});\r\n\r\nfunction documentAccordion() {\r\n $('.js-accordion-document').on('click', function () {\r\n // Toggle active class for accordion\r\n $(this).toggleClass('active');\r\n\r\n var $employeeDetails = $(this).closest('.accordion-item');\r\n $employeeDetails.find('.js-collapse').slideToggle(500, function () {});\r\n\r\n // Toggle active class for the clicked accordion item\r\n $employeeDetails.toggleClass('active');\r\n\r\n // Remove \"active\" class from other accordion items\r\n $('.js-accordion-document').not(this).removeClass('active');\r\n $('.js-collapse').not($employeeDetails.find('.js-collapse')).slideUp(200);\r\n $('.accordion-item').not($employeeDetails).removeClass('active');\r\n });\r\n\r\n // Trigger click on the first accordion item\r\n $('.js-accordion-document:first').click();\r\n}\r\n\r\n$('.js-accordion-document-2').on('click', function () {\r\n // Toggle active class for accordion\r\n $(this).toggleClass('active');\r\n // Toggle visibility of the associated more-info section with animation\r\n var $employeeDetails = $(this).closest('.accordion-item');\r\n $employeeDetails.find('.js-collapse').slideToggle(200, function () {\r\n // Check if the accordion is now open\r\n if ($employeeDetails.hasClass('active')) {\r\n // Animate image when opening accordion\r\n $employeeDetails.find('.image-box').animate(\r\n {\r\n opacity: 1,\r\n },\r\n 200\r\n );\r\n } else {\r\n // Animate image when closing accordion\r\n $employeeDetails.find('.image-box').animate(\r\n {\r\n opacity: 0,\r\n },\r\n 200\r\n );\r\n }\r\n });\r\n // Toggle active class for the clicked accordion item\r\n $employeeDetails.toggleClass('active');\r\n // Remove \"active\" class from other accordion items\r\n $('.js-accordion-document-2').not(this).removeClass('active');\r\n $('.js-collapse').not($employeeDetails.find('.js-collapse')).slideUp(200);\r\n $('.accordion-item').not($employeeDetails).removeClass('active');\r\n});\r\n\r\nfunction dataSrc() {\r\n if (winWidth < 768) {\r\n $('[data-mobile-src]').each(function () {\r\n var thisSrc = $(this).attr('data-mobile-src');\r\n $(this).attr('src', thisSrc);\r\n });\r\n $('[data-mobile-poster]').each(function () {\r\n var thisSrc = $(this).attr('data-mobile-poster');\r\n $(this).attr('poster', thisSrc);\r\n });\r\n } else {\r\n $('[data-desktop-src]').each(function () {\r\n var thisSrc = $(this).attr('data-desktop-src');\r\n $(this).attr('src', thisSrc);\r\n });\r\n $('[data-desktop-poster]').each(function () {\r\n var thisSrc = $(this).attr('data-desktop-poster');\r\n $(this).attr('poster', thisSrc);\r\n });\r\n }\r\n}\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 var player = videojs(thisId);\r\n });\r\n}\r\n\r\n$(document).on('click', '.play-btn-js', function () {\r\n $(this).hide();\r\n var video = $(this).siblings('.my-video-js').children('video').get(0);\r\n video.play();\r\n});\r\n\r\nif (winWidth > 768) {\r\n $('.header .header-wrapper .header-listing .sec--menu ul').mCustomScrollbar('destroy');\r\n}\r\n\r\nfunction initSelect2(target) {\r\n var target = $(target);\r\n target.each(function (i, e) {\r\n var tarPar = $(e).parent(\".select2-box\");\r\n var tarPlace = $(e).data(\"placeholder\");\r\n var dataClass = $(e).data(\"class\");\r\n $(e).select2({\r\n placeholder: tarPlace,\r\n minimumResultsForSearch: -1\r\n });\r\n });\r\n}\r\n\r\n$(\"#goto-contact\").click(function() {\r\n $('html, body').animate({\r\n scrollTop: ($(\"#contactBar\").offset().top - 100)\r\n }, 2000);\r\n});\r\n\r\n$('.tab-menu ul li a').on('click', function(){\r\n var target = $(this).attr('data-rel');\r\n $('.tab-menu ul li a').removeClass('active');\r\n $(this).addClass('active');\r\n $(\".tab-box:visible\").fadeOut(300, function() {\r\n $(\"#\" + target).fadeIn(400);\r\n });\r\n if ($(window).width() <= 768) {\r\n var tabPosition = $(this).parent().position().left;\r\n var containerScroll = $('.tab-menu ul').scrollLeft();\r\n var scrollTo = tabPosition + containerScroll - 30;\r\n $('.tab-menu ul').animate({ scrollLeft: scrollTo }, 'slow');\r\n }\r\n if ($('.js-create-long-term').hasClass('sec-create-long-term')) {\r\n $('html, body').animate({\r\n scrollTop: ($(\".etf-detail-wrapper\").offset().top - 200)\r\n }, 400);\r\n } else {\r\n $('html, body').animate({\r\n scrollTop: ($(\".etf-detail-wrapper\").offset().top)\r\n }, 100);\r\n }\r\n return false;\r\n});\r\n\r\n$('.page--wrapper, .footer-section').on('click', function(){\r\n $('body').removeClass('menuOpen');\r\n $('.menu-link').removeClass('active');\r\n $('.sub-menu .sub-menu-link').removeClass('active');\r\n $('.additional-menu').removeClass('show--menu');\r\n $('.subMenu-list').removeClass('show');\r\n $('.lan-dr').removeClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').removeClass(\"lang--switch\");\r\n $('.mega-menu-cover').height(0)\r\n});\r\n\r\n// Press scape\r\n$(document).keydown(function(event) {\r\n if (event.which === 27) {\r\n $('body').removeClass('menuOpen');\r\n $('body').removeClass('menu--open');\r\n $('.menu-link').removeClass('active');\r\n $('.sub-menu .sub-menu-link').removeClass('active');\r\n $('.additional-menu').removeClass('show--menu');\r\n $('.subMenu-list').removeClass('show');\r\n $('.mega-menu-cover').height(0);\r\n }\r\n});\r\n\r\nfunction clickVideoPopup() {\r\n\t$('body')\r\n\t\t.on('click', '.js-videoPopup', function () {\r\n\t\t\tvideoPopup($(this));\r\n\t\t})\r\n\t\t.on('click touchstart', '.parent-cl', function (e) {\r\n\t\t\t$(this).parents('.video-box').toggleClass('play-video');\r\n\t\t\tvar etarget = $(e.target);\r\n\t\t\tif (winWidth < 1300) {\r\n\t\t\t\tif (etarget.parents('.video-box').hasClass('play-video')) {\r\n\t\t\t\t\tetarget[0].play();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tetarget[0].pause();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n}\r\nfunction videoPopup(target) {\r\n\tvar $target = $(target);\r\n\tvar videoUrl;\r\n\tvar vidPlayer = null;\r\n\tif (winWidth < 768) {\r\n\t\tvideoUrl = $target.data('mobile-url');\r\n\t} else {\r\n\t\tvideoUrl = $target.data('desktop-url');\r\n\t}\r\n\tvar videoClass = $target.data('video-class');\r\n\tvar videoWidth = $target.data('width');\r\n\tvar videoHeight = $target.data('height');\r\n\tvar videoType = $target.data('video-type');\r\n\tvar videoPoster = $target.data('video-poster') || null;\r\n\tvar techOrder = ['html5', 'youtube', 'wistia'];\r\n\tvar $content =\r\n\t\t'
';\r\n\t$.fancybox.open({\r\n\t\ttype: 'html',\r\n\t\tcontent: $content,\r\n\t\tbeforeShow: function () {\r\n\t\t\t$('body').addClass('is--videopopup');\r\n\t\t\t$('.fancybox-container').addClass(videoClass);\r\n\t\t},\r\n\t\tafterShow: function () {\r\n\t\t\tvidPlayer = videojs('lightboxVideo', function () {\r\n\t\t\t\ttechOrder;\r\n\t\t\t});\r\n\t\t\tvidPlayer.src({\r\n\t\t\t\ttype:\r\n\t\t\t\t\tvideoType === 'youtube'\r\n\t\t\t\t\t\t? 'video/youtube'\r\n\t\t\t\t\t\t: videoType === 'wistia'\r\n\t\t\t\t\t\t\t? 'video/wistia'\r\n\t\t\t\t\t\t\t: 'video/mp4',\r\n\t\t\t\tsrc:\r\n\t\t\t\t\tvideoType === 'youtube'\r\n\t\t\t\t\t\t? 'https://www.youtube.com/watch?v=' + videoUrl\r\n\t\t\t\t\t\t: videoType === 'wistia'\r\n\t\t\t\t\t\t\t? 'http://fast.wistia.com/embed/iframe/' + videoUrl\r\n\t\t\t\t\t\t\t: videoUrl,\r\n\t\t\t});\r\n\t\t\tif (videoPoster) vidPlayer.poster(videoPoster);\r\n\t\t\tvidPlayer.on('ready', function () {\r\n\t\t\t\tvidPlayer.play();\r\n\t\t\t});\r\n\t\t\t$('.popup-video').animate(\r\n\t\t\t\t{\r\n\t\t\t\t\topacity: '1',\r\n\t\t\t\t},\r\n\t\t\t\t500\r\n\t\t\t);\r\n\t\t},\r\n\t\tbeforeClose: function () {\r\n\t\t\t$('body').removeClass('is--videopopup');\r\n\t\t\tvideojs('lightboxVideo').dispose();\r\n\t\t},\r\n\t});\r\n}\r\n\r\n// Section Animation\r\n$(document).ready(function() {\r\n // Function to check if element is in viewport\r\n setTimeout(function() {\r\n if ($(window).scrollTop() === 0) {\r\n $('.header').addClass('header-animate');\r\n }\r\n $('.sec-banner .banner-wrapper .banner-content ').addClass('sec-animate');\r\n $(' .who-we-are-section .who-we-are-wrap .content-wrapper .content.sty-1, .who-we-are-section .who-we-are-wrap .bottom-info .info-wrapper .info-box, .sec-banner.inner-banner .banner-wrapper .banner-content.sty1, .sec-breadcrumb, .core-investment-section .core-investment-wrap .content-wrapper .content.sty-1, .core-investment-section .core-investment-wrap .accordion .accordion-item .accordion-header, .sec-banner.sty2, .sec-testimonial .testimonial-wrapper .post-box, .footer-section .footer-top .footer-top-left, .footer-section .footer-middle .footer-middle-left, .sec-banner .banner-wrapper .banner-content .bannerTitle-wrap, .our-approach-section .our-approach-section-top .our-approach-section-top-left, .our-approach-section .our-approach-section-slider .our-approach-section-bottom-flex, .news-section .news-wrap .info-wrapper .content.sty-1, .news-section .news-wrap .bottom-sec .tabs-wrapper .tabs, .strategy-section .strategy-section-wrap .content-wrapper .content.sty-1, .strategy-section .strategy-section-wrap .cards-wrapper .card, .sec-climat-economy .post-box .post-content, .sec-news-detail .news-detail-wrapper .sec-bg img, .sec-news-detail .news-detail-wrapper .publish-date, .sec-news-detail .news-detail-wrapper .detail-box .news-title, .sec-news-detail .news-detail-wrapper .detail-box .heading6, .sec-news-detail .news-detail-wrapper .detail-box p, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content .heading6, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content ul li, .sec-news-detail .news-detail-wrapper .detail-box .video-box, .sec-related-news .sec-title, .sec-related-news .related-news-wrapper .postBox, .sec-news-detail .news-detail-wrapper .detail-box ul.invest li, .meet-the-team-section .meet-the-team-wrap .content-wrapper .content.sty-1, .life-at-lunate-section .strategy-section-wrap .image-wrap, .sec-content-page .content-page-wrapper .heading6, .sec-content-page .content-page-wrapper a, .sec-content-page .content-page-wrapper p, .sec-content-page .content-page-wrapper .content-box.sty2 ul li, .sec-content-page .content-page-wrapper .content-box ul li, .meet-the-team-section .meet-the-team-wrap .teams-wrapper .employee-details, .lunate-team-section .lunate-team-wrap .content-wrapper.content-wrapper--modifer .content.content-title, .etfs-intro-section .etfs-intro-wrap .content-wrapper .content.sty-1').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate');\r\n }\r\n });\r\n $('.sec-news-detail .news-detail-wrapper .main-heading, .scheme-content-wrapper .head-txt').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate');\r\n }\r\n });\r\n $('.sec-contact-us .meet-the-team-wrap .contact-title , .who-we-are-section, .scheme-content-wrapper .content-wrapper .title').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate2');\r\n }\r\n });\r\n $('.etfs-intro-section .etfs-intro-wrap .table-section .tabs-blocks-wrapper .tabs-container, .etfs-intro-section .etfs-intro-wrap .table-section .table-shadow, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-title .heading3, .sec-etf-detail .etf-detail-wrapper .detail-box .value-boxes, .sec-etf-detail .etf-detail-wrapper .detail-box .about-fund .sec-title, .sec-etf-detail .etf-detail-wrapper .detail-box .detail--boxes .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-chart-boxes .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-title .heading3, .sec-etf-detail .etf-detail-wrapper .detail-box .sec-graph .postBox .heading6, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box, .sec-etf-detail .etf-detail-wrapper .detail-box .sec-graph .postBox .heading6, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .box-content, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .box-content .box-title, .sec-etf-detail .etf-detail-wrapper .detail-box .box-chart .box-wrapper .chart-info, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box li.title, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box p.title, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box ul li, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes.sty1 .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .accordion .accordion-item, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .provider-wrapper .heading6, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .provider-boxes-wrapper .postBox, .sec-thankyou .back-btn, .sec-thankyou .sec-thankyou-wrapper, .page--sec-title-generic, .meet-section .sec-detail .detail-content').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate');\r\n }\r\n });\r\n $('.strategy-section .strategy-section-wrap .head-para , .who-we-are-section .who-we-are-wrap .content-wrapper .content, .who-we-are-section .who-we-are-wrap .bottom-info .info-wrapper .info-box:nth-child(2), .core-investment-section .core-investment-wrap .content-wrapper .content, .sec-testimonial .testimonial-wrapper .post-box:nth-child(2), .footer-section .footer-top .footer-top-middle, .footer-section .footer-middle .footer-middle-right, .sec-banner .banner-wrapper .banner-content .banner-para, .our-approach-section-top-right, .news-section .news-wrap .info-wrapper .content, .news-section .news-wrap .bottom-sec .tabs-wrapper .tabs .box.sty-1, .strategy-section .strategy-section-wrap .content-wrapper .content, .strategy-section .strategy-section-wrap .cards-wrapper .card:nth-child(2), .sec-climat-economy .post-box .post-img, .sec-related-news .related-news-wrapper .postBox:nth-child(2), .meet-the-team-section .meet-the-team-wrap .content-wrapper .content, .meet-the-team-section .meet-the-team-wrap .teams-wrapper .employee-details:nth-child(2), .lunate-team-section .lunate-team-wrap .content-wrapper.content-wrapper--modifer .content, .etfs-intro-section .etfs-intro-wrap .content-wrapper .content, .filter-items-wrapper, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-title .video-box, .sec-etf-detail .etf-detail-wrapper .detail-box .about-fund .sec-detail, .sec-etf-detail .etf-detail-wrapper .detail-box .detail--boxes .postBox:nth-child(2), .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes .postBox:nth-child(2), .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes.sty1 .postBox:nth-child(2), .meet-section .sec-detail .team-details').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate2');\r\n }\r\n });\r\n $('.who-we-are-section .who-we-are-wrap .bottom-info .info-wrapper .info-box:nth-child(3), .footer-section .footer-top .footer-top-right, .strategy-section .strategy-section-wrap .cards-wrapper .card:nth-child(3), .meet-the-team-section .meet-the-team-wrap .teams-wrapper .employee-details:nth-child(3), .sec-etf-detail .etf-detail-wrapper .detail-box .detail--boxes .postBox:nth-child(3), .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes.sty1 .postBox:nth-child(3), .scheme-content-wrapper .content-wrapper .para, .sec-investment .card-wrapper').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate3');\r\n }\r\n });\r\n $('.strategy-section .strategy-section-wrap .cards-wrapper .card:nth-child(4), .scheme-content-wrapper .content-wrapper .btn-wrapper, .scheme-wrapper .scheme-image-wrapper').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate4');\r\n }\r\n });\r\n }, 1000);\r\n function isElementInViewport(elem) {\r\n var $elem = $(elem);\r\n var docViewTop = $(window).scrollTop() - 20;\r\n var docViewBottom = docViewTop + $(window).height();\r\n var elemTop = $elem.offset().top;\r\n var elemBottom = elemTop + $elem.height();\r\n return elemBottom >= docViewTop && elemTop <= docViewBottom;\r\n }\r\n // Add class when element is in viewport\r\n $(window).scroll(function() {\r\n $('.who-we-are-section .who-we-are-wrap .content-wrapper .content.sty-1, .who-we-are-section .who-we-are-wrap .bottom-info .info-wrapper .info-box, .sec-banner.inner-banner .banner-wrapper .banner-content.sty1, .sec-breadcrumb, .core-investment-section .core-investment-wrap .content-wrapper .content.sty-1, .core-investment-section .core-investment-wrap .accordion .accordion-item .accordion-header, .sec-banner.sty2, .sec-testimonial .testimonial-wrapper .post-box, .footer-section .footer-top .footer-top-left, .footer-section .footer-middle .footer-middle-left, .sec-banner .banner-wrapper .banner-content .bannerTitle-wrap, .our-approach-section .our-approach-section-top .our-approach-section-top-left, .our-approach-section .our-approach-section-slider .our-approach-section-bottom-flex, .news-section .news-wrap .info-wrapper .content.sty-1, .news-section .news-wrap .bottom-sec .tabs-wrapper .tabs, .strategy-section .strategy-section-wrap .content-wrapper .content.sty-1, .strategy-section .strategy-section-wrap .cards-wrapper .card, .sec-climat-economy .post-box .post-content, .sec-news-detail .news-detail-wrapper .sec-bg img, .sec-news-detail .news-detail-wrapper .publish-date, .sec-news-detail .news-detail-wrapper .detail-box .news-title, .sec-news-detail .news-detail-wrapper .detail-box .heading6, .sec-news-detail .news-detail-wrapper .detail-box p, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content .heading6, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content ul li, .sec-news-detail .news-detail-wrapper .detail-box .video-box, .sec-related-news .sec-title, .sec-related-news .related-news-wrapper .postBox, .sec-news-detail .news-detail-wrapper .detail-box ul.invest li, .meet-the-team-section .meet-the-team-wrap .content-wrapper .content.sty-1, .life-at-lunate-section .strategy-section-wrap .image-wrap, .sec-content-page .content-page-wrapper .heading6, .sec-content-page .content-page-wrapper a, .sec-content-page .content-page-wrapper p, .sec-content-page .content-page-wrapper .content-box.sty2 ul li, .sec-content-page .content-page-wrapper .content-box ul li, .meet-the-team-section .meet-the-team-wrap .teams-wrapper .employee-details, .lunate-team-section .lunate-team-wrap .content-wrapper.content-wrapper--modifer .content.content-title, .etfs-intro-section .etfs-intro-wrap .content-wrapper .content.sty-1').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate');\r\n }\r\n });\r\n });\r\n $(window).scroll(function() {\r\n $('.who-we-are-section .who-we-are-wrap .content-wrapper .content.sty-1, .who-we-are-section .who-we-are-wrap .bottom-info .info-wrapper .info-box, .sec-banner.inner-banner .banner-wrapper .banner-content.sty1, .sec-breadcrumb, .core-investment-section .core-investment-wrap .content-wrapper .content.sty-1, .core-investment-section .core-investment-wrap .accordion .accordion-item .accordion-header, .sec-banner.sty2, .sec-testimonial .testimonial-wrapper .post-box, .footer-section .footer-top .footer-top-left, .footer-section .footer-middle .footer-middle-left, .sec-banner .banner-wrapper .banner-content .bannerTitle-wrap, .our-approach-section .our-approach-section-top .our-approach-section-top-left, .our-approach-section .our-approach-section-slider .our-approach-section-bottom-flex, .news-section .news-wrap .info-wrapper .content.sty-1, .news-section .news-wrap .bottom-sec .tabs-wrapper .tabs, .strategy-section .strategy-section-wrap .content-wrapper .content.sty-1, .strategy-section .strategy-section-wrap .cards-wrapper .card, .sec-climat-economy .post-box .post-content, .sec-news-detail .news-detail-wrapper .sec-bg img, .sec-news-detail .news-detail-wrapper .publish-date, .sec-news-detail .news-detail-wrapper .detail-box .news-title, .sec-news-detail .news-detail-wrapper .detail-box .heading6, .sec-news-detail .news-detail-wrapper .detail-box p, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content .heading6, .sec-news-detail .news-detail-wrapper .detail-box .table-of-content ul li, .sec-news-detail .news-detail-wrapper .detail-box .video-box, .sec-related-news .sec-title, .sec-related-news .related-news-wrapper .postBox, .sec-news-detail .news-detail-wrapper .detail-box ul.invest li, .meet-the-team-section .meet-the-team-wrap .content-wrapper .content.sty-1, .life-at-lunate-section .strategy-section-wrap .image-wrap, .sec-content-page .content-page-wrapper .heading6, .sec-content-page .content-page-wrapper a, .sec-content-page .content-page-wrapper p, .sec-content-page .content-page-wrapper .content-box.sty2 ul li, .sec-content-page .content-page-wrapper .content-box ul li, .meet-the-team-section .meet-the-team-wrap .teams-wrapper .employee-details, .lunate-team-section .lunate-team-wrap .content-wrapper.content-wrapper--modifer .content.content-title, .etfs-intro-section .etfs-intro-wrap .content-wrapper .content.sty-1').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate');\r\n }\r\n });\r\n });\r\n $(window).scroll(function() {\r\n $('.etfs-intro-section .etfs-intro-wrap .table-section .tabs-blocks-wrapper .tabs-container, .etfs-intro-section .etfs-intro-wrap .table-section .table-shadow, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-title .heading3, .sec-etf-detail .etf-detail-wrapper .detail-box .value-boxes, .sec-etf-detail .etf-detail-wrapper .detail-box .about-fund .sec-title, .sec-etf-detail .etf-detail-wrapper .detail-box .detail--boxes .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-chart-boxes .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-title .heading3, .sec-etf-detail .etf-detail-wrapper .detail-box .sec-graph .postBox .heading6, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box, .sec-etf-detail .etf-detail-wrapper .detail-box .sec-graph .postBox .heading6, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .box-content, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .box-content .box-title, .sec-etf-detail .etf-detail-wrapper .detail-box .box-chart .box-wrapper .chart-info, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box li.title, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box p.title, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box ul li, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes.sty1 .postBox, .sec-etf-detail .etf-detail-wrapper .detail-box .accordion .accordion-item, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .provider-wrapper .heading6, .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .provider-boxes-wrapper .postBox, .sec-thankyou .back-btn, .sec-thankyou .sec-thankyou-wrapper, .page--sec-title-generic, .meet-section .sec-detail .detail-content , .sec-content-page .content-page-wrapper .content-inner , .who-we-are-section .who-we-are-wrap .head-para , .our-approach-section .sub-heading , .news-section .head-para , .sec-news-detail .news-detail-wrapper .main-heading, .scheme-content-wrapper .head-txt').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate');\r\n }\r\n });\r\n });\r\n $(window).scroll(function() {\r\n $(' .strategy-section .strategy-section-wrap .head-para , .who-we-are-section .who-we-are-wrap .content-wrapper .content, .who-we-are-section .who-we-are-wrap .bottom-info .info-wrapper .info-box:nth-child(2), .core-investment-section .core-investment-wrap .content-wrapper .content, .sec-testimonial .testimonial-wrapper .post-box:nth-child(2), .footer-section .footer-top .footer-top-middle, .footer-section .footer-middle .footer-middle-right, .sec-banner .banner-wrapper .banner-content .banner-para, .our-approach-section-top-right, .news-section .news-wrap .info-wrapper .content, .news-section .news-wrap .bottom-sec .tabs-wrapper .tabs .box.sty-1, .strategy-section .strategy-section-wrap .content-wrapper .content, .strategy-section .strategy-section-wrap .cards-wrapper .card:nth-child(2), .sec-climat-economy .post-box .post-img, .sec-related-news .related-news-wrapper .postBox:nth-child(2), .meet-the-team-section .meet-the-team-wrap .content-wrapper .content, .meet-the-team-section .meet-the-team-wrap .teams-wrapper .employee-details:nth-child(2), .lunate-team-section .lunate-team-wrap .content-wrapper.content-wrapper--modifer .content, .etfs-intro-section .etfs-intro-wrap .content-wrapper .content, .filter-items-wrapper, .sec-etf-detail .etf-detail-wrapper .detail-box .detail-title .video-box, .sec-etf-detail .etf-detail-wrapper .detail-box .about-fund .sec-detail, .sec-etf-detail .etf-detail-wrapper .detail-box .detail--boxes .postBox:nth-child(2), .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes .postBox:nth-child(2), .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes.sty1 .postBox:nth-child(2), .meet-section .sec-detail .team-details , .sec-contact-us .meet-the-team-wrap .contact-title , .sec-etf-detail.sec-create-long-term , .who-we-are-section,.scheme-content-wrapper .content-wrapper .title').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate2');\r\n }\r\n });\r\n });\r\n $(window).scroll(function() {\r\n $('.who-we-are-section .who-we-are-wrap .bottom-info .info-wrapper .info-box:nth-child(3), .footer-section .footer-top .footer-top-right, .strategy-section .strategy-section-wrap .cards-wrapper .card:nth-child(3), .meet-the-team-section .meet-the-team-wrap .teams-wrapper .employee-details:nth-child(3), .sec-etf-detail .etf-detail-wrapper .detail-box .detail--boxes .postBox:nth-child(3), .sec-etf-detail .etf-detail-wrapper .detail-box .tab--detail-box .content-box .description-boxes.sty1 .postBox:nth-child(3),.scheme-content-wrapper .content-wrapper .para, .scheme-wrapper .scheme-image-wrapper, .sec-investment .card-wrapper').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate3');\r\n }\r\n });\r\n });\r\n $(window).scroll(function() {\r\n $('.strategy-section .strategy-section-wrap .cards-wrapper .card:nth-child(4), .scheme-content-wrapper .content-wrapper .btn-wrapper, .scheme-wrapper .scheme-image-wrapper').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('sec-animate4');\r\n }\r\n });\r\n });\r\n $(window).scroll(function() {\r\n $('.header').each(function() {\r\n if (isElementInViewport(this)) {\r\n $(this).addClass('header-animate');\r\n }\r\n });\r\n });\r\n});\r\n// Cookie Banner\r\n$(document).ready(function () {\r\n\tvar banner = $('.js-cookie-banner-wrap');\r\n\tvar acceptButton = $('.js-cookie-understand');\r\n\tif (localStorage.getItem('cookieAccepted')) {\r\n\t\tbanner.hide();\r\n\t} else {\r\n\t\tbanner.show();\r\n }\r\n\tacceptButton.on('click', function () {\r\n\t\tbanner.slideUp(300);\r\n console.log(\"cookieAccepted\")\r\n\t\tlocalStorage.setItem('cookieAccepted', 'true');\r\n\t});\r\n});\r\n\r\n// Custom Drawer\r\nfunction drawer() {\r\n const $jsDrawers = $(\".js-drawer\");\r\n const $jsDrawersClose = $(\".js-drawer-close\");\r\n const $jsBody = $(\"body\");\r\n const $jsSliderElem = $(\".js-slider-drawer-wrapper\");\r\n if ($jsDrawers.length) {\r\n $jsDrawers.click(function () {\r\n const drawerId = $(this).data(\"drawer-id\");\r\n const parentElem = $(this).closest(\".slick-slide\");\r\n if (parentElem.length) {\r\n const slideIndex = parentElem.attr(\"data-slick-index\");\r\n goToSlide($jsSliderElem, slideIndex);\r\n }\r\n $(`[data-drawer-id=\"${drawerId}\"]`).each(function () {\r\n const element = $(this);\r\n if (element.hasClass(\"js-drawer-wrapper\")) {\r\n element.addClass(\"popup--show\");\r\n }\r\n });\r\n $jsBody.addClass(\"overflow-y-hidden\");\r\n });\r\n $jsDrawersClose.click(function () {\r\n const drawerId = $(this).data(\"drawer-id\");\r\n $(`[data-drawer-id=\"${drawerId}\"]`).removeClass(\"popup--show\");\r\n if (!$(\".popup--show\")[0]) {\r\n $jsBody.removeClass(\"overflow-y-hidden\");\r\n }\r\n $(\".drawer-content\").mCustomScrollbar(\"scrollTo\", \"top\");\r\n \r\n });\r\n $jsBody.on(\"click\", function (event) {\r\n const isDrawerOpenBtn = $(event.target).closest(\".js-drawer\").length > 0;\r\n const isDrawerConatainer =\r\n $(event.target).closest(\".drawer-contentBox\").length > 0;\r\n if (!isDrawerOpenBtn && !isDrawerConatainer) {\r\n $(\".js-drawer-wrapper\").removeClass(\"popup--show\");\r\n $jsBody.removeClass(\"overflow-y-hidden\");\r\n }\r\n });\r\n ChangeToSvg();\r\n }\r\n}\r\n\r\nfunction destroyCustomScrollbar() {\r\n if ($(window).width() < 768) {\r\n $('.drawer-content').mCustomScrollbar('destroy');\r\n } else{\r\n $('.drawer-content').mCustomScrollbar();\r\n }\r\n}\r\n\r\n$('#scroll-to-banner').on('click', function() {\r\n var bannerWrapperHeight = $('.banner-wrapper').height();\r\n $('html, body').animate({\r\n scrollTop: bannerWrapperHeight\r\n }, 1500);\r\n});\r\n\r\n$(document).ready(function(){\r\n setTimeout(function() { \r\n if(window.winWidth < 768){\r\n $(\".side-bar-wrapper ul li a svg\").hide();\r\n }\r\n }, 1000);\r\n});\r\n\r\n//close header\r\n$(document).ready(function(){\r\n $('.page--wrapper , .footer-section').hover(\r\n function(){\r\n $('body').removeClass('menuOpen');\r\n $('.menu-link').removeClass('active');\r\n $('.subMenu-list').removeClass('show');\r\n $('.header').removeClass('header--large');\r\n $('.lan-dr').removeClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').removeClass(\"lang--switch\");\r\n $('.mega-menu-cover').height(0);\r\n }, \r\n );\r\n});\r\n// menu\r\nvar megamenuHoveredheight;\r\n$(document).ready(function () {\r\n if (winWidth >= 1200) {\r\n $('.main-menu .menu-link').on('mouseenter', function (e) {\r\n $('.main-menu .menu-link').not(this).removeClass('active');\r\n $('body').addClass('menuOpen'); \r\n $('.header').removeClass('noLinks');\r\n $('.subMenu-list').removeClass('show');\r\n $('.lan-dr').removeClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').removeClass(\"lang--switch\");\r\n var subMenuIndex = $(this).index();\r\n $('.main-menu .menu-link .subMenu-list').eq(subMenuIndex).addClass('show');\r\n if(!$(this).hasClass('active')){\r\n // console.log(\"testing\", $('.main-menu .menu-link .subMenu-list').eq(subMenuIndex).height());\r\n $('.mega-menu-cover').height($('.main-menu .menu-link .subMenu-list').eq(subMenuIndex).height())\r\n }\r\n megamenuHoveredheight = $('.main-menu .menu-link .subMenu-list').eq(subMenuIndex).height()\r\n $(this).addClass('active');\r\n });\r\n $('.main-menu .menu-link').on('mouseleave', function () {\r\n // console.log('ok')\r\n });\r\n $('.main-menu .menu-link .subMenu-list .menu--item').on('mouseenter', function () {\r\n // Remove 'show' class from all subMenu-lists\r\n $('.main-menu .menu-link .subMenu-list-items').removeClass('show--subMenu');\r\n // Assuming each menu-link has a corresponding subMenu-list with the same index or a data attribute\r\n var subMenuIndex1 = $(this).index();\r\n // console.log(\"testing2\", $(this).find('.subMenu-list-items').height())\r\n if (megamenuHoveredheight <= $(this).find('.subMenu-list-items').height()) {\r\n $('.mega-menu-cover').height($(this).find('.subMenu-list-items').height())\r\n }\r\n $(this).find('.subMenu-list-items').addClass('show--subMenu');\r\n });\r\n $('.main-menu .menu-link-noLink').on('mouseenter', function () {\r\n $('.subMenu-list').removeClass('show');\r\n $('.main-menu .menu-link').removeClass('active');\r\n $('.main-menu .menu-link .subMenu-list-items').removeClass('show--subMenu');\r\n $('.header').addClass('noLinks');\r\n $('body').removeClass('menuOpen');\r\n $('.lan-dr').removeClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').removeClass(\"lang--switch\");\r\n $('.mega-menu-cover').height(0)\r\n })\r\n $('.menu-close').click(function () {\r\n $('body').removeClass('menuOpen');\r\n $('.menu-link').removeClass('active');\r\n $('.subMenu-list').removeClass('show');\r\n $('.mega-menu-cover').height(0)\r\n });\r\n \r\n $('.main-menu .menu-link .subMenu-list .menu--item').on('mouseleave', function () {\r\n $('.main-menu .menu-link .subMenu-list-items').removeClass('show--subMenu');\r\n $('.mega-menu-cover').height($(this).parents('.menu-link').find('.subMenu-list').height())\r\n });\r\n }\r\n});\r\nif (winWidth < 1200) {\r\n $(document).ready(function () { \r\n $('.main-menu .menu-link > .main_item').on('click', function () {\r\n if(!$(this).parent().hasClass('active')) {\r\n $('.main-menu .menu-link').removeClass('active');\r\n $('.subMenu-list').slideUp();\r\n $('body').addClass('menuOpen');\r\n $(this).parent().addClass('active');\r\n $(this).parent('.menu-link').find('.subMenu-list').slideDown();\r\n } else {\r\n $('.main-menu .menu-link').removeClass('active');\r\n $('.subMenu-list').slideUp();\r\n $('body').removeClass('menuOpen');\r\n }\r\n });\r\n $('.subMenu-list .menu--item > .cta').on('click', function () {\r\n if(!$(this).hasClass('active')) {\r\n $('.subMenu-list .menu--item > .cta').removeClass('active')\r\n $('.subMenu-list-items').slideUp();\r\n $(this).addClass('active')\r\n $(this).parent('.menu--item').find('.subMenu-list-items').slideDown();\r\n } else {\r\n $('.subMenu-list .menu--item > .cta').removeClass('active')\r\n $('.subMenu-list-items').slideUp();\r\n }\r\n });\r\n\r\n\r\n\r\n $('.main-menu .menu-link-noLink').on('click', function () {\r\n $('.main-menu .menu-link').removeClass('active');\r\n $('.subMenu-list').slideUp();\r\n });\r\n $('.menu-close').click(function () {\r\n $('body').removeClass('menuOpen');\r\n $('.menu-link').removeClass('active');\r\n $('.subMenu-list').slideUp();\r\n });\r\n \r\n $('.subMenu-list li').hover(\r\n function () {\r\n $(this).children('ul.subMenu-list-items').addClass('show--subMenu');\r\n },\r\n function () {\r\n $(this).children('ul.subMenu-list-items').removeClass('show--subMenu');\r\n }\r\n );\r\n });\r\n}\r\n// Language dropdown\r\n$(document).ready(function() {\r\n if (winWidth > 1199) {\r\n $('.js-lang-dropdown').on('mouseenter', function() {\r\n $('.subMenu-list').removeClass('show');\r\n $('.main-menu .menu-link').removeClass('active');\r\n $('.main-menu .menu-link .subMenu-list-items').removeClass('show--subMenu');\r\n $('.header').addClass('noLinks');\r\n $('body').removeClass('menuOpen');\r\n $('.lan-dr').addClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').addClass(\"lang--switch\");\r\n $('.mega-menu-cover').height(0)\r\n });\r\n } else {\r\n $('.js-lang-dropdown').on('click', function() {\r\n if (!$('.js-lang-dropdown').hasClass('lang--switch')) {\r\n $('.subMenu-list').removeClass('show');\r\n $('.main-menu .menu-link').removeClass('active');\r\n $('.main-menu .menu-link .subMenu-list-items').removeClass('show--subMenu');\r\n $('.header').addClass('noLinks');\r\n $('body').removeClass('menuOpen');\r\n $('.lan-dr').addClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').addClass(\"lang--switch\");\r\n $('.mega-menu-cover').height(0)\r\n } else {\r\n $('.lan-dr').removeClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').removeClass(\"lang--switch\");\r\n }\r\n });\r\n }\r\n $( \"body\" ).on( \"mouseleave\", function() {\r\n $('.menu-close').trigger('click');\r\n });\r\n});\r\n$(\"body\").on(\"click\", function(e) {\r\n if(!$(e.target).is(\".js-lang-dropdown, .js-lang-dropdown *\")) {\r\n $('.lan-dr').removeClass('active');\r\n $('.lan-dr').parents('.lang-dropdown').removeClass(\"lang--switch\");\r\n }\r\n});\r\n\r\n// Accordion\r\n\r\n//BEGIN\r\n// function intAccordion(){\r\n// \t$(\".ac-title\").on(\"click\", function(e) {\r\n// \t\te.preventDefault();\r\n// \t\tvar $this = $(this);\r\n// \t\tif (!$this.hasClass(\"ac-active\")) {\r\n// \t\t\t$(\".ac-content\").slideUp(400);\r\n// \t\t\t$(\".ac-title\").removeClass(\"ac-active\");\r\n// \t\t\t$('.ac-arrow').removeClass('accordion__rotate');\r\n// var dataIndex = $(this).attr('data-index');\r\n// \t\t}\r\n// \t\t$this.toggleClass(\"ac-active\");\r\n// \t\t$this.next().slideToggle();\r\n// \t\t$('.ac-arrow',this).toggleClass('accordion__rotate');\r\n// \t});\r\n// }\r\n\r\nfunction intAccordion(){\r\n $(\".ac-title\").on(\"click\", function(e) {\r\n e.preventDefault();\r\n var $this = $(this);\r\n var dataIndex = $(this).attr('data-index'); // Get the data-index attribute\r\n \r\n if (!$this.hasClass(\"ac-active\")) {\r\n $(this).parent().parent().parent().find(\".image-box .ac-image\").removeClass('show');\r\n $(this).parent().parent().find(\".ac-content\").slideUp(400);\r\n $(this).parent().parent().find(\".ac-title\").removeClass(\"ac-active\");\r\n $(this).parent().parent().find('.ac-arrow').removeClass('ac-icon-active'); \r\n\r\n // Add index-based class to the respective image-box item\r\n $(this).parent().parent().parent().find(\".image-box .ac-image\").eq(dataIndex).addClass('show');\r\n $this.addClass(\"ac-active\");\r\n $this.next().slideDown();\r\n $('.ac-arrow', this).addClass('ac-icon-active');\r\n }\r\n });\r\n}\r\nfunction intlTelInputInit() {\r\n const input = document.querySelectorAll(\".phone-number-input\");\r\n if (input && input.length > 0) {\r\n input.forEach((input) => {\r\n var iti = window.intlTelInput(input, {\r\n separateDialCode: true,\r\n initialCountry: \"ae\",\r\n });\r\n window.iti = iti;\r\n });\r\n }\r\n}\r\n\r\n//END\r\n\r\n// Tabs with Prev / Next functionality\r\n\r\nfunction initTabsAccordion(){\r\n let visibleTabs = 5;\r\n let currentIndex = 0;\r\n const tabs = $('.tab-list .tab-list-item');\r\n const totalTabs = tabs.length;\r\n\r\n // Show only the first 5 tabs initially\r\n tabs.hide().slice(0, visibleTabs).show();\r\n\r\n // Handle tab click\r\n tabs.on('click', function() {\r\n const tabId = $(this).data('tab');\r\n activateTab($(this));\r\n });\r\n\r\n // Handle next button click\r\n $('#nextBtn').on('click', function() {\r\n if (currentIndex + visibleTabs < totalTabs) {\r\n currentIndex++;\r\n tabs.hide().slice(currentIndex, currentIndex + visibleTabs).show();\r\n }\r\n\r\n // Activate the next tab\r\n const nextTab = $('.tab-list-item.active').next('.tab-list-item');\r\n if (nextTab.length) {\r\n activateTab(nextTab);\r\n }\r\n });\r\n\r\n // Handle previous button click\r\n $('#prevBtn').on('click', function() {\r\n if (currentIndex > 0) {\r\n currentIndex--;\r\n tabs.hide().slice(currentIndex, currentIndex + visibleTabs).show();\r\n }\r\n // Activate the previous tab\r\n const prevTab = $('.tab-list-item.active').prev('.tab-list-item');\r\n if (prevTab.length) {\r\n activateTab(prevTab);\r\n }\r\n });\r\n\r\n // Activate the first tab on load\r\n activateTab($('.tab-list-item:first'));\r\n\r\n // Function to activate a tab and show corresponding content\r\n function activateTab(tab) {\r\n const tabId = tab.data('tab');\r\n $('.tab-list-item').removeClass('active');\r\n tab.addClass('active');\r\n $('.content').removeClass('active');\r\n $('.content[data-tab=\"' + tabId + '\"]').addClass('active');\r\n }\r\n}\r\n// End\r\n\r\n// Faq Accordion\r\n\r\n$(\".faq-title\").on(\"click\", function(e) {\r\n e.preventDefault();\r\n var $this = $(this);\r\n if (!$this.hasClass(\"faq-active\")) {\r\n $(\".faq-content\").slideUp(400);\r\n $(\".faq-title\").removeClass(\"faq-active\");\r\n $('.faq-arrow').removeClass('faq-arrow-active');\r\n }\r\n $this.toggleClass(\"faq-active\");\r\n $this.next().slideToggle();\r\n $('.faq-arrow',this).toggleClass('faq-arrow-active');\r\n});\r\n\r\nfunction initCustomScrollbar() {\r\n var windowWidth = $(window).width();\r\n \r\n if (windowWidth > 768) { // Desktop and larger screens\r\n $(\".tab-list\").mCustomScrollbar({\r\n axis: \"x\", // Horizontal scrollbar\r\n theme: \"minimal\"\r\n });\r\n } else {\r\n // Destroy the scrollbar on mobile devices\r\n $(\".tab-list\").mCustomScrollbar(\"destroy\");\r\n }\r\n}\r\n\r\n$.validator.addMethod(\"validPhoneNumber\", (value, element) => {\r\n // If the field is empty, pass validation\r\n if (value === \"\") {\r\n return true;\r\n }\r\n // Otherwise, perform the regex validation\r\n return /^\\d{8,14}$/gi.test(value);\r\n});\r\n\r\n\r\ndocument.querySelectorAll('.tooltip-box').forEach(function(tooltip) {\r\n\r\n \r\n \r\n\r\n tooltip.addEventListener('mouseenter', function() {\r\n var tooltipText = tooltip.querySelector('.tooltip-text');\r\n var rect = tooltip.getBoundingClientRect();\r\n var windowWidth = window.innerWidth;\r\n var paraDiv = tooltip.closest('.para');\r\n\r\n // Check the position of the tooltip\r\n if (rect.right > windowWidth / 2) {\r\n // If on the right half of the screen, open to the left\r\n tooltipText.classList.add('tooltip-left');\r\n tooltipText.classList.remove('tooltip-right');\r\n } else {\r\n // If on the left half of the screen, open to the right\r\n tooltipText.classList.add('tooltip-right');\r\n tooltipText.classList.remove('tooltip-left');\r\n }console.log(\"abc\");\r\n if (paraDiv) {\r\n var nextDiv = paraDiv.nextElementSibling;\r\n if (nextDiv) {\r\n nextDiv.classList.add('disable-wrapper');\r\n }\r\n }\r\n // Add class to .scheme-image-wrapper\r\n var schemeImageWrapper = document.querySelector('.scheme-image-wrapper');\r\n if (schemeImageWrapper) {\r\n schemeImageWrapper.classList.add('disable-wrapper');\r\n }\r\n });\r\n\r\n // Add event listener for click event to add the class\r\n tooltip.addEventListener('click', function() {\r\n var windowWidth = window.innerWidth;\r\n\r\n // Find the parent .para div and its next sibling\r\n var paraDiv = tooltip.closest('.para');\r\n if (paraDiv) {\r\n var nextDiv = paraDiv.nextElementSibling;\r\n if (nextDiv) {\r\n nextDiv.classList.add('disable-wrapper');\r\n }\r\n }\r\n\r\n // Add class to .scheme-image-wrapper\r\n var schemeImageWrapper = document.querySelector('.scheme-image-wrapper');\r\n if (schemeImageWrapper) {\r\n schemeImageWrapper.classList.add('disable-wrapper');\r\n }\r\n\r\n // Add class to .sec-investment only if window width is >= 767px\r\n if (windowWidth >= 768) {\r\n var secInvestment = document.querySelector('.sec-investment');\r\n if (secInvestment) {\r\n secInvestment.classList.add('layer-above');\r\n }\r\n }\r\n });\r\n\r\n // Add event listener for mouseleave event to remove the class\r\n tooltip.addEventListener('mouseleave', function() {\r\n var windowWidth = window.innerWidth;\r\n\r\n // Find the parent .para div and its next sibling\r\n var paraDiv = tooltip.closest('.para');\r\n if (paraDiv) {\r\n var nextDiv = paraDiv.nextElementSibling;\r\n if (nextDiv) {\r\n nextDiv.classList.remove('disable-wrapper');\r\n }\r\n }\r\n\r\n // Remove class from .scheme-image-wrapper\r\n var schemeImageWrapper = document.querySelector('.scheme-image-wrapper');\r\n if (schemeImageWrapper) {\r\n schemeImageWrapper.classList.remove('disable-wrapper');\r\n }\r\n\r\n // Remove class from .sec-investment only if window width is >= 767px\r\n if (windowWidth >= 768) {\r\n var secInvestment = document.querySelector('.sec-investment');\r\n if (secInvestment) {\r\n secInvestment.classList.remove('layer-above');\r\n }\r\n }\r\n });\r\n});\r\n\r\n\r\nwindow.addEventListener('scroll', function() {\r\n const gradient = document.querySelector('.gradient');\r\n const scrollPosition = window.scrollY;\r\n\r\n if (scrollPosition > 100) {\r\n gradient.classList.add('half-screen'); // First icon appears and gradient expands halfway\r\n // Show first icon\r\n }\r\n\r\n if (scrollPosition > 500) {\r\n gradient.classList.add('full-screen'); // Second icon appears, and gradient fills full screen\r\n // Show second icon\r\n }\r\n\r\n if (scrollPosition > 1000) {\r\n // Third icon appears\r\n }\r\n});\r\n\r\n\r\n\r\n\r\n\r\n// const lottieAnimation = lottie.loadAnimation({\r\n// container: document.getElementById('lottie-player'),\r\n// renderer: 'svg',\r\n// loop: false,\r\n// autoplay: false,\r\n// path: '/assets/video/lunate.json' // Replace with the correct path\r\n// });"]}