X7ROOT File Manager
Current Path:
/home/hamdjcne/public_html/wp-content/themes/hub/assets/js
home
/
hamdjcne
/
public_html
/
wp-content
/
themes
/
hub
/
assets
/
js
/
ðŸ“
..
ðŸ“
animated-blob
ðŸ“
body-clip
ðŸ“
draw-shape
📄
jquery.pagepiling.min.js
(19.29 KB)
📄
liquid-gdpr.min.js
(10.21 KB)
📄
liquid-license-manager.min.js
(10.31 KB)
ðŸ“
liquid-mouse-pos
📄
liquidEventsTable.min.js
(14.61 KB)
📄
mailchimp-form.js
(10.6 KB)
📄
plugin.liquidFake3d.js
(35.9 KB)
ðŸ“
section-flow
📄
theme.js
(505.88 KB)
📄
theme.js.map
(1.01 MB)
📄
theme.min.js
(309.62 KB)
ðŸ“
throwable
Editing: theme.js.map
{"version":3,"sources":["../src/plugins/liquidUtils.js","../src/plugins/plugin.liquidIO.js","../src/plugins/plugin.liquidSectionsDetails.js","../src/plugins/plugin.liquidPreloader.js","../src/plugins/plugin.liquidSubmenu.js","../src/plugins/plugin.liquidMobileNav.js","../src/plugins/plugin.liquidButton.js","../src/plugins/plugin.liquidFitText.js","../src/plugins/plugin.liquidLazyload.js","../src/plugins/plugin.liquidInView.js","../src/plugins/plugin.liquidFullscreenNav.js","../src/plugins/plugin.liquidToggle.js","../src/plugins/plugin.liquidResponsiveBG.js","../src/plugins/plugin.liquidStickyHeader.js","../src/plugins/plugin.liquidStickyFooter.js","../src/plugins/plugin.liquidCustomCursor.js","../src/plugins/plugin.liquidAccordion.js","../src/plugins/plugin.liquidAjaxLoadMore.js","../src/plugins/plugin.liquidAnimatedFrames.js","../src/plugins/plugin.liquidAsymmetricSlider.js","../src/plugins/plugin.liquidBackToTop.js","../src/plugins/plugin.liquidBgColor.js","../src/plugins/plugin.liquidIconbox.js","../src/plugins/plugin.liquidCarousel.js","../src/plugins/plugin.liquidCarouselFalcate.js","../src/plugins/plugin.liquidCarouselStack.js","../src/plugins/plugin.liquidCarouselVertical3d.js","../src/plugins/plugin.liquidMegamenu.js","../src/plugins/plugin.liquidMegamenuSlide.js","../src/plugins/plugin.liquidCountdown.js","../src/plugins/plugin.liquidCounter.js","../src/plugins/plugin.LiquidDistortedImageGallery.js","../src/plugins/plugin.liquidDynamicShape.js","../src/plugins/plugin.liquidFormInputs.js","../src/plugins/plugin.liquidHover3d.js","../src/plugins/plugin.liquidIconboxesCircle.js","../src/plugins/plugin.liquidImageComparison.js","../src/plugins/plugin.liquidImageTrail.js","../src/plugins/plugin.liquidLightbox.js","../src/plugins/plugin.liquidMap.js","../src/plugins/plugin.liquidMasonry.js","../src/plugins/plugin.liquidStickyRow.js","../src/plugins/plugin.liquidParticles.js","../src/plugins/plugin.liquidPin.js","../src/plugins/plugin.liquidProgressbar.js","../src/plugins/plugin.liquidResponsiveAccordion.js","../src/plugins/plugin.liquidReveal.js","../src/plugins/plugin.liquidSetActiveOnHover.js","../src/plugins/plugin.liquidShrinkBorders.js","../src/plugins/plugin.liquidSlideElementOnHover.js","../src/plugins/plugin.liquidStack.js","../src/plugins/plugin.liquidStickyStack.js","../src/plugins/plugin.liquidStretchElement.js","../src/plugins/plugin.liquidTab.js","../src/plugins/plugin.liquidTypewriter.js","../src/plugins/plugin.liquidVideoBg.js","../src/plugins/plugin.liquidVideoTrigger.js","../src/plugins/plugin.liquidWebGLHover.js","../src/plugins/plugin.liquidSlideshow.js","../src/plugins/plugin.liquidWoo.js","../src/plugins/plugin.liquidzIndex.js","../src/plugins/plugin.liquidSectionScroll.js","../src/plugins/plugin.liquidLocalScroll.js","../src/plugins/plugin.liquidRowBG.js","../src/plugins/plugin.liquidSlideshowBG.js","../src/plugins/plugin.liquidSplitText.js","../src/plugins/plugin.liquidCustomAnimations.js","../src/plugins/plugin.liquidTextRotator.js","../src/plugins/plugin.liquidParallax.js","../src/plugins/plugin.liquidTransitionDelay.js","../src/plugins/plugin.liquidMoveElement.js","../src/plugins/plugin.liquidScrollIndicator.js"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["/* eslint-disable no-redeclare, no-unused-vars */\n\"use strict\";\n\nwindow.liquidPageLoaded = false;\n\nwindow.liquidIsElementor = window.liquidIsElementor || document.body.classList.contains( 'elementor-page' );\n\nwindow.liquidElements = ( $ ) => {\n\n\twindow.$liquidWindow = $( window );\n\twindow.$liquidHtml = $( 'html' );\n\twindow.$liquidBody = $( 'body' );\n\twindow.$liquidSiteWrap = $( '#wrap' );\n\twindow.$liquidContents = $( '#lqd-site-content' );\n\twindow.$liquidContentsWrap = $( '#lqd-contents-wrap' );\n\twindow.$liquidMainHeader = $( '.main-header' );\n\twindow.$liquidMainFooter = $( '.main-footer' );\n\n\twindow.$liquidSectionsWrapper = $liquidContentsWrap;\n\n\tconst isPfSinglePage = $liquidBody.hasClass( 'single-liquid-portfolio' );\n\tconst isBlogSinglePage = $liquidBody.hasClass( 'lqd-blog-post' );\n\n\tif ( liquidIsElementor ) {\n\t\tconst $secWrap = $( '.elementor-section-wrap', $liquidContentsWrap ).first();\n\t\twindow.$liquidSectionsWrapper = $secWrap.legth ? $secWrap : $( '> .elementor', $liquidContentsWrap ).first();\n\t}\n\tif ( isPfSinglePage ) {\n\t\twindow.$liquidSectionsWrapper = $( '.pf-single-contents' );\n\t\tconst $elementorWrapper = window.$liquidSectionsWrapper.children( '.elementor' );\n\t\tif ( $elementorWrapper.length ) {\n\t\t\twindow.$liquidSectionsWrapper = $elementorWrapper;\n\t\t}\n\t}\n\tif ( isBlogSinglePage ) {\n\t\twindow.$liquidSectionsWrapper = $( '.lqd-single-post-content > .container' );\n\t\tconst $elementorWrapper = window.$liquidSectionsWrapper.children( '.elementor' );\n\t\tif ( $elementorWrapper.length ) {\n\t\t\twindow.$liquidSectionsWrapper = $elementorWrapper;\n\t\t}\n\t}\n\n\tconst elementorSectionsSelector = `\n\t> .elementor-section-wrap > .elementor-section,\n\t> .elementor-section,\n\t> .e-con,\n\t> .e-con > .e-con,\n\t> .e-con > .e-con-inner > .e-con,\n\t> .e-container,\n\t> .e-container > .e-container,\n\t> .elementor-section-wrap > .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section,\n\t> .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section`;\n\tconst $elementorFooterSections = $( '> .elementor', $liquidMainFooter ).find( elementorSectionsSelector );\n\n\twindow.$liquidSections =\n\t\tliquidIsElementor ?\n\t\t\t$liquidSectionsWrapper.find( elementorSectionsSelector ).add( $elementorFooterSections ) :\n\t\t\t$liquidSectionsWrapper.add( $liquidMainFooter ).find( '.lqd-section, > .vc_row, > .vc_section, > .vc_section > .vc_row, > .lqd-section-scroll-sections > .vc_row, > .vc_element' );\n\n\tif ( ( isPfSinglePage || isBlogSinglePage ) && liquidIsElementor ) {\n\t\twindow.$liquidSections = window.$liquidSections.add( window.$liquidSectionsWrapper.find( '> .elementor' ).find( elementorSectionsSelector ) );\n\t}\n\tif ( isBlogSinglePage && liquidIsElementor ) {\n\t\twindow.$liquidSections = $( window.$liquidSections.get() ).add( '.lqd-post-cover' );\n\t\t/**\n\t\t * in case if there's .container right inside .lqd-single-post-content and it doesn't allow sections to stretch to full width\n\t\t */\n\t\tif ( $( '.lqd-single-post-content > .container' ).length ) {\n\t\t\twindow.$liquidSections = $( window.$liquidSections.get() ).add( window.$liquidContents );\n\t\t}\n\t}\n\n\t/**\n\t * if there's still no sections available, then it's probably the html version\n\t */\n\tif ( !window.$liquidSections.length ) {\n\t\twindow.$liquidSections = $liquidSectionsWrapper.find( '> section' ).add( window.$liquidMainFooter?.find( '> section' ) );\n\t}\n\n\twindow.liquidBodyBg = window.$liquidBody.css( 'backgroundColor' );\n\twindow.liquidContentsBg = window.$liquidContents.css( 'backgroundColor' );\n\twindow.liquidMainFooterBg = window.$liquidMainFooter.css( 'backgroundColor' );\n\n};\n\nliquidElements( jQuery );\n\nwindow.liquidHeaderIsElementor = $liquidMainHeader.children( '.elementor:not(.lqd-mobile-sec)' ).length;\nwindow.liquidLazyloadEnabled = $liquidBody.hasClass( 'lazyload-enabled' );\nwindow.liquidCheckedFonts = [];\n\nwindow.liquidIsMobile = function () {\n\treturn (\n\t\t/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ) ||\n\t\t( navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 0 ) ||\n\t\tnavigator.platform === 'iPad'\n\t)\n};\n\nif ( liquidIsMobile() ) {\n\tdocument.documentElement.classList.add( 'vc_mobile' );\n\tdocument.body.setAttribute( 'data-elementor-device-mode', 'mobile' );\n};\n\nwindow.liquidMobileNavBreakpoint = function () {\n\tif ( window.liquidParams && window.liquidParams.mobileNavBreakpoint ) {\n\t\treturn window.liquidParams.mobileNavBreakpoint;\n\t} else {\n\t\treturn $liquidBody.data( 'mobile-nav-breakpoint' ) || 1199;\n\t}\n}\n\nwindow.liquidWindowWidth = function () {\n\treturn window.innerWidth;\n}\nwindow.liquidWindowHeight = function () {\n\treturn window.innerHeight;\n};\nwindow.liquidDocHeight = function () {\n\treturn document.body.clientHeight;\n};\n\n// https://byby.dev/js-slugify-string\nwindow.liquidSlugify = function ( str ) {\n\treturn String( str )\n\t\t.normalize( 'NFKD' ) // split accented characters into their base characters and diacritical marks\n\t\t.replace( /[\\u0300-\\u036f]/g, '' ) // remove all the accents, which happen to be all in the \\u03xx UNICODE block.\n\t\t.trim() // trim leading or trailing whitespace\n\t\t.toLowerCase() // convert to lowercase\n\t\t.replace( /[^a-z0-9 -]/g, '' ) // remove non-alphanumeric characters\n\t\t.replace( /\\s+/g, '-' ) // replace spaces with hyphens\n\t\t.replace( /-+/g, '-' ); // remove consecutive hyphens\n}\n\n/**\nSome functions from Underscore js https://underscorejs.org/\n*/\n\n// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nconst restArguments = function ( func, startIndex ) {\n\tstartIndex = startIndex == null ? func.length - 1 : +startIndex;\n\treturn function () {\n\t\tvar length = Math.max( arguments.length - startIndex, 0 ),\n\t\t\trest = Array( length ),\n\t\t\tindex = 0;\n\t\tfor ( ; index < length; index++ ) {\n\t\t\trest[ index ] = arguments[ index + startIndex ];\n\t\t}\n\t\tswitch ( startIndex ) {\n\t\t\tcase 0: return func.call( this, rest );\n\t\t\tcase 1: return func.call( this, arguments[ 0 ], rest );\n\t\t\tcase 2: return func.call( this, arguments[ 0 ], arguments[ 1 ], rest );\n\t\t}\n\t\tvar args = Array( startIndex + 1 );\n\t\tfor ( index = 0; index < startIndex; index++ ) {\n\t\t\targs[ index ] = arguments[ index ];\n\t\t}\n\t\targs[ startIndex ] = rest;\n\t\treturn func.apply( this, args );\n\t};\n};\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nconst liquidDelay = restArguments( function ( func, wait, args ) {\n\treturn setTimeout( function () {\n\t\treturn func.apply( null, args );\n\t}, wait );\n} );\n\n// A (possibly faster) way to get the current timestamp as an integer.\nconst liquidNow = Date.now || function () {\n\treturn new Date().getTime();\n};\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nwindow.liquidThrottle = function ( func, wait, options ) {\n\tvar timeout, context, args, result;\n\tvar previous = 0;\n\tif ( !options ) options = {};\n\n\tvar later = function () {\n\t\tprevious = options.leading === false ? 0 : liquidNow();\n\t\ttimeout = null;\n\t\tresult = func.apply( context, args );\n\t\tif ( !timeout ) context = args = null;\n\t};\n\n\tvar throttled = function () {\n\t\tvar now = liquidNow();\n\t\tif ( !previous && options.leading === false ) previous = now;\n\t\tvar remaining = wait - ( now - previous );\n\t\tcontext = this;\n\t\targs = arguments;\n\t\tif ( remaining <= 0 || remaining > wait ) {\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t\ttimeout = null;\n\t\t\t}\n\t\t\tprevious = now;\n\t\t\tresult = func.apply( context, args );\n\t\t\tif ( !timeout ) context = args = null;\n\t\t} else if ( !timeout && options.trailing !== false ) {\n\t\t\ttimeout = setTimeout( later, remaining );\n\t\t}\n\t\treturn result;\n\t};\n\n\tthrottled.cancel = function () {\n\t\tclearTimeout( timeout );\n\t\tprevious = 0;\n\t\ttimeout = context = args = null;\n\t};\n\n\treturn throttled;\n};\n\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nwindow.liquidDebounce = function ( func, wait, immediate ) {\n\tvar timeout, result;\n\n\tvar later = function ( context, args ) {\n\t\ttimeout = null;\n\t\tif ( args ) result = func.apply( context, args );\n\t};\n\n\tvar debounced = restArguments( function ( args ) {\n\t\tif ( timeout ) clearTimeout( timeout );\n\t\tif ( immediate ) {\n\t\t\tvar callNow = !timeout;\n\t\t\ttimeout = setTimeout( later, wait );\n\t\t\tif ( callNow ) result = func.apply( this, args );\n\t\t} else {\n\t\t\ttimeout = liquidDelay( later, wait, this, args );\n\t\t}\n\n\t\treturn result;\n\t} );\n\n\tdebounced.cancel = function () {\n\t\tclearTimeout( timeout );\n\t\ttimeout = null;\n\t};\n\n\treturn debounced;\n};\n\nwindow.liquidGetMousePos = ( ev, basedOnElement ) => {\n\tlet posx = 0;\n\tlet posy = 0;\n\tif ( !ev ) ev = window.event;\n\tif ( ev.pageX || ev.pageY ) {\n\t\tposx = ev.pageX;\n\t\tposy = ev.pageY;\n\t}\n\telse if ( ev.clientX || ev.clientY ) {\n\t\tposx = ev.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;\n\t\tposy = ev.clientY + document.body.scrollTop + document.documentElement.scrollTop;\n\t}\n\tif ( basedOnElement ) {\n\t\tconst rect = ev.currentTarget.getBoundingClientRect();\n\t\tposx = posx - rect.left - window.scrollX;\n\t\tposy = posy - rect.top - window.scrollY;\n\t}\n\treturn { x: posx, y: posy };\n}","// eslint-disable-next-line no-unused-vars\nclass LiquidIO {\n\n constructor(el, callback, opts = {}) {\n\n this.el = el;\n this.opts = opts;\n\n this.setupIO(callback);\n\n }\n\n setupIO(callback) {\n\n new IntersectionObserver(([entry], observer) => {\n\n if ( entry.isIntersecting && callback ) {\n if ( this.opts.disconnect ) {\n observer.disconnect();\n }\n callback();\n }\n\n }, {...this.opts}).observe(this.el);\n\n }\n\n}","// eslint-disable-next-line no-unused-vars, no-redeclare\nclass LiquidSectionsDetails {\n\n\tconstructor() {\n\n\t\tthis.sections = [];\n\t\tthis.footerBg = tinycolor( liquidMainFooterBg ).getAlpha() === 0 ? liquidBodyBg : liquidMainFooterBg;\n\n\t}\n\n\tstatic getInstance() {\n\n\t\tif ( !this.instance ) {\n\t\t\tthis.instance = new LiquidSectionsDetails();\n\t\t}\n\n\t\treturn this.instance;\n\n\t}\n\n\tstatic getDetails() {\n\n\t\tconst instance = this.getInstance();\n\n\t\treturn new Promise( async resolve => {\n\n\t\t\tif ( instance.sections.length < 1 ) {\n\n\t\t\t\tinstance.sections = [];\n\n\t\t\t\tconst liquidContentsRect = await instance.getElementRect( { element: $liquidContents[ 0 ] } );\n\n\t\t\t\tawait Promise.all( instance.init( liquidContentsRect, instance ) );\n\n\t\t\t\t/*\n\t\t\t\tin cases if there's no sections in main content but there's sections in footer,\n\t\t\t\te.g. blog posts\n\t\t\t\tsomething like header dynamic colors won't work properly\n\t\t\t\t*/\n\t\t\t\tconst mainContentSections = instance.sections.filter( section => section.isInMainContent );\n\n\t\t\t\tif ( mainContentSections.length < 1 ) {\n\n\t\t\t\t\tconst DOM = {\n\t\t\t\t\t\telement: $liquidContents[ 0 ],\n\t\t\t\t\t\t$element: $liquidContents,\n\t\t\t\t\t};\n\n\t\t\t\t\tawait instance.createDetailsObj( liquidContentsRect, liquidContentsRect, DOM, true ).then( detailsObj => {\n\t\t\t\t\t\tinstance.sections.unshift( detailsObj );\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t\tinstance.addParentSections( instance );\n\t\t\t\tinstance.addInnerSections( instance );\n\t\t\t\tawait instance.addLuminosity( instance );\n\n\t\t\t}\n\n\t\t\tresolve( instance.sections );\n\n\t\t} )\n\n\t}\n\n\tinit( liquidContentsRect, instance ) {\n\n\t\tconst promises = [];\n\n\t\t$liquidSections.each( ( i, row ) => {\n\n\t\t\tconst promise = new Promise( resolve => {\n\n\t\t\t\tconst DOM = {\n\t\t\t\t\telement: row,\n\t\t\t\t\t$element: jQuery( row ),\n\t\t\t\t\tparent: row.parentElement,\n\t\t\t\t};\n\n\t\t\t\tthis.getElementRect( DOM ).then( rowRect => {\n\t\t\t\t\tthis.createDetailsObj( liquidContentsRect, rowRect, DOM, false ).then( detailsObj => {\n\t\t\t\t\t\tinstance.sections[ i ] = detailsObj;\n\t\t\t\t\t\tresolve( detailsObj );\n\t\t\t\t\t} );\n\t\t\t\t} )\n\n\t\t\t} );\n\n\t\t\tpromises.push( promise );\n\n\t\t} );\n\n\t\treturn promises;\n\n\t}\n\n\tgetElementRect( DOM ) {\n\n\t\treturn new Promise( resolve => {\n\n\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\n\t\t\t\tfastdom.measure( () => {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\tresolve( entry.boundingClientRect );\n\t\t\t\t} )\n\n\t\t\t} ).observe( DOM.element );\n\n\t\t} );\n\n\t}\n\n\tcreateDetailsObj( liquidContentsRect, rowRect, DOM, isLiquidContentElement ) {\n\n\t\treturn new Promise( resolve => {\n\n\t\t\tfastdom.measure( async () => {\n\n\t\t\t\tconst { scrollY, scrollX } = window;\n\t\t\t\tconst styles = getComputedStyle( DOM.element );\n\t\t\t\tconst obj = {};\n\n\t\t\t\tobj.el = DOM.element;\n\t\t\t\tobj.$el = DOM.$element;\n\t\t\t\tobj.rect = {\n\t\t\t\t\tinitialOffset: {\n\t\t\t\t\t\tx: rowRect.x + scrollX,\n\t\t\t\t\t\ty: rowRect.y + scrollY\n\t\t\t\t\t},\n\t\t\t\t\twidth: rowRect.width,\n\t\t\t\t\theight: rowRect.height,\n\t\t\t\t\tx: rowRect.x,\n\t\t\t\t\ty: rowRect.y,\n\t\t\t\t};\n\t\t\t\tobj.backgroundColor = styles.backgroundColor;\n\n\t\t\t\tif ( isLiquidContentElement ) {\n\t\t\t\t\tobj.isMainContentElement = true;\n\t\t\t\t\treturn resolve( obj );\n\t\t\t\t}\n\n\t\t\t\tconst footerParent = DOM.element.closest( '.main-footer' );\n\t\t\t\tconst elementorTopContainer = DOM.$element.parents( '.e-container, .e-con' );\n\n\t\t\t\tobj.borderColor = styles.borderColor;\n\t\t\t\tobj.isOuterSection =\n\t\t\t\t\tliquidIsElementor ?\n\t\t\t\t\t\tDOM.element.classList.contains( 'elementor-top-section' ) || ! !!elementorTopContainer.length :\n\t\t\t\t\t\tDOM.element.classList.contains( 'vc_section' ) || DOM.element.parentElement.closest( '.lqd-section' ) == null;\n\t\t\t\tobj.isInnerSection =\n\t\t\t\t\tliquidIsElementor ?\n\t\t\t\t\t\tDOM.element.classList.contains( 'elementor-inner-section' ) || !!elementorTopContainer.length :\n\t\t\t\t\t\tDOM.parent.classList.contains( 'vc_section' ) || DOM.element.parentElement.closest( '.lqd-section' ) != null;\n\t\t\t\tobj.isInFooter = footerParent != null;\n\t\t\t\tobj.isInMainContent = DOM.element.closest( '#lqd-site-content' ) != null;\n\t\t\t\tobj.isHidden = obj.rect.width < 1 && obj.rect.height < 1;\n\t\t\t\tobj.predefinedLuminosity = null;\n\t\t\t\tobj.parentSection = null;\n\t\t\t\tobj.innerSections = [];\n\n\t\t\t\tif ( obj.el.hasAttribute( 'data-section-luminosity' ) ) {\n\t\t\t\t\tobj.predefinedLuminosity = obj.el.getAttribute( 'data-section-luminosity' )\n\t\t\t\t}\n\n\t\t\t\tif ( obj.isInFooter ) {\n\n\t\t\t\t\tobj.parentFooter = footerParent;\n\n\t\t\t\t\tif ( footerParent.hasAttribute( 'data-sticky-footer' ) ) {\n\n\t\t\t\t\t\tconst footerOffsetTop = liquidContentsRect.height;\n\t\t\t\t\t\tconst footerHeight = ( document.body.offsetHeight - ( liquidContentsRect.y + scrollY ) ) - liquidContentsRect.height;\n\t\t\t\t\t\tconst elPositionTop = Math.abs( window.innerHeight - footerHeight - obj.rect.y );\n\n\t\t\t\t\t\tobj.rect.initialOffset.y = footerOffsetTop + elPositionTop;\n\t\t\t\t\t\tobj.rect.y = footerOffsetTop + elPositionTop;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tresolve( obj );\n\n\t\t\t} )\n\n\t\t} );\n\n\t}\n\n\taddParentSections( instance ) {\n\n\t\tconst innerSections = instance.sections.filter( sec => sec.isInnerSection );\n\n\t\tinnerSections.forEach( innerSec => {\n\n\t\t\tlet parentSec = null;\n\n\t\t\tif ( liquidIsElementor ) {\n\t\t\t\tparentSec = innerSec.el.closest( '.elementor-top-section' ) || innerSec.$el.parents( '.e-container' ) || innerSec.$el.parents( '.e-con' );\n\t\t\t} else {\n\t\t\t\tparentSec = innerSec.el.closest( '.vc_section' ) || innerSec.el.parentElement.closest( '.lqd-section' );\n\t\t\t}\n\n\t\t\tinstance.sections.forEach( sec => {\n\t\t\t\tif ( sec.el === parentSec ) {\n\t\t\t\t\tinnerSec.parentSection = sec;\n\t\t\t\t}\n\t\t\t} )\n\n\t\t} );\n\n\t}\n\n\taddInnerSections( instance ) {\n\n\t\tconst innerSections = instance.sections.filter( sec => sec.isInnerSection );\n\n\t\tinstance.sections.forEach( ( outerSec, i ) => {\n\n\t\t\tif ( outerSec.isInnerSection ) return;\n\n\t\t\tinnerSections.forEach( innerSec => {\n\n\t\t\t\tif ( innerSec.parentSection && innerSec.parentSection.el === outerSec.el ) {\n\t\t\t\t\tinstance.sections[ i ].innerSections.push( innerSec );\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t} );\n\n\t}\n\n\tgetLuminosity( obj, instance ) {\n\n\t\tlet { backgroundColor } = obj;\n\n\t\tif ( obj.isInnerSection && obj.parentSection && tinycolor( backgroundColor ).getAlpha() === 0 ) {\n\t\t\tbackgroundColor = obj.parentSection.backgroundColor;\n\t\t}\n\n\t\tif ( tinycolor( backgroundColor ).getAlpha() === 0 ) {\n\n\t\t\tif ( obj.isInFooter ) {\n\t\t\t\tbackgroundColor = instance.footerBg;\n\t\t\t} else {\n\t\t\t\tbackgroundColor = window.liquidContentsBg;\n\t\t\t}\n\n\t\t}\n\n\t\treturn tinycolor( backgroundColor ).isDark() ? 'dark' : 'light';\n\n\t}\n\n\tasync addLuminosity( instance ) {\n\n\t\tinstance.sections.forEach( async sec => {\n\n\t\t\tsec.isBgTransparent = tinycolor( sec.backgroundColor ).getAlpha() === 0;\n\t\t\tsec.luminosity = sec.predefinedLuminosity ? sec.predefinedLuminosity : instance.getLuminosity( sec, instance );\n\n\t\t\tawait fastdomPromised.mutate( () => {\n\t\t\t\tsec.el.setAttribute( 'data-section-luminosity', sec.luminosity );\n\t\t\t} )\n\n\t\t} )\n\n\t}\n\n};","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidPreloader';\n\tlet defaults = {\n\t\tanimationType: 'fade', // fade, slide, scale\n\t\tanimationTargets: 'self',\n\t\tdir: 'x', // x, y\n\t\tstagger: 0,\n\t\tduration: 1400\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = $.extend({}, defaults, options);\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\tthis.animationTargets = this.getAnimationTargets();\n\t\t\tthis.onPreloaderHiddenEvent = new CustomEvent('lqd-preloader-anim-done');\n\n\t\t\tthis.onPageLoad();\n\n\t\t}\n\n\t\tgetAnimationTargets() {\n\n\t\t\tconst {animationTargets} = this.options;\n\n\t\t\tif ( animationTargets === 'self' ) {\n\n\t\t\t\treturn this.element;\n\n\t\t\t} else {\n\n\t\t\t\treturn document.querySelectorAll(animationTargets);\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tgetAnimationProperties() {\n\t\t\t\n\t\t\tconst {animationType} = this.options;\n\n\t\t\treturn this[`${animationType}Properties`]();\n\n\t\t}\n\n\t\tfadeProperties() {\n\n\t\t\tconst animateIn = {\n\t\t\t\topacity: [0, 1]\n\t\t\t};\n\t\t\tconst animateOut = {\n\t\t\t\topacity: [1, 0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tanimateIn,\n\t\t\t\tanimateOut\n\t\t\t}\n\n\t\t}\n\n\t\tslideProperties() {\n\n\t\t\tconst { dir } = this.options;\n\n\t\t\tconst animateIn = {\n\t\t\t\t[dir]: ['100%', '0%']\n\t\t\t};\n\t\t\tconst animateOut = {\n\t\t\t\t[dir]: ['0%', '-100%']\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tanimateIn,\n\t\t\t\tanimateOut\n\t\t\t}\n\n\t\t}\n\n\t\tscaleProperties() {\n\n\t\t\tconst animateIn = {\n\t\t\t\t[`scale${this.options.dir.toUpperCase()}`]: [0, 1]\n\t\t\t};\n\t\t\tconst animateOut = {\n\t\t\t\t[`scale${this.options.dir.toUpperCase()}`]: [1, 0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tanimateIn,\n\t\t\t\tanimateOut\n\t\t\t}\n\n\t\t}\n\n\t\tonPageLoad() {\n\n\t\t\t$liquidBody.addClass('lqd-page-loaded lqd-preloader-animations-started');\n\t\t\t$liquidBody.removeClass('lqd-page-leaving lqd-page-not-loaded');\n\t\t\tthis.hidePreloader();\n\n\t\t}\n\t\n\t\thidePreloader() {\n\n\t\t\tconst stagger = this.options.stagger / 1000;\n\t\t\tconst duration = this.options.duration / 1000;\n\n\t\t\tconst timeline = gsap.timeline({\n\t\t\t\tduration,\n\t\t\t\tease: 'expo.out',\n\t\t\t\tstagger: stagger,\n\t\t\t\tonComplete: () => {\n\n\t\t\t\t\tthis.$element.hide();\n\t\t\t\t\t$liquidBody.removeClass('lqd-preloader-animations-started');\n\t\t\t\t\t$liquidBody.addClass('lqd-preloader-animations-done');\n\n\t\t\t\t\t$(this.animationTargets).css('transform', '');\n\n\t\t\t\t\tdocument.dispatchEvent(this.onPreloaderHiddenEvent);\n\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t$(this.animationTargets).each( (i, targetElement) => {\n\n\t\t\t\tconst $targetElement = $(targetElement);\n\n\t\t\t\tif ( targetElement.hasAttribute('data-animations') ) {\n\n\t\t\t\t\tconst animations = $targetElement.data('animations');\n\t\t\t\t\t\n\t\t\t\t\ttimeline.to(targetElement, {\n\t\t\t\t\t\t...animations\n\t\t\t\t\t}, stagger * i)\n\t\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tconst animationProperties = this.getAnimationProperties().animateOut;\n\n\t\t\t\t\ttimeline.fromTo(targetElement, {\n\t\t\t\t\t\t[Object.keys(animationProperties)[0]]: Object.values(animationProperties)[0][0]\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t[Object.keys(animationProperties)[0]]: Object.values(animationProperties)[0][1]\n\t\t\t\t\t}, stagger * i)\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} );\n\t\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('preloader-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\n$liquidWindow.on('pageshow load', (ev) => {\n\tif ( 'elementorFrontend' in window && elementorFrontend.isEditMode()) return;\n\tliquidPageLoaded || jQuery('.lqd-preloader-wrap').liquidPreloader();\n\tliquidPageLoaded = true;\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidSubmenu';\n\n\tlet defaults = {\n\t\ttoggleType: \"fade\", // fade, slide\n\t\thandler: \"mouse-in-out\", // click, mouse-in-out\n\t\tanimationSpeed: 200\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.rects = [];\n\t\t\tthis.windowWidth = fastdom.measure( liquidWindowWidth )();\n\t\t\tthis.itemsAreFullwidth = this.element.classList.contains( 'lqd-menu-items-block' );\n\t\t\tthis.$submenuParents = $( this.$element.find( '.menu-item-has-children, .page_item_has_children' ).get().reverse() );\n\t\t\tthis.$elementorHeaderWidgets = liquidIsElementor && $liquidMainHeader.find( '> .elementor:not(.lqd-mobile-sec) > .elementor-section-wrap > .elementor-section, > .elementor:not(.lqd-mobile-sec) > .elementor-section, > .elementor:not(.lqd-mobile-sec) > .e-con' ).not( '.lqd-stickybar-wrap' ).find( '> .elementor-container > .elementor-column > .elementor-widget-wrap > [data-element_type=\"widget\"]' );\n\n\t\t\tthis.init();\n\t\t}\n\n\t\tinit() {\n\t\t\tconst { handler } = this.options;\n\n\t\t\tthis.$submenuParents.each( async ( i, subParent ) => {\n\t\t\t\tconst isMegamenu = subParent.classList.contains( 'megamenu' );\n\t\t\t\tconst submenu = subParent.querySelector( '.nav-item-children, .children' );\n\n\t\t\t\tif ( !submenu ) return;\n\n\t\t\t\tif ( handler === 'click' ) {\n\t\t\t\t\tthis.element.classList.add( 'lqd-submenu-toggle-click' );\n\t\t\t\t} else if ( handler === 'mouse-in-out' ) {\n\t\t\t\t\tthis.element.classList.add( 'lqd-submenu-toggle-hover' );\n\t\t\t\t}\n\n\t\t\t\tif ( ( !liquidIsMobile() || !$( subParent ).is( ':hidden' ) ) && !this.itemsAreFullwidth ) {\n\t\t\t\t\tif ( !isMegamenu ) {\n\t\t\t\t\t\tawait this.measure( i, submenu, subParent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.getMegamenuBackgroundLuminance( subParent );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsubParent.classList.add( 'position-applied' )\n\t\t\t\t}\n\n\t\t\t\tthis.eventHandlers( i, submenu, subParent );\n\n\t\t\t} );\n\n\t\t\t$( document ).on( 'click', this.closeActiveSubmenu.bind( this ) );\n\n\t\t\t$( document ).keyup( event => {\n\t\t\t\tif ( event.keyCode == 27 ) {\n\t\t\t\t\tthis.closeActiveSubmenu( event );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tasync measure( i, submenu, subParent ) {\n\t\t\tawait this.getRects( i, submenu, subParent );\n\t\t\tawait this.positioning( i, submenu, subParent );\n\t\t}\n\n\t\teventHandlers( i, submenu, submenuParent ) {\n\t\t\tconst { handler } = this.options;\n\t\t\tconst $toggleLink = $( submenuParent ).children( 'a' );\n\n\t\t\tif ( handler === 'click' ) {\n\t\t\t\t$toggleLink.off();\n\t\t\t\t$toggleLink.on( 'click', this.handleToggle.bind( this, 'toggle' ) );\n\t\t\t} else {\n\t\t\t\t$( submenuParent ).off();\n\n\t\t\t\t$( submenuParent ).on( 'mouseenter', this.handleToggle.bind( this, 'show' ) );\n\t\t\t\t$( submenuParent ).on( 'mouseleave', this.handleToggle.bind( this, 'hide' ) );\n\t\t\t}\n\n\t\t\tdocument.addEventListener( 'lqd-header-sticky-change', async () => {\n\t\t\t\tawait this.measure( i, submenu, submenuParent );\n\t\t\t} );\n\n\t\t\treturn this;\n\t\t}\n\n\t\thandleToggle( state, event ) {\n\t\t\tconst { toggleType, handler } = this.options;\n\t\t\tconst $link = $( event.currentTarget );\n\t\t\tconst $submenuParent = $link.closest( 'li' );\n\t\t\tconst $submenu = $submenuParent.children( '.nav-item-children, .children' );\n\t\t\tconst isMegamenu = $submenuParent.hasClass( 'megamenu' );\n\t\t\tconst megamenuBg = isMegamenu && $submenuParent.attr( 'data-bg-color' );\n\t\t\tconst megamenuScheme = isMegamenu && $submenuParent.attr( 'data-megamenu-bg-scheme' );\n\n\t\t\tif ( !$submenu.length ) return;\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst stateIsShow = state === 'show' || !$submenuParent.hasClass( 'is-active' );\n\n\t\t\tif ( toggleType === 'fade' ) {\n\t\t\t\tif ( state === 'show' ) {\n\t\t\t\t\tthis.fadeIn( $submenu, isMegamenu, megamenuScheme, megamenuBg );\n\t\t\t\t} else if ( state === 'hide' ) {\n\t\t\t\t\tthis.fadeOut( $submenu, isMegamenu );\n\t\t\t\t} else if ( state === 'toggle' ) {\n\t\t\t\t\tthis.fadeToggle( $submenu, isMegamenu, megamenuScheme, megamenuBg );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( toggleType === 'slide' ) {\n\t\t\t\tif ( state === 'show' ) {\n\t\t\t\t\tthis.slideDown( $submenu, isMegamenu, megamenuScheme, megamenuBg );\n\t\t\t\t} else if ( state === 'hide' ) {\n\t\t\t\t\tthis.slideUp( $submenu, isMegamenu );\n\t\t\t\t} else if ( state === 'toggle' ) {\n\t\t\t\t\tthis.slideToggle( $submenu, isMegamenu, megamenuScheme, megamenuBg );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$submenuParent\n\t\t\t\t.toggleClass( `is-active ${ handler === 'mouse-in-out' ? 'is-hovered' : '' }`, stateIsShow )\n\t\t\t\t.siblings()\n\t\t\t\t.removeClass( `is-active ${ handler === 'mouse-in-out' ? 'is-hovered' : '' }` );\n\n\t\t\tdocument.dispatchEvent(\n\t\t\t\tnew CustomEvent( 'lqd-submenu-change', { bubbles: false, detail: { state: stateIsShow ? 'show' : 'hide', $submenu } } )\n\t\t\t);\n\t\t}\n\n\t\tfadeToggle( submenu, isMegamenu, megamenuScheme, megamenuBg ) {\n\t\t\tconst { handler } = this.options;\n\t\t\tconst submenuParent = submenu.closest( 'li' );\n\n\t\t\tif ( handler === 'click' ) {\n\t\t\t\tsubmenu.css( {\n\t\t\t\t\t'visibility': 'visible',\n\t\t\t\t\t'opacity': submenuParent.hasClass( 'is-active' ) ? 0 : 1,\n\t\t\t\t} );\n\t\t\t\tsubmenu[ submenuParent.hasClass( 'is-active' ) ? 'show' : 'hide' ]();\n\t\t\t\tsubmenuParent.siblings().find( '.nav-item-children, .children' ).stop().fadeOut( this.options.animationSpeed );\n\t\t\t\tsubmenu.stop().fadeToggle( this.options.animationSpeed );\n\t\t\t}\n\n\t\t\t$liquidMainHeader.removeClass( 'megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent' );\n\t\t\t$liquidMainHeader.toggleClass( `megamenu-item-active megamenu-scheme-${ megamenuScheme }`, isMegamenu );\n\n\t\t\tif ( this.$elementorHeaderWidgets && megamenuScheme !== 'transparent' && !$liquidMainHeader.hasClass( 'is-stuck' ) ) {\n\t\t\t\tthis.$elementorHeaderWidgets.removeClass( `lqd-active-row-dark lqd-active-row-light` );\n\t\t\t\tthis.$elementorHeaderWidgets.addClass( `lqd-active-row-${ megamenuScheme }` );\n\t\t\t}\n\n\t\t\tif ( isMegamenu ) {\n\t\t\t\t$liquidMainHeader[ 0 ].style.setProperty( '--lqd-megamenu-background-color', megamenuBg );\n\t\t\t}\n\t\t}\n\n\t\tfadeIn( submenu, isMegamenu, megamenuScheme, megamenuBg ) {\n\t\t\tconst { handler } = this.options;\n\t\t\tconst submenuParent = submenu.closest( 'li' );\n\n\t\t\tif ( handler === 'click' ) {\n\t\t\t\tsubmenu.css( {\n\t\t\t\t\t'visibility': 'visible',\n\t\t\t\t\t'display': 'none',\n\t\t\t\t\t'opacity': 0,\n\t\t\t\t} );\n\t\t\t\tsubmenuParent.siblings().find( '.nav-item-children, .children' ).stop().fadeOut( this.options.animationSpeed );\n\t\t\t\tsubmenu.stop().fadeIn( this.options.animationSpeed );\n\t\t\t}\n\n\t\t\tif ( isMegamenu ) {\n\t\t\t\tif ( this.$elementorHeaderWidgets && megamenuScheme !== 'transparent' && !$liquidMainHeader.hasClass( 'is-stuck' ) ) {\n\t\t\t\t\tthis.$elementorHeaderWidgets.removeClass( `lqd-active-row-dark lqd-active-row-light` );\n\t\t\t\t\tthis.$elementorHeaderWidgets.addClass( `lqd-active-row-${ megamenuScheme }` );\n\t\t\t\t}\n\t\t\t\t$liquidMainHeader[ 0 ].style.setProperty( '--lqd-megamenu-background-color', megamenuBg );\n\t\t\t\t$liquidMainHeader.removeClass( 'megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent' );\n\t\t\t\t$liquidMainHeader.addClass( `megamenu-item-active megamenu-scheme-${ megamenuScheme }` );\n\t\t\t}\n\n\t\t\tif ( submenu.find( '[data-lqd-flickity]' ).length ) {\n\t\t\t\tsubmenu.find( '[data-lqd-flickity]' ).flickity( 'resize' );\n\t\t\t}\n\t\t}\n\n\t\tfadeOut( submenu, isMegamenu ) {\n\t\t\tconst { handler } = this.options;\n\t\t\tconst submenuParent = submenu.closest( 'li' );\n\n\t\t\tif ( handler === 'click' ) {\n\t\t\t\tsubmenu.css( {\n\t\t\t\t\t'visibility': 'visible',\n\t\t\t\t\t'display': 'block',\n\t\t\t\t\t'opacity': submenuParent.hasClass( 'is-active' ) ? 1 : 0,\n\t\t\t\t} );\n\t\t\t\tsubmenuParent.siblings().find( '.nav-item-children, .children' ).stop().fadeOut( this.options.animationSpeed );\n\t\t\t\tsubmenu.stop().fadeOut( this.options.animationSpeed );\n\t\t\t}\n\n\t\t\tif ( isMegamenu ) {\n\t\t\t\tif ( this.$elementorHeaderWidgets ) {\n\t\t\t\t\tthis.$elementorHeaderWidgets.removeClass( `lqd-active-row-dark lqd-active-row-light` );\n\t\t\t\t}\n\t\t\t\t$liquidMainHeader.removeClass( 'megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent' );\n\t\t\t\t$liquidMainHeader.removeClass( 'megamenu-item-active' );\n\t\t\t}\n\t\t}\n\n\t\tslideToggle( submenu, isMegamenu, megamenuScheme, megamenuBg ) {\n\t\t\tsubmenu.closest( 'li' ).siblings().find( '.nav-item-children, .children' ).stop().slideUp( this.options.animationSpeed );\n\t\t\tsubmenu.stop().slideToggle( this.options.animationSpeed );\n\n\t\t\tif ( isMegamenu ) {\n\t\t\t\tif ( this.$elementorHeaderWidgets && megamenuScheme !== 'transparent' && !$liquidMainHeader.hasClass( 'is-stuck' ) ) {\n\t\t\t\t\tthis.$elementorHeaderWidgets.removeClass( `lqd-active-row-dark lqd-active-row-light` );\n\t\t\t\t\tthis.$elementorHeaderWidgets.addClass( `lqd-active-row-${ megamenuScheme }` );\n\t\t\t\t}\n\t\t\t\t$liquidMainHeader[ 0 ].style.setProperty( '--lqd-megamenu-background-color', megamenuBg );\n\t\t\t\t$liquidMainHeader.removeClass( 'megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent' );\n\t\t\t\t$liquidMainHeader.toggleClass( `megamenu-item-active megamenu-scheme-${ megamenuScheme }` );\n\t\t\t}\n\t\t}\n\n\t\tslideDown( submenu, isMegamenu, megamenuScheme, megamenuBg ) {\n\t\t\tsubmenu.closest( 'li' ).siblings().find( '.nav-item-children, .children' ).stop().slideUp( this.options.animationSpeed );\n\t\t\tsubmenu.stop().slideDown( this.options.animationSpeed );\n\n\t\t\tif ( isMegamenu ) {\n\t\t\t\tif ( this.$elementorHeaderWidgets && megamenuScheme !== 'transparent' && !$liquidMainHeader.hasClass( 'is-stuck' ) ) {\n\t\t\t\t\tthis.$elementorHeaderWidgets.removeClass( `lqd-active-row-dark lqd-active-row-light` );\n\t\t\t\t\tthis.$elementorHeaderWidgets.addClass( `lqd-active-row-${ megamenuScheme }` );\n\t\t\t\t}\n\t\t\t\t$liquidMainHeader[ 0 ].style.setProperty( '--lqd-megamenu-background-color', megamenuBg );\n\t\t\t\t$liquidMainHeader.removeClass( 'megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent' );\n\t\t\t\t$liquidMainHeader.addClass( `megamenu-item-active megamenu-scheme-${ megamenuScheme }` );\n\t\t\t}\n\t\t}\n\n\t\tslideUp( submenu, isMegamenu ) {\n\t\t\tsubmenu.stop().slideUp( this.options.animationSpeed );\n\n\t\t\tif ( isMegamenu ) {\n\t\t\t\tif ( this.$elementorHeaderWidgets ) {\n\t\t\t\t\tthis.$elementorHeaderWidgets.removeClass( `lqd-active-row-dark lqd-active-row-light` );\n\t\t\t\t}\n\t\t\t\t$liquidMainHeader.removeClass( 'megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent' );\n\t\t\t\t$liquidMainHeader.removeClass( 'megamenu-item-active' );\n\t\t\t}\n\t\t}\n\n\t\tgetMegamenuBackgroundLuminance( subParent ) {\n\t\t\tconst megamenuRowsWrap = subParent.querySelector( '.lqd-megamenu-rows-wrap' );\n\t\t\tlet backgroundColor;\n\n\t\t\tfastdom.measure( () => {\n\t\t\t\tconst styles = getComputedStyle( megamenuRowsWrap );\n\t\t\t\tbackgroundColor = tinycolor( styles.backgroundColor );\n\t\t\t} );\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tsubParent.setAttribute( 'data-bg-color', backgroundColor );\n\n\t\t\t\tif ( backgroundColor.getAlpha() === 0 ) {\n\t\t\t\t\treturn subParent.setAttribute( 'data-megamenu-bg-scheme', 'transparent' )\n\t\t\t\t}\n\t\t\t\tif ( backgroundColor.isLight() ) {\n\t\t\t\t\treturn subParent.setAttribute( 'data-megamenu-bg-scheme', 'light' )\n\t\t\t\t}\n\t\t\t\tif ( backgroundColor.isDark() ) {\n\t\t\t\t\treturn subParent.setAttribute( 'data-megamenu-bg-scheme', 'dark' )\n\t\t\t\t}\n\n\t\t\t} );\n\t\t}\n\n\t\tcloseActiveSubmenu( event ) {\n\t\t\tconst { toggleType } = this.options;\n\n\t\t\t// if Esc key pressed\n\t\t\tif ( event.keyCode ) {\n\n\t\t\t\tthis.$submenuParents.each( ( i, submenuParent ) => {\n\t\t\t\t\tconst $submenuParent = $( submenuParent );\n\n\t\t\t\t\t$submenuParent.removeClass( 'active, is-active' );\n\t\t\t\t\tthis[ toggleType === 'fade' ? 'fadeOut' : 'slideUp' ]( $submenuParent.children( '.nav-item-children, .children' ), $submenuParent.hasClass( 'megamenu' ) );\n\t\t\t\t} );\n\n\t\t\t\tdocument.dispatchEvent(\n\t\t\t\t\tnew CustomEvent( 'lqd-submenu-change', { bubbles: false, detail: { state: 'hide', $submenu: null } } )\n\t\t\t\t);\n\n\t\t\t} else { // else if it was clicked in the document\n\n\t\t\t\tthis.$submenuParents.each( async ( i, submenuParent ) => {\n\t\t\t\t\tconst $submenuParent = $( submenuParent );\n\t\t\t\t\tconst $link = $submenuParent.children( 'a' );\n\n\t\t\t\t\tif ( !$submenuParent.hasClass( 'is-active' ) ) return;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!$link.is( event.target ) &&\n\t\t\t\t\t\t!$submenuParent.is( event.target ) &&\n\t\t\t\t\t\t!$submenuParent.has( event.target ).length\n\t\t\t\t\t) {\n\t\t\t\t\t\t$submenuParent.removeClass( 'active, is-active' );\n\t\t\t\t\t\tthis[ toggleType === 'fade' ? 'fadeOut' : 'slideUp' ]( $submenuParent.children( '.nav-item-children, .children' ), $submenuParent.hasClass( 'megamenu' ) );\n\n\t\t\t\t\t\tdocument.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent( 'lqd-submenu-change', { bubbles: false, detail: { state: 'hide', $submenu: null } } )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t}\n\t\t}\n\n\t\tasync getRects( i, submenu, submenuParent ) {\n\t\t\tthis.rects[ i ] = {\n\t\t\t\tsubmenuRect: {},\n\t\t\t\tsubParentRect: {}\n\t\t\t}\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\treturn new Promise( resolve => {\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\tconst { boundingClientRect } = entry;\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tresolve( boundingClientRect );\n\t\t\t\t\t} ).observe( submenu )\n\t\t\t\t} );\n\n\t\t\t} ).then( submenuRect => {\n\n\t\t\t\tthis.rects[ i ].submenuRect = submenuRect;\n\n\t\t\t\treturn new Promise( resolve => {\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\tconst { boundingClientRect } = entry;\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tresolve( boundingClientRect );\n\t\t\t\t\t} ).observe( submenuParent );\n\t\t\t\t} );\n\n\t\t\t} ).then( subParentRect => {\n\n\t\t\t\tthis.rects[ i ].subParentRect = subParentRect;\n\n\t\t\t} )\n\t\t}\n\n\t\tpositioning( i, submenu, submenuParent ) {\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tconst submenuRect = this.rects[ i ].submenuRect;\n\t\t\t\tconst subParentRect = this.rects[ i ].subParentRect;\n\n\t\t\t\tif ( submenuRect.left + submenuRect.width >= this.windowWidth ) {\n\t\t\t\t\tsubmenu.classList.add( 'to-left' );\n\t\t\t\t}\n\n\t\t\t\tsubmenuParent.style.setProperty( '--item-height', `${ subParentRect.height }px` );\n\n\t\t\t\tsubmenuParent.classList.add( 'position-applied' );\n\n\t\t\t} );\n\t\t}\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'submenu-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '.main-nav, .lqd-custom-menu' ).liquidSubmenu();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidMobileNav';\n\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\t\t\tthis.$mobileSec = $( '.lqd-mobile-sec', $liquidMainHeader );\n\t\t\tthis.$mobileSecInner = $( '.lqd-mobile-sec-inner', this.$mobileSec );\n\t\t\tthis.$mobileNavCollapse = $( '.mobile-navbar-collapse', this.$mobileSec );\n\t\t\tthis.$submenuExpanders = $( '.submenu-expander' );\n\t\t\tthis.isModernMobileNav = document.body.hasAttribute( 'data-mobile-nav-style' ) && document.body.getAttribute( 'data-mobile-nav-style' ) === 'modern';\n\n\t\t\tthis.$navItems = [];\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.mobileExpander()\n\t\t\tthis.eventHandlers();\n\n\t\t\tif ( document.body.hasAttribute( 'data-mobile-header-builder' ) ) return;\n\n\t\t\tthis.removeStyleTags();\n\t\t\tthis.addHeightVar();\n\t\t\tthis.mobileModules();\n\n\t\t\t/*\n\t\t\t\tadding .elementor for styling\n\t\t\t\tcan't add the classname in markup because it will conflict with elementor pro and elementor cloud\n\t\t\t*/\n\t\t\tif ( 'elementorFrontend' in window && !elementorFrontend.isEditMode() ) {\n\t\t\t\tthis.$mobileSec.addClass( 'elementor' );\n\t\t\t}\n\n\t\t}\n\n\t\tmobileExpander() {\n\t\t\tthis.$submenuExpanders.attr( 'role', 'button' );\n\t\t\tthis.$submenuExpanders.attr( 'tabindex', 0 );\n\n\t\t\tthis.$mobileNavCollapse.add( '.nav-item-children', this.$mobileNavCollapse ).add( '.nav-item-children', $( '.ld-sd-inner' ) ).css( {\n\t\t\t\tdisplay: 'block',\n\t\t\t\tvisibility: 'hidden'\n\t\t\t} );\n\n\t\t\t// move the expander out of <a> element\n\t\t\tthis.$submenuExpanders.each( ( i, expander ) => {\n\t\t\t\tconst $expander = $( expander );\n\t\t\t\tconst $parent = $expander.parent();\n\t\t\t\tconst $expanderCssPosition = $expander.css( 'position' );\n\n\t\t\t\tif ( $expanderCssPosition === 'absolute' ) {\n\t\t\t\t\t$expander.css( {\n\t\t\t\t\t\t// 18px hardcoded. 36px height of the expander / 2\n\t\t\t\t\t\ttop: ( $parent.outerHeight() / 2 ) - 18\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t$expander.insertAfter( $parent );\n\t\t\t} );\n\n\t\t\tthis.$mobileNavCollapse.add( '.nav-item-children', this.$mobileNavCollapse ).add( '.nav-item-children', $( '.ld-sd-inner' ) ).css( {\n\t\t\t\tdisplay: '',\n\t\t\t\tvisibility: ''\n\t\t\t} );\n\t\t}\n\n\t\teventHandlers() {\n\t\t\tthis.$submenuExpanders.\n\t\t\t\toff()\n\t\t\t\t.on( 'click keypress', event => {\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.code &&\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tevent.code !== 'Enter' &&\n\t\t\t\t\t\t\tevent.code !== 'Space' &&\n\t\t\t\t\t\t\tevent.code !== 'NumpadEnter'\n\t\t\t\t\t\t)\n\t\t\t\t\t) return;\n\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tconst $parentLi = $( event.currentTarget ).closest( 'li' );\n\t\t\t\t\tconst $submenu = $parentLi.children( '.nav-item-children, .children' );\n\t\t\t\t\tconst $navbarInner = $parentLi.closest( '.navbar-collapse-inner' );\n\t\t\t\t\tconst submenuParentWasActive = $parentLi.hasClass( 'is-active' );\n\n\t\t\t\t\t$parentLi.toggleClass( 'is-active' );\n\t\t\t\t\t$parentLi.siblings().removeClass( 'is-active' ).find( '.nav-item-children, .children' ).stop().slideUp( 200 );\n\n\t\t\t\t\t$submenu.stop().slideToggle( 300, () => {\n\n\t\t\t\t\t\tif ( this.isModernMobileNav && !submenuParentWasActive && $navbarInner.length ) {\n\n\t\t\t\t\t\t\t$navbarInner.animate( {\n\t\t\t\t\t\t\t\tscrollTop: $navbarInner.scrollTop() + ( $parentLi.offset().top - $navbarInner.offset().top )\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} );\n\n\t\t\t\t} );\n\t\t}\n\n\t\tremoveStyleTags() {\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tthis.$mobileSec.find( '.navbar-collapse style[data-type=vc_shortcodes-custom-css]' ).remove();\n\n\t\t\t} );\n\n\n\t\t}\n\n\t\taddHeightVar() {\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tif ( this.$mobileSecInner.length ) {\n\n\t\t\t\t\tdocument.documentElement.style.setProperty( '--lqd-mobile-sec-height', `${ this.$mobileSecInner[ 0 ].offsetHeight }px` );\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t}\n\n\t\tmobileModules() {\n\n\t\t\tconst $mobileModules = $( '.lqd-show-on-mobile', this.element );\n\n\t\t\tif ( !$mobileModules.length ) return;\n\n\t\t\tconst $mobileModulesContainer = $( '.lqd-mobile-modules-container', this.$mobileSec );\n\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\t$mobileModulesContainer.removeClass( 'empty' );\n\n\t\t\t\t$mobileModules.each( ( i, mobileModule ) => {\n\n\t\t\t\t\tconst $module = $( mobileModule );\n\n\t\t\t\t\tif ( !$module.children().length ) return false;\n\n\t\t\t\t\tconst $clonedModule = $module.clone( true );\n\t\t\t\t\tconst $triggerElement = $( '[data-target]', $clonedModule );\n\n\t\t\t\t\tif ( $triggerElement.length ) {\n\n\t\t\t\t\t\tconst target = $triggerElement.attr( 'data-target' );\n\t\t\t\t\t\tconst $targetEelement = $( target, $clonedModule );\n\n\t\t\t\t\t\t$targetEelement.attr( {\n\t\t\t\t\t\t\t'id': `${ target.replace( '#', '' ) }-cloned`\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t$triggerElement.attr( {\n\t\t\t\t\t\t\t'data-target': `${ target }-cloned`,\n\t\t\t\t\t\t\t'aria-controls': `${ target.replace( '#', '' ) }-cloned`\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t$triggerElement.attr( {\n\t\t\t\t\t\t\t'data-bs-target': `${ target }-cloned`,\n\t\t\t\t\t\t\t'aria-controls': `${ target.replace( '#', '' ) }-cloned`\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t$targetEelement.on( 'show.bs.collapse', () => {\n\t\t\t\t\t\t\t$targetEelement.add( $triggerElement ).addClass( 'is-active' )\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t$targetEelement.on( 'hide.bs.collapse', () => {\n\t\t\t\t\t\t\t$targetEelement.add( $triggerElement ).removeClass( 'is-active' )\n\t\t\t\t\t\t} )\n\n\t\t\t\t\t}\n\n\t\t\t\t\t$clonedModule.appendTo( $mobileModulesContainer );\n\n\t\t\t\t\tif ( !$clonedModule.hasClass( 'header-module' ) ) {\n\t\t\t\t\t\t$clonedModule.wrap( '<div class=\"header-module\" />' )\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'mobilenav-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function () {\n\n\t$liquidMainHeader.liquidMobileNav();\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidButton';\n\tlet defaults = {\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\tthis.element = element;\n\t\t\tthis.options = $.extend({}, defaults, options);\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\t\t\tthis.init();\n\t\t}\n\t\t\t\n\t\tinit() {\n\t\t\t\n\t\t\tthis.gradientBorderRoundness();\n\t\t\t\n\t\t}\n\n\t\tgradientBorderRoundness() {\n\n\t\t\tconst self = this;\n\t\t\tconst element = $(self.element);\n\n\t\t\tif ( element.find('.btn-gradient-border').length && element.hasClass('circle') && element.is(':visible') ) {\n\n\t\t\t\tconst svgBorder = element.find('.btn-gradient-border').children('rect');\n\t\t\t\tconst buttonHeight = element.height();\n\n\t\t\t\tsvgBorder.attr({\n\t\t\t\t\trx: buttonHeight / 2,\n\t\t\t\t\try: buttonHeight / 2\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = $(this).data('plugin-options') || options;\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n // $('.btn').liquidButton();\n});","/*\n* FitText.js 1.2\n*\n* Copyright 2011, Dave Rupert http://daverupert.com\n* Released under the WTFPL license\n* http://sam.zoy.org/wtfpl/\n*\n* Date: Thu May 05 14:23:00 2011 -0600\n*/\n(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidFitText';\n\tlet defaults = {\n\t\tcompressor: 1,\n\t\tminFontSize : Number.NEGATIVE_INFINITY,\n\t\tmaxFontSize : Number.POSITIVE_INFINITY\n\t};\n\t\n\tfunction Plugin( element, options ) {\n\t\t\n\t\tthis.element = element;\n\t\t\n\t\tthis.options = $.extend( {}, defaults, options) ;\n\t\t\n\t\tthis._defaults = defaults;\n\t\tthis._name = pluginName;\n\t\t\n\t\tthis.init();\n\t}\n\t\n\tPlugin.prototype = {\n\n\t\tinit() {\n\t\t\t\n\t\t\tthis.setMinFontSize();\n\t\t\tthis.setMaxFontSize();\n\t\t\tthis.resizer();\n\t\t\tthis.onWindowResize();\n\t\t\t\n\t\t},\n\n\t\tsetMinFontSize() {\n\n\t\t\tconst minFontSize = this.options.minFontSize;\n\t\t\tconst elementFontSize = $(this.element).css('fontSize');\n\n\t\t\tif ( minFontSize == 'currentFontSize' ) {\n\n\t\t\t\tthis.options.minFontSize = elementFontSize;\n\n\t\t\t}\n\n\t\t},\n\n\t\tsetMaxFontSize() {\n\n\t\t\tconst maxFontSize = this.options.maxFontSize;\n\t\t\tconst elementFontSize = $(this.element).css('fontSize');\n\n\t\t\tif ( maxFontSize == 'currentFontSize' ) {\n\n\t\t\t\tthis.options.maxFontSize = elementFontSize;\n\n\t\t\t}\n\n\t\t},\n\n\t\tresizer() {\n\n\t\t\tconst options = this.options;\n\t\t\tconst compressor = options.compressor;\n\t\t\tconst maxFontSize = options.maxFontSize;\n\t\t\tconst minFontSize = options.minFontSize;\n\t\t\tconst $element = $(this.element);\n\n\t\t\t// if it's a fancy heading, get .ld-fancy-heading's parent width. because .ld-fancy-heading is set to display: inline-block\n\t\t\tconst elementWidth = $element.parent('.ld-fancy-heading').length ? $element.parent().width() : $element.width();\n\n\t\t\t$element.css('font-size', Math.max(Math.min(elementWidth / (compressor*10), parseFloat(maxFontSize)), parseFloat(minFontSize)));\n\n\t\t},\n\n\t\tonWindowResize() {\n\n\t\t\t$(window).on('resize.fittext orientationchange.fittext', this.resizer.bind(this));\n\n\t\t}\n\t\t\n\t};\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\n\t\t\tconst pluginOptions = $(this).data('fittext-options') || options;\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\t$('[data-fittext]').liquidFitText();\n\n});","jQuery(document).ready( function($) {\n\n\tif ( liquidLazyloadEnabled ) {\n\n\t\tconst globalLazyLoadOffset = liquidParams?.lazyLoadOffset;\n\t\tconst threshold = globalLazyLoadOffset >= 0 ? globalLazyLoadOffset : 500;\n\n\t\twindow.liquidLazyload = new LazyLoad({\n\t\t\telements_selector: '.ld-lazyload',\n\t\t\tthreshold,\n\t\t\tcallback_loaded: el => {\n\t\t\t\n\t\t\t\tconst $element = $(el);\n\t\t\t\tconst $masonryParent = $element.closest('[data-liquid-masonry=true]');\n\t\t\t\t// const $flickityParent = $element.closest('[data-lqd-flickity]');\n\t\t\t\tconst $flexParent = $element.closest('.flex-viewport');\n\t\t\t\tconst $webGLHoverParent = $element.closest('[data-webglhover]');\n\t\t\t\tconst $revealParent = $element.closest('[data-reveal]');\n\t\t\t\t\n\t\t\t\t$element.parent().not('#wrap, #lqd-site-content').addClass('loaded');\n\t\t\t\t\n\t\t\t\t$element.closest('[data-responsive-bg=true]').liquidResponsiveBG();\n\t\t\t\t\n\t\t\t\tif ( $masonryParent.length && $masonryParent.data('isotope') ) {\n\t\t\t\t\t$masonryParent.isotope('layout');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// CAUSING ISSUES ON FREESCROLL WHEN IMAGES LOADED IT'S JUSMPING\n\t\t\t\t// if ( $flickityParent.length && $flickityParent.data('flickity') && ! $flickityParent.hasClass('lqd-marquee-carousel') ) {\n\t\t\t\t// \t$flickityParent.on('settle.flickity', () => {\n\t\t\t\t// \t\t$flickityParent.flickity('resize');\n\t\t\t\t// \t});\n\t\t\t\t// }\n\t\t\t\t\n\t\t\t\tif ( $flexParent.length && $flexParent.parent().data('flexslider') ) {\n\t\t\t\t\t$flexParent.height($element.height());\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif ( $webGLHoverParent.length && ! liquidIsMobile() ) {\n\t\t\t\t\t$webGLHoverParent.liquidWebGLHover();\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif ( $revealParent.length ) {\n\t\t\t\t\t$revealParent.liquidReveal();\n\t\t\t\t}\n\n\t\t\t}\n\t\t});\n\n\t}\n\n});","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidInView';\n\tlet defaults = {\n\t\tdelayTime: 0,\n\t\tonImagesLoaded: false,\n\t\t// 'stay', 'toggleOutOfView', 'toggleInView'\n\t\ttoggleBehavior: 'stay'\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\t\t\t\n\t\t\tthis.options = $.extend({}, defaults, options);\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\tthis.$sentinel = null;\n\n\t\t\tthis.isVisible = false;\n\t\t\tthis.imagesAlreadyLoaded = false;\n\t\t\tthis.isFixedPos = fastdom.measure(() => this.$element.css('position') === 'fixed')();\n\t\t\tthis.windowWidth = fastdom.measure(liquidWindowWidth)();\n\t\t\tthis.windowHeight = fastdom.measure(liquidWindowHeight)();\n\t\t\t\n\t\t\tthis.initIO();\n\n\t\t}\n\n\t\tinitIO() {\n\n\t\t\tconst { toggleBehavior } = this.options;\n\n\t\t\tnew IntersectionObserver(([entry], observer) => {\n\n\t\t\t\tfastdomPromised.measure(() => {\n\t\t\t\t\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tboundingClientRect: entry.boundingClientRect,\n\t\t\t\t\t\tscrollY: window.scrollY\n\t\t\t\t\t}\n\n\t\t\t\t}).then(({boundingClientRect, scrollY}) => {\n\n\t\t\t\t\tfastdom.mutate(() => {\n\t\n\t\t\t\t\t\tif ( toggleBehavior === 'toggleInView' ) {\n\t\t\n\t\t\t\t\t\t\tif ( scrollY + this.windowHeight >= boundingClientRect.top + scrollY ) {\n\t\t\t\t\t\t\t\tthis.isVisible = true;\n\t\t\t\t\t\t\t\tthis.callFns();\n\t\t\t\t\t\t\t} else if ( scrollY <= boundingClientRect.bottom + scrollY ) {\n\t\t\t\t\t\t\t\tthis.isVisible = false;\n\t\t\t\t\t\t\t\tthis.callFns();\n\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\tif ( entry.isIntersecting && toggleBehavior === 'stay' ) {\n\t\t\n\t\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tthis.isVisible = true;\n\t\t\t\t\t\t\tthis.callFns();\n\t\t\n\t\t\t\t\t\t} else if ( ! entry.isIntersecting && toggleBehavior === 'toggleOutOfView' ) {\n\t\t\n\t\t\t\t\t\t\tthis.onOutOfView();\n\t\t\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\n\t\t\t\t});\n\n\t\t\t}, {threshold: toggleBehavior === 'toggleInView' ? [0, 0.25, 0.5, 0.75, 1] : [0]}).observe(! this.isFixedPos ? this.element : this.$element.parent()[0]);\n\n\t\t}\n\n\t\tcallFns() {\n\n\t\t\tif ( ! this.options.onImagesLoaded && ! this.imagesAlreadyLoaded ) {\n\t\t\t\tthis.run();\n\t\t\t} else {\n\t\t\t\timagesLoaded(this.element, () => {\n\t\t\t\t\tthis.imagesAlreadyLoaded = true;\n\t\t\t\t\tthis.run();\t\n\t\t\t\t});\n\t\t\t}\n\n\t\t}\n\n\t\trun() {\n\n\t\t\tconst { delayTime } = this.options;\n\n\t\t\tdelayTime <= 0 ?\n\t\t\t\tthis.onInView() :\n\t\t\t\tthis.timeoutId = setTimeout(this.onInView.bind(this), delayTime);\n\n\t\t}\n\n\t\tonInView() {\n\n\t\t\tthis.$element.toggleClass('is-in-view', this.isVisible);\n\n\t\t\tclearTimeout(this.timeoutId);\n\n\t\t}\n\n\t\tonOutOfView() {\n\n\t\t\tconst { toggleBehavior } = this.options\n\n\t\t\tif ( toggleBehavior === 'toggleOutOfView' ) {\n\t\t\t\tthis.isVisible = false;\n\t\t\t}\n\n\t\t\tif ( ! this.isVisible ) {\n\t\t\t\tthis.$element.removeClass('is-in-view');\n\t\t\t}\n\n\t\t}\n\n\t}\n\t\n\t\n\t$.fn[pluginName] = function (options) {\n\n\t\treturn this.each( function() {\n\n\t\t\tconst pluginOptions = $(this).data('inview-options') || options;\n\t\t\t\n\t\t\tif ( ! $.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\tif ( ! $liquidContents.length ) {\n\t\treturn $('[data-inview]').liquidInView();\n\t};\n\n\tconst init = () => {\n\t\tif ( $liquidBody.hasClass('lqd-preloader-activated') ) {\n\t\t\tdocument.addEventListener('lqd-preloader-anim-done', () => {\n\t\t\t\t$('[data-inview]').liquidInView();\n\t\t\t});\n\t\t} else {\n\t\t\t$('[data-inview]').liquidInView();\n\t\t}\t\n\t}\n\t\n\tif ( ! $liquidContents[0].hasAttribute('data-liquid-stack') ) {\n\t\tinit();\n\t} else {\n\t\tconst stackOptions = $liquidContents.attr('data-stack-options');\n\t\tif ( stackOptions ) {\n\t\t\tconst optionsJson = JSON.parse(stackOptions);\n\t\t\tconst {disableOnMobile} = optionsJson;\n\t\t\tif ( disableOnMobile && ( liquidIsMobile() || liquidWindowWidth() <= liquidMobileNavBreakpoint() ) ) {\n\t\t\t\tinit();\n\t\t\t}\n\t\t}\n\t}\n\n});","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidFullscreenNav';\n\tlet defaults = {\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = {...defaults, ...options};\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.$element = $(element);\n\n\t\t\tthis.init();\n\t\t\t\n\t\t}\n\t\t\t\n\t\tinit() {\n\t\t\t\n\t\t\tthis.DOM.$element.children('.header-modules-container').find('.lqd-head-col').removeClass('lqd-head-col');\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('fullscreen-nav-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('.navbar-fullscreen').liquidFullscreenNav();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst $body = $( 'body' );\n\n\tconst pluginName = 'liquidToggle';\n\tlet defaults = {\n\t\ttype: 'click', // 'click', 'hover', 'hoverFade'\n\t\tcloneTriggerInTarget: false,\n\t\tcloseOnOutsideClick: true, // boolean || { \"ifNotIn\": \"$selector\" }\n\t\t// changeClassnames: {'html': 'overflow-hidden'}\n\t\ttoggleDelay: 300\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.$targetElement = $( this.$element.attr( 'data-target' ) || this.$element.attr( 'data-bs-target' ) );\n\t\t\tthis.$parentElement = this.$element.parent();\n\t\t\tthis.isInVerticalBar = this.$element.closest( '.lqd-stickybar-wrap' ).length;\n\t\t\tthis.isSearchModule = this.$parentElement.hasClass( 'ld-module-search' );\n\t\t\tthis.isCartModule = this.$parentElement.hasClass( 'ld-module-cart' );\n\t\t\tthis.$clonedTrigger = null;\n\t\t\tthis.isOpened = false;\n\t\t\tthis.isInHeader = $liquidMainHeader.has( this.element ).length;\n\t\t\tthis.windowWidth = fastdom.measure( liquidWindowWidth )();\n\t\t\tthis.targetRect = {};\n\t\t\tthis.isBS5 = typeof bootstrap !== 'undefined';\n\n\t\t\tif (\n\t\t\t\tthis.$element.hasClass( 'lqd-custom-menu-dropdown-btn' ) &&\n\t\t\t\tthis.$element.parents( '.header-module' ).length\n\t\t\t) {\n\t\t\t\tthis.options.type = 'hoverFade';\n\t\t\t}\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tasync init() {\n\n\t\t\tconst $targetToPosition = this.$targetElement.not( '.navbar-collapse' );\n\n\t\t\tif ( !this.isInVerticalBar && $targetToPosition.length && !liquidIsMobile() ) {\n\t\t\t\t$targetToPosition[ 0 ].classList.add( 'positioning' );\n\t\t\t\tawait this.measure( $targetToPosition[ 0 ] );\n\t\t\t\tawait this.positioning( $targetToPosition[ 0 ] );\n\t\t\t}\n\n\t\t\tthis.addBodyClassnames();\n\t\t\tthis.eventHandlers();\n\t\t\tthis.cloneTriggerInTarget();\n\t\t\tthis.cloneTargetInBody();\n\n\t\t}\n\n\t\tmeasure( targetElement ) {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\treturn new Promise( resolve => {\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tresolve( entry.boundingClientRect );\n\t\t\t\t\t} ).observe( targetElement );\n\t\t\t\t} );\n\n\t\t\t} ).then( rect => {\n\n\t\t\t\tthis.targetRect = rect;\n\n\t\t\t} )\n\n\t\t}\n\n\t\tpositioning( targetElement ) {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tif ( this.targetRect.width + this.targetRect.left >= this.windowWidth ) {\n\t\t\t\t\ttargetElement.classList.remove( 'left' );\n\t\t\t\t\ttargetElement.classList.add( 'right' );\n\t\t\t\t}\n\t\t\t\tif ( this.targetRect.left < 0 ) {\n\t\t\t\t\ttargetElement.classList.remove( 'right' );\n\t\t\t\t\ttargetElement.classList.add( 'left' );\n\t\t\t\t}\n\n\t\t\t\ttargetElement.classList.remove( 'positioning' );\n\n\t\t\t} );\n\n\t\t}\n\n\t\taddBodyClassnames() {\n\n\t\t\tif ( this.$parentElement[ 0 ].hasAttribute( 'data-module-style' ) ) {\n\n\t\t\t\t$body.addClass( this.$parentElement.attr( 'data-module-style' ) );\n\n\t\t\t}\n\n\t\t}\n\n\t\teventHandlers() {\n\n\t\t\tconst { type } = this.options;\n\n\t\t\tif ( type === 'hover' ) {\n\t\t\t\tthis.$element.on( 'mouseenter', () => {\n\t\t\t\t\tthis.$targetElement.collapse( 'show' );\n\t\t\t\t} )\n\t\t\t\tthis.$element.add( this.$targetElement ).on( 'mouseleave', () => {\n\t\t\t\t\tthis.$targetElement.collapse( 'hide' );\n\t\t\t\t} )\n\t\t\t} else if ( type === 'hoverFade' && !liquidIsMobile() ) {\n\n\t\t\t\tfastdom.mutate( () => {\n\n\t\t\t\t\tlet timeout = false;\n\n\t\t\t\t\tthis.$targetElement.addClass( 'lqd-dropdown-fade-onhover' );\n\t\t\t\t\t// this.$targetElement.collapse('show');\n\n\t\t\t\t\tthis.$element.add( this.$targetElement ).on( 'mouseenter', () => {\n\t\t\t\t\t\tthis.$targetElement.addClass( 'is-active' );\n\t\t\t\t\t\tthis.$targetElement.trigger( 'shown.bs.collapse' )\n\t\t\t\t\t\ttimeout && clearTimeout( timeout );\n\t\t\t\t\t} );\n\t\t\t\t\tthis.$element.add( this.$targetElement ).on( 'mouseleave', () => {\n\t\t\t\t\t\ttimeout = setTimeout( () => {\n\t\t\t\t\t\t\tthis.$targetElement.removeClass( 'is-active' );\n\t\t\t\t\t\t\tthis.$targetElement.trigger( 'hidden.bs.collapse' )\n\t\t\t\t\t\t\ttimeout && clearTimeout( timeout );\n\t\t\t\t\t\t}, this.options.toggleDelay );\n\t\t\t\t\t} );\n\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\tif ( !this.isBS5 ) {\n\t\t\t\tthis.$targetElement.on( 'show.bs.collapse', this.onShow.bind( this ) );\n\t\t\t\tthis.$targetElement.on( 'shown.bs.collapse', this.onShown.bind( this ) );\n\t\t\t\tthis.$targetElement.on( 'hide.bs.collapse', this.onHide.bind( this ) );\n\t\t\t\tthis.$targetElement.on( 'hidden.bs.collapse', this.onHidden.bind( this ) );\n\t\t\t} else {\n\t\t\t\tthis.$targetElement.each( ( i, el ) => {\n\t\t\t\t\tel.addEventListener( 'show.bs.collapse', this.onShow.bind( this ) );\n\t\t\t\t\tel.addEventListener( 'shown.bs.collapse', this.onShown.bind( this ) );\n\t\t\t\t\tel.addEventListener( 'hide.bs.collapse', this.onHide.bind( this ) );\n\t\t\t\t\tel.addEventListener( 'hidden.bs.collapse', this.onHidden.bind( this ) );\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\t$( document ).on( 'click', event => {\n\t\t\t\tthis.closeAll.call( this, event )\n\t\t\t} );\n\n\t\t\t$( document ).on( 'keyup', event => {\n\n\t\t\t\tif ( event.key === 'Escape' ) {\n\t\t\t\t\tthis.closeAll.call( this, event );\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\tif ( this.isInHeader ) {\n\n\t\t\t\tdocument.addEventListener( 'lqd-header-sticky-visibility-change', e => {\n\t\t\t\t\tif ( this.isOpened && e.detail.state === 'hide' ) {\n\t\t\t\t\t\tthis.$targetElement.collapse( 'hide' )\n\t\t\t\t\t}\n\t\t\t\t} )\n\n\t\t\t}\n\n\t\t}\n\n\t\tonShow( e ) {\n\n\t\t\tconst targetAttr = this.$element.attr( 'data-target' ) || this.$element.attr( 'data-bs-target' );\n\n\t\t\t$( 'html' ).addClass( 'module-expanding' );\n\n\t\t\tif ( this.isSearchModule ) {\n\t\t\t\t$( 'html' ).addClass( 'lqd-module-search-expanded' );\n\t\t\t} else if ( this.isCartModule ) {\n\t\t\t\t$( 'html' ).addClass( 'lqd-module-cart-expanded' );\n\t\t\t}\n\n\t\t\tthis.$targetElement.add( this.element ).add( this.$clonedTrigger ).addClass( 'is-active' );\n\n\t\t\tif ( targetAttr.replace( '#', '' ) === $( e.target ).attr( 'id' ) ) {\n\t\t\t\tthis.toggleClassnames();\n\t\t\t\tthis.focusOnSearch();\n\t\t\t}\n\n\t\t\tthis.isOpened = true;\n\n\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\tthis.$targetElement.add( this.element ).add( this.$clonedTrigger ).removeClass( 'collapsed' );\n\t\t\t\tthis.$targetElement.removeClass( 'collapse' );\n\t\t\t\ttimeout && clearTimeout( timeout );\n\t\t\t}, 10 );\n\n\t\t}\n\n\t\tonShown() {\n\n\t\t\t$( 'html' ).removeClass( 'module-expanding' );\n\n\t\t\tif ( window.liquidLazyload ) {\n\t\t\t\twindow.liquidLazyload.update();\n\t\t\t}\n\n\t\t}\n\n\t\tonHide( e ) {\n\n\t\t\tconst targetAttr = this.$element.attr( 'data-target' ) || this.$element.attr( 'data-bs-target' );\n\n\t\t\t$( 'html' ).addClass( 'module-collapsing' );\n\n\t\t\tthis.$targetElement.add( this.element ).add( this.$clonedTrigger ).removeClass( 'is-active' );\n\n\t\t\tif ( targetAttr.replace( '#', '' ) === $( e.target ).attr( 'id' ) ) {\n\n\t\t\t\tthis.toggleClassnames();\n\n\t\t\t}\n\n\t\t\tthis.isOpened = false;\n\n\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\tthis.$targetElement.add( this.element ).add( this.$clonedTrigger ).addClass( 'collapsed' );\n\t\t\t\tthis.$targetElement.addClass( 'collapse' );\n\t\t\t\ttimeout && clearTimeout( timeout );\n\t\t\t}, 10 );\n\n\t\t}\n\n\t\tonHidden() {\n\n\t\t\t$( 'html' ).removeClass( 'module-collapsing lqd-module-search-expanded lqd-module-cart-expanded' );\n\n\t\t}\n\n\t\ttoggleClassnames() {\n\n\t\t\t// { \"element\": \"classname, classname\" }\n\t\t\t$.each( this.options.changeClassnames, ( element, classname ) => {\n\t\t\t\t$( element ).toggleClass( classname, !this.isOpened );\n\t\t\t} );\n\n\t\t\tif (\n\t\t\t\t!this.options.changeClassnames &&\n\t\t\t\tthis.$targetElement.hasClass( 'navbar-fullscreen' )\n\t\t\t) {\n\t\t\t\t$liquidHtml.toggleClass( 'overflow-hidden', !this.isOpened );\n\t\t\t}\n\n\t\t}\n\n\t\tfocusOnSearch() {\n\n\t\t\tconst self = this;\n\n\t\t\tif ( self.$targetElement.find( 'input[type=search]' ).length ) {\n\n\t\t\t\tsetTimeout( function () {\n\n\t\t\t\t\tself.$targetElement.find( 'input[type=search]' ).focus().select();\n\n\t\t\t\t}, 150 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tshouldIGetClosed( $target ) {\n\n\t\t\tconst { closeOnOutsideClick } = this.options;\n\n\t\t\tif ( typeof closeOnOutsideClick === 'boolean' ) {\n\t\t\t\treturn closeOnOutsideClick;\n\t\t\t} else {\n\t\t\t\tconst { ifNotIn } = closeOnOutsideClick;\n\t\t\t\tconst $ifNotInEl = $( ifNotIn );\n\t\t\t\treturn !$ifNotInEl.has( $target ).length ? true : false;\n\t\t\t}\n\n\t\t}\n\n\t\tcloseAll( event ) {\n\n\t\t\tconst { closeOnOutsideClick } = this.options;\n\t\t\tconst shouldIGetClosed = this.shouldIGetClosed( this.$targetElement );\n\n\t\t\tif (\n\t\t\t\tevent.keyCode ||\n\t\t\t\t(\n\t\t\t\t\t!this.$targetElement.is( event.target ) &&\n\t\t\t\t\t!this.$targetElement.has( event.target ).length\n\t\t\t\t)\n\t\t\t) {\n\n\t\t\t\tif (\n\t\t\t\t\t( closeOnOutsideClick && shouldIGetClosed ) ||\n\t\t\t\t\t( typeof closeOnOutsideClick === 'boolean' && closeOnOutsideClick )\n\t\t\t\t) {\n\n\n\t\t\t\t\tif ( this.isBS5 && this.$targetElement.length ) {\n\t\t\t\t\t\tnew bootstrap.Collapse( this.$targetElement[ 0 ], {\n\t\t\t\t\t\t\ttoggle: false,\n\t\t\t\t\t\t\tshow: false,\n\t\t\t\t\t\t\thide: true,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.$targetElement.collapse( 'hide' );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tcloneTriggerInTarget() {\n\n\t\t\t// only for mobile nav.\n\t\t\t// and when mobile nav style is set to modern\n\t\t\tif (\n\t\t\t\t( this.$targetElement.attr( 'id' ) === 'lqd-mobile-sec-nav' && $body.attr( 'data-mobile-nav-style' ) === 'modern' ) ||\n\t\t\t\tthis.options.cloneTriggerInTarget ||\n\t\t\t\tthis.$targetElement.hasClass( 'navbar-fullscreen' )\n\t\t\t) {\n\n\t\t\t\tthis.$clonedTrigger = this.$element.clone( true ).prependTo( this.$targetElement );\n\n\t\t\t}\n\n\t\t}\n\n\t\tcloneTargetInBody() {\n\n\t\t\t// only for mobile nav.\n\t\t\t// and when mobile nav style is set to modern\n\t\t\tif (\n\t\t\t\tthis.$targetElement.attr( 'id' ) === 'lqd-mobile-sec-nav' &&\n\t\t\t\t$body.attr( 'data-mobile-nav-style' ) === 'modern'\n\t\t\t) {\n\n\t\t\t\tthis.$targetElement.children( '.main-nav, .header-module' ).wrapAll( '<div class=\"navbar-collapse-inner\"></div>' );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'toggle-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-ld-toggle]' ).liquidToggle();\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidResponsiveBG';\n\tlet defaults = {\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.options = $.extend({}, defaults, options);\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.targetImage = null;\n\n\t\t\tthis.targetImage = this.element.querySelector('img');\n\t\t\t\n\t\t\tthis.init();\n\t\t\t\n\t\t}\n\n\t\tinit() {\n\t\t\t\n\t\t\tif ( typeof undefined === typeof this.targetImage || null === this.targetImage ) {\n\t\t\t\tconsole.error('There should be an image to get the source from it.');\n\t\t\t\treturn false\n\t\t\t}\n\t\t\t\n\t\t\tthis.setBgImage();\n\n\t\t\timagesLoaded(this.targetImage)\n\t\t\t.on('done', this.onLoad.bind(this) );\n\t\t\t\n\t\t}\n\t\n\t\tgetCurrentSrc() {\n\n\t\t\tlet imageSrc = this.targetImage.currentSrc ? this.targetImage.currentSrc : this.targetImage.src;\n\t\t\t\n\t\t\tif ( /data:image\\/svg\\+xml/.test(imageSrc) ) {\n\t\t\t\timageSrc = this.targetImage.dataset.src;\n\t\t\t}\n\t\t\t\n\t\t\treturn imageSrc;\n\t\n\t\t}\n\t\n\t\tsetBgImage() {\n\t\n\t\t\tthis.$element.css({\n\t\t\t\tbackgroundImage: `url( ${ this.getCurrentSrc() } )`\n\t\t\t});\n\t\n\t\t}\n\n\t\treInitparallaxBG() {\n\t\n\t\t\tconst parallaxFigure = this.$element.children('.lqd-parallax-container').find('.lqd-parallax-figure');\n\t\n\t\t\tif ( parallaxFigure.length ) {\n\t\n\t\t\t\tparallaxFigure.css({\n\t\t\t\t\tbackgroundImage: `url( ${ this.getCurrentSrc() } )`\n\t\t\t\t});\n\t\t\t\t\n\t\t\t}\n\t\n\t\t}\n\t\n\t\tonLoad() {\n\t\n\t\t\tthis.reInitparallaxBG();\n\t\n\t\t\tthis.$element.addClass('loaded');\n\t\n\t\t}\n\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('responsive-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\t$('[data-responsive-bg=true]')\n\t.filter((i, el) => {\n\t\treturn ! el.querySelector('.ld-lazyload');\n\t})\n\t.liquidResponsiveBG();\n\t\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst contentsIsLiquidBg = $liquidContents.length && $liquidContents[ 0 ].getAttribute( 'data-liquid-bg-options' );\n\tconst contentsInteractWithHeader = contentsIsLiquidBg && ( JSON.parse( contentsIsLiquidBg ).interactWithHeader === true || JSON.parse( contentsIsLiquidBg ).interactWithHeader === 'true' );\n\n\tconst pluginName = 'liquidStickyHeader';\n\tlet defaults = {\n\t\tstickyTrigger: 'this', // 'this', 'first-section'\n\t\tdynamicColors: false,\n\t\tdisableOnMobile: false,\n\t\tsmartSticky: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {\n\t\t\t\telement: element,\n\t\t\t\t$element: $( element ),\n\t\t\t\t$stickySections: null,\n\t\t\t\tsentinel: null,\n\t\t\t\tplaceholder: null,\n\t\t\t\t$stickyElements: null,\n\t\t\t};\n\n\t\t\tthis.DOM.$stickySections = liquidIsElementor ? $( '> .elementor-section-wrap > .elementor-section, > .elementor-section, > .e-container, > .e-con', this.DOM.$element.children( '.elementor:not(.lqd-mobile-sec)' ) ).not( '.lqd-hide-onstuck, .lqd-stickybar-wrap' ) : $( '.lqd-head-sec-wrap', element ).not( '.lqd-hide-onstuck' );\n\t\t\tthis.isInTitlebar = this.DOM.element.parentElement.classList.contains( 'titlebar' );\n\t\t\tthis.isOverlay = this.DOM.element.classList.contains( 'main-header-overlay' );\n\t\t\tthis.DOM.sentinel = null;\n\t\t\tthis.DOM.placeholder = this.DOM.$element.prev( '.lqd-sticky-placeholder' )[ 0 ];\n\t\t\tthis.DOM.$stickyElements = this.getStickyElements();\n\t\t\tthis.firstRow = document.body.classList.contains( 'single-post' ) ? document.querySelector( '.lqd-post-cover' ) : $liquidSections.filter( ':visible' ).first()[ 0 ];\n\t\t\tthis.firstRowIsSticky = this.firstRow ? getComputedStyle( this.firstRow ).position === 'sticky' : false;\n\n\t\t\tthis.stickyElsDetails = null;\n\n\t\t\tthis.stickySectionsHeight = 0;\n\n\t\t\tthis.smartStickyStuff = {\n\t\t\t\tstate: null,\n\t\t\t\tprevScrollY: 0,\n\t\t\t\tscrolledDistance: 0,\n\t\t\t\ttolerance: {\n\t\t\t\t\tup: 25,\n\t\t\t\t\tdown: 3\n\t\t\t\t},\n\t\t\t\ttoleranceExceeded: false\n\t\t\t}\n\n\t\t\tthis.wasStuck = false;\n\t\t\tthis.isStuck = false;\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tasync init() {\n\n\t\t\tawait this.addSentinel();\n\t\t\t!this.DOM.placeholder && await this.addPlaceholder();\n\n\t\t\tawait this.getStickySectionsHeight();\n\t\t\tawait this.getStickyElsDetails();\n\n\t\t\tthis.DOM.element.setAttribute( 'data-sticky-values-measured', 'true' );\n\n\t\t\tthis.sentinelIO();\n\t\t\tthis.headerIO();\n\t\t\tthis.addStickySectionsHeight();\n\t\t\tthis.initDynamicColors();\n\t\t\tthis.handleResizeEvents();\n\t\t\tthis.eventListeners();\n\n\t\t}\n\n\t\teventListeners() {\n\n\t\t\tdocument.addEventListener( 'lqd-header-sticky-change', e => {\n\n\t\t\t\tconst isStuck = e.detail.stuck;\n\n\t\t\t\tthis.updateStickyStates( isStuck );\n\n\t\t\t\tthis.isStuck && this.addStickySectionsHeight();\n\n\t\t\t} );\n\n\t\t\tif ( this.options.smartSticky ) {\n\n\t\t\t\t$liquidWindow.on( 'scroll.lqdSmartStickyHeader', this.handleSmartSticky.bind( this ) );\n\n\t\t\t}\n\n\t\t}\n\n\t\tupdateStickyStates( isStuck ) {\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tthis.wasStuck = this.isStuck;\n\t\t\t\tthis.isStuck = isStuck;\n\n\t\t\t\tthis.DOM.element.classList.toggle( 'is-stuck', this.isStuck );\n\t\t\t\tthis.DOM.element.classList.toggle( 'is-not-stuck', !this.isStuck );\n\n\t\t\t\tif ( !this.isOverlay || this.isInTitlebar ) {\n\t\t\t\t\tthis.DOM.placeholder.classList.toggle( 'd-none', !this.isStuck );\n\t\t\t\t\tthis.DOM.placeholder.classList.toggle( 'hidden', !this.isStuck );\n\t\t\t\t};\n\n\t\t\t\tif ( this.options.smartSticky ) {\n\n\t\t\t\t\tif ( !this.isStuck ) {\n\t\t\t\t\t\tthis.smartStickyStuff.state = null;\n\t\t\t\t\t\tthis.DOM.element.classList.remove( 'lqd-smart-sticky-show', 'lqd-smart-sticky-hide', 'lqd-just-stuck' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.DOM.element.classList.add( 'lqd-smart-sticky-hide' );\n\t\t\t\t\t\tif ( !this.wasStuck ) {\n\t\t\t\t\t\t\tthis.DOM.element.classList.add( 'lqd-just-stuck' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t}\n\n\t\tasync getStickySectionsHeight() {\n\n\t\t\tconst promises = [];\n\n\t\t\tthis.DOM.$stickySections.each( ( i, el ) => {\n\n\t\t\t\tconst promise = new Promise( resolve => {\n\n\t\t\t\t\tfastdom.measure( () => {\n\n\t\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\t\tresolve( entry.boundingClientRect );\n\t\t\t\t\t\t} ).observe( el );\n\n\t\t\t\t\t} )\n\n\t\t\t\t} );\n\t\t\t\tpromises.push( promise );\n\n\t\t\t} )\n\n\t\t\tconst rects = await Promise.all( promises );\n\t\t\trects.forEach( rect => this.stickySectionsHeight += rect.height );\n\n\t\t}\n\n\t\taddStickySectionsHeight() {\n\n\t\t\tconst applyCssTo = liquidIsElementor ? document.body : document.documentElement;\n\n\t\t\tfastdomPromised.mutate( () => {\n\n\t\t\t\tapplyCssTo.style.setProperty( '--lqd-sticky-header-height', `${ this.stickySectionsHeight }px` );\n\n\t\t\t} )\n\n\t\t}\n\n\t\taddPlaceholder() {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tconst placeholder = document.createElement( 'div' );\n\t\t\t\tplaceholder.setAttribute( 'class', 'lqd-sticky-placeholder d-none' );\n\n\t\t\t\tthis.DOM.placeholder = placeholder;\n\n\t\t\t\tthis.DOM.element.before( placeholder );\n\n\t\t\t} )\n\n\t\t}\n\n\t\taddSentinel() {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tconst sentinelTemplate = document.querySelector( '#lqd-temp-sticky-header-sentinel' );\n\t\t\t\tconst sentinel = sentinelTemplate.content.firstElementChild.cloneNode( true );\n\t\t\t\tconst { stickyTrigger } = this.options;\n\t\t\t\tlet trigger = document.body;\n\n\t\t\t\tif ( stickyTrigger === 'first-section' ) {\n\n\t\t\t\t\tconst titlebar = document.querySelector( '.titlebar' );\n\n\t\t\t\t\tif ( titlebar ) {\n\t\t\t\t\t\ttrigger = titlebar;\n\t\t\t\t\t} else if ( this.firstRow && !this.firstRow.closest( '.main-footer' ) ) {\n\t\t\t\t\t\tif ( !this.firstRowIsSticky ) {\n\t\t\t\t\t\t\ttrigger = this.firstRow;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.options.stickyTrigger = 'this';\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\ttrigger.appendChild( sentinel );\n\n\t\t\t\tthis.DOM.sentinel = sentinel;\n\n\t\t\t} )\n\n\t\t}\n\n\t\tsentinelIO() {\n\n\t\t\tnew IntersectionObserver( ( [ entry ] ) => {\n\n\t\t\t\tfastdom.measure( () => {\n\n\t\t\t\t\tlet targetInfo = entry.boundingClientRect;\n\t\t\t\t\tlet rootBoundsInfo = entry.rootBounds;\n\n\t\t\t\t\tif ( !rootBoundsInfo ) {\n\t\t\t\t\t\trootBoundsInfo = {\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tbottom: window.innerHeight\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!this.isStuck &&\n\t\t\t\t\t\trootBoundsInfo &&\n\t\t\t\t\t\ttargetInfo.bottom < rootBoundsInfo.top\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.fireEvent( 'stickyChange', true );\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tthis.isStuck &&\n\t\t\t\t\t\trootBoundsInfo &&\n\t\t\t\t\t\ttargetInfo.bottom >= rootBoundsInfo.top &&\n\t\t\t\t\t\ttargetInfo.bottom < rootBoundsInfo.bottom\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.fireEvent( 'stickyChange', false );\n\t\t\t\t\t}\n\n\t\t\t\t} )\n\n\t\t\t} ).observe( this.DOM.sentinel );\n\n\t\t}\n\n\t\theaderIO() {\n\n\t\t\tconst { stickyTrigger } = this.options;\n\t\t\tconst applyCssTo = liquidIsElementor ? document.body : document.documentElement;\n\n\t\t\tfastdomPromised.measure( () => {\n\n\t\t\t\tconst targetInfo = {\n\t\t\t\t\theight: this.DOM.element.offsetHeight\n\t\t\t\t};\n\n\t\t\t\treturn targetInfo;\n\n\t\t\t} ).then( ( { height } ) => {\n\n\t\t\t\tfastdom.mutate( () => {\n\n\t\t\t\t\tapplyCssTo.style.setProperty( '--lqd-sticky-header-placeholder-height', `${ height }px` );\n\n\t\t\t\t\tif ( stickyTrigger === 'this' ) {\n\t\t\t\t\t\tapplyCssTo.style.setProperty( '--lqd-sticky-header-sentinel-top', `var(--lqd-sticky-header-placeholder-height)` );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif ( this.firstRowIsSticky ) {\n\t\t\t\t\t\t\tapplyCssTo.style.setProperty( '--lqd-sticky-header-sentinel-top', `${ $( this.firstRow ).outerHeight() }px` );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} )\n\n\t\t\t} )\n\n\t\t}\n\n\t\tstickyVisibilityChange( state ) {\n\n\t\t\tlet classnamesToRemove = [ 'lqd-smart-sticky-hide', 'lqd-just-stuck' ];\n\t\t\tlet classnamesToAdd = [ 'lqd-smart-sticky-show' ];\n\n\t\t\tif ( state === 'hide' ) {\n\t\t\t\tclassnamesToRemove = [ 'lqd-smart-sticky-show' ];\n\t\t\t\tclassnamesToAdd = [ 'lqd-smart-sticky-hide' ];\n\t\t\t}\n\n\t\t\tthis.smartStickyStuff.state = state;\n\t\t\tthis.DOM.element.classList.remove( ...classnamesToRemove );\n\t\t\tthis.DOM.element.classList.add( ...classnamesToAdd );\n\n\t\t\tthis.fireEvent( 'stickyVisibility', state )\n\n\t\t}\n\n\t\thandleSmartSticky() {\n\n\t\t\tfastdomPromised.measure( () => {\n\n\t\t\t\tconst { scrollY } = window;\n\t\t\t\tconst scrollDirection = scrollY > this.smartStickyStuff.prevScrollY ? 'down' : 'up';\n\n\t\t\t\treturn {\n\t\t\t\t\tscrollY,\n\t\t\t\t\tscrollDirection\n\t\t\t\t}\n\n\t\t\t} ).then( ( { scrollY, scrollDirection } ) => {\n\n\t\t\t\tthis.smartStickyStuff.scrolledDistance = Math.abs( scrollY - this.smartStickyStuff.prevScrollY );\n\n\t\t\t\tfastdom.mutate( () => {\n\n\t\t\t\t\tif ( this.isStuck && this.smartStickyStuff.toleranceExceeded ) {\n\n\t\t\t\t\t\tif ( scrollDirection === 'up' && this.smartStickyStuff.state !== 'show' ) {\n\t\t\t\t\t\t\tthis.stickyVisibilityChange( 'show' );\n\t\t\t\t\t\t} else if ( scrollDirection === 'down' && this.smartStickyStuff.state !== 'hide' ) {\n\t\t\t\t\t\t\tthis.stickyVisibilityChange( 'hide' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.smartStickyStuff.prevScrollY = scrollY;\n\t\t\t\t\tthis.smartStickyStuff.toleranceExceeded = this.smartStickyStuff.scrolledDistance > this.smartStickyStuff.tolerance[ scrollDirection ];\n\n\t\t\t\t} )\n\n\t\t\t} )\n\n\t\t}\n\n\t\tfireEvent( type = 'stickyChange', state ) {\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tif ( type === 'stickyChange' ) {\n\t\t\t\t\tdocument.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent( 'lqd-header-sticky-change', { bubbles: false, detail: { stuck: state, target: this.DOM.element } } )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( type === 'stickyVisibility' ) {\n\t\t\t\t\tdocument.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent( 'lqd-header-sticky-visibility-change', { bubbles: false, detail: { state, target: this.DOM.element } } )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t}\n\n\t\tgetStickyElements() {\n\n\t\t\tconst $stickyModules = liquidIsElementor ?\n\t\t\t\tthis.DOM.$element\n\t\t\t\t\t.find( '> .elementor:not(.lqd-mobile-sec)' )\n\t\t\t\t\t.find( '[data-element_type=\"widget\"]' )\n\t\t\t\t\t.filter( ( i, el ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t!el.classList.contains( 'elementor-widget-ld_modal_window' ) &&\n\t\t\t\t\t\t\t!el.closest( '.ld-module-sd' ) &&\n\t\t\t\t\t\t\t!el.closest( '.navbar-fullscreen' ) &&\n\t\t\t\t\t\t\t!el.closest( '.lqd-modal' )\n\t\t\t\t\t\t)\n\t\t\t\t\t} ) :\n\t\t\t\tthis.DOM.$element.find( '.lqd-head-sec-wrap, .lqd-stickybar-wrap' ).find( '.lqd-head-col > .header-module, [data-lqd-interactive-color=true]' );\n\n\t\t\tconst $elements =\n\t\t\t\tthis.DOM.element.hasAttribute( 'data-liquid-bg' ) ?\n\t\t\t\t\t$stickyModules.add( this.DOM.$element ).not( '.navbar-brand-solid' ) :\n\t\t\t\t\t$stickyModules.add( this.DOM.$element );\n\n\t\t\treturn $elements;\n\n\t\t}\n\n\t\tasync getStickyElsDetails() {\n\n\t\t\tconst promises = [];\n\t\t\tconst windowWidth = liquidWindowWidth();\n\n\t\t\tthis.DOM.$stickyElements.each( ( i, stickyEl ) => {\n\n\t\t\t\tconst promise = new Promise( resolve => {\n\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\n\t\t\t\t\t\tfastdom.measure( () => {\n\n\t\t\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\t\t\tlet { boundingClientRect } = entry;\n\t\t\t\t\t\t\tlet obj = {};\n\n\t\t\t\t\t\t\tobj.el = entry.target;\n\t\t\t\t\t\t\tobj.moduleEl = stickyEl;\n\n\t\t\t\t\t\t\tlet { x, y, width, height } = boundingClientRect;\n\n\t\t\t\t\t\t\tif ( x < 0 ) {\n\t\t\t\t\t\t\t\tx = 0;\n\t\t\t\t\t\t\t} else if ( x >= windowWidth ) {\n\t\t\t\t\t\t\t\tx = windowWidth - width - entry.target.parentElement.offsetWidth;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( y < 0 ) {\n\t\t\t\t\t\t\t\ty = y + window.scrollY;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tobj.rect = {\n\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\tx,\n\t\t\t\t\t\t\t\ty\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tobj.currentColor = 'default';\n\n\t\t\t\t\t\t\tresolve( obj );\n\n\t\t\t\t\t\t} )\n\n\t\t\t\t\t} ).observe( stickyEl === this.DOM.element ? this.DOM.element : stickyEl );\n\n\t\t\t\t} );\n\n\t\t\t\tpromises.push( promise );\n\n\t\t\t} );\n\n\t\t\tconst stickyElDetailsArray = await Promise.all( promises );\n\n\t\t\tthis.stickyElsDetails = stickyElDetailsArray;\n\n\t\t}\n\n\t\tgetSections( visibleSections ) {\n\n\t\t\tlet sections = [];\n\n\t\t\tvisibleSections.forEach( sec => {\n\n\t\t\t\tlet section = sec;\n\n\t\t\t\tif ( sec.isInnerSection ) {\n\n\t\t\t\t\tsection = sec.parentSection;\n\n\t\t\t\t\tif ( !section ) return;\n\n\t\t\t\t\tconst sectionBgcolor = sec.backgroundColor.replace( /, /g, ',' ).split( ' ' )[ 0 ];\n\t\t\t\t\tconst parentBgColor = section.backgroundColor.replace( /, /g, ',' ).split( ' ' )[ 0 ];\n\t\t\t\t\tconst sectionBgAlpha = tinycolor( sectionBgcolor ).getAlpha();\n\t\t\t\t\tconst parentBgAlpha = tinycolor( parentBgColor ).getAlpha();\n\n\t\t\t\t\tif ( ( sectionBgAlpha !== 0 || sec.predefinedLuminosity ) && parentBgAlpha === 0 ) {\n\n\t\t\t\t\t\tsection = sec;\n\n\t\t\t\t\t\tsections = sections.filter( sect => sect.el !== section.parentSection.el );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tconst sectionExists = sections.some( sect => sect.el === section.el );\n\n\t\t\t\t!sectionExists && sections.push( section );\n\n\t\t\t} )\n\n\t\t\treturn sections;\n\n\t\t}\n\n\t\tinitDynamicColors() {\n\n\t\t\tif ( !this.options.dynamicColors || contentsInteractWithHeader ) return;\n\n\t\t\tLiquidSectionsDetails.getDetails().then( lqdSections => {\n\n\t\t\t\tconst visibleSections = lqdSections.filter( sec => !sec.isHidden );\n\t\t\t\tconst sections = this.getSections( visibleSections );\n\t\t\t\tconst onscroll = liquidThrottle( this.onScroll.bind( this, sections ), 150, { leading: true } );\n\n\t\t\t\tthis.onScroll( sections );\n\n\t\t\t\t$liquidWindow.off( 'scroll.lqdStickyHeader' );\n\t\t\t\t$liquidWindow.on( 'scroll.lqdStickyHeader', onscroll );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tonScroll( sections ) {\n\n\t\t\tfor ( let sectionsItterator = 0; sectionsItterator < sections.length; sectionsItterator++ ) {\n\n\t\t\t\tfastdomPromised.measure( () => {\n\n\t\t\t\t\tconst sec = sections[ sectionsItterator ];\n\t\t\t\t\tconst rect = { ...sec.rect };\n\n\t\t\t\t\trect.y = rect.initialOffset.y - window.scrollY;\n\t\t\t\t\trect.x = rect.initialOffset.x - window.scrollX;\n\n\t\t\t\t\tfor ( let stickyItterator = 0; stickyItterator < this.stickyElsDetails.length; stickyItterator++ ) {\n\n\t\t\t\t\t\tif ( this.isCollide( this.stickyElsDetails[ stickyItterator ].rect, rect ) ) {\n\t\t\t\t\t\t\tthis.changeAttrs( sec, this.stickyElsDetails[ stickyItterator ] )\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t} )\n\n\t\t\t}\n\n\t\t}\n\n\t\tchangeAttrs( rowObj, moduleObj ) {\n\n\t\t\tconst { luminosity } = rowObj;\n\t\t\tconst { moduleEl } = moduleObj;\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tif ( luminosity === 'light' && moduleObj.currentColor !== 'dark' ) {\n\t\t\t\t\tmoduleObj.currentColor = 'dark';\n\t\t\t\t\tmoduleEl.classList.add( 'lqd-active-row-light' );\n\t\t\t\t\tmoduleEl.classList.remove( 'lqd-active-row-dark' );\n\t\t\t\t} else if ( luminosity === 'dark' && moduleObj.currentColor !== 'light' ) {\n\t\t\t\t\tmoduleObj.currentColor = 'light';\n\t\t\t\t\tmoduleEl.classList.add( 'lqd-active-row-dark' );\n\t\t\t\t\tmoduleEl.classList.remove( 'lqd-active-row-light' );\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t}\n\n\t\t// https://stackoverflow.com/questions/2440377/javascript-collision-detection\n\t\tisCollide( a, b ) {\n\t\t\treturn !(\n\t\t\t\t( ( a.y + a.height ) < ( b.y ) ) ||\n\t\t\t\t( a.y > ( b.y + b.height ) ) ||\n\t\t\t\t( ( a.x + a.width ) < b.x ) ||\n\t\t\t\t( ( a.x + ( a.width / 2 ) ) > ( b.x + b.width ) )\n\t\t\t);\n\t\t}\n\n\t\thandleResizeEvents() {\n\n\t\t\t$liquidWindow.on( 'resize', this.onResize.bind( this ) );\n\t\t\t$( document ).on( 'lqd-masonry-layout-init', this.onResize.bind( this ) );\n\t\t\t// $(document).on('lqd-carousel-initialized', this.onResize.bind(this) );\n\n\t\t}\n\n\t\tonResize() {\n\n\t\t\tthis.headerIO();\n\t\t\tthis.initDynamicColors();\n\n\t\t}\n\n\t\tdrawIndicators( sec ) {\n\n\t\t\tconst $indicator = $( `<div class=\"lqd-section-ind pos-abs pointer-events-none absolute\" style=\"width: ${ sec.rect.width }px; height: ${ sec.rect.height }px; border: 3px solid red; top: ${ sec.rect.y }px; left: ${ sec.rect.x }px; z-index: 10;\"><span style=\"display: inline-block; background: var(--color-primary); color: #fff; padding: 0.35em 1em;\">${ sec.luminosity }</span></div>` );\n\n\t\t\t$indicator.appendTo( $liquidBody );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'sticky-options' ), ...options };\n\n\t\t\tif ( pluginOptions.disableOnMobile && liquidIsMobile() ) return;\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t// controlling from stacks js\n\tconst $stickyHeader = $( '[data-sticky-header]' );\n\n\tif ( $liquidContents.length ) {\n\n\t\tconst pageStackEnabled = $liquidContents[ 0 ].hasAttribute( 'data-liquid-stack' );\n\t\tconst pageStackDisabledOnMobile =\n\t\t\tpageStackEnabled &&\n\t\t\t$liquidContents[ 0 ].hasAttribute( 'data-stack-options' ) &&\n\t\t\tJSON.parse( $liquidContents[ 0 ].getAttribute( 'data-stack-options' ) ).disableOnMobile === true;\n\n\t\tif (\n\t\t\t!$liquidBody.hasClass( 'header-style-side' ) &&\n\t\t\t( !pageStackEnabled || ( pageStackEnabled && liquidIsMobile() && pageStackDisabledOnMobile ) )\n\t\t) {\n\t\t\t$stickyHeader.liquidStickyHeader();\n\t\t} else if ( pageStackEnabled ) {\n\t\t\t$stickyHeader.attr( 'data-sticky-values-measured', 'true' );\n\t\t}\n\n\t}\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidStickyFooter';\n\tlet defaults = {\n\t\tshadow: 0,\n\t\tparallax: false,\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = {...defaults, ...options};\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\tthis.footerHeight = 0;\n\t\t\tthis.windowWidth = fastdom.measure(() => window.innerWidth)();\n\t\t\tthis.windowHeight = fastdom.measure(() => window.innerHeight)();\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tmeasure() {\n\n\t\t\treturn fastdomPromised.measure(() => {\n\n\t\t\t\tif ( this.windowWidth < 768 ) {\n\n\t\t\t\t\tthis.footerHeight = 0;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.footerHeight = this.element.offsetHeight - 2;\n\t\t\t\t\tthis.windowWidth = window.innerWidth;\n\t\t\t\t\tthis.windowHeight = window.innerHeight;\n\n\t\t\t\t}\n\n\t\t\t});\n\n\t\t}\n\t\t\t\n\t\tinit() {\n\t\t\t\n\t\t\timagesLoaded(this.element, async () => {\n\t\t\t\t\n\t\t\t\tawait this.measure();\n\t\t\t\tthis.addMargin();\n\t\t\t\tthis._addShadow();\n\t\t\t\tthis._handleResize();\n\n\t\t\t} );\n\t\n\t\t}\n\n\t\taddMargin() {\n\n\t\t\tfastdomPromised.mutate(() => {\n\n\t\t\t\tif (this.footerHeight >= this.windowHeight) {\n\t\t\t\t\treturn this.$element.addClass('lqd-footer-cant-stick');\n\t\t\t\t}\n\n\t\t\t})\n\n\t\t}\n\n\t\t_addShadow() {\n\n\t\t\tconst { shadow } = this.options;\n\n\t\t\tif ( shadow > 0 ) {\n\t\t\t\tdocument.body.classList.add(`lqd-sticky-footer-shadow-${shadow}`);\n\t\t\t}\n\n\t\t}\n\n\t\t_handleResize() {\n\n\t\t\tconst onResize = liquidDebounce( this._onResize.bind(this), 400 );\n\t\t\t\n\t\t\t$liquidWindow.on('resize', onResize );\n\n\t\t}\n\n\t\tasync _onResize() {\n\t\t\t\n\t\t\tawait this.measure();\n\t\t\tthis.addMargin();\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('sticky-footer-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\tif ( liquidIsMobile() ) return;\n\n\t$('[data-sticky-footer=true]').liquidStickyFooter();\n\t\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidCustomCursor';\n\tlet defaults = {\n\t\touterCursorSpeed: 0.2,\n\t\touterCursorHide: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.clientX = -100;\n\t\t\tthis.clientY = -100;\n\t\t\tthis.magneticCords = { x: 0, y: 0 };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.initiated = false;\n\n\t\t\tthis.innerCursor = document.querySelector( \".lqd-cc--inner\" );\n\t\t\tthis.outerCursor = document.querySelector( \".lqd-cc--outer\" );\n\t\t\tthis.dragCursor = document.querySelector( \".lqd-cc-drag\" );\n\t\t\tthis.exploreCursor = document.querySelector( \".lqd-cc-explore\" );\n\t\t\tthis.arrowCursor = document.querySelector( \".lqd-cc-arrow\" );\n\t\t\tthis.iconCursor = document.querySelector( \".lqd-cc-custom-icon\" );\n\t\t\tthis.cursorEls = document.querySelectorAll( \".lqd-cc--el\" );\n\t\t\tthis.extraCursors = document.querySelectorAll( \".lqd-extra-cursor\" );\n\n\t\t\tthis.lastMovedOtherEl = null;\n\t\t\tthis.lastMovedOtherInnerEl = null;\n\t\t\tthis.scaleOuterCursor = null;\n\t\t\tthis.scaleOuterCursorX = null;\n\t\t\tthis.scaleOuterCursorY = null;\n\n\t\t\tthis.activeEl = null;\n\n\t\t\tconst cssVarEl = liquidIsElementor ? document.body : document.documentElement;\n\t\t\tconst outerSize = window.liquidParams?.ccOuterSize || getComputedStyle( cssVarEl ).getPropertyValue( '--lqd-cc-size-outer' );\n\t\t\tthis.outerCursorSize = parseInt( outerSize || 0, 10 );\n\t\t\tthis.activeCircleBg = window.liquidParams?.ccActiveCircleBg || getComputedStyle( document.body ).getPropertyValue( '--lqd-cc-active-bg' );\n\t\t\tthis.activeCircleBc = window.liquidParams?.ccActiveCircleBc || getComputedStyle( document.body ).getPropertyValue( '--lqd-cc-active-bc' );\n\n\t\t\tthis.innerQuickSetX = gsap.quickSetter( this.innerCursor, 'x', 'px' );\n\t\t\tthis.innerQuickSetY = gsap.quickSetter( this.innerCursor, 'y', 'px' );\n\n\t\t\tthis.outerQuickToX = gsap.quickTo( this.outerCursor, 'x', { duration: this.options.outerCursorSpeed } );\n\t\t\tthis.outerQuickToY = gsap.quickTo( this.outerCursor, 'y', { duration: this.options.outerCursorSpeed } );\n\n\t\t\tthis.extrasQuickToX = gsap.quickTo( [ ...this.cursorEls, ...this.extraCursors ], 'x', { duration: 0.1 } );\n\t\t\tthis.extrasQuickToY = gsap.quickTo( [ ...this.cursorEls, ...this.extraCursors ], 'y', { duration: 0.1 } );\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tif ( this.options.outerCursorHide ) {\n\t\t\t\t$liquidBody.addClass( 'lqd-cc-outer-hidden' );\n\t\t\t}\n\n\t\t\tthis.initCursor();\n\t\t\tthis.initHovers();\n\n\t\t\tdocument.body.classList.add( 'lqd-cc-init' );\n\n\t\t}\n\n\t\tinitCursor() {\n\n\t\t\tconst pos = { x: window.innerWidth / 2, y: window.innerHeight / 2 };\n\n\t\t\tdocument.addEventListener( \"mousemove\", e => {\n\t\t\t\tthis.clientX = e.clientX;\n\t\t\t\tthis.clientY = e.clientY;\n\t\t\t} );\n\n\t\t\tgsap.ticker.add( () => {\n\n\t\t\t\tif ( !this.initiated ) {\n\t\t\t\t\tthis.initiated = true;\n\t\t\t\t\tthis.fadeOutInnerCursor = false;\n\t\t\t\t\tthis.fadeOutInnerCursor = false;\n\t\t\t\t}\n\n\t\t\t\tconst dt = 1.0 - Math.pow( 1.0 - 0.4, gsap.ticker.deltaRatio() );\n\n\t\t\t\tpos.x += ( this.clientX - pos.x ) * dt;\n\t\t\t\tpos.y += ( this.clientY - pos.y ) * dt;\n\n\t\t\t\tthis.innerQuickSetX( pos.x );\n\t\t\t\tthis.innerQuickSetY( pos.y );\n\n\t\t\t\tthis.extrasQuickToX( this.clientX );\n\t\t\t\tthis.extrasQuickToY( this.clientY );\n\n\t\t\t\tif ( !this.isStuck && !this.isMagnetic ) {\n\t\t\t\t\tthis.outerQuickToX( this.clientX - this.outerCursorSize / 2 );\n\t\t\t\t\tthis.outerQuickToY( this.clientY - this.outerCursorSize / 2 );\n\t\t\t\t}\n\n\t\t\t\tif ( this.isStuck && this.activeEl ) {\n\t\t\t\t\tconst rect = this.activeEl.getBoundingClientRect();\n\t\t\t\t\tlet { left, top, width, height } = rect;\n\t\t\t\t\tleft += ( width / 2 ) - ( this.outerCursorSize / 2 );\n\t\t\t\t\ttop += ( height / 2 ) - ( this.outerCursorSize / 2 );\n\t\t\t\t\tthis.outerQuickToX( left );\n\t\t\t\t\tthis.outerQuickToY( top );\n\t\t\t\t}\n\n\t\t\t\tif ( this.isMagnetic ) {\n\t\t\t\t\tthis.outerQuickToX( this.magneticCords.x );\n\t\t\t\t\tthis.outerQuickToY( this.magneticCords.y );\n\t\t\t\t}\n\n\t\t\t\tif ( this.scaleOuterCursor ) {\n\t\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\t\tscaleX: () => this.scaleOuterCursorX || 1,\n\t\t\t\t\t\tscaleY: () => this.scaleOuterCursorY || 1,\n\t\t\t\t\t} )\n\t\t\t\t}\n\n\t\t\t\tif ( this.fadeOutInnerCursor ) {\n\t\t\t\t\tgsap.to( this.innerCursor, {\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t} )\n\t\t\t\t} else {\n\t\t\t\t\tgsap.to( this.innerCursor, {\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t} )\n\t\t\t\t}\n\n\t\t\t\tif ( this.fadeOutOuterCursor ) {\n\t\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t} )\n\t\t\t\t} else {\n\t\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t} )\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t}\n\n\t\tinitHovers() {\n\n\t\t\tdocument.addEventListener( 'lqd-carousel-initialized', ( e ) => {\n\n\t\t\t\tconst { carouselData } = e.detail;\n\t\t\t\tconst flkty = carouselData.flickityData;\n\n\t\t\t\tif ( flkty.nextButton ) {\n\t\t\t\t\tthis.initCarouselNavCursor( [ flkty.nextButton.element, flkty.prevButton.element ] );\n\t\t\t\t};\n\n\t\t\t\tif ( !flkty.options.draggable ) return;\n\n\t\t\t\tflkty.on( 'dragMove', e => {\n\t\t\t\t\tthis.clientX = e.clientX;\n\t\t\t\t\tthis.clientY = e.clientY;\n\t\t\t\t} );\n\t\t\t\tflkty.on( 'pointerDown', () => {\n\t\t\t\t\tthis.cursorEls.forEach( el => el.classList.add( 'lqd-carousel-pointer-down' ) );\n\t\t\t\t} );\n\t\t\t\tflkty.on( 'pointerUp', () => {\n\t\t\t\t\tthis.cursorEls.forEach( el => el.classList.remove( 'lqd-carousel-pointer-down' ) );\n\t\t\t\t} );\n\n\t\t\t\tthis.initSolidCircles( flkty.viewport, this.dragCursor );\n\n\t\t\t} );\n\n\t\t\tthis.initPageLinksCursor();\n\t\t\tthis.initExtraCursor();\n\t\t\tthis.initSolidCircles( '.lqd-cc-label-trigger', this.exploreCursor );\n\t\t\tthis.initArrowCursor( '.lqd-dist-gal-menu a, .lqd-imgtxt-slider-link, .lqd-af-slide__link ~ a' );\n\t\t\tthis.initCustomIconCursor( '.lqd-cc-icon-trigger', 'lqd-cc__active-icon' )\n\t\t\tthis.initButtonShapeCursors();\n\t\t\tthis.initNavTriggerCursor();\n\t\t\tthis.initMenuItemsCursor();\n\n\t\t}\n\n\t\tinitPageLinksCursor() {\n\n\t\t\tconst linksMouseEnter = () => {\n\n\t\t\t\tgsap.to( this.innerCursor, {\n\t\t\t\t\tscale: 2.25,\n\t\t\t\t\tbackgroundColor: this.activeCircleBg,\n\t\t\t\t\tease: 'power2.out'\n\t\t\t\t} );\n\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\tscale: 1.2,\n\t\t\t\t\tborderColor: this.activeCircleBc,\n\t\t\t\t\tease: 'power2.out',\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tconst linksMouseLeave = () => {\n\n\t\t\t\tgsap.to( this.innerCursor, {\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tbackgroundColor: '',\n\t\t\t\t\tease: 'power2.out'\n\t\t\t\t} );\n\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tborderColor: '',\n\t\t\t\t\tease: 'power2.out'\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tconst pageLinks = [ ...document.querySelectorAll( \"a\" ) ].filter( el => {\n\t\t\t\treturn (\n\t\t\t\t\t!el.classList.contains( 'lqd-cc-icon-trigger' ) &&\n\t\t\t\t\t!el.classList.contains( 'lqd-cc-label-trigger' ) &&\n\t\t\t\t\t!el.classList.contains( 'lqd-imgtxt-slider-link' ) &&\n\t\t\t\t\t!el.closest( '.carousel-items' ) &&\n\t\t\t\t\t!el.closest( '.lqd-slsh-alt' ) &&\n\t\t\t\t\t!el.closest( '.lqd-dist-gal-menu' ) &&\n\t\t\t\t\t!$( el ).siblings( '.lqd-af-slide__link' ).length\n\t\t\t\t)\n\t\t\t} );\n\t\t\tpageLinks.forEach( item => {\n\t\t\t\titem.addEventListener( \"mouseenter\", linksMouseEnter );\n\t\t\t\titem.addEventListener( \"mouseleave\", linksMouseLeave );\n\t\t\t} );\n\n\t\t}\n\n\t\tinitCarouselNavCursor( navElementsArray ) {\n\n\t\t\tconst carouselNavEnter = ( navEl, navElStyle ) => {\n\n\t\t\t\tthis.activeEl = navEl;\n\t\t\t\tthis.isStuck = true;\n\t\t\t\tthis.scaleOuterCursor = true;\n\t\t\t\tthis.fadeOutInnerCursor = true;\n\n\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\tborderColor: navElStyle.borderColor,\n\t\t\t\t\tborderRadius: navElStyle.borderRadius,\n\t\t\t\t} );\n\n\t\t\t\tthis.moveOtherElements( navEl, [ ...navEl.querySelectorAll( 'i' ), ...navEl.querySelectorAll( 'svg' ) ], true );\n\n\t\t\t};\n\n\t\t\tconst carouselNavLeave = () => {\n\n\t\t\t\tthis.activeEl = null;\n\t\t\t\tthis.isStuck = false;\n\t\t\t\tthis.fadeOutInnerCursor = false;\n\n\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\tborderColor: '',\n\t\t\t\t\tborderRadius: '',\n\t\t\t\t} );\n\n\t\t\t\tthis.moveOtherElements();\n\n\t\t\t};\n\n\t\t\tnavElementsArray.forEach( item => {\n\n\t\t\t\tfastdomPromised.measure( () => {\n\n\t\t\t\t\tconst navElStyle = getComputedStyle( item );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tnavElStyle\n\t\t\t\t\t}\n\n\t\t\t\t} ).then( ( { navElStyle } ) => {\n\n\t\t\t\t\titem.addEventListener( \"mouseenter\", carouselNavEnter.bind( this, item, navElStyle ) );\n\t\t\t\t\titem.addEventListener( \"mouseleave\", carouselNavLeave.bind( this ) );\n\n\t\t\t\t\titem.addEventListener( 'click', e => {\n\t\t\t\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\t\t\t\tif ( item.disabled ) {\n\t\t\t\t\t\t\t\tcarouselNavLeave();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclearTimeout( timeout );\n\t\t\t\t\t\t}, 10 );\n\t\t\t\t\t} );\n\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tinitExtraCursor() {\n\n\t\t\tconst extraCursorEnter = ( extraCursor ) => {\n\n\t\t\t\tthis.fadeOutInnerCursor = true;\n\t\t\t\tthis.fadeOutOuterCursor = true;\n\n\t\t\t\textraCursor.classList.add( 'lqd-is-active' );\n\n\t\t\t\tgsap.to( extraCursor, {\n\t\t\t\t\tscale: 1,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tduration: 0.65,\n\t\t\t\t\tease: 'expo.out'\n\t\t\t\t} )\n\n\t\t\t};\n\n\t\t\tconst extraCursorLeave = ( extraCursor ) => {\n\n\t\t\t\tthis.fadeOutInnerCursor = false;\n\t\t\t\tthis.fadeOutOuterCursor = false;\n\n\t\t\t\textraCursor.classList.remove( 'lqd-is-active' );\n\n\t\t\t\tgsap.to( extraCursor, {\n\t\t\t\t\tscale: 0.15,\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tduration: 0.65,\n\t\t\t\t\tease: 'expo.out',\n\t\t\t\t} )\n\n\t\t\t};\n\n\t\t\tthis.extraCursors.forEach( item => {\n\t\t\t\tconst itemParent = item.parentElement;\n\t\t\t\titemParent.addEventListener( \"mousemove\", extraCursorEnter.bind( this, item ) );\n\t\t\t\titemParent.addEventListener( \"mouseleave\", extraCursorLeave.bind( this, item ) );\n\t\t\t} );\n\n\t\t}\n\n\t\tinitSolidCircles( selectors, elementSetActiveClassname ) {\n\n\t\t\tif ( !selectors ) return;\n\n\t\t\tconst solidCircleEnter = () => {\n\n\t\t\t\tthis.fadeOutInnerCursor = true;\n\t\t\t\tthis.fadeOutOuterCursor = true;\n\n\t\t\t\telementSetActiveClassname.classList.add( 'lqd-is-active' );\n\n\t\t\t};\n\n\t\t\tconst solidCircleLeavve = () => {\n\n\t\t\t\tthis.fadeOutInnerCursor = false;\n\t\t\t\tthis.fadeOutOuterCursor = false;\n\n\t\t\t\telementSetActiveClassname.classList.remove( 'lqd-is-active' );\n\n\t\t\t};\n\n\t\t\tconst init = ( item ) => {\n\t\t\t\titem.addEventListener( \"mouseenter\", solidCircleEnter );\n\t\t\t\titem.addEventListener( \"mouseleave\", solidCircleLeavve );\n\t\t\t};\n\n\t\t\tif ( typeof selectors === 'string' ) {\n\t\t\t\tdocument.querySelectorAll( selectors ).forEach( item => init( item ) );\n\t\t\t} else {\n\t\t\t\tinit( selectors );\n\t\t\t}\n\n\t\t}\n\n\t\tinitArrowCursor( selectors ) {\n\n\t\t\tconst onEnter = () => {\n\n\t\t\t\tthis.fadeOutInnerCursor = true;\n\t\t\t\tthis.fadeOutOuterCursor = true;\n\n\t\t\t\tthis.arrowCursor.classList.add( 'lqd-is-active' );\n\n\t\t\t};\n\n\t\t\tconst onLeave = () => {\n\n\t\t\t\tthis.fadeOutInnerCursor = false;\n\t\t\t\tthis.fadeOutOuterCursor = false;\n\n\t\t\t\tthis.arrowCursor.classList.remove( 'lqd-is-active' );\n\n\t\t\t};\n\n\t\t\tconst init = ( item ) => {\n\t\t\t\titem.addEventListener( \"mouseenter\", onEnter );\n\t\t\t\titem.addEventListener( \"mouseleave\", onLeave );\n\t\t\t};\n\n\t\t\tif ( typeof selectors === 'string' ) {\n\t\t\t\tdocument.querySelectorAll( selectors ).forEach( item => init( item ) );\n\t\t\t} else {\n\t\t\t\tinit( selectors );\n\t\t\t}\n\n\t\t}\n\n\t\tinitCustomIconCursor( selectors ) {\n\n\t\t\tconst onEnter = color => {\n\n\t\t\t\tthis.fadeOutInnerCursor = true;\n\t\t\t\tthis.fadeOutOuterCursor = true;\n\n\t\t\t\tcolor && this.iconCursor.style.setProperty( '--cc-icon-color', color );\n\n\t\t\t\tthis.iconCursor.classList.add( 'lqd-is-active' );\n\n\t\t\t};\n\n\t\t\tconst onLeave = () => {\n\n\t\t\t\tthis.fadeOutInnerCursor = false;\n\t\t\t\tthis.fadeOutOuterCursor = false;\n\n\t\t\t\tthis.iconCursor.style.removeProperty( '--cc-icon-color' );\n\n\t\t\t\tthis.iconCursor.classList.remove( 'lqd-is-active' );\n\n\t\t\t};\n\n\t\t\tdocument.querySelectorAll( selectors ).forEach( item => {\n\t\t\t\tconst color = item.getAttribute( 'data-cc-icon-color' );\n\t\t\t\titem.addEventListener( \"mouseenter\", onEnter.bind( this, color ) );\n\t\t\t\titem.addEventListener( \"mouseleave\", onLeave );\n\t\t\t} );\n\n\t\t}\n\n\t\tinitButtonShapeCursors() {\n\n\t\t\tconst buttonShapeEnter = ( icon, iconStyles ) => {\n\n\t\t\t\tthis.isMagnetic = true;\n\t\t\t\tthis.scaleOuterCursor = true;\n\t\t\t\tthis.fadeOutInnerCursor = true;\n\n\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\tborderColor: iconStyles.borderColor,\n\t\t\t\t\tborderRadius: iconStyles.borderRadius,\n\t\t\t\t} );\n\n\t\t\t\tthis.moveOtherElements( icon, [ ...icon.querySelectorAll( 'i' ), ...icon.querySelectorAll( 'svg' ) ] );\n\n\t\t\t};\n\n\t\t\tconst buttonShapeLeave = () => {\n\n\t\t\t\tthis.isMagnetic = false;\n\t\t\t\tthis.fadeOutInnerCursor = false;\n\n\t\t\t\tgsap.to( this.outerCursor, {\n\t\t\t\t\tborderColor: '',\n\t\t\t\t\tborderRadius: '',\n\t\t\t\t} );\n\n\t\t\t\tthis.moveOtherElements();\n\n\t\t\t};\n\n\t\t\tconst buttonWithIcon = document.querySelectorAll( '.btn-icon-bordered, .btn-icon-solid' );\n\n\t\t\tbuttonWithIcon.forEach( btn => {\n\n\t\t\t\tconst icon = btn.querySelector( '.btn-icon' );\n\n\t\t\t\tif ( !icon ) return;\n\n\t\t\t\tfastdomPromised.measure( () => {\n\n\t\t\t\t\tconst iconStyles = getComputedStyle( icon );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ticonStyles\n\t\t\t\t\t}\n\n\t\t\t\t} ).then( ( { iconStyles } ) => {\n\n\t\t\t\t\tbtn.addEventListener( \"mouseenter\", buttonShapeEnter.bind( this, icon, iconStyles ) );\n\t\t\t\t\tbtn.addEventListener( \"mouseleave\", buttonShapeLeave.bind( this ) );\n\n\t\t\t\t} );\n\n\n\t\t\t} );\n\n\t\t}\n\n\t\tinitNavTriggerCursor() {\n\n\t\t\tconst navTriggerEnter = ( outerEl, innerEl, scaleOuterCursor ) => {\n\n\t\t\t\tthis.isMagnetic = true;\n\t\t\t\tscaleOuterCursor && ( this.scaleOuterCursor = true );\n\t\t\t\tthis.fadeOutInnerCursor = true;\n\t\t\t\tthis.fadeOutOuterCursor = true;\n\n\t\t\t\tthis.moveOtherElements( outerEl, innerEl );\n\n\t\t\t};\n\n\t\t\tconst navTriggerLeave = () => {\n\n\t\t\t\tthis.isMagnetic = false;\n\t\t\t\tthis.fadeOutInnerCursor = false;\n\t\t\t\tthis.fadeOutOuterCursor = false;\n\n\t\t\t\tthis.moveOtherElements();\n\n\t\t\t};\n\n\t\t\tconst navTriggers = document.querySelectorAll( '.nav-trigger' );\n\t\t\tconst moduleTriggers = document.querySelectorAll( '.ld-module-trigger' );\n\n\t\t\tnavTriggers.forEach( navTrigger => {\n\n\t\t\t\tconst $navTrigger = $( navTrigger );\n\t\t\t\tconst bars = navTrigger.querySelector( '.bars' );\n\t\t\t\tconst barsInner = navTrigger.querySelector( '.bars-inner' )\n\t\t\t\tconst toggleData = $navTrigger.data( 'plugin_liquidToggle' );\n\n\t\t\t\tif ( toggleData && toggleData.options.type !== 'hover' ) {\n\t\t\t\t\tnavTrigger.addEventListener( \"mouseenter\", navTriggerEnter.bind( this, bars, barsInner, true ) );\n\t\t\t\t\tnavTrigger.addEventListener( \"mouseleave\", navTriggerLeave );\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\tmoduleTriggers.forEach( moduleTrigger => {\n\n\t\t\t\tconst $moduleTrigger = $( moduleTrigger );\n\t\t\t\tconst txt = moduleTrigger.querySelector( '.ld-module-trigger-txt' );\n\t\t\t\tconst icon = moduleTrigger.querySelector( '.ld-module-trigger-icon' )\n\t\t\t\tconst toggleData = $moduleTrigger.data( 'plugin_liquidToggle' );\n\n\t\t\t\tif ( toggleData && toggleData.options.type !== 'hover' ) {\n\t\t\t\t\tmoduleTrigger.addEventListener( \"mouseenter\", () => {\n\t\t\t\t\t\tconst scaleOuterCursor = !moduleTrigger.classList.contains( 'lqd-module-icon-plain' ) && !moduleTrigger.parentElement.classList.contains( 'ld-dropdown-menu' );\n\t\t\t\t\t\tnavTriggerEnter( moduleTrigger, txt, scaleOuterCursor );\n\t\t\t\t\t\tnavTriggerEnter( moduleTrigger, icon, scaleOuterCursor );\n\t\t\t\t\t} );\n\t\t\t\t\tmoduleTrigger.addEventListener( \"mouseleave\", navTriggerLeave );\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t}\n\n\t\tinitMenuItemsCursor() {\n\n\t\t\tconst menuItemEnter = menuItem => {\n\n\t\t\t\tthis.moveOtherElements( menuItem );\n\n\t\t\t};\n\n\t\t\tconst menuItemLeave = () => {\n\n\t\t\t\tthis.moveOtherElements();\n\n\t\t\t};\n\n\t\t\tconst magneticMenuItems = document.querySelectorAll( '.lqd-magnetic-items' );\n\n\t\t\tmagneticMenuItems.forEach( el => {\n\t\t\t\tconst ul = el.querySelector( 'ul' );\n\t\t\t\tconst menuItems = ul.querySelectorAll( ':scope > li > a' );\n\t\t\t\tmenuItems.forEach( menuItem => {\n\t\t\t\t\tmenuItem.addEventListener( \"mouseenter\", menuItemEnter.bind( this, menuItem ) );\n\t\t\t\t\tmenuItem.addEventListener( \"mouseleave\", menuItemLeave.bind( this ) );\n\t\t\t\t} )\n\t\t\t} );\n\n\t\t}\n\n\t\tmoveOtherElements( movingEl, innerMovingEl, onlyMoveInnerEl ) {\n\n\t\t\tlet movingElRect = null;\n\n\t\t\tif ( !movingEl ) {\n\n\t\t\t\tthis.lastMovedOtherEl && gsap.to( this.lastMovedOtherEl, {\n\t\t\t\t\tduration: 0.4,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tclearProps: 'all'\n\t\t\t\t} );\n\n\t\t\t\tthis.lastMovedOtherInnerEl && gsap.to( this.lastMovedOtherInnerEl, {\n\t\t\t\t\tduration: 0.35,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tclearProps: 'all'\n\t\t\t\t} );\n\n\t\t\t\tthis.scaleOuterCursor = null;\n\t\t\t\tthis.scaleOuterCursorX = null;\n\t\t\t\tthis.scaleOuterCursorY = null;\n\n\t\t\t\t$liquidWindow.off( 'mousemove.lqdCCMoveOthers' );\n\n\t\t\t\treturn;\n\n\t\t\t};\n\n\t\t\tthis.lastMovedOtherEl = movingEl;\n\t\t\tthis.lastMovedOtherInnerEl = innerMovingEl;\n\n\t\t\t$liquidWindow.on( 'mousemove.lqdCCMoveOthers', e => {\n\n\t\t\t\t!movingElRect && ( movingElRect = movingEl.getBoundingClientRect() );\n\n\t\t\t\tconst dist = {\n\t\t\t\t\tx: ( movingElRect.left + movingElRect.width / 2 ) - this.clientX,\n\t\t\t\t\ty: ( movingElRect.top + movingElRect.height / 2 ) - this.clientY\n\t\t\t\t};\n\n\t\t\t\tconst angle = Math.atan2( dist.x, dist.y );\n\n\t\t\t\tconst hypotenuse = Math.sqrt(\n\t\t\t\t\tdist.x * dist.x + dist.y * dist.y\n\t\t\t\t);\n\n\t\t\t\tthis.magneticCords = {\n\t\t\t\t\tx: ( movingElRect.left + movingElRect.width / 2 - this.outerCursorSize / 2 ) - ( ( Math.sin( angle ) * hypotenuse ) / 3 ),\n\t\t\t\t\ty: ( movingElRect.top + movingElRect.height / 2 - this.outerCursorSize / 2 ) - ( ( Math.cos( angle ) * hypotenuse ) / 3 )\n\t\t\t\t}\n\n\t\t\t\t!onlyMoveInnerEl && gsap.to( movingEl, {\n\t\t\t\t\tduration: 0.4,\n\t\t\t\t\tx: -( Math.sin( angle ) * hypotenuse ) / 8,\n\t\t\t\t\ty: -( Math.cos( angle ) * hypotenuse ) / 8\n\t\t\t\t} );\n\n\t\t\t\tinnerMovingEl && gsap.to( innerMovingEl, {\n\t\t\t\t\tduration: 0.35,\n\t\t\t\t\tx: -( Math.sin( angle ) * hypotenuse ) / 8,\n\t\t\t\t\ty: -( Math.cos( angle ) * hypotenuse ) / 8\n\t\t\t\t} );\n\n\t\t\t\tif ( this.scaleOuterCursor ) {\n\n\t\t\t\t\tthis.scaleOuterCursorX = movingElRect.width / this.outerCursorSize;\n\t\t\t\t\tthis.scaleOuterCursorY = movingElRect.height / this.outerCursorSize;\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'cc-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif (\n\t\tliquidIsMobile() ||\n\t\twindow.vc_iframe ||\n\t\t( 'elementorFrontend' in window && elementorFrontend.isEditMode() )\n\t) return;\n\n\tconst addCustomCursorMarkup = () => {\n\n\t\tconst $elements = $( '[data-lqd-custom-cursor]' );\n\n\t\t$elements.each( ( i, el ) => {\n\t\t\tconst $ccSpan = $( `<span class=\"lqd-extra-cursor pos-fix pointer-events-none\"></span>` );\n\t\t\t$( el ).prepend( $ccSpan );\n\t\t} );\n\n\t};\n\n\taddCustomCursorMarkup();\n\n\t$( '[data-lqd-cc]' ).liquidCustomCursor();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidAccordion';\n\tlet defaults = {\n\t};\n\n\tfunction Plugin( element, options ) {\n\n\t\tthis.element = element;\n\t\tthis.$element = $( element );\n\n\t\tthis.isBS5 = typeof bootstrap !== 'undefined';\n\t\tthis.options = $.extend( {}, defaults, options );\n\t\tthis.$contents = $( '.accordion-collapse', this.element );\n\t\tthis.$triggers = $( '[data-toggle=collapse]', this.element );\n\n\t\tthis._defaults = defaults;\n\t\tthis._name = pluginName;\n\n\t\tthis.init();\n\t}\n\n\tPlugin.prototype = {\n\n\t\tinit() {\n\n\t\t\tthis.setHashOnLoad();\n\t\t\tthis.eventHandlers();\n\n\t\t},\n\n\t\tsetHashOnLoad() {\n\n\t\t\tconst element = $( this.element );\n\n\t\t\tif ( location.hash !== '' && element.find( location.hash ).length ) {\n\n\t\t\t\tconst activeItemParent = element.find( location.hash ).closest( '.accordion-item' );\n\n\t\t\t\t// can't use BS .collapse(). it's accordion loosing functionality\n\t\t\t\tactiveItemParent.find( location.hash ).addClass( 'in' );\n\t\t\t\tactiveItemParent.find( '.accordion-heading' ).find( 'a' ).attr( 'aria-expanded', 'true' ).removeClass( 'collapsed' );\n\n\t\t\t\tactiveItemParent.siblings().find( '.in' ).removeClass( 'in' );\n\t\t\t\tactiveItemParent.siblings().find( '.accordion-heading' ).find( 'a' ).attr( 'aria-expanded', 'false' ).addClass( 'collapsed' );\n\n\t\t\t}\n\n\t\t},\n\n\t\teventHandlers() {\n\n\t\t\tif ( !this.isBS5 ) {\n\t\t\t\tthis.$contents.on( 'show.bs.collapse', this.onShow.bind( this ) );\n\t\t\t\tthis.$contents.on( 'shown.bs.collapse', this.onShown.bind( this ) );\n\t\t\t\tthis.$contents.on( 'hide.bs.collapse', this.onHide.bind( this ) );\n\t\t\t} else {\n\t\t\t\tthis.$contents.each( ( i, content ) => {\n\t\t\t\t\tcontent.addEventListener( 'show.bs.collapse', this.onShow.bind( this ) );\n\t\t\t\t\tcontent.addEventListener( 'shown.bs.collapse', this.onShown.bind( this ) );\n\t\t\t\t\tcontent.addEventListener( 'hide.bs.collapse', this.onHide.bind( this ) );\n\t\t\t\t} )\n\t\t\t}\n\n\t\t},\n\n\t\tonShow( event ) {\n\n\t\t\tthis.toggleActiveClass( event, 'show' );\n\t\t\tthis.setHashOnLoad( event );\n\n\t\t\tconst $collapse = $( event.target );\n\n\t\t\tif ( $collapse.closest( '.vc_vc_accordion_tab' ).length ) {\n\t\t\t\t$collapse.closest( '.vc_vc_accordion_tab' ).siblings().find( '.accordion-collapse' ).collapse( 'hide' );\n\t\t\t}\n\n\t\t},\n\n\t\tonHide( event ) {\n\n\t\t\tthis.toggleActiveClass( event, 'hide' );\n\n\t\t},\n\n\t\ttoggleActiveClass( event, state ) {\n\n\t\t\tconst parent = $( event.target ).closest( '.accordion-item' );\n\n\t\t\tif ( state === 'show' ) {\n\t\t\t\tparent.addClass( 'active' ).siblings().removeClass( 'active' );\n\t\t\t}\n\n\t\t\tif ( state === 'hide' ) {\n\t\t\t\tparent.removeClass( 'active' );\n\t\t\t}\n\n\t\t},\n\n\t\tsetHashOnShow( event ) {\n\n\t\t\tif ( history.pushState ) {\n\t\t\t\thistory.pushState( null, null, '#' + $( event.target ).attr( 'id' ) );\n\t\t\t} else {\n\t\t\t\tlocation.hash = '#' + $( event.target ).attr( 'id' );\n\t\t\t}\n\t\t},\n\n\t\tonShown( event ) {\n\n\t\t\tconst collapse = $( event.target );\n\t\t\tconst $parent = collapse.closest( '.accordion-item' );\n\t\t\tconst $window = $( window );\n\t\t\tconst parentOffsetTop = $parent.offset().top;\n\n\t\t\tthis.initPlugins( $parent );\n\n\t\t\tif ( parentOffsetTop <= $window.scrollTop() - 15 ) {\n\n\t\t\t\t$( 'html, body' ).animate( {\n\t\t\t\t\tscrollTop: parentOffsetTop - 45\n\t\t\t\t}, 800 );\n\n\t\t\t}\n\n\t\t},\n\n\t\tinitPlugins( $shownAccordionItem ) {\n\n\t\t\t$( '[data-split-text]', $shownAccordionItem ).liquidSplitText();\n\n\t\t},\n\n\t\tdestroy() {\n\n\t\t\tthis.$contents.off( 'show.bs.collapse shown.bs.collapse hide.bs.collapse' );\n\n\t\t}\n\n\t};\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'accordion-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '.accordion' ).liquidAccordion();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidAjaxLoadMore';\n\tlet defaults = {\n\t\ttrigger: \"inview\" // \"inview\", \"click\"\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.observer = null;\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst { trigger } = this.options;\n\n\t\t\ttrigger == 'inview' && this.setupIntersectionObserver();\n\t\t\ttrigger == 'click' && this.onClick();\n\n\t\t}\n\n\t\tonClick() {\n\n\t\t\tthis.$element.on( 'click', this.loadItems.bind( this ) );\n\n\t\t}\n\n\t\tsetupIntersectionObserver() {\n\n\t\t\tthis.observer = new IntersectionObserver( enteries => {\n\n\t\t\t\tenteries.forEach( entery => {\n\n\t\t\t\t\tif ( entery.isIntersecting ) {\n\n\t\t\t\t\t\tthis.loadItems();\n\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t}, { threshold: [ 1 ] } );\n\n\t\t\tthis.observer.observe( this.element );\n\n\t\t}\n\n\t\tloadItems( event ) {\n\n\t\t\tevent && event.preventDefault();\n\n\t\t\tconst self = this;\n\t\t\tconst options = self.options;\n\t\t\tconst target = self.$element.attr( 'href' );\n\n\t\t\t// Loading State\n\t\t\tself.$element.addClass( 'items-loading' );\n\n\t\t\t// Load Items\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'GET',\n\t\t\t\turl: target,\n\t\t\t\terror: function ( MLHttpRequest, textStatus, errorThrown ) {\n\t\t\t\t\talert( errorThrown );\n\t\t\t\t},\n\t\t\t\tsuccess: function ( data ) {\n\n\t\t\t\t\tconst $data = $( data );\n\t\t\t\t\tconst $newItemsWrapper = $data.find( options.wrapper )\n\t\t\t\t\tconst $newItems = $newItemsWrapper.find( options.items );\n\t\t\t\t\tconst $wrapper = $( options.wrapper );\n\t\t\t\t\tconst nextPageUrl = $data.find( '[data-ajaxify=true]' ).attr( 'href' );\n\n\t\t\t\t\t// Add New Items on imagesLoaded\n\t\t\t\t\timagesLoaded( $newItems.get(), function () {\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnextPageUrl &&\n\t\t\t\t\t\t\ttarget != nextPageUrl\n\t\t\t\t\t\t) {\n\n\t\t\t\t\t\t\tself.$element.attr( 'href', nextPageUrl );\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tself.observer && self.observer.unobserve( self.element );\n\n\t\t\t\t\t\t\tself.$element.removeClass( 'items-loading' ).addClass( 'all-items-loaded' );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Append new items\n\t\t\t\t\t\t$newItems.appendTo( $wrapper );\n\n\t\t\t\t\t\tif ( $wrapper.get( 0 ).hasAttribute( 'data-liquid-masonry' ) ) {\n\t\t\t\t\t\t\tconst pluginData = $wrapper.data( 'plugin_liquidMasonry' );\n\t\t\t\t\t\t\tconst isoData = pluginData && pluginData.isoData;\n\t\t\t\t\t\t\tisoData && isoData.appended( $newItems );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Calling function for the new items\n\t\t\t\t\t\tself.onSuccess( $wrapper );\n\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\t\t\t} );\n\n\t\t}\n\n\t\tonSuccess( $wrapper ) {\n\n\t\t\tif ( !$( 'body' ).hasClass( 'lazyload-enabled' ) ) {\n\t\t\t\t$( '[data-responsive-bg=true]', $wrapper ).liquidResponsiveBG();\n\t\t\t}\n\n\t\t\tif ( $( 'body' ).hasClass( 'lazyload-enabled' ) ) {\n\n\t\t\t\twindow.liquidLazyload = new LazyLoad( {\n\t\t\t\t\telements_selector: '.ld-lazyload',\n\t\t\t\t\tcallback_loaded: ( e ) => {\n\t\t\t\t\t\t$( e ).closest( '[data-responsive-bg=true]' ).liquidResponsiveBG();\n\t\t\t\t\t\t$( e ).parent().not( '#wrap, #lqd-site-content' ).addClass( 'loaded' );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\t$( '[data-split-text]', $wrapper ).filter( ( i, element ) => (\n\n\t\t\t\t!$( element ).parents( '[data-custom-animations]' ).length &&\n\t\t\t\t!element.hasAttribute( 'data-custom-animations' )\n\n\t\t\t) ).liquidSplitText();\n\n\t\t\t$( '[data-fittext]', $wrapper ).liquidFitText();\n\n\t\t\t$( '[data-custom-animations]', $wrapper ).map( ( i, element ) => {\n\n\t\t\t\tconst $element = $( element );\n\t\t\t\tconst $customAnimationParent = $element.parents( '.wpb_wrapper[data-custom-animations]' );\n\n\t\t\t\tif ( $customAnimationParent.length ) {\n\n\t\t\t\t\t$element.removeAttr( 'data-custom-animations' );\n\t\t\t\t\t$element.removeAttr( 'data-ca-options' );\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\t$( '[data-custom-animations]', $wrapper ).filter( ( i, element ) => {\n\n\t\t\t\tconst $element = $( element );\n\t\t\t\tconst $rowBgparent = $element.closest( '.vc_row[data-row-bg]' );\n\t\t\t\tconst $slideshowBgParent = $element.closest( '.vc_row[data-slideshow-bg]' );\n\n\t\t\t\treturn (\n\t\t\t\t\t!$rowBgparent.length &&\n\t\t\t\t\t!$slideshowBgParent.length\n\t\t\t\t);\n\n\t\t\t} ).liquidCustomAnimations();\n\n\t\t\t$( '[data-lqd-flickity]', $wrapper ).liquidCarousel();\n\n\t\t\t$( '[data-parallax]', $wrapper ).liquidParallax();\n\n\t\t\t$( '[data-hover3d=true]', $wrapper ).liquidHover3d();\n\n\t\t\tthis.$element.removeClass( 'items-loading' );\n\n\t\t\tScrollTrigger?.refresh();\n\n\t\t}\n\n\t}\n\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'ajaxify-options' ), options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif ( $( 'body' ).hasClass( 'compose-mode' ) ) return false;\n\n\t$( '[data-ajaxify=true]' ).liquidAjaxLoadMore();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidAnimatedFrames';\n\tlet defaults = {\n\t\tcurrent: 0,\n\t\tscrollable: false,\n\t\tforceDisablingWindowScroll: false,\n\t\tautoplay: false,\n\t\tautoplayTimeout: 4000\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.el = element;\n\n\t\t\tthis.DOM.slides = Array.from( this.DOM.el.querySelectorAll( '.lqd-af-slides > div' ) );\n\t\t\tthis.DOM.nav = this.DOM.el.querySelector( '.lqd-af-slidenav' );\n\t\t\tthis.DOM.nums = this.DOM.el.querySelector( '.lqd-af-slidenum' );\n\t\t\tthis.DOM.numsCurrent = this.DOM.el.querySelector( '.lqd-af-slidenum__current' );\n\t\t\tthis.DOM.numsTotal = this.DOM.el.querySelector( '.lqd-af-slidenum__total' );\n\t\t\tthis.DOM.nextCtrl = this.DOM.nav.querySelector( '.lqd-af-slidenav__item--next' );\n\t\t\tthis.DOM.prevCtrl = this.DOM.nav.querySelector( '.lqd-af-slidenav__item--prev' );\n\t\t\tthis.slidesTotal = this.DOM.slides.length;\n\t\t\tthis.current = this.options.current;\n\n\t\t\tthis.startY = 0;\n\t\t\tthis.currentY = 0;\n\t\t\tthis.dragY = 0;\n\n\t\t\tthis.userInteracted = false;\n\t\t\tthis.autoplayTimeout = null;\n\n\t\t\tthis.initNumbers();\n\t\t\tthis.init();\n\t\t\tthis.animateNumbers();\n\t\t\tthis.initEvents();\n\n\t\t\tthis.autoplay();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst currentSlide = this.DOM.slides[ this.current ];\n\t\t\tcurrentSlide.classList.add( 'lqd-af-slide--current' );\n\t\t\tthis.DOM.el.classList.add( 'lqd-af--initial' );\n\t\t\tthis.onSlideLoaded( currentSlide );\n\n\t\t}\n\n\t\tinitNumbers() {\n\n\t\t\tif ( liquidIsElementor ) return;\n\n\t\t\tconst $parantSpan = $( '<span class=\"pos-abs pos-tl absolute top-0 left-0\" />' );\n\n\t\t\tthis.DOM.numsTotal.innerText = this.slidesTotal;\n\n\t\t\tfor ( let i = 1; i <= this.slidesTotal; i++ ) {\n\t\t\t\tconst $span = $( `<span class=\"d-flex align-items-center justify-content-center flex items-center justify-center\">${ i }</span>` );\n\t\t\t\t$span.appendTo( $parantSpan );\n\t\t\t}\n\n\t\t\t$parantSpan.appendTo( this.DOM.numsCurrent );\n\t\t}\n\n\t\tanimateNumbers( i = 0 ) {\n\n\t\t\tconst spanEl = this.DOM.numsCurrent.querySelector( 'span' );\n\n\t\t\tif ( !spanEl ) return;\n\n\t\t\tspanEl.style.transform = `translateY(${ ( i * 100 ) * -1 }%)`;\n\n\t\t}\n\n\t\tinitEvents() {\n\n\t\t\tif ( this.slidesTotal <= 1 ) return;\n\n\t\t\t$( this.DOM.nextCtrl ).off( 'click.lqdAnimateFrames', this.navigate );\n\t\t\t$( this.DOM.prevCtrl ).off( 'click.lqdAnimateFrames', this.navigate );\n\n\t\t\t$( this.DOM.nextCtrl ).on( 'click.lqdAnimateFrames', this.navigate.bind( this, 'next', true ) );\n\t\t\t$( this.DOM.prevCtrl ).on( 'click.lqdAnimateFrames', this.navigate.bind( this, 'prev', true ) );\n\n\t\t\t$( document ).on( 'keydown.lqdAnimateFrames', ( ev ) => {\n\t\t\t\tconst keyCode = ev.originalEvent.key;\n\t\t\t\tif ( keyCode === 'ArrowUp' ) {\n\t\t\t\t\tthis.navigate( 'prev', true );\n\t\t\t\t}\n\t\t\t\telse if ( keyCode === 'ArrowDown' ) {\n\t\t\t\t\tthis.navigate( 'next', true );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( !this.options.scrollable ) return false;\n\n\t\t\tthis.initDrag();\n\n\t\t\tif (\n\t\t\t\tthis.options.forceDisablingWindowScroll &&\n\t\t\t\t( 'elementorFrontend' in window && !elementorFrontend.isEditMode() )\n\t\t\t) {\n\t\t\t\tdocument.documentElement.classList.add( 'overflow-hidden' )\n\t\t\t}\n\n\t\t\tconst onWheel = liquidThrottle( event => {\n\n\t\t\t\tconst delta = Math.sign( event.originalEvent.deltaY );\n\t\t\t\tif ( delta < 0 ) {\n\t\t\t\t\tthis.navigate( 'prev', true );\n\t\t\t\t} else if ( delta > 0 ) {\n\t\t\t\t\tthis.navigate( 'next', true );\n\t\t\t\t}\n\n\t\t\t}, 800, true );\n\n\t\t\tthis.$element.on( 'mouseenter.lqdAnimateFrames', () => {\n\t\t\t\t$liquidWindow.on( 'wheel.lqdAnimateFrames', onWheel );\n\t\t\t} );\n\n\t\t\tthis.$element.on( 'mouseleave.lqdAnimateFrames', () => {\n\t\t\t\t$liquidWindow.on( 'wheel.lqdAnimateFrames', onWheel );\n\t\t\t} );\n\n\t\t}\n\n\t\tinitDrag() {\n\n\t\t\tthis.$element.on( 'mousedown touchstart', this.pointerStart.bind( this ) );\n\t\t\tthis.$element.on( 'mousemove touchmove', this.pointerMove.bind( this ) );\n\t\t\tthis.$element.on( 'mouseup touchend', this.pointerEnd.bind( this ) );\n\n\t\t}\n\n\t\tpointerStart( event ) {\n\n\t\t\tif (\n\t\t\t\tthis.options.forceDisablingWindowScroll &&\n\t\t\t\t( 'elementorFrontend' in window && !elementorFrontend.isEditMode() )\n\t\t\t) {\n\t\t\t\tdocument.documentElement.classList.add( 'overflow-hidden' );\n\t\t\t}\n\n\t\t\tthis.startY = event.pageY || event.originalEvent.changedTouches[ 0 ].pageY;\n\t\t\tthis.currentY = this.startY;\n\n\t\t\tthis.$element.addClass( 'pointer-down' );\n\n\t\t}\n\n\t\tpointerMove( event ) {\n\n\t\t\tif (\n\t\t\t\tthis.options.forceDisablingWindowScroll &&\n\t\t\t\t( 'elementorFrontend' in window && !elementorFrontend.isEditMode() )\n\t\t\t) {\n\t\t\t\tdocument.documentElement.classList.add( 'overflow-hidden' );\n\t\t\t}\n\n\t\t\tthis.currentY = event.pageY || event.originalEvent.changedTouches[ 0 ].pageY;\n\n\t\t\tthis.dragY = parseInt( this.startY - this.currentY, 10 );\n\n\t\t}\n\n\t\tpointerEnd() {\n\n\t\t\tthis.dragY = parseInt( this.startY - this.currentY, 10 );\n\n\t\t\tif ( this.dragY >= 20 ) {\n\n\t\t\t\tthis.navigate( 'next' );\n\n\t\t\t} else if ( this.dragY <= -20 ) {\n\n\t\t\t\tthis.navigate( 'prev' );\n\n\t\t\t}\n\n\t\t\tthis.element.classList.remove( 'pointer-down' );\n\n\t\t}\n\n\t\tnavigate( dir = 'next', navigatedByUser ) {\n\n\t\t\tif ( this.isAnimating ) return false;\n\n\t\t\tif ( navigatedByUser ) {\n\t\t\t\tthis.userInteracted = true;\n\t\t\t}\n\n\t\t\tthis.isAnimating = true;\n\n\t\t\tif ( this.autoplayTimeout ) {\n\t\t\t\tclearTimeout( this.autoplayTimeout );\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.options.forceDisablingWindowScroll &&\n\t\t\t\t( 'elementorFrontend' in window && !elementorFrontend.isEditMode() )\n\t\t\t) {\n\t\t\t\tdocument.documentElement.classList.add( 'overflow-hidden' );\n\t\t\t}\n\n\t\t\tthis.element.classList.add( 'lqd-af--navigating', 'lqd-af--navigation-init' );\n\n\t\t\tdir === 'next' && this.element.classList.add( 'lqd-af--moving-up' );\n\t\t\tdir === 'prev' && this.element.classList.add( 'lqd-af--moving-down' );\n\n\t\t\tconst currentSlide = this.DOM.slides[ this.current ];\n\t\t\tconst currentSlideImg = currentSlide.querySelector( '.lqd-af-slide__img' );\n\t\t\tconst currentSlideImgInner = currentSlideImg.querySelector( '.lqd-af-slide__img__inner' );\n\t\t\tconst currentSlideFigureEl = currentSlideImg.querySelector( 'figure' );\n\t\t\tconst currentSlideTitleSplitInner = currentSlide.querySelectorAll( '.lqd-af-slide__title .split-inner' );\n\t\t\tconst currentSlideDescSplitInner = currentSlide.querySelectorAll( '.lqd-af-slide__desc .split-inner' );\n\t\t\tconst currentSlideLink = currentSlide.querySelector( '.lqd-af-slide__link' );\n\n\t\t\tconst figureAnimations = gsap.timeline( {\n\t\t\t\tduration: 1.2,\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tcurrentSlide.classList.remove( 'lqd-af-slide--movin-out' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tfigureAnimations.fromTo( currentSlideFigureEl,\n\t\t\t\t{ scale: 1, },\n\t\t\t\t{ scale: 1.25, ease: CustomEase.create( \"custom\", \"M0,0,C0.4,0,0.2,1,1,1\" ), },\n\t\t\t\t0 );\n\n\t\t\tfigureAnimations.fromTo( currentSlideImgInner,\n\t\t\t\t{ scale: 1, },\n\t\t\t\t{ scale: 0.5, ease: CustomEase.create( \"custom\", \"M0,0,C0.4,0,0.2,1,1,1\" ), },\n\t\t\t\t0.015 );\n\n\t\t\tfigureAnimations.to( currentSlideImg, {\n\t\t\t\tduration: 0.85,\n\t\t\t\tease: CustomEase.create( \"custom\", \"M0,0,C0.395,0,0.1,1,1,1\" ),\n\t\t\t\ty: dir === 'next' ? '-100%' : '100%'\n\t\t\t}, 0.35 );\n\n\t\t\tcurrentSlide.classList.add( 'lqd-af-slide--movin-out' );\n\n\t\t\tconst currentSlideContentTimeline = gsap.timeline( {\n\t\t\t\tduration: 1.2,\n\t\t\t\tdelay: 0.5,\n\t\t\t\tease: CustomEase.create( \"custom\", \"M0,0,C0.4,0,0.1,1,1,1\" ),\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tcurrentSlide.classList.remove( 'lqd-af-slide--current' );\n\t\t\t\t\tthis.DOM.el.classList.add( 'lqd-af--initial' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tcurrentSlideTitleSplitInner?.length && currentSlideContentTimeline.fromTo( currentSlideTitleSplitInner,\n\t\t\t\t{ y: '0%' },\n\t\t\t\t{ y: dir === 'next' ? '-105%' : '105%' },\n\t\t\t\tdir === 'next' ? 0 : 0.35 );\n\t\t\tcurrentSlideDescSplitInner?.length && currentSlideContentTimeline.fromTo( currentSlideDescSplitInner,\n\t\t\t\t{ opacity: 1, y: '0%' },\n\t\t\t\t{ opacity: 0, y: dir === 'next' ? '-100%' : '100%' },\n\t\t\t\t0.25 );\n\t\t\tcurrentSlideLink && currentSlideContentTimeline.fromTo( currentSlideLink,\n\t\t\t\t{ opacity: 1, y: '0%' },\n\t\t\t\t{ opacity: 0, y: dir === 'next' ? '-75%' : '75%' },\n\t\t\t\tdir === 'next' ? 0.35 : 0 );\n\n\t\t\tthis.current = dir === 'next' ?\n\t\t\t\tthis.current < this.slidesTotal - 1 ? this.current + 1 : 0 :\n\t\t\t\tthis.current > 0 ? this.current - 1 : this.slidesTotal - 1;\n\n\t\t\tthis.animateNumbers( this.current );\n\n\t\t\t// New slide\n\t\t\tconst newSlide = this.DOM.slides[ this.current ];\n\t\t\tnewSlide.classList.add( 'lqd-af-slide--current', 'lqd-af-slide--movin-in' );\n\t\t\tthis.DOM.el.classList.add( 'lqd-af--initial' );\n\t\t\tthis.onSlideLoaded( newSlide );\n\n\t\t\tconst newSlideImg = newSlide.querySelector( '.lqd-af-slide__img' );\n\t\t\tconst newSlideTitleSplitInner = newSlide.querySelectorAll( '.lqd-af-slide__title .split-inner' );\n\t\t\tconst newSlideDescSplitInner = newSlide.querySelectorAll( '.lqd-af-slide__desc .split-inner' );\n\t\t\tconst newSlideLink = newSlide.querySelector( '.lqd-af-slide__link' );\n\n\t\t\tconst newSlideContent = gsap.timeline( {\n\t\t\t\tduration: 1.2,\n\t\t\t\tdelay: 0.35,\n\t\t\t\tease: CustomEase.create( \"custom\", \"M0,0,C0.4,0,0.1,1,1,1\" ),\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tnewSlide.classList.remove( 'lqd-af-slide--movin-in' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tnewSlideContent.fromTo( newSlideImg,\n\t\t\t\t{ y: dir === 'next' ? '100%' : '-100%' },\n\t\t\t\t{\n\t\t\t\t\ty: 0,\n\t\t\t\t\tduration: 0.85,\n\t\t\t\t\tease: CustomEase.create( \"custom\", \"M0,0,C0.395,0,0.1,1,1,1\" ),\n\t\t\t\t},\n\t\t\t\t0 );\n\n\t\t\tnewSlideTitleSplitInner?.length && newSlideContent.fromTo( newSlideTitleSplitInner,\n\t\t\t\t{ y: dir === 'next' ? '105%' : '-105%' },\n\t\t\t\t{ y: '0%' },\n\t\t\t\tdir === 'next' ? 0.3 : 0.5 );\n\t\t\tnewSlideDescSplitInner?.length && newSlideContent.fromTo( newSlideDescSplitInner,\n\t\t\t\t{ opacity: 0, y: dir === 'next' ? '100%' : '-100%' },\n\t\t\t\t{ opacity: 1, y: '0%' },\n\t\t\t\t0.4 );\n\t\t\tnewSlideLink && newSlideContent.fromTo( newSlideLink,\n\t\t\t\t{ opacity: 0, y: dir === 'next' ? '75%' : '-75%', },\n\t\t\t\t{ opacity: 1, y: '0%' },\n\t\t\t\tdir === 'next' ? 0.5 : 0.3 );\n\n\t\t\tfigureAnimations.then( this.animateShapeOut.bind( this, dir ) );\n\n\t\t}\n\n\t\tanimateShapeOut() {\n\n\t\t\tconst currentSlide = this.DOM.slides[ this.current ];\n\t\t\tconst currentSlideImg = currentSlide.querySelector( '.lqd-af-slide__img' );\n\t\t\tconst currentSlideImgInner = currentSlideImg.querySelector( '.lqd-af-slide__img__inner' );\n\t\t\tconst currentSlideFigureEl = currentSlideImg.querySelector( 'figure' );\n\n\t\t\tgsap.to( [ currentSlideImgInner, currentSlideFigureEl ], {\n\t\t\t\tscale: 1,\n\t\t\t\tduration: 0.8,\n\t\t\t\tease: CustomEase.create( \"custom\", \"M0,0,C0.4,0,0.2,1,1,1\" ),\n\t\t\t\tonComplete: () => {\n\n\t\t\t\t\tthis.isAnimating = false;\n\t\t\t\t\tthis.element.classList.remove( 'lqd-af--navigating', 'lqd-af--moving-up', 'lqd-af--moving-down' );\n\t\t\t\t\t!this.options.forceDisablingWindowScroll && document.documentElement.classList.remove( 'overflow-hidden' );\n\n\t\t\t\t\tthis.autoplay();\n\n\t\t\t\t}\n\t\t\t} );\n\n\t\t}\n\n\t\tautoplay() {\n\n\t\t\tif ( !this.options.autoplay || this.userInteracted || this.slidesTotal <= 1 ) return;\n\n\t\t\tthis.autoplayTimeout = setTimeout( () => {\n\t\t\t\tthis.navigate();\n\t\t\t}, this.options.autoplayTimeout );\n\n\t\t}\n\n\t\tonSlideLoaded( slide ) {\n\n\t\t\tconst $slide = $( slide );\n\t\t\tconst $vids = $slide.find( 'video' );\n\n\t\t\t$vids.each( function () {\n\t\t\t\tconst $vid = $( this );\n\t\t\t\t$vid.find( 'source' ).each( function () {\n\t\t\t\t\tconst $source = $( this );\n\t\t\t\t\t$source.attr( 'src', $source.attr( 'data-src' ) );\n\t\t\t\t} );\n\t\t\t\t$vid[ 0 ].load();\n\t\t\t\t$vid[ 0 ].play();\n\t\t\t} );\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\t$( this.DOM.nextCtrl ).off( 'click.lqdAnimateFrames' );\n\t\t\t$( this.DOM.prevCtrl ).off( 'click.lqdAnimateFrames' );\n\n\t\t\t$( document ).off( 'keydown.lqdAnimateFrames' );\n\t\t\tthis.$element.off( 'mouseenter.lqdAnimateFrames' );\n\t\t\t$liquidWindow.off( 'wheel.lqdAnimateFrames' );\n\t\t\tthis.$element.off( 'mouseleave.lqdAnimateFrames' );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'af-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-liquid-animatedframes=true]' ).liquidAnimatedFrames();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidAsymmetricSlider';\n\tlet defaults = {\n\t\tautoplay: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.DOM = {\n\t\t\t\ttitlesWrap: this.element.querySelector( '.lqd-asym-slider-title-wrap' ),\n\t\t\t\tinfosWrap: this.element.querySelector( '.lqd-asym-slider-info-wrap' ),\n\t\t\t\timagesWrap: this.element.querySelector( '.lqd-asym-slider-img-wrap' ),\n\t\t\t\ttitles: [ ...this.element.querySelectorAll( '.lqd-asym-slider-title' ) ],\n\t\t\t\tinfos: [ ...this.element.querySelectorAll( '.lqd-asym-slider-info' ) ],\n\t\t\t\timages: [ ...this.element.querySelectorAll( '.lqd-asym-slider-img' ) ],\n\t\t\t\tprevBtn: this.element.querySelector( '.lqd-asym-slider-prev' ),\n\t\t\t\tnextBtn: this.element.querySelector( '.lqd-asym-slider-next' )\n\t\t\t};\n\n\t\t\tthis.isPlaying = false;\n\t\t\tthis.currentSlide = 0;\n\t\t\tthis.nextSlide = null;\n\t\t\tthis.prevSlide = null;\n\t\t\tthis.totalSlides = this.DOM.images.length - 1;\n\n\t\t\tconst promises = [];\n\t\t\tconst $firstHeading = $( this.DOM.titlesWrap ).find( '.lqd-asym-slider-title-element' ).first();\n\n\t\t\tconst elementFontFamily = $firstHeading.css( 'font-family' ).replace( /\"/g, '' ).replace( /'/g, '' ).split( ',' )[ 0 ];\n\t\t\tconst elementFontWeight = $firstHeading.css( 'font-weight' );\n\t\t\tconst elementFontStyle = $firstHeading.css( 'font-style' );\n\t\t\tconst fontFamilySlug = window.liquidSlugify( elementFontFamily );\n\n\t\t\tpromises.push( new Promise( resolve => imagesLoaded( this.element, resolve ) ) );\n\n\t\t\tif ( !window.liquidCheckedFonts.find( ff => ff === fontFamilySlug ) ) {\n\n\t\t\t\tconst font = new FontFaceObserver( elementFontFamily, {\n\t\t\t\t\tweight: elementFontWeight,\n\t\t\t\t\tstyle: elementFontStyle\n\t\t\t\t} );\n\n\t\t\t\tpromises.push( font.load() );\n\n\t\t\t}\n\n\t\t\tPromise.all( promises )\n\t\t\t\t.finally( () => {\n\t\t\t\t\t// setting up IO for cases where user using this plugin in tabs or accordion\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\t\tthis.init();\n\t\t\t\t\t\t}\n\t\t\t\t\t} ).observe( this.element );\n\t\t\t\t} );\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst { autoplay } = this.options;\n\n\t\t\tthis.updateHeights();\n\t\t\tthis.events();\n\t\t\tthis.playInitial();\n\n\t\t\tthis.element.classList.add( 'lqd-asym-slider-ready' );\n\n\t\t\tif ( autoplay && autoplay > 0 ) {\n\t\t\t\tthis.autoplayInitCall = gsap.delayedCall( 1.5, this.autoplay.bind( this ) );\n\t\t\t};\n\n\t\t}\n\n\t\tautoplay() {\n\n\t\t\tconst { autoplay } = this.options;\n\n\t\t\tif ( !autoplay || autoplay <= 0 ) return;\n\n\t\t\tthis.autoplayInitCall && this.autoplayInitCall.kill();\n\t\t\tthis.autoplayCall = gsap.delayedCall( autoplay, this.next.bind( this ) );\n\n\t\t}\n\n\t\tevents() {\n\n\t\t\tthis.DOM.prevBtn.addEventListener( 'click', this.prev.bind( this ) );\n\t\t\tthis.DOM.nextBtn.addEventListener( 'click', this.next.bind( this ) );\n\t\t\twindow.addEventListener( 'resize', liquidDebounce( this.updateHeights.bind( this ), 1000 ) )\n\n\t\t}\n\n\t\tupdateHeights() {\n\n\t\t\tthis.DOM.imagesWrap.style.transition = 'height 0.3s 1s';\n\t\t\tthis.DOM.titlesWrap.style.transition = 'height 0.3s 1s';\n\t\t\tthis.DOM.infosWrap.style.transition = 'height 0.3s 1s';\n\n\t\t\tthis.DOM.imagesWrap.style.height = `${ this.DOM.images[ this.currentSlide ].offsetHeight }px`;\n\t\t\tthis.DOM.titlesWrap.style.height = `${ this.DOM.titles[ this.currentSlide ].offsetHeight }px`;\n\t\t\tthis.DOM.infosWrap.style.height = `${ this.DOM.infos[ this.currentSlide ].offsetHeight }px`;\n\n\t\t}\n\n\t\tbeforePlay() {\n\n\t\t\tthis.element.classList.add( 'lqd-asym-slider-changing' );\n\t\t\tthis.DOM.titles[ this.nextSlide ].classList.add( 'is-next' );\n\t\t\tthis.DOM.titles[ this.nextSlide ].classList.remove( 'active' );\n\t\t\tthis.DOM.images[ this.nextSlide ].classList.add( 'is-next' );\n\t\t\tthis.DOM.images[ this.nextSlide ].classList.remove( 'active' );\n\t\t\tthis.DOM.infos[ this.nextSlide ].classList.add( 'is-next' );\n\t\t\tthis.DOM.infos[ this.nextSlide ].classList.remove( 'active' );\n\n\t\t\tthis.isPlaying = true;\n\n\t\t}\n\n\t\tafterPlay() {\n\n\t\t\tthis.element.classList.remove( 'lqd-asym-slider-changing' );\n\t\t\tthis.DOM.titles[ this.nextSlide ].classList.remove( 'is-next' );\n\t\t\tthis.DOM.titles[ this.nextSlide ].classList.add( 'active' );\n\t\t\tthis.DOM.titles[ this.prevSlide ].classList.remove( 'active' );\n\t\t\tthis.DOM.images[ this.nextSlide ].classList.remove( 'is-next' );\n\t\t\tthis.DOM.images[ this.nextSlide ].classList.add( 'active' );\n\t\t\tthis.DOM.images[ this.prevSlide ].classList.remove( 'active' );\n\t\t\tthis.DOM.infos[ this.nextSlide ].classList.remove( 'is-next' );\n\t\t\tthis.DOM.infos[ this.nextSlide ].classList.add( 'active' );\n\t\t\tthis.DOM.infos[ this.prevSlide ].classList.remove( 'active' );\n\n\t\t\tthis.isPlaying = false;\n\n\t\t\tthis.autoplayCall && this.autoplayCall.kill();\n\t\t\tthis.autoplay();\n\n\t\t}\n\n\t\tplayInitial() {\n\n\t\t\tthis.prevSlide = this.currentSlide;\n\t\t\tthis.nextSlide = this.currentSlide;\n\n\t\t\tthis.playTitle( 'init' );\n\t\t\tthis.playInfo( 'init' );\n\t\t\tthis.playImages( 'init' );\n\n\t\t}\n\n\t\tprev() {\n\n\t\t\tif ( this.isPlaying ) return;\n\n\t\t\tthis.prevSlide = this.currentSlide;\n\t\t\tthis.nextSlide = this.currentSlide === 0 ? this.totalSlides : this.currentSlide - 1;\n\t\t\tthis.currentSlide = this.nextSlide;\n\n\t\t\tthis.beforePlay();\n\n\t\t\tthis.updateHeights();\n\n\t\t\tthis.playTitle( 'prev' );\n\t\t\tthis.playInfo( 'prev' );\n\t\t\tthis.playImages( 'prev' ).then( () => {\n\t\t\t\tthis.afterPlay();\n\t\t\t} );\n\n\t\t}\n\n\t\tnext() {\n\n\t\t\tif ( this.isPlaying ) return;\n\n\t\t\tthis.prevSlide = this.currentSlide;\n\t\t\tthis.nextSlide = this.currentSlide === this.totalSlides ? 0 : this.currentSlide + 1;\n\t\t\tthis.currentSlide = this.nextSlide;\n\n\t\t\tthis.beforePlay();\n\n\t\t\tthis.updateHeights();\n\n\t\t\tthis.playTitle( 'next' );\n\t\t\tthis.playInfo( 'next' );\n\t\t\tthis.playImages( 'next' ).then( () => {\n\t\t\t\tthis.afterPlay();\n\t\t\t} );\n\n\t\t}\n\n\t\tplayTitle( dir ) {\n\n\t\t\tconst currentTitle = this.DOM.titles[ this.prevSlide ];\n\t\t\tconst nextTitle = this.DOM.titles[ this.nextSlide ];\n\t\t\tconst currentTitleChars = currentTitle.querySelectorAll( '.lqd-chars' );\n\t\t\tconst nextTitleChars = nextTitle.querySelectorAll( '.lqd-chars' );\n\n\t\t\tconst timeline = gsap.timeline( {\n\t\t\t\tdefaults: {\n\t\t\t\t\tduration: 1,\n\t\t\t\t},\n\t\t\t\tdelay: dir === 'next' ? 0.15 : 0\n\t\t\t} );\n\n\t\t\tif ( dir === 'prev' ) {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( [ ...currentTitleChars ].reverse(),\n\t\t\t\t\t\t{ y: '0%', rotation: 0, opacity: 1 },\n\t\t\t\t\t\t{ y: '100%', rotation: 15, opacity: 0, ease: 'expo.inOut', stagger: 0.025 }\n\t\t\t\t\t)\n\t\t\t\t\t.fromTo( [ ...nextTitleChars ].reverse(),\n\t\t\t\t\t\t{ y: '-100%', rotation: 15, opacity: 0 },\n\t\t\t\t\t\t{ y: '0%', rotation: 0, opacity: 1, ease: 'expo.out', stagger: 0.025 },\n\t\t\t\t\t\t0.75 )\n\t\t\t} else if ( dir === 'next' ) {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentTitleChars,\n\t\t\t\t\t\t{ y: '0%', rotation: 0, opacity: 1 },\n\t\t\t\t\t\t{ y: '-100%', rotation: 15, opacity: 0, ease: 'expo.inOut', stagger: 0.025 }\n\t\t\t\t\t)\n\t\t\t\t\t.fromTo( nextTitleChars,\n\t\t\t\t\t\t{ y: '100%', rotation: 15, opacity: 0 },\n\t\t\t\t\t\t{ y: '0%', rotation: 0, opacity: 1, ease: 'expo.out', stagger: 0.025 },\n\t\t\t\t\t\t0.75 )\n\t\t\t} else {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentTitleChars,\n\t\t\t\t\t\t{ x: 35, opacity: 0 },\n\t\t\t\t\t\t{ x: 0, opacity: 1, ease: 'expo.inOut', stagger: 0.045 }\n\t\t\t\t\t)\n\t\t\t}\n\n\t\t}\n\n\t\tplayInfo( dir ) {\n\n\t\t\tconst currentInfo = this.DOM.infos[ this.prevSlide ];\n\t\t\tconst currentInfoTitle = currentInfo.querySelector( '.lqd-asym-slider-subtitle-element' );\n\t\t\tconst currentInfoP = currentInfo.querySelector( '.lqd-asym-slider-description-element' );\n\t\t\tconst currentInfoHr = currentInfo.querySelector( 'hr' );\n\t\t\tconst nextInfo = this.DOM.infos[ this.nextSlide ];\n\t\t\tconst nextInfoTitle = nextInfo.querySelector( '.lqd-asym-slider-subtitle-element' );\n\t\t\tconst nextInfoP = nextInfo.querySelector( '.lqd-asym-slider-description-element' );\n\n\t\t\tconst timeline = gsap.timeline( {\n\t\t\t\tdefaults: {\n\t\t\t\t\tease: 'expo.inOut',\n\t\t\t\t\tduration: 1.5\n\t\t\t\t},\n\t\t\t\tdelay: dir === 'prev' ? 0.3 : 0.15\n\t\t\t} );\n\n\t\t\tif ( dir === 'prev' ) {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentInfoTitle,\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t{ x: 15, opacity: 0 },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( currentInfoP,\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t{ x: 15, opacity: 0 },\n\t\t\t\t\t\t0.15 )\n\t\t\t\t\t.fromTo( nextInfoTitle,\n\t\t\t\t\t\t{ x: -15, opacity: 0 },\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t0.15 )\n\t\t\t\t\t.fromTo( nextInfoP,\n\t\t\t\t\t\t{ x: -15, opacity: 0 },\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t0.3 )\n\t\t\t} else if ( dir === 'next' ) {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentInfoTitle,\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t{ x: -15, opacity: 0 },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( currentInfoP,\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t{ x: -15, opacity: 0 },\n\t\t\t\t\t\t0.15 )\n\t\t\t\t\t.fromTo( nextInfoTitle,\n\t\t\t\t\t\t{ x: 15, opacity: 0 },\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t0.15 )\n\t\t\t\t\t.fromTo( nextInfoP,\n\t\t\t\t\t\t{ x: 15, opacity: 0 },\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t0.3 )\n\t\t\t} else {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentInfoTitle,\n\t\t\t\t\t\t{ x: 30, opacity: 0 },\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( currentInfoHr,\n\t\t\t\t\t\t{ scaleX: 0.6, opacity: 0 },\n\t\t\t\t\t\t{ scaleX: 1, opacity: 1 },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( currentInfoP,\n\t\t\t\t\t\t{ x: 30, opacity: 0 },\n\t\t\t\t\t\t{ x: 0, opacity: 1 },\n\t\t\t\t\t\t0.15 )\n\t\t\t}\n\n\t\t}\n\n\t\tplayImages( dir ) {\n\n\t\t\tconst currentImage = this.DOM.images[ this.prevSlide ];\n\t\t\tconst currentImageInner = currentImage.querySelector( '.lqd-asym-slider-img-inner' );\n\t\t\tconst nextImage = this.DOM.images[ this.nextSlide ];\n\t\t\tconst nextImageInner = nextImage.querySelector( '.lqd-asym-slider-img-inner' );\n\n\t\t\tconst timeline = gsap.timeline( {\n\t\t\t\tdefaults: {\n\t\t\t\t\tease: 'expo.inOut',\n\t\t\t\t\tduration: 1.5\n\t\t\t\t},\n\t\t\t\tdelay: dir === 'prev' ? 0.15 : 0\n\t\t\t} );\n\n\t\t\tif ( dir === 'prev' ) {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentImageInner,\n\t\t\t\t\t\t{ x: '0%', scale: 1 },\n\t\t\t\t\t\t{ x: '-100%', scale: 1.2 },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( currentImage,\n\t\t\t\t\t\t{ x: '0%' },\n\t\t\t\t\t\t{ x: '100%' },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( nextImage,\n\t\t\t\t\t\t{ x: '-100%' },\n\t\t\t\t\t\t{ x: '0%' },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( nextImageInner,\n\t\t\t\t\t\t{ x: '100%', scale: 1.2 },\n\t\t\t\t\t\t{ x: '0%', scale: 1 },\n\t\t\t\t\t\t0 )\n\t\t\t} else if ( dir === 'next' ) {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentImageInner,\n\t\t\t\t\t\t{ x: '0%', scale: 1 },\n\t\t\t\t\t\t{ x: '100%', scale: 1.2 },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( currentImage,\n\t\t\t\t\t\t{ x: '0%' },\n\t\t\t\t\t\t{ x: '-100%' },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( nextImage,\n\t\t\t\t\t\t{ x: '100%' },\n\t\t\t\t\t\t{ x: '0%' },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( nextImageInner,\n\t\t\t\t\t\t{ x: '-100%', scale: 1.2 },\n\t\t\t\t\t\t{ x: '0%', scale: 1 },\n\t\t\t\t\t\t0 )\n\t\t\t} else {\n\t\t\t\ttimeline\n\t\t\t\t\t.fromTo( currentImageInner,\n\t\t\t\t\t\t{ x: '100%', scale: 1.2 },\n\t\t\t\t\t\t{ x: '0%', scale: 1 },\n\t\t\t\t\t\t0 )\n\t\t\t\t\t.fromTo( currentImage,\n\t\t\t\t\t\t{ x: '-100%' },\n\t\t\t\t\t\t{ x: '0%' },\n\t\t\t\t\t\t0 )\n\t\t\t}\n\n\t\t\treturn timeline;\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'asym-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-asym-slider]' ).liquidAsymmetricSlider();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidBackToTop';\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.checkforWPBottomMenu();\n\t\t\tthis.firstSectionIO();\n\n\t\t}\n\n\t\tcheckforWPBottomMenu() {\n\n\t\t\tconst wpbm = document.getElementById( 'wp-bottom-menu' );\n\n\t\t\tif ( !wpbm ) return;\n\n\t\t\tconst wpbmHeight = wpbm.clientHeight;\n\t\t\tthis.element.style.bottom = `${ wpbmHeight + 30 }px`;\n\n\t\t}\n\n\t\tfirstSectionIO() {\n\n\t\t\tlet $firstSection = $liquidSectionsWrapper.children().not( 'style, p' ).first();\n\n\t\t\t// content coming from classic editor\n\t\t\tif ( $firstSection.hasClass( 'lqd-contents' ) ) {\n\t\t\t\t$firstSection = $firstSection.children().first();\n\t\t\t}\n\n\t\t\tconst firstSectionIsSticky = $firstSection.css( 'position' ) === 'sticky';\n\t\t\tconst firstSectionIsOnlyChild = $firstSection.is( ':only-child' );\n\n\t\t\tif ( $firstSection.is( ':hidden' ) || firstSectionIsSticky ) {\n\t\t\t\t$firstSection = $firstSection.siblings().not( 'style, p' ).first();\n\t\t\t}\n\n\t\t\tif ( !$firstSection.length ) return;\n\n\t\t\tlet threshold = [ 0, 0.25, 0.5, 0.75, 1 ];\n\n\t\t\tif ( firstSectionIsSticky ) {\n\t\t\t\tthreshold = [ 0 ];\n\t\t\t}\n\t\t\tif ( firstSectionIsOnlyChild ) {\n\t\t\t\tthreshold = [ 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ];\n\t\t\t}\n\n\t\t\tnew IntersectionObserver( ( [ entry ] ) => {\n\n\t\t\t\tconst { boundingClientRect, rootBounds } = entry;\n\t\t\t\tlet activate = rootBounds && rootBounds.top >= ( boundingClientRect.bottom - ( boundingClientRect.height / 2 ) );\n\n\t\t\t\tif ( firstSectionIsSticky ) {\n\t\t\t\t\tactivate = rootBounds && rootBounds.bottom >= boundingClientRect.top;\n\t\t\t\t}\n\t\t\t\tif ( firstSectionIsOnlyChild ) {\n\t\t\t\t\tactivate = rootBounds && ( rootBounds.bottom - ( rootBounds.height / 2 ) ) >= boundingClientRect.top + 250;\n\t\t\t\t}\n\n\t\t\t\tif ( activate ) {\n\t\t\t\t\tthis.$element.addClass( 'is-visible' );\n\t\t\t\t} else {\n\t\t\t\t\tthis.$element.removeClass( 'is-visible' );\n\t\t\t\t}\n\n\t\t\t}, { threshold } ).observe( $firstSection.get( 0 ) );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'back-to-top-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif ( !$( 'html' ).hasClass( 'pp-enabled' ) ) {\n\t\t$( '[data-back-to-top]' ).liquidBackToTop();\n\t}\n\n} );","( function ( $ ) {\n\t'use strict';\n\n\tconst pluginName = 'liquidBgColor';\n\n\tlet defaults = {\n\t\tgetBgFromSelector: 'backgroundColor', // 'backgroundColor', 'borderColor'\n\t\tsetBgTo: 'self', // 'self', 'css-selector'\n\t\tmanipulateColor: null, // [{'saturate': 40}, {'lighten': 15}]\n\t\tchangeBorderColor: false,\n\t\tinteractWithHeader: false,\n\t\tmakeGradient: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\t\t\tthis.$stickyModules = this._getStickyModules();\n\t\t\tthis.setBgToEls = this.options.setBgTo === 'self' ? [ this.element ] : $( this.options.setBgTo, this.element ).get();\n\t\t\tthis.$bgEl = false;\n\n\t\t\tthis.rowsRect = [];\n\n\t\t\tthis.colors = [];\n\n\t\t\tthis.direction = 0;\n\n\t\t\tthis.$element.is( $liquidContents ) && this._addBgElement();\n\n\t\t\tthis.liquidBgColorInitPromise = new Promise( resolve => {\n\t\t\t\tthis.$element.on( 'lqd-bg-color-init', resolve.bind( this, this ) )\n\t\t\t} );\n\n\t\t\tLiquidSectionsDetails.getDetails().then( sections => {\n\n\t\t\t\t$( sections ).imagesLoaded( this._init( sections ) );\n\n\t\t\t} );\n\n\t\t}\n\n\t\t_init( liquidSections ) {\n\n\t\t\tconst sections = liquidSections.filter( sec => !sec.isHidden && !sec.isInFooter ).filter( sec => !sec.isInnerSection );\n\n\t\t\tconsole.log( sections );\n\n\t\t\tsections.forEach( async ( sec, i ) => {\n\n\t\t\t\tawait this._getColors( sec );\n\n\t\t\t\tPromise.all( this._getRects( sec, i ) ).then( () => {\n\t\t\t\t\tthis._setupIO( sec, i );\n\t\t\t\t\tif ( this.$bgEl ) {\n\t\t\t\t\t\tthis.element.classList.add( 'bg-transparent' );\n\t\t\t\t\t\tsec.el.classList.add( 'bg-transparent' );\n\t\t\t\t\t\tsec.isInnerSection && sec.parentSection && sec.parentSection.el.classList.add( 'bg-transparent' );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t\tthis.$element.trigger( 'lqd-bg-color-init', this.element );\n\n\t\t}\n\n\t\t_getStickyModules() {\n\n\t\t\tlet stickyModules = false;\n\n\t\t\tif ( $liquidMainHeader.length && $liquidMainHeader[ 0 ].hasAttribute( 'data-sticky-header' ) ) {\n\n\t\t\t\tif ( liquidIsElementor ) {\n\t\t\t\t\tstickyModules = $liquidMainHeader.find( '> .elementor' ).find( '> .elementor-section-wrap > .elementor-section, > .elementor-section, > .elementor-section-wrap > .e-container, > .e-container, > .e-con' ).not( '.lqd-hide-onstuck' ).find( '[data-element_type=\"widget\"]' );\n\t\t\t\t} else {\n\t\t\t\t\tstickyModules = $liquidMainHeader.find( '.lqd-head-sec-wrap, .lqd-stickybar-wrap' ).not( '.lqd-hide-onstuck' ).find( '.header-module' )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn stickyModules;\n\n\t\t}\n\n\t\t_addBgElement() {\n\n\t\t\tif ( this.$bgEl ) return;\n\n\t\t\tconst overflowClassname = liquidIsMobile() ? 'overflow-hidden' : '';\n\t\t\tconst posClassname = liquidIsMobile() ? 'pos-fix fixed' : 'pos-sticky sticky';\n\t\t\tconst heightClassname = liquidIsMobile() ? 'h-100 h-full' : 'h-vh-100 h-100vh';\n\n\t\t\tthis.$bgEl = $( `<div class=\"lqd-liquid-bg-el-wrap lqd-overlay pointer-events-none z-index--1 ${ overflowClassname }\"><div class=\"lqd-liquid-bg-el ${ posClassname } pos-tl w-100 top-0 left-0 w-full ${ heightClassname } pointer-events-none\"></div></div>` );\n\n\t\t\tthis.$bgEl.prependTo( this.$element );\n\n\t\t\tthis.setBgToEls = [ this.$bgEl.children()[ 0 ] ];\n\n\t\t\tif ( $liquidMainFooter.length && !$liquidMainFooter[ 0 ].hasAttribute( 'data-sticky-footer' ) || liquidIsMobile() ) {\n\t\t\t\t$liquidMainFooter.css( {\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\tzIndex: 2\n\t\t\t\t} )\n\t\t\t}\n\n\t\t}\n\n\t\t_getColors( lqdSection ) {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\tconst { getBgFromSelector, manipulateColor } = this.options;\n\n\t\t\t\tconst obj = {};\n\t\t\t\tlet color = lqdSection[ getBgFromSelector ].replace( /, /g, ',' ).split( ' ' )[ 0 ];\n\t\t\t\tlet dataLuminosityAttr = lqdSection.$el.attr( 'data-section-luminosity' );\n\n\t\t\t\tif ( lqdSection.isInnerSection && lqdSection.parentSection ) {\n\t\t\t\t\tif ( lqdSection.isBgTransparent && !lqdSection.parentSection.isBgTransparent ) {\n\t\t\t\t\t\tcolor = lqdSection.parentSection[ getBgFromSelector ].replace( /, /g, ',' ).split( ' ' )[ 0 ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( lqdSection.isBgTransparent ) {\n\t\t\t\t\tcolor = $liquidContents.css( 'backgroundColor' );\n\t\t\t\t}\n\n\t\t\t\tif ( manipulateColor && manipulateColor.length > 0 ) {\n\t\t\t\t\tfor ( let i = 0; i < manipulateColor.length; i++ ) {\n\t\t\t\t\t\tcolor = tinycolor( color )[ Object.keys( manipulateColor[ i ] )[ 0 ] ]( Object.values( manipulateColor[ i ] )[ 0 ] ).toString();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tobj.color = color;\n\t\t\t\tobj.luminosity = dataLuminosityAttr != null && !manipulateColor ? dataLuminosityAttr : tinycolor( color ).getLuminance() <= 0.4 ? 'dark' : 'light';\n\n\t\t\t\tthis.colors.push( obj );\n\n\t\t\t} )\n\n\t\t}\n\n\t\t_interactWithHeader( colorLuminosity ) {\n\n\t\t\tconst $elements = $liquidMainHeader.add( this.$stickyModules ).filter( ( i, el ) => {\n\t\t\t\tconst $el = $( el );\n\t\t\t\treturn (\n\t\t\t\t\t!$el.children( '.navbar-brand-solid' ).length && !$el.hasClass( 'navbar-brand-solid' ) &&\n\t\t\t\t\t!$el.find( '> .elementor-widget-container > .navbar-brand-solid' ).length\n\t\t\t\t)\n\t\t\t} );\n\n\t\t\tif ( colorLuminosity === 'dark' ) {\n\t\t\t\t$elements.addClass( 'lqd-active-row-dark' ).removeClass( 'lqd-active-row-light' );\n\t\t\t} else {\n\t\t\t\t$elements.addClass( 'lqd-active-row-light' ).removeClass( 'lqd-active-row-dark' );\n\t\t\t}\n\n\t\t}\n\n\t\t_interactWithColors( element, targetColorLuminosity ) {\n\n\t\t\tconst $el = $( element );\n\n\t\t\tif ( $el.hasClass( 'btn-icon' ) || $el.hasClass( 'btn-solid' ) ) {\n\t\t\t\tconst buttonColor = targetColorLuminosity === 'dark' ? '#fff' : '#000';\n\t\t\t\t$el.css( {\n\t\t\t\t\ttransition: 'box-shadow 0.3s, transform 0.3s, color 0.3s',\n\t\t\t\t\tcolor: buttonColor\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( $el.hasClass( 'navbar-brand-inner' ) ) {\n\t\t\t\tconst $parentModule = liquidIsElementor ? $el.closest( '.elementor-element' ) : $el.closest( '.header-module' );\n\t\t\t\tif ( targetColorLuminosity === 'dark' ) {\n\t\t\t\t\t$parentModule.addClass( 'lqd-active-row-dark' ).removeClass( 'lqd-active-row-light' );\n\t\t\t\t} else {\n\t\t\t\t\t$parentModule.addClass( 'lqd-active-row-light' ).removeClass( 'lqd-active-row-dark' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t_getRects( lqdSection, loopIndex ) {\n\n\t\t\tconst promises = [];\n\t\t\tlet row = lqdSection.el.querySelector( '.ld-row' );\n\n\t\t\tif ( liquidIsElementor ) {\n\t\t\t\tif ( lqdSection.el.classList.contains( 'e-container' ) || lqdSection.el.classList.contains( 'e-con' ) ) {\n\t\t\t\t\trow = lqdSection.el;\n\t\t\t\t} else {\n\t\t\t\t\trow = lqdSection.el.querySelector( '.elementor-container' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst rowPromise = new Promise( resolve => {\n\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\tthis.rowsRect[ loopIndex ] = entry.boundingClientRect;\n\t\t\t\t\tresolve();\n\t\t\t\t} ).observe( row || lqdSection.el );\n\t\t\t} );\n\n\t\t\tpromises.push( rowPromise );\n\n\t\t\treturn promises;\n\n\t\t}\n\n\t\t_setupIO( lqdSection, loopIndex ) {\n\n\t\t\tconst timeline = gsap.timeline();\n\t\t\tconst start = loopIndex === 0 ? 'top bottom' : `top+=${ this.rowsRect[ loopIndex ].y - lqdSection.rect.y } bottom`;\n\n\t\t\tthis.setBgToEls.forEach( element => {\n\n\t\t\t\tconst onUpdate = () => {\n\t\t\t\t\tconst i = this.direction < 1 && loopIndex > 0 ? loopIndex - 1 : loopIndex;\n\t\t\t\t\tthis.options.interactWithHeader && this.$stickyModules && this._interactWithHeader( this.colors[ i ].luminosity );\n\t\t\t\t\tthis._interactWithColors( element, this.colors[ i ].luminosity );\n\t\t\t\t};\n\n\t\t\t\ttimeline.fromTo( element,\n\t\t\t\t\t{\n\t\t\t\t\t\tbackgroundColor: loopIndex === 0 ? this.colors[ loopIndex ].color : this.colors[ loopIndex - 1 ].color\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tbackgroundColor: this.colors[ loopIndex ].color,\n\t\t\t\t\t\tonUpdate,\n\t\t\t\t\t\tonComplete: () => {\n\t\t\t\t\t\t\telement.style.transition = '';\n\t\t\t\t\t\t},\n\t\t\t\t\t}, 0\n\t\t\t\t);\n\n\t\t\t} );\n\n\t\t\tScrollTrigger.create( {\n\t\t\t\tanimation: timeline,\n\t\t\t\ttrigger: lqdSection.el,\n\t\t\t\tstart,\n\t\t\t\tend: `+=${ this.rowsRect[ loopIndex ].height }`,\n\t\t\t\tscrub: 0.1,\n\t\t\t\tonUpdate: st => {\n\t\t\t\t\tthis.direction = st.direction;\n\t\t\t\t},\n\t\t\t\t// markers: {\n\t\t\t\t// \tindent: (loopIndex * 150),\n\t\t\t\t// \tstartColor: tinycolor(this.colors[loopIndex].color).darken(20),\n\t\t\t\t// \tendColor: tinycolor(this.colors[loopIndex].color).darken(20),\n\t\t\t\t// }\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'liquid-bg-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tconst $liquidBgEls = $( '[data-liquid-bg]' );\n\n\t$liquidBgEls.liquidBgColor();\n\n\tif ( liquidIsElementor ) {\n\n\t\t$liquidBgEls.each( ( i, el ) => {\n\n\t\t\tconst $el = $( el );\n\n\t\t\tif (\n\t\t\t\t$el.is( $liquidContents ) &&\n\t\t\t\t$liquidMainHeader.length &&\n\t\t\t\t!$liquidMainHeader.attr( 'data-liquid-bg' )\n\t\t\t) {\n\n\t\t\t\t$liquidMainHeader.liquidBgColor( {\n\t\t\t\t\tsetBgTo: `\n\t\t\t\t\t\t> .elementor > .elementor-section-wrap > .elementor-section:not(.lqd-hide-onstuck) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ld_header_image .navbar-brand-solid .navbar-brand-inner,\n\t\t\t\t\t\t> .elementor > .elementor-section-wrap > .elementor-section:not(.lqd-hide-onstuck) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ld_button .btn-solid,\n\t\t\t\t\t\t> .elementor > .elementor-section-wrap > .elementor-section:not(.lqd-hide-onstuck) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ld_button .btn-icon-solid .btn-icon,\n\t\t\t\t\t\t> .elementor > .elementor-section:not(.lqd-hide-onstuck) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ld_header_image .navbar-brand-solid .navbar-brand-inner,\n\t\t\t\t\t\t> .elementor > .elementor-section:not(.lqd-hide-onstuck) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ld_button .btn-solid,\n\t\t\t\t\t\t> .elementor > .elementor-section:not(.lqd-hide-onstuck) > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-ld_button .btn-icon-solid .btn-icon`,\n\t\t\t\t\tmanipulateColor: [ { 'darken': 30 }, { 'brighten': 15 }, { 'saturate': 20 } ]\n\t\t\t\t} )\n\n\t\t\t}\n\n\t\t} );\n\n\t}\n\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidAnimatedIcon';\n\tlet defaults = {\n\t\tobjContainer: '.iconbox-icon-container',\n\t\tcolor: '#f42958',\n\t\thoverColor: null,\n\t\ttype: 'delayed',\n\t\tdelay: 0,\n\t\tduration: 100,\n\t\tresetOnHover: false,\n\t\tfile: null\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = $.extend({}, defaults, options);\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.options.file && this.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.animateIcon();\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tanimateIcon() {\n\n\t\t\tconst { type, duration, file, objContainer } = this.options;\n\t\t\tconst gid = this.$element.attr('id') || Math.round(Math.random() * 1000000);\n\t\t\tconst containerEl = this.$element.find(objContainer).attr('id', `${gid.replace(/ld_icon_box/, 'ld_icon_container')}`);\n\n\t\t\tnew Vivus(containerEl.attr('id'), {\n\t\t\t\tfile,\n\t\t\t\ttype,\n\t\t\t\tduration,\n\t\t\t\tstart: 'manual',\n\t\t\t\tonReady: vivus => {\n\t\t\t\t\tthis.onReady.call(this, vivus);\n\t\t\t\t}\n\t\t\t}).setFrameProgress(1);\n\n\t\t}\n\n\t\tonReady(vivus) {\n\n\t\t\tconst $parentCarousel = this.$element.closest('.carousel-items');\n\t\t\tconst carouselData = $parentCarousel.data('plugin_liquidCarousel');\n\n\t\t\tthis.addColors(vivus);\n\t\t\tthis.animate(vivus);\n\n\t\t\tif ( $parentCarousel.length && carouselData != null && carouselData.flickityData != null ) {\n\n\t\t\t\tcarouselData.flickityData.resize();\n\n\t\t\t}\n\n\t\t}\n\n\t\taddColors(svg) {\n\n\t\t\tconst obj = $(svg.el);\n\t\t\tconst { color, hoverColor } = this.options;\n\t\t\tconst gid = Math.round(Math.random() * 1000000);\n\t\t\tlet hoverGradientValues = hoverColor;\n\t\t\tlet strokeHoverGradients = document.createElementNS('http://www.w3.org/2000/svg', 'style');\n\t\t\tlet gradientValues = color != null ? color.split(':') : '#000';\n\t\t\tlet strokegradients = null;\n\n\t\t\tif (undefined === gradientValues[1]) {\n\t\t\t\tgradientValues[1] = gradientValues[0];\n\t\t\t}\n\n\t\t\tstrokegradients = '<defs xmlns=\"http://www.w3.org/2000/svg\">' +\n\t\t\t\t'<linearGradient gradientUnits=\"userSpaceOnUse\" id=\"grad' + gid + '\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">' +\n\t\t\t\t'<stop offset=\"0%\" stop-color=\"' + gradientValues[0] + '\" />' +\n\t\t\t\t'<stop offset=\"100%\" stop-color=\"' + gradientValues[1] + '\" />' +\n\t\t\t\t'</linearGradient>' +\n\t\t\t\t'</defs>';\n\n\t\t\tconst xmlStrokegradients = new DOMParser().parseFromString(strokegradients, \"text/xml\");\n\n\t\t\tobj.prepend(xmlStrokegradients.documentElement);\n\n\t\t\tif (typeof undefined !== typeof hoverGradientValues && null !== hoverGradientValues) {\n\n\t\t\t\thoverGradientValues = hoverGradientValues.split(':');\n\n\t\t\t\tif (undefined === hoverGradientValues[1]) {\n\t\t\t\t\thoverGradientValues[1] = hoverGradientValues[0];\n\t\t\t\t}\n\n\t\t\t\tstrokeHoverGradients.innerHTML = '#' + this.$element.attr('id') + ':hover .iconbox-icon-container defs stop:first-child{stop-color:' + hoverGradientValues[0] + ';}' +\n\t\t\t\t\t'#' + this.$element.attr('id') + ':hover .iconbox-icon-container defs stop:last-child{stop-color:' + hoverGradientValues[1] + ';}';\n\t\t\t\tobj.prepend(strokeHoverGradients);\n\t\t\t}\n\n\t\t\tobj.find('path, rect, ellipse, circle, polygon, polyline, line').attr({\n\t\t\t\t'stroke': 'url(#grad' + gid + ')',\n\t\t\t\t'fill': 'none'\n\t\t\t});\n\n\t\t\tthis.$element.addClass('iconbox-icon-animating');\n\n\t\t\treturn this;\n\n\t\t}\n\t\tanimate(vivusObj) {\n\n\t\t\tconst options = this.options;\n\t\t\tconst delayTime = parseInt(options.delay, 10);\n\t\t\tconst { duration } = options;\n\n\t\t\tvivusObj.reset().stop();\n\n\t\t\tnew IntersectionObserver(([entry], observer) => {\n\n\t\t\t\tconst vivusStatus = vivusObj.getStatus();\n\n\t\t\t\tif (entry.isIntersecting && vivusStatus === 'start' && vivusStatus !== 'progress') {\n\n\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\tthis.resetAnimate(vivusObj, delayTime, duration);\n\t\t\t\t\tthis.eventHandlers(vivusObj, delayTime, duration);\n\n\n\t\t\t\t}\n\n\t\t\t}).observe(this.element);\n\n\t\t\treturn this;\n\n\t\t}\n\t\teventHandlers(vivusObj, delayTime, duration) {\n\n\t\t\tconst { options } = this;\n\n\t\t\t$(document).on('shown.bs.tab', 'a[data-toggle=\"tab\"]', (event) => {\n\n\t\t\t\tconst $target = $($(event.currentTarget).attr('href'));\n\n\t\t\t\tif ($target.find(this.element).length) {\n\n\t\t\t\t\tthis.resetAnimate.call(this, vivusObj, delayTime, duration);\n\n\t\t\t\t}\n\n\t\t\t});\n\n\t\t\tif (options.resetOnHover) {\n\n\t\t\t\tthis.$element.on('mouseenter.lqdIconbox', () => {\n\n\t\t\t\t\tif (vivusObj.getStatus() === 'end') {\n\n\t\t\t\t\t\tthis.resetAnimate(vivusObj, 0, duration);\n\n\t\t\t\t\t}\n\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t}\n\t\tresetAnimate(vivusObj, delay, duration) {\n\n\t\t\tvivusObj.stop().reset();\n\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tvivusObj.play(duration / 100);\n\t\t\t\tclearTimeout(timeout);\n\t\t\t}, delay);\n\n\t\t}\n\n\t\tdestroy() {\n\t\t\tthis.$element.off('mouseenter.lqdIconbox');\n\t\t}\n\n\t}\n\t\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('plugin-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\t$('[data-animate-icon]').liquidAnimatedIcon();\n\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidCarousel';\n\n\tlet defaults = {\n\t\tbypassCheck: false,\n\t\tcarouselEl: null,\n\t\tcontain: false,\n\t\timagesLoaded: true,\n\t\tpercentPosition: true,\n\t\tprevNextButtons: false,\n\t\tpageDots: true,\n\t\tadaptiveHeight: false,\n\t\tcellAlign: \"left\",\n\t\tgroupCells: true,\n\t\tdragThreshold: 0,\n\t\twrapAround: false,\n\t\tautoplay: false,\n\t\tfullwidthSide: false,\n\t\tnavArrow: 1,\n\t\tfilters: false,\n\t\tfiltersCounter: false,\n\t\tdoSomethingCrazyWithFilters: false,\n\t\tequalHeightCells: false,\n\t\tmiddleAlignContent: false,\n\t\trandomVerOffset: false,\n\t\tparallax: false,\n\t\tparallaxEl: 'img',\n\t\tdotsIndicator: 'classic', // 'classic', 'numbers'\n\t\tnumbersStyle: 'circle', // 'circle', 'line'\n\t\taddSlideNumbersToArrows: false,\n\t\tmarquee: false,\n\t\tmarqueeTickerSpeed: 1,\n\t\tfade: false,\n\t\tprevNextButtonsOnlyOnMobile: false,\n\t\tcolumnsAutoWidth: false,\n\t\twatchCSS: false,\n\t\tforceApply: false,\n\t\tskipWrapItems: false,\n\t\tforceEnableOnMobile: false,\n\t\t// buttonsAppendTo: self,\n\t\t// appendingBtnRel: null,\n\t\t// dotsAppendTo: self,\n\t\t// controllingCarousels: [],\n\t\t// navOffsets: { / we don't want to overwrite defaults\n\t\t// \tnav: {\n\t\t// \t\ttop: 0\n\t\t//\t\tbottom: 0,\n\t\t// \t\tleft: 0,\n\t\t// \t\tright: 0\n\t\t// \t},\n\t\t// \tprev: 0,\n\t\t// \tnext: 0,\n\t\t// }\n\t};\n\n\tfunction Plugin( element, options ) {\n\n\t\tthis._defaults = defaults;\n\t\tthis._name = pluginName;\n\n\t\tthis.options = { ...defaults, ...options };\n\n\t\tthis.flickityData = null;\n\t\tthis.isRTL = $( 'html' ).attr( 'dir' ) === 'rtl';\n\n\t\tif ( liquidIsMobile() ) {\n\t\t\tthis.options.dragThreshold = 5;\n\t\t}\n\n\t\tthis.element = element;\n\t\tthis.$element = $( element );\n\n\t\tthis.$carouselContainer = this.$element.closest( '.carousel-container' ).length ? this.$element.closest( '.carousel-container' ) : this.$element.parent();\n\t\tthis.carouselNavElement = null;\n\t\tthis.carouselDotsElement = null;\n\t\tthis.carouselMobileDotsElement = null;\n\t\tthis.$carouselCurrentSlide = null;\n\t\tthis.$carouselCurrentSlideInner = null;\n\t\tthis.$carouselTotalSlides = null;\n\t\tthis.$carouselSlidesShape = null;\n\t\tthis.carouselSlidesPathLength = this.options.numbersStyle === 'circle' ? 471 : 200;\n\t\tthis.windowWidth = liquidWindowWidth();\n\n\t\tthis.$carouselEl = this.options.carouselEl ? $( this.options.carouselEl, this.element ) : this.$element;\n\t\tthis.carouselEl = this.$carouselEl[ 0 ];\n\n\t\tthis.carouselInitPromise = new Promise( resolve => {\n\t\t\tthis.$element.on( 'lqd-carousel-initialized', resolve.bind( this, this ) )\n\t\t} );\n\n\t\tif ( this.options.marquee ) {\n\t\t\tthis.options.wrapAround = true;\n\t\t}\n\n\t\t/**\n\t\t * DO NOT ADD FONT FACE OBSERVER INSIDE INNER FUNCTIONS\n\t\t */\n\n\t\t// const headings = this.element.querySelectorAll('h1, h2, h3, h4, h5, h6');\n\t\t// const fontInfo = {};\n\t\t// const styles = getComputedStyle( $cellChildren[ 0 ] );\n\n\t\t// fontInfo.elementFontFamily = styles.fontFamily.replace( /\"/g, '' ).replace( /'/g, '' ).split( ',' )[ 0 ];\n\t\t// fontInfo.elementFontWeight = styles.fontWeight;\n\t\t// fontInfo.elementFontStyle = styles.fontStyle;\n\t\t// fontInfo.lowecaseFontFamily = fontInfo.elementFontFamily.toLowerCase();\n\n\t\t// const font = new FontFaceObserver( fontInfo.elementFontFamily, {\n\t\t// \tweight: fontInfo.elementFontWeight,\n\t\t// \tstyle: fontInfo.elementFontStyle\n\t\t// } );\n\n\t\t// font.load().finally( () => {\n\n\t\t// \twindow.liquidCheckedFonts.push( fontInfo.lowecaseFontFamily );\n\n\t\t// } );\n\n\t\tthis.init();\n\n\t}\n\n\tPlugin.prototype = {\n\n\t\tinit() {\n\n\t\t\tif ( this.options.asNavFor ) {\n\n\t\t\t\tconst $targetEl = $( this.options.asNavFor );\n\t\t\t\tif ( $targetEl.length ) {\n\t\t\t\t\t$targetEl.liquidCarousel( { forceApply: true } );\n\t\t\t\t\t$targetEl.data( 'plugin_liquidCarousel' ).carouselInitPromise.then( () => {\n\t\t\t\t\t\tthis.initFlicky();\n\t\t\t\t\t} )\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( this.options.forceApply ) {\n\t\t\t\t\tthis.initFlicky();\n\t\t\t\t} else {\n\t\t\t\t\tthis.setIO();\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t},\n\n\t\tsetIO() {\n\n\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tthis.initFlicky();\n\t\t\t\t\tobserver.unobserve( entry.target );\n\t\t\t\t}\n\t\t\t}, { rootMargin: '35%' } ).observe( this.element );\n\n\t\t},\n\n\t\tinitFlicky() {\n\n\t\t\tconst options = { ...this.options, rightToLeft: this.isRTL || this.options.rightToLeft };\n\t\t\tconst { equalHeightCells } = this.options;\n\n\t\t\timagesLoaded( this.element, () => {\n\n\t\t\t\tthis.columnsAutoWidth();\n\t\t\t\tthis.wrapItems();\n\t\t\t\tthis.setEqualHeightCells();\n\t\t\t\tthis.$carouselEl.flickity( options );\n\t\t\t\tthis.flickityData = this.$carouselEl.data( 'flickity' );\n\n\t\t\t\toptions.adaptiveHeight && $( '.flickity-viewport', this.element ).css( 'transition', 'height 0.3s' );\n\n\t\t\t\tthis.onImagesLoaded();\n\n\t\t\t\tthis.$element.addClass( 'lqd-carousel-ready' );\n\n\t\t\t\tconst resize = this.flickityData.resize;\n\t\t\t\tconst self = this;\n\t\t\t\tconst { carouselEl } = this;\n\n\t\t\t\t/**\n\t\t\t\t * to prevent default flickity behavior\n\t\t\t\t * that's causing issues on marquee movement on ios devices when user scrolling\n\t\t\t\t */\n\t\t\t\tthis.flickityData.resize = function () {\n\t\t\t\t\tif ( self.windowWidth === liquidWindowWidth() ) return;\n\t\t\t\t\tif ( equalHeightCells ) {\n\t\t\t\t\t\tcarouselEl.classList.remove( 'flickity-equal-cells' );\n\t\t\t\t\t}\n\t\t\t\t\tresize.call( this );\n\t\t\t\t\tif ( equalHeightCells ) {\n\t\t\t\t\t\tcarouselEl.classList.add( 'flickity-equal-cells' );\n\t\t\t\t\t}\n\t\t\t\t\tself.windowWidth = liquidWindowWidth();\n\t\t\t\t};\n\n\t\t\t} );\n\n\t\t},\n\n\t\tonImagesLoaded() {\n\n\t\t\tif ( !this.flickityData ) return;\n\n\t\t\tthis.sliderElement = this.element.querySelector( '.flickity-slider' );\n\n\t\t\tthis.initPlugins();\n\t\t\tthis.setElementNavArrow();\n\t\t\tthis.carouselNav();\n\t\t\tthis.navOffsets();\n\t\t\tthis.carouselDots();\n\t\t\tthis.carouselMobileDots();\n\t\t\tthis.carouselDotsNumbers();\n\t\t\tthis.addSlideNumbersToArrows();\n\t\t\tthis.addSlidesCurrentNumbers();\n\t\t\tthis.randomVerOffset();\n\t\t\tthis.fullwidthSide();\n\t\t\tthis.controllingCarousels();\n\t\t\tthis.marquee();\n\t\t\tthis.filtersInit();\n\t\t\tthis.windowResize();\n\t\t\tthis.events();\n\t\t\tthis.dispatchEvents();\n\n\t\t\t// to fix the contents overlapping or getting wrong positions. mostly on mobile\n\t\t\tif ( this.options.columnsAutoWidth ) {\n\t\t\t\tthis.$element.find( '.carousel-item-content' ).css( 'width', '' );\n\t\t\t\tthis.flickityData.reposition();\n\t\t\t}\n\n\t\t},\n\n\t\tinitPlugins() {\n\n\t\t\tthis.element.hasAttribute( 'data-custom-animations' ) && this.$element.liquidCustomAnimations();\n\n\t\t},\n\n\t\tdispatchEvents() {\n\n\t\t\tconst e = new CustomEvent( 'lqd-carousel-initialized', { detail: { carouselData: this } } );\n\t\t\tdocument.dispatchEvent( e );\n\t\t\tthis.$element.trigger( 'lqd-carousel-initialized', this.element );\n\n\t\t},\n\n\t\twindowResize() {\n\n\t\t\tconst onResize = liquidDebounce( this.doOnWindowResize.bind( this ), 200 )\n\n\t\t\t$( window ).on( 'resize.lqdCarousel', onResize );\n\n\t\t},\n\n\t\tdoOnWindowResize() {\n\n\t\t\t// to prevent triggering on ios safari when scrolling page\n\t\t\tif ( this.windowWidth === window.innerWidth ) return;\n\n\t\t\tthis.windowWidth = window.innerWidth;\n\n\t\t\tthis.fullwidthSide();\n\t\t\tthis.columnsAutoWidth();\n\n\t\t\t// to fix the contents overlapping or getting wrong positions. mostly on mobile\n\t\t\tif ( this.options.columnsAutoWidth ) {\n\t\t\t\tthis.$element.find( '.carousel-item-content' ).css( 'width', '' );\n\t\t\t\tthis.flickityData.reposition();\n\t\t\t}\n\n\t\t},\n\n\t\tevents() {\n\n\t\t\tthis.flickityData.on( 'pointerDown', () => {\n\t\t\t\t$liquidHtml.addClass( 'lqd-carousel-pointer-down' );\n\t\t\t} );\n\n\t\t\tthis.flickityData.on( 'pointerUp', () => {\n\t\t\t\t$liquidHtml.removeClass( 'lqd-carousel-pointer-down' );\n\t\t\t} );\n\n\t\t\t// added for clients\n\t\t\tthis.flickityData.on( 'dragStart', () => {\n\t\t\t\t$( '[data-column-clickable]', this.element ).css( 'pointer-events', 'none' );\n\t\t\t} );\n\t\t\tthis.flickityData.on( 'dragEnd', () => {\n\t\t\t\t$( '[data-column-clickable]', this.element ).css( 'pointer-events', '' );\n\t\t\t} );\n\n\t\t\t// skit the rest of listeners if marquee is enabled\n\t\t\tif ( this.options.marquee ) return;\n\n\t\t\tthis.flickityData.on( 'settle', () => {\n\t\t\t\tthis.sliderElement.style.willChange = 'auto';\n\t\t\t} );\n\n\t\t\tthis.flickityData.on( 'scroll', () => {\n\t\t\t\tthis.sliderElement.style.willChange = 'transform';\n\t\t\t\tthis.doSomethingCrazyWithFilter();\n\t\t\t\tthis.parallax();\n\t\t\t\tthis.changeSlidesShape();\n\t\t\t} );\n\n\t\t\tthis.flickityData.on( 'change', () => {\n\t\t\t\tthis.changeSlidesNumbers();\n\t\t\t} );\n\n\t\t\t$( document ).on( 'added_to_cart', ( event, frags, id, $btn ) => {\n\t\t\t\tif ( this.$carouselEl.has( $btn ) ) {\n\t\t\t\t\tthis.flickityData.resize();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$( '[data-toggle=tab]' ).on( 'hidden.bs.tab shown.bs.tab', ( event ) => {\n\n\t\t\t\tconst $link = $( event.target );\n\t\t\t\tconst $target = $( $( $link.attr( 'href' ) ), $link.parent().next( '.lqd-tabs-content' ) );\n\t\t\t\tconst $carouselEl = $target.find( '[data-lqd-flickity]' );\n\t\t\t\tlet carouselData = $carouselEl.data( 'plugin_liquidCarousel' );\n\n\t\t\t\tif ( event.type === 'shown' ) {\n\t\t\t\t\t$carouselEl.on( 'lqd-carousel-initialized', () => {\n\t\t\t\t\t\tcarouselData = $carouselEl.data( 'plugin_liquidCarousel' );\n\t\t\t\t\t\tconst $navEl = $( carouselData.carouselNavElement );\n\t\t\t\t\t\t$navEl.siblings( '.carousel-nav' ).addClass( 'screen-reader-text' ).stop().fadeOut( 300 )\n\t\t\t\t\t\t$navEl.removeClass( 'screen-reader-text' ).stop().fadeIn( 300 );\n\t\t\t\t\t} );\n\t\t\t\t\tif ( carouselData ) {\n\t\t\t\t\t\tconst $navEl = $( carouselData.carouselNavElement );\n\t\t\t\t\t\t$navEl.siblings( '.carousel-nav' ).addClass( 'screen-reader-text' ).stop().fadeOut( 300 )\n\t\t\t\t\t\t$navEl.removeClass( 'screen-reader-text' ).stop().fadeIn( 300 );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t},\n\n\t\twrapItems() {\n\n\t\t\tconst { middleAlignContent, equalHeightCells, randomVerOffset, skipWrapItems } = this.options;\n\n\t\t\tif ( skipWrapItems ) return;\n\n\t\t\t// it's elementor. or has .flickity-viewport element\n\t\t\tconst $firstChild = this.$carouselEl.children().first();\n\t\t\tif ( $firstChild.hasClass( 'flickity-viewport' ) || $firstChild.hasClass( 'flickity-viewport-wrap' ) ) {\n\n\t\t\t\tconst $cells = $firstChild.find( '.flickity-slider' ).children();\n\n\t\t\t\t$cells.each( ( i, cell ) => {\n\n\t\t\t\t\tconst $cell = $( cell );\n\t\t\t\t\tconst $cellContent = $cell.find( '.carousel-item-content' ).first();\n\t\t\t\t\tconst hasOneChild = $cellContent.children().not( 'style' ).length === 1;\n\n\t\t\t\t\tif ( hasOneChild ) {\n\t\t\t\t\t\t$cell.addClass( 'has-one-child' );\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t\treturn;\n\n\t\t\t};\n\n\t\t\tthis.$carouselEl.children( 'p, style' ).insertBefore( this.$carouselEl );\n\n\t\t\tconst $cells = this.$carouselEl.children();\n\n\t\t\t$cells.each( ( i, cell ) => {\n\n\t\t\t\tconst $cell = $( cell );\n\n\t\t\t\tif (\n\t\t\t\t\t$cell.hasClass( 'vc_ld_carousel_section' ) ||\n\t\t\t\t\t$cell.hasClass( 'vc_ld_carousel_marquee_section' ) ||\n\t\t\t\t\t$cell.hasClass( 'vc_container-anchor' ) ||\n\t\t\t\t\t$cell.hasClass( 'lqd-sticky-stack-nav' ) ||\n\t\t\t\t\t$cell.is( 'pre' )\n\t\t\t\t) return;\n\n\t\t\t\tconst cellHasInner = $cell.children().hasClass( 'carousel-item-inner' );\n\t\t\t\tconst $cellToSearch = cellHasInner ? $cell.find( '.carousel-item-content' ) : $cell;\n\t\t\t\tconst hasOneChild = $cellToSearch.children().not( 'style, .vc_controls-container' ).length === 1;\n\t\t\t\tlet classnames;\n\n\t\t\t\tif ( $cell.attr( 'class' ) ) {\n\n\t\t\t\t\tif ( $cell.hasClass( 'lqd-prod-item' ) ) {\n\t\t\t\t\t\tclassnames = $cell.attr( 'class' ).split( ' ' ).filter( classname => (\n\t\t\t\t\t\t\tclassname !== 'lqd-prod-item' &&\n\t\t\t\t\t\t\tclassname !== 'product'\n\t\t\t\t\t\t) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclassnames = $cell.attr( 'class' ).split( ' ' ).filter( classname => (\n\t\t\t\t\t\t\tclassname.includes( 'vc_hidden-' ) ||\n\t\t\t\t\t\t\tclassname.includes( 'hidden-' ) ||\n\t\t\t\t\t\t\tclassname.includes( 'col-' ) ||\n\t\t\t\t\t\t\tclassname.includes( 'vc_col-' )\n\t\t\t\t\t\t) );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif ( $cell.hasClass( 'carousel-item' ) ) {\n\t\t\t\t\tmiddleAlignContent && equalHeightCells && !randomVerOffset && $cell.addClass( 'align-items-center' );\n\t\t\t\t\thasOneChild && $cell.addClass( 'has-one-child' );\n\t\t\t\t\tif ( !$cell.children( '.carousel-item-inner' ).length ) {\n\t\t\t\t\t\t$cell\n\t\t\t\t\t\t\t.wrapInner( '<div class=\"carousel-item-inner\" />' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( !$cell.children( '.carousel-item-inner' ).children( '.carousel-item-content' ).length ) {\n\t\t\t\t\t\t$cell.children().wrapInner( '<div class=\"carousel-item-content\" />' )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$cell\n\t\t\t\t\t\t.wrap( `<div class=\"carousel-item ${ hasOneChild ? 'has-one-child' : '' } ${ classnames && classnames.join( ' ' ) } ${ middleAlignContent && equalHeightCells && !randomVerOffset ? 'align-items-center' : '' }\" />` )\n\t\t\t\t\t\t.wrap( `<div class=\"carousel-item-inner\" />` )\n\t\t\t\t\t\t.wrap( `<div class=\"carousel-item-content\" />` );\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t},\n\n\t\tcolumnsAutoWidth() {\n\n\t\t\tif ( !this.options.columnsAutoWidth ) return;\n\n\t\t\tlet $cells = this.$carouselEl.children();\n\t\t\tconst $firstChild = $cells.first();\n\t\t\tif ( $firstChild.hasClass( 'flickity-viewport' ) || $firstChild.hasClass( 'flickity-viewport-wrap' ) ) {\n\t\t\t\t$cells = $firstChild.find( '.flickity-slider' ).children();\n\t\t\t}\n\n\t\t\t$cells.each( ( i, cell ) => {\n\n\t\t\t\tconst $cell = $( cell );\n\n\t\t\t\tif ( $cell.hasClass( 'width-is-set' ) ) return;\n\n\t\t\t\tconst $cellContentWrapper = $cell.find( '.carousel-item-content' );\n\t\t\t\tlet $cellChildren = $cellContentWrapper.children().not( 'style' ).first();\n\n\t\t\t\tif ( $cellChildren.hasClass( 'ld-fancy-heading' ) ) {\n\t\t\t\t\t$cellChildren = $cellChildren.children();\n\t\t\t\t}\n\n\t\t\t\tthis.setColumnWidth( $cell, $cellChildren, $cellContentWrapper );\n\n\t\t\t} )\n\n\t\t},\n\n\t\tsetColumnWidth( $cell, $cellChildren, $cellContentWrapper ) {\n\n\t\t\tconst width = $cellChildren.length ? $cellChildren.outerWidth() : $cellContentWrapper.outerWidth();\n\n\t\t\t$cellContentWrapper.css( 'width', width );\n\t\t\t$cell.css( 'width', 'auto' );\n\n\t\t},\n\n\t\tcarouselNav() {\n\n\t\t\tif (\n\t\t\t\t!this.options.prevNextButtons ||\n\t\t\t\t!this.flickityData.prevButton ||\n\t\t\t\t!this.flickityData.nextButton\n\t\t\t) return;\n\n\t\t\tlet appendingSelector = this.options.buttonsAppendTo;\n\n\t\t\tif ( appendingSelector === 'parent_row' ) {\n\t\t\t\tappendingSelector = liquidIsElementor ? this.$element.closest( '.elementor-section' ) : this.$element.closest( '.vc_row' );\n\t\t\t}\n\t\t\tif ( appendingSelector === 'parent_el' ) {\n\t\t\t\tappendingSelector = this.$element.parent();\n\t\t\t}\n\t\t\tif ( appendingSelector === 'self' ) {\n\t\t\t\tappendingSelector = this.$carouselContainer;\n\t\t\t}\n\n\t\t\tconst $prevBtn = $( this.flickityData.prevButton.element );\n\t\t\tconst $nextBtn = $( this.flickityData.nextButton.element );\n\t\t\tconst $appendingSelector = $( appendingSelector );\n\t\t\tconst $carouselNav = $( `<div class=\"carousel-nav\"></div>` );\n\t\t\tconst carouselNavClassnames = [];\n\t\t\tlet carouselId = this.options.carouselEl ? this.$element.attr( 'id' ) : this.$carouselContainer.attr( 'id' );\n\n\t\t\tif ( liquidIsElementor ) {\n\t\t\t\tcarouselId = `elementor-element elementor-element-${ this.$element.closest( '.elementor-element' ).attr( 'data-id' ) }`;\n\t\t\t}\n\n\t\t\t$.each( $( this.$carouselContainer[ 0 ].classList ), ( i, className ) => {\n\t\t\t\tif ( className.indexOf( 'carousel-nav-' ) >= 0 ) carouselNavClassnames.push( className );\n\t\t\t} );\n\n\t\t\t$carouselNav.addClass( [ ...carouselNavClassnames, carouselId ].join( ' ' ) );\n\t\t\tthis.$carouselContainer.removeClass( carouselNavClassnames.join( ' ' ) );\n\n\t\t\t$carouselNav.append( [ $prevBtn, $nextBtn ] );\n\n\t\t\tif ( appendingSelector != null ) {\n\n\t\t\t\tif ( $appendingSelector.hasClass( 'vc_column_container' ) ) {\n\n\t\t\t\t\tconst $wpbWrapperElement = $appendingSelector.children( '.vc_column-inner' ).children( '.wpb_wrapper' );\n\t\t\t\t\t$carouselNav.appendTo( $wpbWrapperElement );\n\n\t\t\t\t} else if ( $appendingSelector.hasClass( 'elementor-column' ) ) {\n\n\t\t\t\t\tconst $wrappingEl = $appendingSelector.children( '.elementor-widget-wrap' );\n\t\t\t\t\t$wrappingEl.children( '.elementor-empty-view' ).remove();\n\t\t\t\t\t$carouselNav.appendTo( $wrappingEl );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.options.appendingBtnRel ) {\n\t\t\t\t\t\t$carouselNav.appendTo( this.$carouselEl[ this.options.appendingBtnRel ]( appendingSelector ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$carouselNav.appendTo( appendingSelector );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t$appendingSelector.addClass( 'carousel-nav-appended' );\n\n\t\t\t} else {\n\n\t\t\t\t$carouselNav.appendTo( this.$carouselContainer );\n\n\t\t\t}\n\n\t\t\tthis.carouselNavElement = $carouselNav[ 0 ];\n\n\t\t\tthis.options.prevNextButtonsOnlyOnMobile && this.carouselNavElement.classList.add( 'visible-xs', 'visible-sm' );\n\n\t\t},\n\n\t\tcarouselDots() {\n\n\t\t\tif ( !this.options.pageDots ) return;\n\n\t\t\tconst { dotsAppendTo, hasPageDotsFromOptions, carouselEl } = this.options;\n\t\t\tconst dotsHolder = this.flickityData.pageDots.holder;\n\t\t\tconst carouselDots = $( `<div class=\"carousel-dots ${ hasPageDotsFromOptions ? 'carousel-dots-from-options' : 'carousel-dots-to-hide' }\"></div>` );\n\t\t\tlet carouselId = carouselEl ? this.$carouselEl.attr( 'id' ) : this.$carouselContainer.attr( 'id' );\n\t\t\tlet appendingSelector = dotsAppendTo;\n\n\t\t\tif ( liquidIsElementor ) {\n\t\t\t\tcarouselId = `elementor-element elementor-element-${ this.$element.closest( '.elementor-element' ).attr( 'data-id' ) }`;\n\t\t\t}\n\t\t\tif ( appendingSelector === 'parent_row' ) {\n\t\t\t\tappendingSelector = liquidIsElementor ? this.$element.closest( '.elementor-section' ) : this.$element.closest( '.vc_row' );\n\t\t\t}\n\t\t\tif ( appendingSelector === 'self' ) {\n\t\t\t\tappendingSelector = this.$carouselContainer;\n\t\t\t}\n\n\t\t\tcarouselDots.append( dotsHolder );\n\n\t\t\tconst carouselDotsClassnames = [ carouselId ];\n\n\t\t\t$.each( $( this.$carouselContainer[ 0 ].classList ), ( i, className ) => {\n\t\t\t\tif ( className.indexOf( 'carousel-dots-' ) >= 0 ) carouselDotsClassnames.push( className );\n\t\t\t} );\n\n\t\t\tcarouselDots.addClass( carouselDotsClassnames.join( ' ' ) );\n\n\t\t\tif ( appendingSelector != null ) {\n\n\t\t\t\tif ( $( appendingSelector ).hasClass( 'vc_column_container' ) ) {\n\n\t\t\t\t\tconst $wpbWrapperElement = $( appendingSelector ).children( '.vc_column-inner ' ).children( '.wpb_wrapper' );\n\t\t\t\t\tcarouselDots.appendTo( $wpbWrapperElement );\n\n\t\t\t\t} else if ( $( appendingSelector ).hasClass( 'elementor-column' ) ) {\n\n\t\t\t\t\tconst $wrappingEl = $( appendingSelector ).children( '.elementor-widget-wrap' );\n\t\t\t\t\t$wrappingEl.children( '.elementor-empty-view' ).remove();\n\t\t\t\t\tcarouselDots.appendTo( $wrappingEl );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tcarouselDots.appendTo( appendingSelector );\n\n\t\t\t\t}\n\n\t\t\t\t$( appendingSelector ).addClass( 'carousel-dots-appended' );\n\n\t\t\t} else {\n\n\t\t\t\tcarouselDots.appendTo( this.$carouselContainer );\n\n\t\t\t}\n\n\t\t\tthis.carouselDotsElement = carouselDots[ 0 ];\n\n\t\t},\n\n\t\tcarouselMobileDots( force = false ) {\n\n\t\t\tif ( ( !this.options.pageDots || this.options.marquee ) && !force ) return;\n\n\t\t\tconst { carouselEl } = this.options;\n\t\t\tconst carouselId = carouselEl ? this.$carouselEl.attr( 'id' ) : this.$carouselContainer.attr( 'id' );\n\t\t\tconst mobileDotsClassnames = [ carouselId ];\n\n\t\t\t$.each( $( this.$carouselContainer[ 0 ].classList ), ( i, className ) => {\n\t\t\t\tif ( className.indexOf( 'carousel-dots-mobile-' ) >= 0 ) mobileDotsClassnames.push( className );\n\t\t\t} );\n\n\t\t\tconst $dotsHolder = $( this.flickityData.pageDots.holder ).clone( true );\n\t\t\tconst $carouselMobileDots = $( `<div class=\"carousel-dots-mobile carousel-dots-style4 ${ mobileDotsClassnames.join( ' ' ) }\"></div>` );\n\n\t\t\t$carouselMobileDots.append( $dotsHolder );\n\n\t\t\tif ( this.carouselDotsElement && this.$carouselEl.has( this.carouselDotsElement ).length ) {\n\t\t\t\t$carouselMobileDots.insertBefore( this.carouselDotsElement );\n\t\t\t} else {\n\t\t\t\t$carouselMobileDots.appendTo( this.$carouselContainer );\n\t\t\t\t$( this.carouselDotsElement ).addClass( 'hidden-xs hidden-sm md:hidden' );\n\t\t\t}\n\n\t\t\tthis.carouselMobileDotsElement = $carouselMobileDots[ 0 ];\n\n\t\t\tconst dots = this.carouselMobileDotsElement.querySelectorAll( '.dot' );\n\t\t\tdots.forEach( ( dot, i ) => {\n\t\t\t\tdot.addEventListener( 'click', () => {\n\t\t\t\t\tthis.flickityData.select( i );\n\t\t\t\t\tthis.carouselMobileDotsClasslist( dot, i );\n\t\t\t\t} )\n\t\t\t} );\n\n\t\t\tthis.flickityData.on( 'select', i => this.carouselMobileDotsClasslist.call( this, dots[ i ], i ) );\n\n\t\t},\n\n\t\tcarouselMobileDotsClasslist( activeItem, activeItemIndex ) {\n\n\t\t\tif ( !activeItem ) return;\n\n\t\t\tactiveItem.classList.add( 'is-selected' );\n\t\t\tconst inActives = [ ...this.carouselMobileDotsElement.querySelectorAll( '.dot' ) ].filter( ( inactiveItem, inactiveIndex ) => activeItemIndex !== inactiveIndex );\n\t\t\tinActives.forEach( inactiveItem => { inactiveItem.classList.remove( 'is-selected' ) } );\n\n\t\t},\n\n\t\tcarouselDotsNumbers() {\n\n\t\t\tif ( !this.options.pageDots || this.options.dotsIndicator !== 'numbers' ) return;\n\n\t\t\tconst { flickityData } = this;\n\t\t\tconst { numbersStyle } = this.options;\n\t\t\tconst $dotsHolder = $( flickityData.pageDots.holder );\n\n\t\t\tlet $svgMarkup;\n\n\t\t\tif ( numbersStyle === 'circle' ) {\n\t\t\t\tconst $numbers = this.createSlideNumbers( false );\n\t\t\t\t$svgMarkup = $( '<div class=\"lqd-carousel-slides-numbers d-inline-flex pos-rel inline-flex relative\">' +\n\t\t\t\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"152\" viewBox=\"-2 0 154 150\" class=\"w-100 h-100 w-full h-full\">' +\n\t\t\t\t\t'<circle fill=\"none\" cx=\"75\" cy=\"75\" r=\"74.5\"/>' +\n\t\t\t\t\t'<path fill=\"none\" stroke-dashoffset=\"' + this.carouselSlidesPathLength + '\" stroke-dasharray=\"' + this.carouselSlidesPathLength + '\" stroke-width=\"3\" x=\"2\" d=\"M75,150 C116.421356,150 150,116.421356 150,75 C150,33.5786438 116.421356,0 75,0 C33.5786438,0 0,33.5786438 0,75 C0,116.421356 33.5786438,150 75,150 Z\"/>' +\n\t\t\t\t\t'</svg>' +\n\t\t\t\t\t'</div>' );\n\t\t\t\t$numbers.prependTo( $svgMarkup );\n\t\t\t} else if ( numbersStyle === 'line' ) {\n\t\t\t\tconst $numbers = this.createSlideNumbers( true );\n\t\t\t\t$svgMarkup = $( '<div class=\"lqd-carousel-slides-numbers d-inline-flex pos-rel inline-flex relative lqd-carousel-numbers-line\">' +\n\t\t\t\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke-width=\"2\" width=\"200\" height=\"1\" viewBox=\"0 0 200 1\" class=\"w-100 h-100 w-full h-full\">' +\n\t\t\t\t\t'<path opacity=\"0.15\" d=\"M1 1 201 1 201 2 1 2z\"></path>' +\n\t\t\t\t\t'<path stroke-dashoffset=\"' + this.carouselSlidesPathLength + '\" stroke-dasharray=\"' + this.carouselSlidesPathLength + '\" d=\"M1 1 201 1 201 2 1 2z\"></path>' +\n\t\t\t\t\t'</svg>' +\n\t\t\t\t\t'</div>' );\n\t\t\t\t$numbers.prependTo( $svgMarkup );\n\t\t\t}\n\n\t\t\t$dotsHolder.appendTo( $svgMarkup );\n\t\t\t$svgMarkup.appendTo( this.carouselDotsElement );\n\n\t\t\tthis.$carouselTotalSlides = $( '.lqd-carousel-slides-total', $svgMarkup );\n\t\t\tthis.$carouselCurrentSlide = $( '.lqd-carousel-slides-current', $svgMarkup );\n\t\t\tthis.$carouselSlidesShape = $( 'svg', $svgMarkup );\n\n\t\t},\n\n\t\taddSlideNumbersToArrows() {\n\n\t\t\tif ( !this.options.prevNextButtons || !this.options.addSlideNumbersToArrows ) return;\n\n\t\t\tconst { prevButton } = this.flickityData;\n\t\t\tconst prevButtonEl = prevButton.element;\n\t\t\tconst $numbers = this.createSlideNumbers();\n\n\t\t\t$numbers.insertAfter( prevButtonEl );\n\n\t\t\tthis.$carouselTotalSlides = $( '.lqd-carousel-slides-total', $( prevButtonEl ).next( '.lqd-carousel-slides' ) );\n\t\t\tthis.$carouselCurrentSlide = $( '.lqd-carousel-slides-current', $( prevButtonEl ).next( '.lqd-carousel-slides' ) );\n\n\t\t},\n\n\t\tcreateSlideNumbers( isZeroBased ) {\n\n\t\t\tconst totalSlides = ( this.flickityData.slides.length < 10 && isZeroBased ? '0' : '' ) + ( this.flickityData.slides.length );\n\n\t\t\tconst $markup = $( `<div class=\"lqd-carousel-slides d-flex align-items-center justify-content-center flex items-center justify-center lqd-overlay\">\n\t\t\t\t<div class=\"lqd-carousel-slides-current d-inline-block overflow-hidden ws-nowrap text-center inline-block whitespace-nowrap\"></div>\n\t\t\t\t<svg width=\"32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" style=\"width: 1em; height: 1em;\"><path fill=\"currentColor\" d=\"M6 15.77a1 1 0 0 1 1-1h18.05a1 1 0 1 1 0 2h-18.04a1 1 0 0 1-1.01-1z\"></path></svg>\n\t\t\t\t<div class=\"lqd-carousel-slides-total\">${ totalSlides }</div>\n\t\t\t</div>`);\n\n\t\t\treturn $markup;\n\n\t\t},\n\n\t\taddSlidesCurrentNumbers() {\n\n\t\t\tif (\n\t\t\t\tthis.options.dotsIndicator !== 'numbers' &&\n\t\t\t\t!this.options.addSlideNumbersToArrows\n\t\t\t) {\n\t\t\t\treturn false\n\t\t\t};\n\n\t\t\tconst { flickityData } = this;\n\t\t\tconst { numbersStyle } = this.options;\n\t\t\tconst isZeroBased = numbersStyle === 'line';\n\t\t\tconst $currentInner = $( '<div class=\"lqd-carousel-slides-current-inner d-inline-block pos-rel inline-block relative\" />' );\n\n\t\t\tfor ( let i = 1; i <= flickityData.slides.length; i++ ) {\n\t\t\t\t$currentInner.append( `<span class=\"d-inline-block inline-block\" style=\"text-indent: 0;\">${ i < 10 && isZeroBased ? '0' : '' }${ i }</span>` );\n\t\t\t}\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tconst $spanEls = $currentInner.children( 'span' );\n\t\t\t\tconst widths = $spanEls.map( ( i, el ) => $( el ).outerWidth( true ) );\n\t\t\t\tconst maxWidth = Math.ceil( Math.max( ...widths ) );\n\t\t\t\tthis.$carouselCurrentSlide.add( $spanEls ).css( 'width', maxWidth );\n\t\t\t}, 0 );\n\n\t\t\t$currentInner.appendTo( this.$carouselCurrentSlide );\n\t\t\tthis.$carouselCurrentSlideInner = $currentInner;\n\n\t\t},\n\n\t\tchangeSlidesNumbers() {\n\n\t\t\tif (\n\t\t\t\tthis.options.dotsIndicator !== 'numbers' &&\n\t\t\t\t!this.options.addSlideNumbersToArrows\n\t\t\t) {\n\t\t\t\treturn false\n\t\t\t};\n\n\t\t\tconst { flickityData } = this;\n\t\t\tconst { selectedIndex } = flickityData;\n\t\t\tconst selectedNum = this.$carouselCurrentSlideInner.children( 'span' ).eq( selectedIndex )[ 0 ];\n\n\t\t\tthis.$carouselCurrentSlideInner.css( {\n\t\t\t\ttransition: 'transform 0.5s',\n\t\t\t\ttransform: `translateX(${ ( selectedNum.offsetLeft ) * -1 }px)`\n\t\t\t} );\n\n\t\t},\n\n\t\tchangeSlidesShape() {\n\n\t\t\tif ( this.options.pageDots && this.options.dotsIndicator !== 'numbers' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst { flickityData } = this;\n\t\t\tconst $pathElement = this.$carouselSlidesShape.find( 'path' ).last();\n\t\t\tconst pathLength = this.carouselSlidesPathLength;\n\t\t\tconst slidesPercentage = Math.floor( ( Math.abs( Math.floor( flickityData.x + flickityData.cursorPosition ) ) / Math.abs( Math.floor( flickityData.slidesWidth ) ) ) * 100 );\n\t\t\tconst dashOffset = pathLength - ( ( slidesPercentage / 100 ) * pathLength );\n\n\t\t\t$pathElement.css( 'stroke-dashoffset', Math.abs( dashOffset ) );\n\n\t\t},\n\n\t\tfullwidthSide() {\n\n\t\t\tif ( !this.options.fullwidthSide ) return;\n\n\t\t\tconst viewportEl = $( this.flickityData.viewport );\n\t\t\tconst elementWidth = this.flickityData.size.width - parseInt( this.$element.css( 'padding-left' ), 10 );\n\t\t\tconst viewportElOffset = viewportEl.offset();\n\t\t\tconst viewportElOffsetRight = this.windowWidth - ( elementWidth + viewportElOffset.left );\n\t\t\tconst margin = !this.isRTL ? 'marginRight' : 'marginLeft';\n\t\t\tconst padding = !this.isRTL ? 'paddingRight' : 'paddingLeft';\n\t\t\tlet existingViewportWrap = viewportEl.parent( '.flickity-viewport-wrap' );\n\t\t\tlet viewportElWrap =\n\t\t\t\texistingViewportWrap.length ?\n\t\t\t\t\texistingViewportWrap :\n\t\t\t\t\t$( '<div class=\"flickity-viewport-wrap overflow-hidden\" />' );\n\n\t\t\tif ( !existingViewportWrap.length ) {\n\t\t\t\tviewportEl.wrap( viewportElWrap );\n\t\t\t\tviewportEl.removeClass( 'overflow-hidden' )\n\t\t\t\tviewportElWrap = viewportEl.parent();\n\t\t\t\tviewportEl.css( 'overflow', 'visible' );\n\t\t\t}\n\n\t\t\tviewportElWrap.css( {\n\t\t\t\t[ margin ]: '',\n\t\t\t\t[ padding ]: ''\n\t\t\t} );\n\n\t\t\tviewportElWrap.css( {\n\t\t\t\t[ margin ]: viewportElOffsetRight >= 0 ? ( viewportElOffsetRight - 1 ) * -1 : ( viewportElOffsetRight - 1 ),\n\t\t\t\t[ padding ]: Math.abs( viewportElOffsetRight - 1 )\n\t\t\t} );\n\n\t\t\tthis.flickityData.resize();\n\n\t\t},\n\n\t\trandomVerOffset() {\n\n\t\t\tif ( this.options.randomVerOffset ) {\n\n\t\t\t\tconst cellsArray = this.flickityData.cells;\n\t\t\t\tlet maxHeight = 0;\n\n\t\t\t\tfor ( let i = 0; i < cellsArray.length; i++ ) {\n\n\t\t\t\t\tconst $cell = $( cellsArray[ i ].element );\n\t\t\t\t\tconst itemHeight = cellsArray[ i ].size.height;\n\n\t\t\t\t\tif ( itemHeight > maxHeight ) {\n\t\t\t\t\t\tmaxHeight = itemHeight;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst maxOffset = maxHeight - itemHeight;\n\t\t\t\t\tconst offset = ( Math.random() * maxOffset ).toFixed();\n\n\t\t\t\t\t$cell.children( '.carousel-item-inner' ).css( \"top\", offset + \"px\" );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t},\n\n\t\tnavOffsets() {\n\n\t\t\tconst { options } = this;\n\t\t\tconst { navOffsets } = options;\n\t\t\tconst $carouselNavElement = $( this.carouselNavElement );\n\n\t\t\tif (\n\t\t\t\tnavOffsets &&\n\t\t\t\t$carouselNavElement &&\n\t\t\t\tthis.flickityData.options.prevNextButtons\n\t\t\t) {\n\n\t\t\t\tconst prevButton = $( this.flickityData.prevButton.element );\n\t\t\t\tconst nextButton = $( this.flickityData.nextButton.element );\n\n\t\t\t\tif ( navOffsets.nav ) {\n\n\t\t\t\t\tfor ( const offset in navOffsets.nav ) {\n\n\t\t\t\t\t\tlet val = navOffsets.nav[ offset ].trim();\n\n\t\t\t\t\t\tval.match( /^-?\\d*(\\.\\d+){0,1}(%|in|cm|mm|em|rem|ex|pt|pc|px|vw|vh|vmin|vmax)$/ ) || ( val = isNaN( parseFloat( val ) ) ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tparseFloat( val ) + \"px\" );\n\n\t\t\t\t\t\t$carouselNavElement.css( offset.trim(), val );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tprevButton.css( {\n\t\t\t\t\tleft: navOffsets.prev\n\t\t\t\t} );\n\n\t\t\t\tnextButton.css( {\n\t\t\t\t\tright: navOffsets.next\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t},\n\n\t\tsetElementNavArrow() {\n\n\t\t\tif ( !this.options.prevNextButtons ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst navArrowsArray = this.navArrows;\n\t\t\tconst prevButton = this.flickityData.prevButton ? this.flickityData.prevButton.element : null;\n\t\t\tconst nextButton = this.flickityData.nextButton ? this.flickityData.nextButton.element : null;\n\t\t\tlet elementNavArrow = this.options.navArrow;\n\t\t\tlet prevIcon;\n\t\t\tlet nextIcon;\n\n\t\t\tif ( typeof elementNavArrow !== 'object' ) {\n\n\t\t\t\telementNavArrow = elementNavArrow - 1;\n\n\t\t\t\t// if it's RTL, just reverse prev/next icons\n\t\t\t\tif ( !this.isRTL ) {\n\t\t\t\t\tprevIcon = $( navArrowsArray[ elementNavArrow ].prev );\n\t\t\t\t\tnextIcon = $( navArrowsArray[ elementNavArrow ].next );\n\t\t\t\t} else {\n\t\t\t\t\tprevIcon = $( navArrowsArray[ elementNavArrow ].next );\n\t\t\t\t\tnextIcon = $( navArrowsArray[ elementNavArrow ].prev );\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tprevIcon = $( this.options.navArrow.prev );\n\t\t\t\tnextIcon = $( this.options.navArrow.next );\n\n\t\t\t}\n\n\t\t\tif ( prevButton || nextButton ) {\n\n\t\t\t\t$( prevButton ).find( 'svg' ).remove().end().append( prevIcon );\n\t\t\t\t$( nextButton ).find( 'svg' ).remove().end().append( nextIcon );\n\n\t\t\t}\n\n\t\t},\n\n\t\tnavArrows: [\n\n\t\t\t{\n\t\t\t\tprev: '<svg width=\"27\" height=\"16\" viewBox=\"0 0 27 16\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M2.5 7.75H27V9H2.5L9 15L8 16L0 8.5L8 0L9 1L2.5 7.75Z\" /> </svg>',\n\t\t\t\tnext: '<svg width=\"27\" height=\"16\" viewBox=\"0 0 27 16\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M24.5 7.75H0V9H24.5L18 15L19 16L27 8.5L19 0L18 1L24.5 7.75Z\"/> </svg>'\n\t\t\t},\n\t\t\t{\n\t\t\t\tprev: '<svg width=\"32\" height=\"18\" viewBox=\"0 0 32 18\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M8.77638 0.223663L10.2018 1.64911L3.85885 7.99209H32V10.008H3.85885L10.2018 16.3509L8.77638 17.7763L1.71102e-06 8.99997L8.77638 0.223663Z\"/> </svg> ',\n\t\t\t\tnext: '<svg width=\"32\" height=\"18\" viewBox=\"0 0 32 18\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M23.2236 0.223663L21.7982 1.64911L28.1412 7.99209H0V10.008H28.1412L21.7982 16.3509L23.2236 17.7763L32 8.99997L23.2236 0.223663Z\"/> </svg>'\n\t\t\t},\n\t\t\t{\n\t\t\t\tprev: '<svg width=\"20\" height=\"18\" viewBox=\"0 0 32 28\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.9881 0.478424L0.377096 13.0899C-0.12566 13.5922 -0.12566 14.4072 0.377096 14.91L12.9881 27.5214C13.2395 27.7728 13.5685 27.8985 13.8979 27.8985C14.2274 27.8985 14.5564 27.7728 14.8077 27.5214C15.3105 27.0191 15.3105 26.2041 14.8077 25.7018L4.39347 15.2871H30.7132C31.424 15.2871 32.0001 14.7105 32.0001 14.0002C32.0001 13.2898 31.4239 12.7133 30.7132 12.7133H4.39338L14.8077 2.29851C15.3105 1.79619 15.3105 0.981181 14.8077 0.478424C14.305 -0.0238953 13.4909 -0.0238953 12.9881 0.478424Z\"/> </svg>',\n\t\t\t\tnext: '<svg width=\"20\" height=\"18\" viewBox=\"0 0 32 28\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.012 0.478424L31.623 13.0899C32.1257 13.5921 32.1257 14.4072 31.623 14.9099L19.012 27.5214C18.7606 27.7728 18.4316 27.8985 18.1021 27.8985C17.7727 27.8985 17.4437 27.7728 17.1923 27.5214C16.6896 27.0191 16.6896 26.2041 17.1923 25.7018L27.6066 15.287H1.28687C0.57605 15.287 0 14.7105 0 14.0002C0 13.2898 0.576111 12.7132 1.28687 12.7132H27.6067L17.1923 2.29849C16.6896 1.79617 16.6896 0.981171 17.1923 0.478424C17.6951 -0.0238953 18.5092 -0.0238953 19.012 0.478424Z\"/> </svg>'\n\t\t\t},\n\t\t\t{\n\t\t\t\tprev: '<svg width=\"10\" height=\"19\" viewBox=\"0 0 33 60\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M1.41739 28L28.823 0.670159C29.7209 -0.224745 31.1747 -0.22324 32.0711 0.674788C32.9668 1.5727 32.9645 3.02725 32.0664 3.92285L6.29209 29.626L32.0674 55.3291C32.9653 56.2248 32.9676 57.6784 32.072 58.5765C31.6226 59.0266 31.0339 59.2517 30.4452 59.2517C29.8581 59.2517 29.2717 59.0281 28.8231 58.5811L1.41739 31.252C0.984926 30.8217 0.742248 30.2361 0.742248 29.626C0.742248 29.0159 0.98562 28.4311 1.41739 28Z\"/> </svg>',\n\t\t\t\tnext: '<svg width=\"10\" height=\"19\" viewBox=\"0 0 33 60\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M32.0671 28L4.66149 0.670159C3.76358 -0.224745 2.30984 -0.22324 1.41343 0.674788C0.517715 1.5727 0.52003 3.02725 1.41806 3.92285L27.1924 29.626L1.41713 55.3291C0.519219 56.2248 0.516905 57.6784 1.4125 58.5765C1.86186 59.0266 2.45056 59.2517 3.03926 59.2517C3.62645 59.2517 4.21283 59.0281 4.66138 58.5811L32.0671 31.252C32.4996 30.8217 32.7422 30.2361 32.7422 29.626C32.7422 29.0159 32.4989 28.4311 32.0671 28Z\"/> </svg>'\n\t\t\t},\n\t\t\t{\n\t\t\t\tprev: '<svg width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.612 16.0721C15.6116 16.2693 15.4515 16.4289 15.2542 16.4286C15.1593 16.4286 15.0684 16.3908 15.0014 16.3236L7.14431 8.46655C7.00489 8.32706 7.00489 8.101 7.14431 7.96154L15.0014 0.104495C15.141 -0.0351572 15.3674 -0.0351572 15.5071 0.104495C15.6467 0.244147 15.6467 0.47055 15.5071 0.610202L7.90217 8.21436L15.5071 15.8186C15.5744 15.8857 15.6122 15.977 15.612 16.0721ZM9.18351 16.0721C9.18314 16.2693 9.02297 16.4289 8.82573 16.4286C8.73118 16.4286 8.64051 16.3911 8.57358 16.3243L0.716562 8.46727C0.577143 8.32778 0.577143 8.10171 0.716562 7.96226L8.57361 0.105214C8.71199 -0.0284448 8.9314 -0.0284448 9.06981 0.105214C9.21167 0.242255 9.21562 0.468357 9.07858 0.610219L1.47368 8.21438L9.07858 15.8186C9.14591 15.8857 9.18368 15.977 9.18351 16.0721Z\"/> </svg>',\n\t\t\t\tnext: '<svg width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M0.612 16.0721C0.61237 16.2693 0.772547 16.4289 0.969787 16.4286C1.06467 16.4286 1.15564 16.3908 1.22264 16.3236L9.07969 8.46655C9.21911 8.32706 9.21911 8.101 9.07969 7.96154L1.22264 0.104495C1.08299 -0.0351572 0.856586 -0.0351572 0.716933 0.104495C0.577281 0.244147 0.577281 0.47055 0.716933 0.610202L8.32183 8.21436L0.716933 15.8186C0.649602 15.8857 0.611834 15.977 0.612 16.0721Z\"/> <path d=\"M7.04049 16.0721C7.04085 16.2693 7.20103 16.4289 7.39827 16.4286C7.49282 16.4286 7.58349 16.3911 7.65042 16.3243L15.5074 8.46727C15.6469 8.32778 15.6469 8.10171 15.5074 7.96226L7.65039 0.105214C7.51201 -0.0284448 7.2926 -0.0284448 7.15419 0.105214C7.01233 0.242255 7.00838 0.468357 7.14542 0.610219L14.7503 8.21438L7.14542 15.8186C7.07809 15.8857 7.04032 15.977 7.04049 16.0721Z\"/> </svg>'\n\t\t\t},\n\t\t\t{\n\t\t\t\tprev: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"13.4\" viewBox=\"0 0 16 13.4\"><path d=\"M9.3,1.3,7.9,2.7,12.2,7H0V9H12.2L7.9,13.3l1.4,1.4L16,8Z\" transform=\"translate(16 14.7) rotate(180)\"/></svg>',\n\t\t\t\tnext: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"13.4\" viewBox=\"0 0 16 13.4\"><path d=\"M9.3,13.4,7.9,12l4.3-4.3H0v-2H12.2L7.9,1.4,9.3,0,16,6.7Z\"/></svg>'\n\t\t\t},\n\t\t],\n\n\t\tsetEqualHeightCells() {\n\n\t\t\tif (\n\t\t\t\t!this.options.equalHeightCells ||\n\t\t\t\tthis.element.classList.contains( 'flickity-equal-cells' )\n\t\t\t) return;\n\n\t\t\tconst { carouselEl } = this;\n\t\t\tFlickity.prototype._createResizeClass = function () {\n\t\t\t\tcarouselEl.classList.add( 'flickity-equal-cells' );\n\t\t\t};\n\n\t\t\tFlickity.createMethods.push( '_createResizeClass' );\n\n\t\t},\n\n\t\tparallax() {\n\n\t\t\tif ( !this.options.parallax || liquidIsMobile() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.flickityData.cells.forEach( ( cell, i ) => {\n\n\t\t\t\tconst multiply = !this.isRTL ? -1 : 1;\n\t\t\t\tconst x = ( cell.target + this.flickityData.x ) * multiply / 3;\n\t\t\t\tconst $cellElement = $( cell.element );\n\t\t\t\tconst $cellImage = $cellElement.find( this.options.parallaxEl );\n\n\t\t\t\tif ( !$cellImage.parent( '.ld-carousel-parallax-wrap' ).length ) {\n\t\t\t\t\t$cellImage.wrap( '<div class=\"ld-carousel-parallax-wrap overflow-hidden\"></div>' );\n\t\t\t\t}\n\n\t\t\t\tif ( $cellImage.is( ':only-child' ) ) {\n\n\t\t\t\t\t$cellImage.css( {\n\t\t\t\t\t\twillChange: 'transform',\n\t\t\t\t\t\t'-webkit-transform': `translateX(${ x }px)`,\n\t\t\t\t\t\t'transform': `translateX(${ x }px)`\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t},\n\n\t\tcontrollingCarousels() {\n\n\t\t\tconst { options } = this;\n\t\t\tconst { controllingCarousels } = options;\n\n\t\t\tif (\n\t\t\t\ttypeof controllingCarousels !== typeof undefined &&\n\t\t\t\tcontrollingCarousels !== null &&\n\t\t\t\tcontrollingCarousels.length\n\t\t\t) {\n\n\t\t\t\tconst $controlledCarousels = $( controllingCarousels.map( carousel => $( carousel ).children( '[data-lqd-flickity]' ) ) );\n\n\t\t\t\t$.each( $controlledCarousels, ( i, controlledCarousel ) => {\n\n\t\t\t\t\tconst $controlledCarousel = $( controlledCarousel );\n\n\t\t\t\t\t$controlledCarousel.imagesLoaded( () => {\n\n\t\t\t\t\t\tconst controlledCarouselData = $controlledCarousel.data( 'plugin_liquidCarousel' );\n\n\t\t\t\t\t\tif ( controlledCarouselData ) {\n\t\t\t\t\t\t\tcontrolledCarouselData.carouselInitPromise.then( () => {\n\t\t\t\t\t\t\t\t$controlledCarousel.parent().addClass( 'is-controlled-carousel' );\n\t\t\t\t\t\t\t\tcontrolledCarouselData.carouselMobileDotsElement && controlledCarouselData.carouselMobileDotsElement.classList.add( 'hidden' );\n\t\t\t\t\t\t\t\tthis.flickityData.on( 'change', i => {\n\t\t\t\t\t\t\t\t\tcontrolledCarouselData.flickityData.select( i );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tcontrolledCarouselData.flickityData.on( 'change', i => {\n\t\t\t\t\t\t\t\t\tthis.flickityData.select( i );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} );\n\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t},\n\n\t\tgetCellsArray() {\n\n\t\t\treturn this.flickityData.cells.map( cell => cell.element );\n\n\t\t},\n\n\t\tdoSomethingCrazyWithFilter() {\n\n\t\t\tif (\n\t\t\t\t!this.options.doSomethingCrazyWithFilters ||\n\t\t\t\tliquidIsMobile() ||\n\t\t\t\tthis.windowWidth <= 992\n\t\t\t) return false;\n\n\t\t\tconst header = $( '.lqd-pf-carousel-header', this.$carouselContainer )[ 0 ];\n\n\t\t\tif ( !header ) return false;\n\n\t\t\tconst { x, size } = this.flickityData;\n\t\t\tconst firstVisibleCell = this.flickityData.cells.filter( cell => $( cell.element ).is( ':visible' ) )[ 0 ];\n\t\t\tconst firstCellWidth = firstVisibleCell.size.width;\n\n\t\t\tconst opacityVal = gsap.utils.normalize( -firstCellWidth, 0, this.isRTL ? x + size.width : x );\n\t\t\tconst rotationVal = gsap.utils.mapRange( 0, -firstCellWidth, 0, -100, this.isRTL ? x + size.width : x );\n\t\t\tconst zVal = gsap.utils.mapRange( 0, -firstCellWidth, 0, -300, this.isRTL ? x + size.width : x );\n\n\t\t\t$( header ).parent().addClass( 'perspective' );\n\n\t\t\tgsap.to( header, {\n\t\t\t\topacity: opacityVal,\n\t\t\t\tz: zVal,\n\t\t\t\trotationY: rotationVal,\n\t\t\t\tduration: 0.6,\n\t\t\t\tease: 'expo.out'\n\t\t\t} );\n\n\t\t},\n\n\t\tfiltersInit() {\n\n\t\t\tif ( !this.options.filters ) return;\n\n\t\t\tconst { filtersCounter, filters } = this.options;\n\t\t\tconst $filters = $( filters );\n\t\t\tconst $filterItems = $( '[data-filter]', $filters );\n\t\t\tconst $filterDropdown = $filters.siblings( '.lqd-filter-dropdown' );\n\n\t\t\t$filterItems.each( ( i, filterItem ) => {\n\n\t\t\t\tconst $filterItem = $( filterItem );\n\t\t\t\tconst filterValue = $filterItem.attr( 'data-filter' );\n\n\t\t\t\tfiltersCounter && this.addFilterCounts( $filterItem, filterValue );\n\n\t\t\t\t$filterItem.off( 'click' );\n\t\t\t\t$filterItem.on( 'click.lqdCarouselFilter', () => {\n\t\t\t\t\tif ( !$filterItem.hasClass( 'active' ) ) {\n\t\t\t\t\t\t$filterItem.addClass( 'active' ).siblings().removeClass( 'active' );\n\t\t\t\t\t\tthis.filterAnimateStart( filterValue );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t\tif ( $filterDropdown.length ) {\n\t\t\t\t$( 'select', $filterDropdown ).on( 'selectmenuchange', ( event, ui ) => {\n\t\t\t\t\tconst filterVal = ui.item.value;\n\t\t\t\t\tthis.filterAnimateStart( filterVal );\n\t\t\t\t} )\n\t\t\t}\n\n\t\t},\n\n\t\taddFilterCounts( $filterItem, filterValue ) {\n\n\t\t\tconst count = filterValue === '*' ? this.flickityData.cells.length : $( filterValue, this.element ).length;\n\t\t\tconst $counter = $( `\n\t\t\t\t<sup class=\"lqd-filter-counter\">\n\t\t\t\t\t<span>${ count }</span>\n\t\t\t\t</sup>`\n\t\t\t);\n\t\t\t$counter.appendTo( $filterItem );\n\n\t\t},\n\n\t\tfilterAnimateStart( filterValue ) {\n\n\t\t\tconst visibleCells = this.getCellsArray().filter( element => !element.classList.contains( 'hidden' ) );\n\n\t\t\tgsap.to( visibleCells, {\n\t\t\t\tx: '-=10%',\n\t\t\t\topacity: 0,\n\t\t\t\tease: 'power4.inOut',\n\t\t\t\tduration: 0.6,\n\t\t\t\tstagger: 0.1,\n\t\t\t\tclearProps: 'x',\n\t\t\t\tonStart: () => {\n\n\t\t\t\t\tif ( this.options.equalHeightCells ) {\n\n\t\t\t\t\t\tconst $cells = $( this.flickityData.cells );\n\t\t\t\t\t\tconst currentHeight = this.flickityData.size.height;\n\n\t\t\t\t\t\t$cells.css( 'minHeight', currentHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t\t$( visibleCells ).css( {\n\t\t\t\t\t\ttransition: 'none'\n\t\t\t\t\t} );\n\n\t\t\t\t},\n\t\t\t\tonComplete: this.filterItems.bind( this, filterValue )\n\t\t\t} );\n\n\t\t},\n\n\t\tfilterItems( filterValue ) {\n\n\t\t\tconst $cells = $( this.getCellsArray() );\n\n\t\t\tthis.$element.find( '.hidden' ).removeClass( 'hidden' );\n\n\t\t\tif ( filterValue !== '*' ) {\n\t\t\t\t$cells.not( filterValue ).addClass( 'hidden' );\n\t\t\t}\n\n\t\t\tif ( this.options.equalHeightCells ) {\n\t\t\t\t$cells.css( 'minHeight', '' );\n\t\t\t}\n\n\t\t\tthis.flickityData.resize();\n\t\t\tthis.flickityData.reposition();\n\n\t\t\tif ( this.flickityData.slides.length <= 1 ) {\n\t\t\t\tthis.flickityData.options.draggable = false;\n\t\t\t} else {\n\t\t\t\tthis.flickityData.options.draggable = true;\n\t\t\t}\n\t\t\tthis.flickityData.updateDraggable();\n\n\t\t\tthis.filterAnimateComplete();\n\n\t\t},\n\n\t\tfilterAnimateComplete() {\n\n\t\t\tconst visibleCells = this.getCellsArray().filter( element => !element.classList.contains( 'hidden' ) );\n\t\t\tconst timeline = gsap.timeline( {\n\t\t\t\tdefaults: {\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t\tease: 'power4.out',\n\t\t\t\t},\n\t\t\t\tonComplete: () => {\n\t\t\t\t\t$( visibleCells ).css( {\n\t\t\t\t\t\ttransition: '',\n\t\t\t\t\t\topacity: ''\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tvisibleCells.forEach( cell => {\n\t\t\t\tconst currentX = gsap.getProperty( cell, 'x', '%' );\n\t\t\t\ttimeline.fromTo( cell,\n\t\t\t\t\t{\n\t\t\t\t\t\tx: '+=10%'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tx: currentX,\n\t\t\t\t\t\topacity: 1\n\t\t\t\t\t}, '<+=0.1' );\n\t\t\t} )\n\n\t\t\tif ( this.carouselMobileDotsElement ) {\n\t\t\t\tthis.carouselMobileDotsElement.remove();\n\t\t\t\tthis.carouselMobileDots( true );\n\t\t\t}\n\n\t\t},\n\n\t\t// https://github.com/metafizzy/flickity/issues/77\n\t\tmarquee() {\n\n\t\t\tif ( !this.options.marquee ) return;\n\n\t\t\tthis.marqueeIsPaused = true;\n\t\t\tthis.flickityData.x = 0;\n\n\t\t\tconst IO = () => {\n\t\t\t\tnew IntersectionObserver( ( [ entry ] ) => {\n\t\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\t\tthis.sliderElement.style.willChange = 'transform';\n\t\t\t\t\t\tthis.marqueePlay();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.sliderElement.style.willChange = '';\n\t\t\t\t\t\tthis.marqueePause();\n\t\t\t\t\t}\n\t\t\t\t}, { rootMargin: '50%' } ).observe( this.element );\n\t\t\t};\n\n\t\t\tif ( this.options.pauseAutoPlayOnHover ) {\n\t\t\t\tthis.element.addEventListener( 'mouseenter', this.marqueePause.bind( this ), false );\n\t\t\t\tthis.element.addEventListener( 'focusin', this.marqueePause.bind( this ), false );\n\t\t\t\tthis.element.addEventListener( 'mouseleave', this.marqueePlay.bind( this ), false );\n\t\t\t\tthis.element.addEventListener( 'focusout', this.marqueePlay.bind( this ), false );\n\t\t\t}\n\n\t\t\tthis.flickityData.on( 'dragStart', this.marqueePause.bind( this ) );\n\t\t\tthis.flickityData.on( 'dragEnd', !this.options.pauseAutoPlayOnHover && this.marqueePlay.bind( this ) );\n\n\t\t\tIO();\n\n\t\t},\n\n\t\tmarqueePlay() {\n\t\t\tif ( !this.marqueeIsPaused ) return;\n\t\t\tthis.marqueeIsPaused = false;\n\t\t\tthis.marqueeUpdate();\n\t\t},\n\n\t\tmarqueePause() {\n\t\t\tthis.marqueeIsPaused = true;\n\t\t\tthis.marqueeRAF && cancelAnimationFrame( this.marqueeRAF );\n\t\t},\n\n\t\tmarqueeUpdate() {\n\n\t\t\tif ( this.marqueeIsPaused || !this.flickityData.slides ) return;\n\n\t\t\tthis.flickityData.x = ( this.flickityData.x - this.options.marqueeTickerSpeed ) % this.flickityData.slideableWidth;\n\t\t\tthis.flickityData.settle( this.flickityData.x );\n\n\t\t\tthis.marqueeRAF = window.requestAnimationFrame( this.marqueeUpdate.bind( this ) );\n\n\t\t},\n\n\t\tdestroy() {\n\n\t\t\t$( window ).off( 'resize.lqdCarousel' );\n\n\t\t}\n\n\t};\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst $carouselElement = $( this )\n\t\t\tconst pluginOptions = { ...$carouselElement.data( 'lqd-flickity' ), ...options };\n\n\t\t\tconst globalDisabledOnMobile = document.body.hasAttribute( 'data-disable-carousel-onmobile' );\n\n\t\t\tif ( ( liquidIsMobile() && globalDisabledOnMobile ) && !pluginOptions.forceEnableOnMobile ) {\n\t\t\t\t$carouselElement.find( '.flickity-viewport' ).css( 'overflow-x', 'auto' );\n\t\t\t\treturn;\n\t\t\t};\n\n\t\t\tif ( pluginOptions.pageDots ) {\n\t\t\t\tpluginOptions.hasPageDotsFromOptions = true;\n\t\t\t} else {\n\t\t\t\tpluginOptions.hasPageDotsFromOptions = false;\n\t\t\t}\n\n\t\t\tif ( !pluginOptions.forceDisablePageDots ) {\n\t\t\t\tpluginOptions.pageDots = true;\n\t\t\t}\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t$( '[data-lqd-flickity]' ).liquidCarousel();\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidCarouselFalcate';\n\tlet defaults = {\n\t};\n\t\n\tclass Plugin {\n\t\t\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\t\n\t\t\tthis.options = $.extend({}, defaults, options);\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\t\t\t\n\t\t\tthis.ms = null;\n\t\t\tthis.activeItems = [0, 1, 2];\n\t\t\tthis.loopCount = 2;\n\t\t\tthis.$carouselItems = $('.carousel-items', this.element);\n\t\t\tthis.$carouselCells = [];\n\n\t\t\tthis.isMobile = liquidIsMobile();\n\n\t\t\tif ( this.$carouselItems.length ) {\n\t\t\t\tthis.onImagesLoaded();\n\t\t\t}\n\t\t}\n\t\t\n\t\tonImagesLoaded() {\n\n\t\t\timagesLoaded(this.element, () => {\n\n\t\t\t\tif ( ! this.isMobile ) {\n\n\t\t\t\t\tthis.addCarouselCellsDetails();\n\t\t\t\t\tthis.initFalcateCarousel();\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.$element.addClass('carousel-falcate-mobile');\n\n\t\t\t\t\tthis.initFlickityCarousel();\n\n\t\t\t\t}\n\n\t\t\t});\n\n\t\t}\n\n\t\taddCarouselCellsDetails() {\n\n\t\t\t\n\t\t\t$.each( $('.carousel-item', this.element), (i, el) => {\n\n\t\t\t\tconst obj = {};\n\t\t\t\tconst $el = $(el);\n\n\t\t\t\tobj.el = el;\n\t\t\t\tobj.width = $el.outerWidth(true);\n\t\t\t\tobj.height = $el.outerHeight(true);\n\n\t\t\t\tthis.$carouselCells.push(obj);\n\n\t\t\t} );\n\n\t\t\tthis.$carouselItems.hide();\n\n\t\t}\n\t\t\n\t\tinitFalcateCarousel() {\n\t\t\t\n\t\t\tthis.ms = new MomentumSlider({\n\t\t\t\tel: this.element,\n\t\t\t\tmultiplier: 0.6,\n\t\t\t\trange: [0, this.$carouselCells.length - 1],\n\t\t\t\tvertical: true,\n\t\t\t\tloop: this.loopCount,\n\t\t\t\tcurrentIndex: this.activeItems[1],\n\t\t\t\trangeContent: i => $(this.$carouselCells[i].el).html(),\n\t\t\t\tstyle: {\n\t\t\t\t\ttransform: [{\n\t\t\t\t\t\ttranslateX: [0, -100],\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tcustomStyles: (index, diff, lower) => {\n\t\t\t\t\tthis.customStyles(index, diff, lower);\n\t\t\t\t\tthis.updateContainerHeight(index, diff, lower);\n\t\t\t\t},\n\t\t\t\tchange: () => {\n\t\t\t\t\tthis.fadeInActiveItems();\n\t\t\t\t\t// this.fadeOutInactiveItems(oldIndex, newIndex);\n\t\t\t\t\tthis.updateContainerHeight();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif ( $('body').hasClass('lazyload-enabled') && window.liquidLazyload ) {\n\t\t\t\twindow.liquidLazyload.update();\n\t\t\t}\n\n\t\t}\n\n\t\tfadeInActiveItems() {\n\n\t\t\tif ( ! this.ms ) {\n\n\t\t\t\tconst $msContainer = this.$element.find('.ms-container');\n\t\t\t\tconst $msSlides = $('.ms-slide', $msContainer);\n\n\t\t\t\tthis.activeItems.forEach( i => {\n\t\t\t\t\tconst activeItemIndex = i + this.loopCount;\n\t\t\t\t\t$($msSlides[activeItemIndex]).css('opacity', 1);\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfadeOutInactiveItems(oldIndex) {\n\n\t\t\tif ( ! this.ms ) return false;\n\n\t\t\tconst prevItemIndex = (oldIndex + this.loopCount) - 1;\n\t\t\tconst activeItemIndex = oldIndex + this.loopCount;\n\t\t\tconst nextItemIndex = (oldIndex + this.loopCount) + 1;\n\n\t\t\t$(this.ms.msSlides).each( (i, msSlide) => {\n\n\t\t\t\tconst $msSlide = $(msSlide);\n\n\t\t\t\t$msSlide.addClass('ms-slide-inactive');\n\n\t\t\t\t[prevItemIndex, activeItemIndex, nextItemIndex].map( index => {\n\t\t\t\t\t\n\t\t\t\t\ti === index && $msSlide.removeClass('ms-slide-inactive')\n\t\t\t\t\t\n\t\t\t\t});\n\n\t\t\t} );\n\n\t\t}\n\n\t\tupdateContainerHeight(index, diff) {\n\n\t\t\tif ( ! this.ms ) {\n\n\t\t\t\tconst $msContainer = this.$element.find('.ms-container');\n\t\t\t\tconst $msSlides = $('.ms-slide', $msContainer);\n\t\t\t\tconst $firstSlide = $($msSlides[this.activeItems[0 + this.loopCount]]);\n\t\t\t\tlet height = 0;\n\n\t\t\t\tthis.activeItems.forEach( i => {\n\t\t\t\t\tconst activeItemIndex = i + this.loopCount;\n\t\t\t\t\theight += $($msSlides[activeItemIndex]).outerHeight();\n\t\t\t\t} );\n\n\t\t\t\t$msContainer.css({\n\t\t\t\t\theight,\n\t\t\t\t\ttransform: `translateY(${$firstSlide.outerHeight()}px)`\n\t\t\t\t});\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t\tconst {msSlides} = this.ms;\n\t\t\tlet height = 0;\n\t\t\t\n\t\t\t$.each( [$(msSlides[index - 1]), $(msSlides[index]), $(msSlides[index + 1])], (i, msSlide) => {\n\t\t\t\theight += $(msSlide).outerHeight();\n\t\t\t} );\n\n\t\t\theight = Math.round((Math.abs(diff) - height) / -1);\n\n\t\t\tthis.$element.height( height );\n\n\t\t}\n\n\t\tcustomStyles(index, diff, lower) {\n\n\t\t\tif ( ! this.ms ) return false;\n\n\t\t\tconst {msSlides} = this.ms;\n\t\t\tconst opacityVal = (Math.abs(diff) - 1) / -1;\n\n\t\t\t$(msSlides[index]).css({\n\t\t\t\topacity: 1\n\t\t\t});\n\t\t\t\n\t\t\tif ( lower ) {\n\t\t\t\t\n\t\t\t\tconst $prevItem = $(msSlides[index - 1]);\n\t\t\t\tconst translateVal = Math.round((diff - $prevItem.outerHeight()) / -1);\n\n\t\t\t\t$prevItem.css({\n\t\t\t\t\topacity: opacityVal\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t$(this.ms.msContainer).css({\n\t\t\t\t\ttransform: `translateY(${translateVal}px)`\n\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif ( ! lower ) {\n\t\t\t\t\n\t\t\t\tconst $nextItem = $(msSlides[index + 1]);\n\t\t\t\tconst $prevItem = $(msSlides[index - 1]);\n\t\t\t\tconst translateVal = Math.round((Math.abs(diff) - $prevItem.outerHeight()) / -1);\n\n\t\t\t\t$nextItem.css({\n\t\t\t\t\topacity: opacityVal\n\t\t\t\t});\n\n\t\t\t\t$(this.ms.msContainer).css({\n\t\t\t\t\ttransform: `translateY(${translateVal}px)`\n\t\t\t\t})\n\n\t\t\t}\n\n\t\t}\n\n\t\tinitFlickityCarousel() {\n\n\t\t\tthis.$carouselItems.liquidCarousel({\n\t\t\t\tpageDots: true\n\t\t\t});\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('carousel-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\t$('.carousel-falcate').liquidCarouselFalcate();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidCarouselStack';\n\tlet defaults = {\n\t\tautoplay: false,\n\t\t// distDragBack: if the user stops dragging the image in a area that does not exceed [distDragBack]px for either x or y then the image goes back to the stack\n\t\tdistDragBack: 150,\n\t\t// distDragMax: if the user drags the image in a area that exceeds [distDragMax]px for either x or y then the image moves away from the stack\n\t\tdistDragMax: 450,\n\t\t// callback\n\t\tisRandom: false,\n\t\tonUpdateStack: function ( current ) { return false; }\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\t\t\tthis.$container = $( '.carousel-items', this.element );\n\t\t\tthis.$prevBtn = $( '.lqd-carousel-stack-prev', this.element );\n\t\t\tthis.$nextBtn = $( '.lqd-carousel-stack-next', this.element );\n\t\t\tthis.items = this.$container.children( '.carousel-item' ).get();\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.isInit = false;\n\t\t\tthis.moveVector = {};\n\t\t\tthis.draggie = null;\n\n\t\t\tthis._init();\n\n\t\t\tif ( this.options.autoplay ) {\n\t\t\t\tthis.autoplay();\n\t\t\t}\n\n\t\t}\n\n\t\tautoplay() {\n\n\t\t\tif ( isNaN( this.options.autoplay ) || this.options.autoplay <= 0 ) return;\n\n\t\t\tthis.autoplayTimeout = setTimeout( () => {\n\t\t\t\tthis._moveAway( 'next' );\n\t\t\t}, this.options.autoplay );\n\n\t\t}\n\n\t\tshuffle( array ) {\n\n\t\t\tlet m = array.length;\n\t\t\tlet t;\n\t\t\tlet i;\n\n\t\t\twhile ( m ) {\n\t\t\t\ti = Math.floor( Math.random() * m-- );\n\t\t\t\tt = array[ m ];\n\t\t\t\tarray[ m ] = array[ i ];\n\t\t\t\tarray[ i ] = t;\n\t\t\t}\n\n\t\t\treturn array;\n\n\t\t}\n\n\t\tsetTransformStyle( el, tval ) {\n\t\t\tel.style.WebkitTransform = tval;\n\t\t\tel.style.msTransform = tval;\n\t\t\tel.style.transform = tval;\n\t\t}\n\n\t\tinitSetting() {\n\t\t\tthis.itemsCount = this.items.length;\n\t\t\tthis._setContainerHeight();\n\t\t\tthis._setStackStyle();\n\t\t\tif ( this.itemsCount <= 1 ) return;\n\t\t\tif ( !this.isInit ) {\n\t\t\t\tthis._initDragg();\n\t\t\t\tthis._initEvents();\n\t\t\t}\n\t\t\tthis.isInit = true;\n\t\t}\n\n\t\t_init() {\n\t\t\tif ( this.options.isRandom ) {\n\t\t\t\tthis.shuffle( this.items );\n\t\t\t}\n\t\t\t// current item's index (the one on the top of the stack)\n\t\t\tthis.current = 0;\n\t\t\t// set initial styles\n\t\t\tthis.initSetting();\n\t\t}\n\n\t\t_initEvents() {\n\n\t\t\tconst onResize = liquidDebounce( this.onResize.bind( this ), 750 );\n\n\t\t\tthis.draggie.on( 'dragMove', ( event, pointer, moveVector ) => { this._onDragMove.call( this, event, moveVector ) } );\n\t\t\tthis.draggie.on( 'dragEnd', ( event ) => { this._onDragEnd.call( this, event ) } );\n\t\t\tthis.$prevBtn.on( 'click', this.goToPrev.bind( this ) );\n\t\t\tthis.$nextBtn.on( 'click', this.goToNext.bind( this ) );\n\n\t\t\t$liquidWindow.on( 'resize.lqdCarouselStack', onResize );\n\n\t\t}\n\n\t\t_setContainerHeight() {\n\n\t\t\tthis.element.style.transition = `height 0.3s`;\n\t\t\tthis.element.style.height = `${ $( this._firstItem() ).outerHeight() }px`;\n\n\t\t}\n\n\t\t_setStackStyle( direction ) {\n\n\t\t\tvar item1 = this._firstItem(), item2 = this._secondItem(), item3 = this._thirdItem();\n\n\t\t\tthis.items.forEach( item => item.classList.remove( 'is-first', 'is-second', 'is-third' ) );\n\n\t\t\tif ( item1 ) {\n\n\t\t\t\titem1.style.zIndex = 4;\n\t\t\t\titem1.classList.add( 'is-first' );\n\n\t\t\t\tgsap.to( item1, {\n\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: 0\n\t\t\t\t} )\n\n\t\t\t}\n\n\t\t\tif ( item2 ) {\n\n\t\t\t\titem2.style.zIndex = 3;\n\t\t\t\titem2.classList.add( 'is-second' );\n\n\t\t\t\tgsap.to( item2, {\n\t\t\t\t\tstartAt: {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\tz: () => {\n\t\t\t\t\t\t\tif ( !direction || direction === 'next' ) { return -180 }\n\t\t\t\t\t\t\telse { return 0 }\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: () => {\n\t\t\t\t\t\tif ( !direction || direction === 'next' ) { return -80 }\n\t\t\t\t\t\telse { return -80 }\n\t\t\t\t\t},\n\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\tif ( item3 ) {\n\n\t\t\t\titem3.style.zIndex = 2;\n\t\t\t\titem3.classList.add( 'is-third' );\n\n\t\t\t\tgsap.to( item3, {\n\t\t\t\t\tstartAt: {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\tz: () => {\n\t\t\t\t\t\t\tif ( !direction || direction === 'next' ) { return -280 }\n\t\t\t\t\t\t\telse { return 0 }\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: () => {\n\t\t\t\t\t\tif ( !direction || direction === 'next' ) { return -180 }\n\t\t\t\t\t\telse { return -180 }\n\t\t\t\t\t},\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t\tease: 'power4.out'\n\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t}\n\t\t}\n\n\t\t_moveAway( direction ) {\n\n\t\t\tif ( this.animating ) return;\n\n\t\t\t// calculate how much to translate in the x and y axis\n\t\t\tconst tVal = this._getTranslateVal( direction );\n\t\t\tlet item1;\n\t\t\tlet initiated = false;\n\n\t\t\tthis.animating = true;\n\n\t\t\t// disable drag\n\t\t\tthis._disableDragg();\n\n\t\t\tif ( !direction || direction === 'next' ) {\n\t\t\t\titem1 = this.draggie.element;\n\t\t\t} else {\n\t\t\t\titem1 = this.draggie.element.previousElementSibling || this.items[ this.itemsCount - 1 ];\n\t\t\t\tthis.draggie.element.style.zIndex = 3;\n\t\t\t\titem1.style.zIndex = 4;\n\t\t\t}\n\t\t\tgsap.killTweensOf( item1 )\n\t\t\t// apply it\n\t\t\tconst item1Tween = gsap.to( item1, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tz: tVal.z[ 0 ],\n\t\t\t\t\topacity: () => {\n\t\t\t\t\t\tif ( direction !== 'prev' ) { return 1 }\n\t\t\t\t\t\telse { return 0 }\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tduration: 0.6,\n\t\t\t\tease: 'power4.out',\n\t\t\t\tx: tVal.x,\n\t\t\t\ty: tVal.y || 0,\n\t\t\t\tz: tVal.z[ 1 ],\n\t\t\t\topacity: () => {\n\t\t\t\t\tif ( direction !== 'prev' ) { return 0 }\n\t\t\t\t\telse { return 1 }\n\t\t\t\t},\n\t\t\t\tonUpdate: () => {\n\t\t\t\t\tif ( item1Tween.progress() >= 0.5 && !initiated ) {\n\t\t\t\t\t\tinitiated = true;\n\t\t\t\t\t\tthis.onEndTransFn( direction );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tthis.onCompleteTransFn( item1 )\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// other items move back to stack\n\t\t\tconst item2 = this._secondItem();\n\t\t\tconst item3 = this._thirdItem();\n\n\t\t\tif ( item2 ) {\n\t\t\t\tgsap.to( item2, {\n\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: -80\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif ( item3 ) {\n\t\t\t\tgsap.to( item3, {\n\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: -180\n\t\t\t\t} );\n\t\t\t}\n\n\t\t}\n\n\t\tonEndTransFn( direction ) {\n\n\t\t\t// reset first item\n\t\t\tgsap.to( this.draggie.element, {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tz: -180,\n\t\t\t\tease: 'power4.out',\n\t\t\t\tduration: 0.6,\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tthis.draggie.element.style.transform = '';\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// reorder stack\n\t\t\tif ( !direction || direction === 'next' ) {\n\t\t\t\tthis.draggie.element.style.left = this.draggie.element.style.top = '0px';\n\t\t\t\tthis.draggie.element.style.zIndex = -1;\n\t\t\t\tthis.current = this.current < this.itemsCount - 1 ? this.current + 1 : 0;\n\t\t\t} else {\n\t\t\t\tthis.draggie.element.style.zIndex = 4;\n\t\t\t\tthis.current = this.current > 0 ? this.current - 1 : this.itemsCount - 1;\n\t\t\t}\n\n\t\t\t// reset style\n\t\t\tthis._setStackStyle( direction )\n\n\t\t\t// add dragging capability\n\t\t\tthis._initDragg();\n\n\t\t\t// init drag events on new current item\n\t\t\tthis._initEvents();\n\n\t\t\t// callback\n\t\t\tthis.options.onUpdateStack( this.current );\n\n\t\t\tthis._setContainerHeight();\n\n\t\t}\n\n\t\tonCompleteTransFn( animatedTarget ) {\n\n\t\t\tthis.animating = false;\n\n\t\t\tif ( this.autoplayTimeout ) {\n\t\t\t\tclearTimeout( this.autoplayTimeout );\n\t\t\t}\n\n\t\t\tif ( this.options.autoplay ) {\n\t\t\t\tthis.autoplay();\n\t\t\t}\n\n\t\t\tanimatedTarget.style.opacity = '';\n\n\t\t}\n\n\t\t_moveBack() {\n\n\t\t\tconst item2 = this._secondItem();\n\t\t\tconst item3 = this._thirdItem();\n\n\t\t\tgsap.to( this.draggie.element, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tx: this.moveVector.x,\n\t\t\t\t\ty: this.moveVector.y\n\t\t\t\t},\n\t\t\t\tease: 'power4.out',\n\t\t\t\tduration: 0.6,\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tz: 0\n\t\t\t} );\n\t\t\tthis.draggie.element.style.left = '0px';\n\t\t\tthis.draggie.element.style.top = '0px';\n\n\t\t\tif ( item2 ) {\n\t\t\t\tgsap.to( item2, {\n\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: -80\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif ( item3 ) {\n\t\t\t\tgsap.to( item3, {\n\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\tduration: 0.6,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: -180\n\t\t\t\t} );\n\t\t\t}\n\n\t\t}\n\n\t\t_onDragMove( event, moveVector ) {\n\n\t\t\tthis.moveVector = moveVector;\n\n\t\t\tif ( this._outOfBounds() ) {\n\t\t\t\tthis._moveAway();\n\t\t\t} else {\n\t\t\t\t// the second and third items also move\n\t\t\t\tconst item2 = this._secondItem();\n\t\t\t\tconst item3 = this._thirdItem();\n\t\t\t\tif ( item2 ) {\n\t\t\t\t\tgsap.to( item2, {\n\t\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\t\tduration: 0.3,\n\t\t\t\t\t\tx: this.moveVector.x * 0.6,\n\t\t\t\t\t\ty: this.moveVector.y * 0.6\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\tif ( item3 ) {\n\t\t\t\t\tgsap.to( item3, {\n\t\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\t\tduration: 0.3,\n\t\t\t\t\t\tx: this.moveVector.x * 0.3,\n\t\t\t\t\t\ty: this.moveVector.y * 0.3\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t_onDragEnd() {\n\t\t\tif ( this._outOfBounds() ) return;\n\t\t\tif ( this._outOfSight() ) {\n\t\t\t\tthis._setContainerHeight();\n\t\t\t\tthis._moveAway();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._moveBack();\n\t\t\t}\n\t\t}\n\n\t\t_initDragg() {\n\t\t\tthis.draggie = new Draggabilly( this.items[ this.current ], { handle: '.lqd-carousel-handle' } );\n\t\t}\n\n\t\t_disableDragg() {\n\t\t\tthis.draggie.disable();\n\t\t}\n\n\t\t// returns true if x or y is bigger than distDragMax\n\t\t_outOfBounds() {\n\t\t\treturn Math.abs( this.moveVector.x ) > this.options.distDragMax || Math.abs( this.moveVector.y ) > this.options.distDragMax;\n\t\t}\n\n\t\t// returns true if x or y is bigger than distDragBack\n\t\t_outOfSight() {\n\t\t\treturn Math.abs( this.moveVector.x ) > this.options.distDragBack || Math.abs( this.moveVector.y ) > this.options.distDragBack;\n\t\t}\n\n\t\t_getTranslateVal( direction ) {\n\n\t\t\tvar h = Math.sqrt( Math.pow( this.moveVector.x, 2 ) + Math.pow( this.moveVector.y, 2 ) ),\n\t\t\t\ta = Math.asin( Math.abs( this.moveVector.y ) / h ) / ( Math.PI / 180 ),\n\t\t\t\thL = h + this.options.distDragBack,\n\t\t\t\tdx = Math.cos( a * ( Math.PI / 180 ) ) * hL,\n\t\t\t\tdy = Math.sin( a * ( Math.PI / 180 ) ) * hL,\n\t\t\t\ttx = dx - Math.abs( this.moveVector.x ),\n\t\t\t\tty = dy - Math.abs( this.moveVector.y );\n\n\t\t\tif ( !direction ) {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.moveVector.x > 0 ? tx : tx * -1,\n\t\t\t\t\ty: this.moveVector.y > 0 ? ty : ty * -1,\n\t\t\t\t\tz: [ 0, 0 ]\n\t\t\t\t}\n\t\t\t} else if ( direction === 'prev' ) {\n\t\t\t\treturn {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: [ 80, 0 ]\n\t\t\t\t}\n\t\t\t} else if ( direction === 'next' ) {\n\t\t\t\treturn {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tz: [ 0, 80 ]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// returns the first item in the stack\n\t\t_firstItem() {\n\t\t\treturn this.items[ this.current ];\n\t\t}\n\n\t\t// returns the second item in the stack\n\t\t_secondItem() {\n\t\t\tif ( this.itemsCount >= 2 ) {\n\t\t\t\treturn this.current + 1 < this.itemsCount ? this.items[ this.current + 1 ] : this.items[ Math.abs( this.itemsCount - ( this.current + 1 ) ) ];\n\t\t\t}\n\t\t}\n\n\t\t// returns the third item in the stack\n\t\t_thirdItem() {\n\t\t\tif ( this.itemsCount >= 3 ) {\n\t\t\t\treturn this.current + 2 < this.itemsCount ? this.items[ this.current + 2 ] : this.items[ Math.abs( this.itemsCount - ( this.current + 2 ) ) ];\n\t\t\t}\n\t\t}\n\n\t\t// returns the last item (of the first three) in the stack\n\t\t_lastItem() {\n\t\t\tif ( this.itemsCount >= 3 ) {\n\t\t\t\treturn this._thirdItem();\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn this._secondItem();\n\t\t\t}\n\t\t}\n\n\t\tgoToPrev() {\n\n\t\t\tthis._moveAway( 'prev' );\n\n\t\t}\n\n\t\tgoToNext() {\n\n\t\t\tthis._moveAway( 'next' );\n\n\t\t}\n\n\t\tadd( el ) {\n\t\t\tthis.$container.appendChild( el );\n\t\t\tthis.items.push( el );\n\t\t\tthis.initSetting();\n\t\t}\n\n\t\tgetSize() {\n\t\t\treturn this.itemsCount;\n\t\t}\n\n\t\tgetCurrent() {\n\t\t\treturn this.current;\n\t\t}\n\n\t\tgetCurrentItem() {\n\t\t\treturn this.items[ this.current ];\n\t\t}\n\n\t\tinsert( el, index ) {\n\t\t\tthis.$container.insertBefore( el, this.$container.childNodes[ index ] );\n\t\t\tthis.items.splice( index, 0, el );\n\t\t\tthis.initSetting();\n\t\t}\n\n\t\tremove( index ) {\n\t\t\tif ( this.items.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( this.current >= index ) {\n\t\t\t\tthis.current--;\n\t\t\t}\n\t\t\tthis.$container.removeChild( this.$container.childNodes[ index ] );\n\t\t\tthis.items.splice( index, 1 );\n\t\t\tif ( this.current >= this.items.length ) {\n\t\t\t\tthis.current = 0;\n\t\t\t}\n\t\t\tthis.initSetting();\n\n\t\t}\n\n\t\tonResize() {\n\n\t\t\tthis._setContainerHeight();\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\t$( window ).off( 'resize.lqdCarouselStack' );\n\n\t\t\tthis.$prevBtn.off( 'click' );\n\t\t\tthis.$nextBtn.off( 'click' );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'carousel-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif ( liquidWindowWidth() <= 768 ) return;\n\n\t$( '.lqd-carousel-stack' ).filter( ( i, el ) => !el.closest( '.lqd-tabs-pane:not(.active)' ) ).liquidCarouselStack();\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidCarouselV3d';\n\tlet defaults = {\n\t\titemsSelector: '.carousel-item'\n\t};\n\t\n\tfunction Plugin( element, options ) {\n\t\t\n\t\tthis.element = element;\n\t\t\n\t\tthis.options = $.extend( {}, defaults, options) ;\n\t\t\n\t\tthis._defaults = defaults;\n\t\tthis._name = pluginName;\n\t\t\n\t\tthis.build();\n\t}\n\t\n\tPlugin.prototype = {\n\t\t\n\t\tbuild: function() {\n\t\t\t\n\t\t\tthis.init();\n\t\t\t\n\t\t},\n\t\t\n\t\tinit: function() {\n\t\t\t\n\t\t\tconst self = this;\n\t\t\tconst element = $(self.element);\n\t\t\tconst items = self.options.itemsSelector;\n\n\t\t\tself.prepareitems();\n\n\t\t\tconst activeItem = $(items, element).first();\n\t\t\tconst bottomItem = activeItem.next();\n\t\t\tconst topItem = bottomItem.next();\n\t\t\t\n\t\t\tself.dragY = 0;\n\t\t\tself.startY = 0;\n\t\t\tself.currentY = 0;\n\t\t\t\n\t\t\tself.setActive(activeItem, element);\n\t\t\tself.initAnim(element, activeItem, topItem, bottomItem);\n\t\t\tself.initDrag();\n\t\t\tself.initClicks();\n\t\t\t\n\t\t\telement.addClass('carousel-initialized');\n\t\t\t\n\t\t\treturn self;\n\t\t\t\n\t\t},\n\n\t\tprepareitems() {\n\n\t\t\tconst self = this;\n\t\t\tconst items = $(self.options.itemsSelector, self.element);\n\n\t\t\tif ( items.length <= 2 && items.length >= 1 ) {\n\n\t\t\t\tconst firstItem = items[0];\n\n\t\t\t\tfor ( let i = items.length; i <= 2; i++ ) {\n\n\t\t\t\t\t$(firstItem).clone(true).appendTo($(self.element).find('.carousel-items'));\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t},\n\t\t\n\t\tsetActive: function(activeItem, element) {\n\t\t\t\n\t\t\tconst currentTopItem = $('.is-top', element);\n\t\t\tconst currentActiveItem = $('.is-active', element);\n\t\t\tconst currentBottomItem = $('.is-bottom', element);\n\n\t\t\tif ( currentTopItem.length ) { currentTopItem.addClass('was-top'); }\n\t\t\tif ( currentActiveItem.length ) { currentActiveItem.addClass('was-active'); }\n\t\t\tif ( currentBottomItem.length ) { currentBottomItem.addClass('was-bottom'); }\n\t\t\t\n\t\t\tactiveItem.addClass('is-active').removeClass('is-top is-bottom').siblings().removeClass('is-active');\n\n\t\t\tthis.setBottom(activeItem);\n\t\t\tthis.setTop(activeItem);\n\t\t\t\n\t\t},\n\t\t\n\t\t// Bottom Item will be based on the active item\n\t\tsetBottom: function(activeItem) {\n\t\t\t\n\t\t\tconst element = $(this.element);\n\t\t\tconst items = this.options.itemsSelector;\n\t\t\tconst firstItem = $(items, element).first();\n\n\t\t\tlet bottomItem = activeItem.next();\n\t\t\t\n\t\t\tif ( ! bottomItem.length && activeItem.is(':last-child') ) {\n\t\t\t\t\n\t\t\t\tbottomItem = firstItem;\n\t\t\t\t\n\t\t\t}\n\n\t\t\tbottomItem.addClass('is-bottom').removeClass('is-active is-top was-active').siblings().removeClass('is-bottom');\n\t\t\t\n\t\t},\n\t\t\n\t\t// Top Item will be based on the active item\t\t\n\t\tsetTop: function(activeItem) {\n\t\t\t\n\t\t\tconst element = $(this.element);\n\t\t\tconst items = this.options.itemsSelector;\n\t\t\tconst lastItem = $(items, element).last();\n\n\t\t\tlet topItem = activeItem.prev();\n\n\t\t\tif ( ! topItem.length && activeItem.is(':first-child') ) {\n\n\t\t\t\ttopItem = lastItem;\n\n\t\t\t}\n\t\t\t\n\t\t\ttopItem.addClass('is-top').removeClass('is-active is-bottom was-active').siblings().removeClass('is-top');\n\t\t\t\n\t\t},\n\n\t\tinitAnim: function(element, activeItem, topItem, bottomItem) {\n\n\t\t\tthis.animInited = false;\n\n\t\t\tif ( ! this.animInited ) {\n\n\t\t\t\tconst timeline = gsap.timeline({\n\t\t\t\t\tduration: 0,\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\ttimeline\n\t\t\t\t.to(element.get(0).querySelectorAll('.carousel-item:not(.is-active):not(.is-bottom)'), {\n\t\t\t\t\tyPercent: -60,\n\t\t\t\t\tz: 0,\n\t\t\t\t\tscale: 0.9,\n\t\t\t\t}, 0)\n\t\t\t\t.to(activeItem.get(0), {\n\t\t\t\t\tz: 50,\n\t\t\t\t\tscale: 1,\n\t\t\t\t}, 0)\n\t\t\t\t.to(bottomItem.get(0), {\n\t\t\t\t\tyPercent: 50,\n\t\t\t\t\tz: 0,\n\t\t\t\t\tscale: 0.9,\n\t\t\t\t}, 0);\n\n\t\t\t\tthis.animInited = true;\n\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\tinitClicks() {\n\n\t\t\t$(this.element).on('click', '.is-top', this.moveItems.bind(this, 'prev'));\n\t\t\t$(this.element).on('click', '.is-bottom', this.moveItems.bind(this, 'next'));\n\n\t\t},\n\t\t\n\t\tinitDrag: function() {\n\t\t\t\n\t\t\tconst self = this;\n\t\t\tconst element = $(self.element);\n\t\t\t\n\t\t\telement.on('mousedown', self.pointerStart.bind(self));\n\t\t\telement.on('mousemove', self.pointerMove.bind(self));\n\t\t\telement.on('mouseup', self.pointerEnd.bind(self));\n\t\t\t\n\t\t},\n\t\t\n\t\tpointerStart: function(event) {\n\t\t\t\n\t\t\tconst self = this;\n\t\t\tconst element = $(self.element);\n\t\t\t\n\t\t\tself.startY = event.pageY || event.touches[0].pageY;\n\t\t\tself.currentY = self.startY;\n\t\t\t\n\t\t\telement.addClass('pointer-down');\n\t\t\t\n\t\t},\n\t\t\n\t\tpointerMove: function(event) {\n\t\t\t\n\t\t\tconst self = this;\n\t\t\t\n\t\t\tself.currentY = event.pageY || event.touches[0].pageY;\n\t\t\t\n\t\t\tself.dragY = parseInt(self.startY - self.currentY, 10);\n\t\t\t\n\t\t},\n\t\t\n\t\tpointerEnd: function() {\n\t\t\t\n\t\t\tconst element = $(this.element);\n\t\t\t\n\t\t\tthis.dragY = parseInt(this.startY - this.currentY, 10);\n\n\t\t\tif ( this.dragY >= 20 ) {\n\t\t\t\t\n\t\t\t\tthis.moveItems('next');\n\t\t\t\t\n\t\t\t} else if ( this.dragY <= -20 ) {\t\t\t\t\n\t\t\t\t\n\t\t\t\tthis.moveItems('prev');\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\telement.removeClass('pointer-down');\n\t\t\t\n\t\t},\n\t\t\n\t\tmoveItems: function(dir) {\n\n\t\t\tif ( $(this.element).hasClass('items-moving') ) return;\n\t\t\t\n\t\t\tconst element = $(this.element);\n\t\t\tconst items = $(this.options.itemsSelector);\n\t\t\tconst bottomItem = $('.is-bottom', element);\n\t\t\tconst topItem = $('.is-top', element);\n\n\t\t\tconst animationTimeline = gsap.timeline({\n\t\t\t\tduration: 0.65,\n\t\t\t\tonUpdate: () => {\n\t\t\t\t\t$(items, element).addClass('is-moving');\n\t\t\t\t},\n\t\t\t\tonComplete: () => {\n\t\t\t\t\t$(items, element).removeClass('is-moving was-top was-active was-bottom');\n\t\t\t\t\t$(this.element).removeClass('items-moving');\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tif ( dir == 'next' )\n\t\t\t\tthis.setActive(bottomItem, element);\n\t\t\telse if ( dir == 'prev' )\n\t\t\t\tthis.setActive(topItem, element);\n\t\t\t\t\n\t\t\tconst newActiveItem = $('.is-active', element);\n\t\t\tconst newBottomItem = $('.is-bottom', element);\n\t\t\tconst newTopItem = $('.is-top', element);\n\t\t\t\n\t\t\tif ( dir == 'next' ) {\n\t\t\t\t\n\t\t\t\tthis.moveNext(animationTimeline, newActiveItem, newBottomItem, newTopItem);\n\t\t\t\t\n\t\t\t} else if ( dir == 'prev' ) {\n\n\t\t\t\tthis.movePrev(animationTimeline, newActiveItem, newBottomItem, newTopItem);\n\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\tmoveNext: function(animationTimeline, newActiveItem, newBottomItem, newTopItem) {\n\n\t\t\t$(this.element).addClass('items-moving');\n\n\t\t\tanimationTimeline\n\t\t\t.fromTo(newTopItem.get(0),\n\t\t\t\t{\n\t\t\t\t\trotateX: -18,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tyPercent: -60,\n\t\t\t\t\tz: 0,\n\t\t\t\t\trotateX: 0,\n\t\t\t\t\tscale: 0.9,\n\t\t\t\t}, 0)\n\t\t\t.fromTo(newActiveItem.get(0),\n\t\t\t\t{\n\t\t\t\t\trotateX: -18,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tyPercent: 0,\n\t\t\t\t\tz: 50,\n\t\t\t\t\trotateX: 0,\n\t\t\t\t\tscale: 1,\n\t\t\t\t}, 0)\n\t\t\t.fromTo(newBottomItem.get(0),\n\t\t\t\t{\n\t\t\t\t\trotateX: -18\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tyPercent: 50,\n\t\t\t\t\tz: 0,\n\t\t\t\t\trotateX: 0,\n\t\t\t\t\tscale: 0.9,\n\t\t\t\t}, 0);\n\n\t\t},\n\n\t\tmovePrev: function(animationTimeline, newActiveItem, newBottomItem, newTopItem) {\n\n\t\t\t$(this.element).addClass('items-moving');\n\n\t\t\tanimationTimeline\n\t\t\t.fromTo(newTopItem.get(0),\n\t\t\t\t{\n\t\t\t\t\trotateX: 18\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tyPercent: -60,\n\t\t\t\t\tz: 0,\n\t\t\t\t\trotateX: 0,\n\t\t\t\t\tscale: 0.9,\n\t\t\t\t}, 0)\n\t\t\t.fromTo(newActiveItem.get(0),\n\t\t\t\t{\n\t\t\t\t\trotateX: 18\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tyPercent: 0,\n\t\t\t\t\tz: 50,\n\t\t\t\t\trotateX: 0,\n\t\t\t\t\tscale: 1,\n\t\t\t\t}, 0)\n\t\t\t.fromTo(newBottomItem.get(0),\n\t\t\t\t{\n\t\t\t\t\trotateX: 18\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tyPercent: 50,\n\t\t\t\t\tz: 0,\n\t\t\t\t\trotateX: 0,\n\t\t\t\t\tscale: 0.9,\n\t\t\t\t}, 0);\n\n\t\t}\n\t\t\n\t};\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('plugin-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\t$('.carousel-vertical-3d').liquidCarouselV3d();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidMegamenu';\n\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.options = { ...defaults, ...options };\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( this.element );\n\n\t\t\tthis.mobileNavBreakPoint = fastdom.measure( liquidMobileNavBreakpoint )();\n\t\t\tthis.tabletBreakpoint = this.mobileNavBreakPoint <= 992 ? 992 : this.mobileNavBreakPoint;\n\n\t\t\tthis.elementBoundingRect = null;\n\t\t\tthis.megamenuBoundingRect = null;\n\t\t\tthis.megamenuFinalPos = {};\n\t\t\tthis.parentOffsetLeft = 0;\n\n\t\t\t// containerWidth: [windowMinWidth, windowMaxWidth]\n\t\t\tthis.breakpoints = {\n\t\t\t\t[ this.mobileNavBreakPoint - 60 ]: [ this.mobileNavBreakPoint + 1, Infinity ],\n\t\t\t\t940: [ 992, this.tabletBreakpoint ]\n\t\t\t};\n\t\t\tthis.$customMenuParent = this.$element.parent().parent( '.lqd-custom-menu' );\n\t\t\tthis.isInCustomMenu = this.$customMenuParent.length && !this.$element.parent().hasClass( 'inline-nav' );\n\t\t\tthis.submenu = this.element.querySelector( '.nav-item-children' );\n\t\t\tthis.megamenuRowsWrap = this.submenu.querySelector( '.lqd-megamenu-rows-wrap' );\n\t\t\tthis.megamenuRows = liquidHeaderIsElementor ?\n\t\t\t\tthis.megamenuRowsWrap.querySelectorAll( ':scope > .elementor > .elementor-section-wrap > .elementor-section, :scope > .elementor > .elementor-section, :scope > .elementor > .e-container, :scope > .elementor > .e-con' ) :\n\t\t\t\tthis.megamenuRowsWrap.querySelectorAll( ':scope > .megamenu-row, :scope > .vc_row' );\n\t\t\tthis.isContentStretched = this.megamenuRowsWrap.classList.contains( 'container-fluid' );\n\t\t\tthis.isFullwidth = this.element.classList.contains( 'megamenu-fullwidth' );\n\t\t\tthis.windowWidth = fastdom.measure( liquidWindowWidth )();\n\t\t\tthis.columnsWidth = 0;\n\t\t\tthis.defaultSidePadding = liquidHeaderIsElementor ? 0 : 15;\n\t\t\tthis.positionApplied = false;\n\n\t\t\tthis.dropdownInfoPromise = new Promise( resolve => {\n\t\t\t\tthis.element.addEventListener( 'megamenu-position-applied', async () => {\n\t\t\t\t\tresolve( {\n\t\t\t\t\t\telement: this.element,\n\t\t\t\t\t\tdropdown: this.submenu,\n\t\t\t\t\t\telementBoundingRect: this.elementBoundingRect,\n\t\t\t\t\t\tmegamenuBoundingRect: this.megamenuBoundingRect || await this.getMegamenuBoundingRect(),\n\t\t\t\t\t\tmegamenuFinalPos: this.megamenuFinalPos\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.isInCustomMenu && this.$customMenuParent.css( 'position', 'static' )\n\n\t\t\tif (\n\t\t\t\tthis.isInCustomMenu &&\n\t\t\t\t!this.$customMenuParent.hasClass( 'lqd-custom-menu-mobile-collapsible' ) &&\n\t\t\t\tthis.$element.closest( 'ul' ).siblings( '.lqd-custom-menu-dropdown-btn' ).length &&\n\t\t\t\t!this.$element.closest( 'ul' ).hasClass( 'is-active' )\n\t\t\t) {\n\t\t\t\tthis.$element.closest( 'ul' ).on( 'shown.bs.collapse', this.sizing.bind( this ) );\n\t\t\t} else {\n\t\t\t\tthis.sizing();\n\t\t\t}\n\n\t\t}\n\n\t\tasync sizing() {\n\n\t\t\tif ( this.positionApplied ) return;\n\n\t\t\t// on elementor we'll use section width\n\t\t\tif ( !this.isFullwidth && !liquidHeaderIsElementor ) {\n\t\t\t\tawait this.getColumnsWidth();\n\t\t\t\tawait this.setContainerWidth();\n\t\t\t}\n\n\t\t\t// if ( liquidHeaderIsElementor ) {\n\t\t\t// \tawait this.getParentOffsetLeft();\n\t\t\t// }\n\n\t\t\tthis.elementBoundingRect = await this.getElementBoundingRect();\n\t\t\tthis.megamenuBoundingRect = await this.getMegamenuBoundingRect();\n\n\t\t\tthis.positioning();\n\n\t\t\tthis.resizeWindow();\n\n\t\t\tif ( this.isContentStretched ) {\n\t\t\t\tthis.element.classList.add( 'megamenu-content-stretch' );\n\t\t\t}\n\n\t\t}\n\n\t\t// getParentOffsetLeft() {\n\n\t\t// \treturn new Promise(resolve => {\n\n\t\t// \t\tnew IntersectionObserver(([entry], observer) => {\n\n\t\t// \t\t\tconst {boundingClientRect} = entry;\n\n\t\t// \t\t\tobserver.disconnect();\n\n\t\t// \t\t\tthis.parentOffsetLeft = boundingClientRect.x;\n\n\t\t// \t\t\tresolve();\n\n\t\t// \t\t}).observe(this.element.closest('.elementor-widget-ld_header_menu'))\n\n\t\t// \t})\n\n\t\t// }\n\n\t\tasync getColumnsWidth() {\n\n\t\t\tif ( !this.megamenuRows || liquidHeaderIsElementor ) {\n\t\t\t\treturn 0\n\t\t\t};\n\n\t\t\tconst promises = [];\n\n\t\t\tthis.megamenuRows.forEach( row => {\n\n\t\t\t\tconst columns = row.querySelectorAll( ':scope > .megamenu-col, :scope > .ld-container > .ld-row > .wpb_column' );\n\n\t\t\t\tif ( !columns ) {\n\t\t\t\t\treturn 0\n\t\t\t\t};\n\n\t\t\t\tconst promise = new Promise( resolve => {\n\n\t\t\t\t\tlet columnsWidth = 0;\n\n\t\t\t\t\tcolumns.forEach( async column => {\n\t\t\t\t\t\tconst styles = getComputedStyle( column );\n\t\t\t\t\t\tconst { paddingLeft, paddingRight } = styles;\n\t\t\t\t\t\tcolumnsWidth += column.offsetWidth + ( parseInt( paddingLeft, 10 ) + parseInt( paddingRight, 10 ) );\n\t\t\t\t\t} );\n\n\t\t\t\t\tresolve( columnsWidth );\n\n\t\t\t\t} );\n\n\t\t\t\tpromises.push( promise );\n\n\t\t\t} );\n\n\t\t\tconst widths = await Promise.all( promises );\n\n\t\t\tthis.columnsWidth = Math.max( ...widths );\n\n\t\t}\n\n\t\tsetContainerWidth() {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\t\t\t\tthis.megamenuRowsWrap.style.width = `${ this.columnsWidth - ( this.defaultSidePadding * 2 ) }px`;\n\t\t\t} );\n\n\t\t}\n\n\t\tgetGlobalContainerDimensions() {\n\n\t\t\tconst windowWidth = this.windowWidth;\n\t\t\tconst dimensions = {\n\t\t\t\twidth: 0,\n\t\t\t\toffsetLeft: 0\n\t\t\t};\n\n\t\t\t$.each( this.breakpoints, ( containerWidth, windowWidths ) => {\n\n\t\t\t\tif ( windowWidth >= windowWidths[ 0 ] && windowWidth <= windowWidths[ 1 ] ) {\n\n\t\t\t\t\tdimensions.width = parseInt( containerWidth, 10 );\n\t\t\t\t\tdimensions.offsetLeft = ( windowWidth - containerWidth ) / 2;\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\treturn dimensions;\n\n\t\t}\n\n\t\tgetElementBoundingRect() {\n\n\t\t\tconst rect = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0\n\t\t\t};\n\n\t\t\treturn new Promise( resolve => {\n\n\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\n\t\t\t\t\tconst { boundingClientRect } = entry;\n\n\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\trect.width = boundingClientRect.width;\n\t\t\t\t\trect.height = boundingClientRect.height;\n\t\t\t\t\trect.top = boundingClientRect.top;\n\t\t\t\t\trect.left = boundingClientRect.left;\n\n\t\t\t\t\tresolve( rect );\n\n\t\t\t\t} ).observe( this.element );\n\n\t\t\t} )\n\n\t\t}\n\n\t\tasync getMegamenuBoundingRect() {\n\n\t\t\tconst $carousels = this.$element.find( '[data-lqd-flickity]' );\n\t\t\tconst promises = [];\n\t\t\tconst rect = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0\n\t\t\t};\n\n\t\t\tif ( $carousels.length ) {\n\t\t\t\t$carousels.each( ( i, carousel ) => {\n\t\t\t\t\t$( carousel ).liquidCarousel( { forceApply: true } )\n\t\t\t\t\tconst carouselData = $( carousel ).data( 'plugin_liquidCarousel' );\n\t\t\t\t\tif ( carouselData ) {\n\t\t\t\t\t\tpromises.push( carouselData.carouselInitPromise );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\tif ( promises.length > 0 ) {\n\t\t\t\tawait Promise.all( promises );\n\t\t\t}\n\n\t\t\treturn new Promise( resolve => {\n\n\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\n\t\t\t\t\tconst { boundingClientRect } = entry;\n\n\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\trect.width = entry.target.offsetWidth;\n\t\t\t\t\trect.height = entry.target.offsetHeight;\n\t\t\t\t\trect.top = boundingClientRect.top;\n\t\t\t\t\trect.left = boundingClientRect.left;\n\n\t\t\t\t\tresolve( rect );\n\n\t\t\t\t} ).observe( this.megamenuRowsWrap );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tasync resetPositioning() {\n\n\t\t\tawait new Promise( resolve => {\n\n\t\t\t\tthis.windowWidth = liquidWindowWidth();\n\n\t\t\t\tthis.columnsWidth = 0;\n\n\t\t\t\tthis.positionApplied = false;\n\t\t\t\tthis.element.classList.remove( 'position-applied' );\n\n\t\t\t\tthis.megamenuRowsWrap.style.width = '';\n\n\t\t\t\tthis.submenu.style.width = '';\n\t\t\t\tthis.submenu.style.left = '';\n\t\t\t\tthis.submenu.style.right = '';\n\t\t\t\tthis.submenu.style.top = '';\n\t\t\t\tthis.submenu.style.marginLeft = '';\n\n\t\t\t\tresolve();\n\n\t\t\t} )\n\n\t\t}\n\n\t\tpositioning() {\n\n\t\t\tconst elementorMobileBreakpoint =\n\t\t\t\twindow.elementorFrontendConfig &&\n\t\t\t\t(\n\t\t\t\t\twindow.elementorFrontendConfig.responsive?.breakpoints?.mobile_extra?.value ||\n\t\t\t\t\twindow.elementorFrontendConfig.responsive?.breakpoints?.mobile?.value\n\t\t\t\t);\n\n\t\t\tif (\n\t\t\t\telementorMobileBreakpoint &&\n\t\t\t\tliquidWindowWidth() < elementorMobileBreakpoint\n\t\t\t) {\n\t\t\t\treturn this.onPositioningDone()\n\t\t\t};\n\n\t\t\tconst elementWidth = this.elementBoundingRect.width;\n\t\t\tconst elementOffsetLeft = this.elementBoundingRect.left;\n\t\t\tconst megamenuContainerWidth = this.megamenuBoundingRect.width;\n\t\t\tconst globalContainerDimensions = fastdom.measure( this.getGlobalContainerDimensions, this )();\n\t\t\tconst globalContainerWidth = globalContainerDimensions.width;\n\t\t\tconst globalContainerOffsetLeft = globalContainerDimensions.offsetLeft;\n\t\t\tconst menuItemisInGlobalContainerRange = elementOffsetLeft <= ( globalContainerWidth + globalContainerOffsetLeft );\n\t\t\tlet left = 0;\n\t\t\tlet right = 0;\n\t\t\tlet top = 0;\n\t\t\tlet megamenuOffsetLeft = 0;\n\n\t\t\tfastdomPromised.mutate( () => {\n\n\t\t\t\tif ( !this.isFullwidth ) {\n\n\t\t\t\t\t// just make it center if it fits inside global container\n\t\t\t\t\tif ( megamenuContainerWidth === globalContainerWidth && menuItemisInGlobalContainerRange ) {\n\t\t\t\t\t\tleft = globalContainerOffsetLeft - this.parentOffsetLeft;\n\t\t\t\t\t\tthis.submenu.style.left = `${ left }px`;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if the menu item is inside the global container range\n\t\t\t\t\tif ( menuItemisInGlobalContainerRange ) {\n\t\t\t\t\t\tleft = ( globalContainerOffsetLeft ) + ( ( globalContainerWidth / 2 ) - ( megamenuContainerWidth / 2 ) ) - this.parentOffsetLeft;\n\t\t\t\t\t\tthis.submenu.style.left = `${ left }px`;\n\t\t\t\t\t\tmegamenuOffsetLeft = left;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if the megammenu is pushed too much to the right and it's far from it's parent menu item\n\t\t\t\t\tif ( megamenuOffsetLeft > elementOffsetLeft ) {\n\t\t\t\t\t\tleft = elementOffsetLeft - this.parentOffsetLeft;\n\t\t\t\t\t\tthis.submenu.style.left = `${ left }px`;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if the megamenu needs to push a bit more to the right\n\t\t\t\t\tif ( ( megamenuOffsetLeft + megamenuContainerWidth ) < ( elementOffsetLeft + elementWidth ) ) {\n\t\t\t\t\t\tleft = ( ( elementOffsetLeft + elementWidth ) - ( megamenuOffsetLeft + megamenuContainerWidth ) ) + megamenuOffsetLeft - this.parentOffsetLeft;\n\t\t\t\t\t\tthis.submenu.style.left = `${ left }px`;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.megamenuFinalPos.left = left;\n\n\t\t\t\t}\n\n\t\t\t\tif ( this.isInCustomMenu ) {\n\n\t\t\t\t\tconst elementOffsetTop = this.elementBoundingRect.top;\n\t\t\t\t\tconst elementHeight = this.elementBoundingRect.height;\n\t\t\t\t\tconst megamenuOffsetTop = this.megamenuBoundingRect.top;\n\t\t\t\t\tconst megamenuHeight = this.megamenuBoundingRect.height;\n\n\t\t\t\t\t// megamenu is short or the height doesn't reach the trigger\n\t\t\t\t\tif ( elementOffsetTop + elementHeight > megamenuOffsetTop + megamenuHeight ) {\n\t\t\t\t\t\ttop = elementOffsetTop - megamenuOffsetTop;\n\t\t\t\t\t}\n\n\t\t\t\t\t// we can push the megamenu more to top. but it's causing missalignment in some cases\n\t\t\t\t\t// if (\n\t\t\t\t\t// \tmegamenuHeight + megamenuOffsetTop + parseInt(this.$submenu.css('top'), 10) >\n\t\t\t\t\t// \tcustomMenuElHeight + custommenuOffset.top\n\t\t\t\t\t// ) {\n\t\t\t\t\t// \tthis.$submenu.css({\n\t\t\t\t\t// \t\ttop: customMenuElHeight - megamenuHeight\n\t\t\t\t\t// \t})\n\t\t\t\t\t// }\n\n\t\t\t\t\tthis.submenu.style.top = `${ top }px`;\n\t\t\t\t\tthis.megamenuFinalPos.top = top;\n\n\t\t\t\t\tif ( this.isFullwidth ) {\n\n\t\t\t\t\t\t// if it's pushed to the outside of the viewport\n\t\t\t\t\t\tif ( ( this.megamenuBoundingRect.left + megamenuContainerWidth ) > this.windowWidth ) {\n\t\t\t\t\t\t\tright = ( this.windowWidth - ( elementOffsetLeft + elementWidth ) ) * -1;\n\t\t\t\t\t\t\tthis.submenu.style.width = 'auto';\n\t\t\t\t\t\t\tthis.submenu.style.right = `${ right }px`;\n\t\t\t\t\t\t\tthis.megamenuFinalPos.right = right;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tthis.onPositioningDone();\n\n\t\t\t} )\n\n\t\t}\n\n\t\tonPositioningDone() {\n\n\t\t\tthis.positionApplied = true;\n\t\t\tthis.element.classList.add( 'position-applied' );\n\t\t\tthis.element.dispatchEvent( new CustomEvent( 'megamenu-position-applied', { bubbles: false, detail: { element: this.element } } ) );\n\n\t\t}\n\n\t\tresizeWindow() {\n\n\t\t\tconst onResize = liquidDebounce( this.onResizeWindow.bind( this ), 300 );\n\n\t\t\t$( window ).on( 'resize', onResize );\n\n\t\t\t$( document ).on( 'lqd-header-sticky-change', () => {\n\t\t\t\tif (\n\t\t\t\t\tthis.$element.is( ':visible' ) &&\n\t\t\t\t\t// if it's in custom menu and in main header\n\t\t\t\t\tthis.isInCustomMenu &&\n\t\t\t\t\tthis.$element.closest( '.main-header' ).length\n\t\t\t\t) {\n\t\t\t\t\tonResize();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t}\n\n\t\tasync onResizeWindow() {\n\n\t\t\tawait this.resetPositioning();\n\n\t\t\tif ( !this.isFullwidth && !liquidHeaderIsElementor ) {\n\n\t\t\t\tawait this.getColumnsWidth();\n\t\t\t\tawait this.setContainerWidth();\n\n\t\t\t}\n\n\t\t\tthis.elementBoundingRect = await this.getElementBoundingRect();\n\t\t\tthis.megamenuBoundingRect = await this.getMegamenuBoundingRect();\n\n\t\t\tthis.positioning();\n\n\t\t}\n\n\t}\n\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'megamenu-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t$( '.megamenu' ).filter( ( i, el ) => {\n\t\tconst $el = $( el );\n\t\tconst isInMobileNav = $el.parent().hasClass( 'lqd-mobile-main-nav' );\n\t\tif ( isInMobileNav ) {\n\t\t\tel.classList.add( 'position-applied' );\n\t\t}\n\t\treturn (\n\t\t\t!$el.closest( '.navbar-fullscreen' ).length &&\n\t\t\t!( $el.closest( '.main-header' ).length && $liquidBody.hasClass( 'header-style-side' ) ) &&\n\t\t\t!isInMobileNav &&\n\t\t\t!$el.parent().hasClass( 'lqd-menu-items-block' )\n\t\t);\n\t} ).liquidMegamenu();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidMegamenuSlide';\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.$element = $( element );\n\t\t\tthis.DOM.$megamenuItems = this.DOM.$element.find( '.megamenu' ).filter( ( i, el ) => !$( el ).parent().hasClass( 'lqd-mobile-main-nav' ) && !$( el ).parent().hasClass( 'lqd-menu-items-block' ) );\n\t\t\tthis.DOM.$nonMegamenuItems = this.DOM.$megamenuItems.eq( 0 ).siblings().not( '.megamenu' );\n\n\t\t\tthis.dropdownsInfo = [];\n\t\t\tthis.$megamenusParent = false;\n\t\t\tthis.lastActiveIndex = false;\n\t\t\tthis.activeIndex = false;\n\t\t\tthis.wasRevealed = false;\n\t\t\tthis.timeout = false;\n\n\t\t\tthis.getMegamenuDropdowns().then( infos => {\n\n\t\t\t\tthis.dropdownsInfo = infos.filter( info => info.dropdown != null );\n\t\t\t\tthis.$megamenusParent = $( infos[ 0 ].element.parentNode );\n\n\t\t\t\tthis.buildMarkup();\n\t\t\t\tthis.init();\n\n\t\t\t} );\n\n\t\t}\n\n\t\tasync getMegamenuDropdowns() {\n\n\t\t\tconst promises = [];\n\n\t\t\tthis.DOM.$megamenuItems.each( ( i, megamenuItem ) => {\n\n\t\t\t\tconst $megamenuItem = $( megamenuItem );\n\t\t\t\tconst megamenuData = $megamenuItem.data( 'plugin_liquidMegamenu' );\n\n\t\t\t\tif ( megamenuData ) {\n\t\t\t\t\tpromises.push( megamenuData.dropdownInfoPromise );\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\treturn await Promise.all( promises );\n\n\t\t}\n\n\t\tbuildMarkup() {\n\n\t\t\tthis.$megamenusParent.append( `\n\t\t\t\t<li class=\"lqd-megamenu-slide-stuff pos-abs pos-bl pos-r absolute bottom-0 left-0 right-0 pointer-events-none\">\n\t\t\t\t\t<div class=\"lqd-megamenu-slide-stuff-wrap pos-abs pos-l pos-r absolute left-0 right-0\">\n\t\t\t\t\t\t<span class=\"lqd-megamenu-slide-arrow pos-abs pos-tl absolute top-0 left-0\"></span>\n\t\t\t\t\t\t<span class=\"lqd-megamenu-slide-bg pos-abs pos-tl absolute top-0 left-0\">\n\t\t\t\t\t\t\t<span class=\"lqd-megamenu-slide-bg-inner pos-abs pos-tl absolute top-0 left-0\"></span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t`);\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.eventListeners();\n\n\t\t}\n\n\t\teventListeners() {\n\n\t\t\tdocument.addEventListener( 'lqd-submenu-change', e => {\n\t\t\t\tconst { detail } = e;\n\t\t\t\tconst { state, $submenu } = detail;\n\t\t\t\tconst $submenuParent = $submenu?.closest( 'li' );\n\n\t\t\t\tif ( $submenuParent?.length ) {\n\t\t\t\t\tconst megamenuIndex = this.DOM.$megamenuItems.get().indexOf( $submenuParent[ 0 ] );\n\n\t\t\t\t\tif ( megamenuIndex >= 0 ) {\n\t\t\t\t\t\tif ( state === 'show' ) {\n\t\t\t\t\t\t\tthis.onMegamenuItemEnter( megamenuIndex );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.onMegamenuItemLeave( megamenuIndex );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.resetReveal();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.resetReveal();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// this.DOM.$megamenuItems.each( ( i, megamenuItem ) => {\n\t\t\t// \tmegamenuItem.addEventListener( 'mouseenter', this.onMegamenuItemEnter.bind( this, i ) );\n\t\t\t// \tmegamenuItem.addEventListener( 'mouseleave', this.onMegamenuItemLeave.bind( this, i ) );\n\t\t\t// } );\n\n\t\t\t// this.DOM.$nonMegamenuItems.each( ( i, menuItem ) => {\n\t\t\t// \tmenuItem.addEventListener( 'mouseenter', this.resetReveal.bind( this ) );\n\t\t\t// } );\n\n\t\t\t// this.DOM.element.addEventListener( 'mouseleave', this.resetReveal.bind( this ) );\n\n\t\t}\n\n\t\tonMegamenuItemEnter( itemIndex ) {\n\n\t\t\tlet elementBoundingRect;\n\t\t\tlet megamenuBoundingRect;\n\t\t\tlet megamenuFinalPos;\n\t\t\tlet arrowPos;\n\n\t\t\telementBoundingRect = this.dropdownsInfo[ itemIndex ].elementBoundingRect;\n\t\t\tmegamenuBoundingRect = this.dropdownsInfo[ itemIndex ].megamenuBoundingRect;\n\t\t\tmegamenuFinalPos = this.dropdownsInfo[ itemIndex ].megamenuFinalPos;\n\t\t\tarrowPos = elementBoundingRect.left + ( elementBoundingRect.width / 2 );\n\n\t\t\tif ( !this.wasRevealed ) {\n\n\t\t\t\tthis.DOM.element.classList.add( 'lqd-megamenu-slide-reveal' );\n\n\t\t\t\tthis.DOM.element.style.setProperty( '--lqd-megamenu-init-width', megamenuBoundingRect.width );\n\t\t\t\tthis.DOM.element.style.setProperty( '--lqd-megamenu-init-height', megamenuBoundingRect.height );\n\n\t\t\t} else {\n\n\t\t\t\tthis.DOM.element.classList.remove( 'lqd-megamenu-slide-reveal' );\n\n\t\t\t}\n\n\t\t\tthis.DOM.$megamenuItems.eq( itemIndex ).removeClass( 'lqd-megamenu-item-slide-out' );\n\n\t\t\tthis.activeIndex = itemIndex;\n\n\t\t\tthis.DOM.element.style.setProperty( '--lqd-megamenu-slide-arrow-pos', `${ arrowPos }px` );\n\t\t\tthis.DOM.element.style.setProperty( '--lqd-megamenu-current-width', megamenuBoundingRect.width );\n\t\t\tthis.DOM.element.style.setProperty( '--lqd-megamenu-current-height', megamenuBoundingRect.height );\n\t\t\tthis.DOM.element.style.setProperty( '--lqd-megamenu-x', `${ megamenuFinalPos.left || 0 }px` );\n\t\t\tthis.DOM.element.style.setProperty( '--lqd-megamenu-y', `${ megamenuFinalPos.top || 0 }px` );\n\n\t\t\tif ( this.lastActiveIndex >= 0 && this.activeIndex >= 0 ) {\n\n\t\t\t\tif ( this.lastActiveIndex < this.activeIndex ) {\n\t\t\t\t\tthis.DOM.element.classList.add( 'lqd-megamenu-slide-from-right' );\n\t\t\t\t} else if ( this.lastActiveIndex > this.activeIndex ) {\n\t\t\t\t\tthis.DOM.element.classList.remove( 'lqd-megamenu-slide-from-right' );\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.wasRevealed = true;\n\n\t\t\t$liquidMainHeader.addClass( 'lqd-megamenu-slide-active' );\n\n\t\t}\n\n\t\tonMegamenuItemLeave( itemIndex ) {\n\n\t\t\tthis.activeIndex = false;\n\t\t\tthis.lastActiveIndex = itemIndex;\n\n\t\t\tthis.DOM.element.classList.remove( 'lqd-megamenu-slide-reveal' );\n\t\t\tthis.DOM.element.classList.remove( 'lqd-megamenu-slide-from-right' );\n\t\t\tthis.DOM.$megamenuItems.eq( itemIndex ).addClass( 'lqd-megamenu-item-slide-out' );\n\t\t\t$liquidMainHeader.removeClass( 'lqd-megamenu-slide-active' );\n\n\t\t\tthis.timeout = setTimeout( () => {\n\n\t\t\t\tif ( this.activeIndex === false || this.activeIndex < 0 ) {\n\t\t\t\t\tthis.resetReveal();\n\t\t\t\t}\n\n\t\t\t\tclearTimeout( this.timeout );\n\n\t\t\t}, 180 );\n\n\t\t}\n\n\t\tresetReveal() {\n\n\t\t\tthis.activeIndex = false;\n\t\t\tthis.wasRevealed = false;\n\n\t\t\tthis.DOM.element.classList.remove( 'lqd-megamenu-slide-reveal' );\n\t\t\tthis.DOM.element.classList.remove( 'lqd-megamenu-slide-from-right' );\n\t\t\t$liquidMainHeader.removeClass( 'lqd-megamenu-slide-active' );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'megamenu-slide-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-megamenu-slide]' ).filter( ( i, el ) => $( el ).find( '.megamenu' ).length ).liquidMegamenuSlide();\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidCountdown';\n\tlet defaults = {\n\t\tdaysLabel: \"Days\",\n\t\thoursLabel: \"Hours\",\n\t\tminutesLabel: \"Minutes\",\n\t\tsecondsLabel: \"Seconds\",\n\t\ttimezone: null\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\tthis.options = $.extend({}, defaults, options);\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\t\t\tthis.init();\n\t\t}\n\t\t\t\n\t\tinit() {\n\t\t\t\n\t\t\tconst {options} = this;\n\t\t\tconst {until, timezone} = options;\n\n\t\t\tthis.$element.countdown({\n\t\t\t\tuntil: new Date( until.replace(/-/g, \"/\") ),\n\t\t\t\tpadZeroes: true,\n\t\t\t\ttimezone,\n\t\t\t\t// Have to specify the layout due to errors on mobile devices\n\t\t\t\tlayout: '<span class=\"countdown-row\">' +\n\t\t\t\t\t'<span class=\"countdown-section\">' +\n\t\t\t\t\t\t'<span class=\"countdown-amount\">{dn}</span>' +\n\t\t\t\t\t\t'<span class=\"countdown-period\">' + options.daysLabel + '</span>' +\n\t\t\t\t\t'</span>' +\n\t\t\t\t\t'<span class=\"countdown-sep\">:</span>' +\n\t\t\t\t\t'<span class=\"countdown-section\">' +\n\t\t\t\t\t\t'<span class=\"countdown-amount\">{hn}</span>' +\n\t\t\t\t\t\t'<span class=\"countdown-period\">' + options.hoursLabel + '</span>' +\n\t\t\t\t\t'</span>' +\n\t\t\t\t\t'<span class=\"countdown-sep\">:</span>' +\n\t\t\t\t\t'<span class=\"countdown-section\">' +\n\t\t\t\t\t\t'<span class=\"countdown-amount\">{mn}</span>' +\n\t\t\t\t\t\t'<span class=\"countdown-period\">' + options.minutesLabel + '</span>' +\n\t\t\t\t\t'</span>' +\n\t\t\t\t\t'<span class=\"countdown-sep\">:</span>' +\n\t\t\t\t\t'<span class=\"countdown-section\">' +\n\t\t\t\t\t\t'<span class=\"countdown-amount\">{sn}</span>' +\n\t\t\t\t\t\t'<span class=\"countdown-period\">' + options.secondsLabel + '</span>' +\n\t\t\t\t\t'</span>' +\n\t\t\t\t'</span>'\n\t\t\t});\n\n\t\t\treturn this;\n\t\t\t\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tthis.$element.countdown('destroy');\n\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = $(this).data('countdown-options') || options;\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery, window, document));\n\njQuery(document).ready(function($) {\n $('[data-plugin-countdown=true]').liquidCountdown();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidCounter';\n\tlet defaults = {\n\t\ttargetNumber: 0,\n\t\tstartDelay: 0,\n\t\tblurEffect: false\n\t};\n\n\tfunction Plugin( element, options ) {\n\n\t\tthis._defaults = defaults;\n\t\tthis._name = pluginName;\n\n\t\tthis.options = $.extend( {}, defaults, options );\n\n\t\tthis.element = element;\n\t\tthis.$element = $( element );\n\n\t\tthis.init();\n\t}\n\n\tPlugin.prototype = {\n\n\t\tinit: function () {\n\n\t\t\tthis.createMarkup();\n\t\t\tthis.setupIO();\n\n\t\t},\n\n\t\tformatNumberWithCommas: function ( number ) {\n\t\t\treturn number.toString().replace( /\\B(?=(\\d{3})+(?!\\d))/g, ',' );\n\t\t},\n\n\t\tformatNumberWithSpaces: function ( number ) {\n\t\t\treturn number.toString().replace( /\\B(?=(\\d{3})+(?!\\d))/g, ' ' );\n\t\t},\n\n\t\tformatCounterAnimator: function ( number ) {\n\t\t\treturn number.toString().replace( /(\\d)/g, '<span class=\"lqd-counter-animator d-inline-flex pos-rel inline-flex relative overflow-hidden\"><span class=\"lqd-animator-value d-inline-block inline-block invisible\">$1</span></span>' );\n\t\t},\n\n\t\tcreateMarkup: function () {\n\n\t\t\tconst counter = $( this.element ).children( 'span' ).not( '.lqd-counter-element-hover' );\n\t\t\tconst options = this.options;\n\t\t\tconst counterVal = options.targetNumber;\n\t\t\tconst formatWithCommas = /,+/.test( counterVal );\n\t\t\tconst formatWithSpaces = /\\s+/.test( counterVal );\n\n\t\t\tif ( formatWithCommas )\n\t\t\t\tcounter.html( this.formatCounterAnimator( this.formatNumberWithCommas( counterVal ) ) );\n\t\t\telse if ( formatWithSpaces )\n\t\t\t\tcounter.html( this.formatCounterAnimator( this.formatNumberWithSpaces( counterVal ) ) );\n\t\t\telse\n\t\t\t\tcounter.html( this.formatCounterAnimator( counterVal ) );\n\n\t\t\tcounter.find( '.lqd-counter-animator' ).each( function ( i, animator ) {\n\n\t\t\t\tconst $animator = $( animator );\n\t\t\t\tconst animatorValue = $animator.find( '.lqd-animator-value' ).text();\n\n\t\t\t\t$animator.append(\n\t\t\t\t\t`<div class=\"lqd-animator-numbers lqd-overlay overflow-hidden\" data-value=\"${ animatorValue }\">\n\t<ul class=\"reset-ul w-100 h-100 pos-rel w-full h-full relative\">\n\t\t<li class=\"m-0\">0</li>\n\t\t<li class=\"m-0\">1</li>\n\t\t<li class=\"m-0\">2</li>\n\t\t<li class=\"m-0\">3</li>\n\t\t<li class=\"m-0\">4</li>\n\t\t<li class=\"m-0\">5</li>\n\t\t<li class=\"m-0\">6</li>\n\t\t<li class=\"m-0\">7</li>\n\t\t<li class=\"m-0\">8</li>\n\t\t<li class=\"m-0\">9</li>\n\t</ul>\n</div>`\n\t\t\t\t);\n\n\t\t\t} );\n\n\t\t},\n\n\t\taddBlurEffect: function ( blurID ) {\n\n\t\t\tif ( this.options.blurEffect ) {\n\n\t\t\t\tconst ulElement = $( '.lqd-animator-numbers ul', this.element );\n\n\t\t\t\tulElement.each( ( i, element ) => {\n\n\t\t\t\t\tconst $ul = $( element );\n\n\t\t\t\t\tif ( $ul.parent().data( 'value' ) != 0 ) {\n\n\t\t\t\t\t\t$ul.css( {\n\t\t\t\t\t\t\t'filter': \"url('#counter-blur-\" + blurID + \"')\"\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t},\n\n\t\tanimateCounter: function () {\n\n\t\t\tconst startDelay = this.options.startDelay / 1000;\n\t\t\tconst blurID = Math.round( gsap.utils.random( 0, 100 ) );\n\t\t\tconst blurSVG = $(\n\t\t\t\t`<svg class=\"counter-blur-svg\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"0\" height=\"0\">\n\t<defs>\n\t\t<filter id=\"counter-blur-${ blurID }\">\n\t\t\t<feGaussianBlur id=\"counter-blur-filter-${ blurID }\" in=\"SourceGraphic\" stdDeviation=\"0,0\" />\n\t\t</filter>\n\t</defs>\n</svg>`\n\t\t\t);\n\n\t\t\tthis.addBlurEffect( blurID );\n\n\t\t\tthis.$element.find( '.lqd-animator-numbers' ).each( ( i, animator ) => {\n\n\t\t\t\tconst $animator = $( animator );\n\t\t\t\tconst counterValue = parseInt( $animator.data( 'value' ), 10 );\n\t\t\t\tlet stdDeviation = { x: 0, y: 0 };\n\t\t\t\tlet blurFilter;\n\n\t\t\t\tgsap.to( $animator.find( 'ul' ).get( 0 ), {\n\t\t\t\t\ty: ( counterValue * -100 ) + '%',\n\t\t\t\t\tease: 'power2.out',\n\t\t\t\t\tdelay: startDelay,\n\t\t\t\t\tduration: 1.2,\n\t\t\t\t\tonComplete: () => {\n\t\t\t\t\t\tthis.$element.addClass( 'counter-animated' );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tif ( this.options.blurEffect ) {\n\n\t\t\t\t\tif ( !$( '.counter-blur-svg', this.element ).length ) {\n\t\t\t\t\t\tblurSVG.appendTo( this.element );\n\t\t\t\t\t}\n\n\t\t\t\t\tblurFilter = blurSVG.find( `#counter-blur-filter-${ blurID }` ).get( 0 );\n\n\t\t\t\t\tgsap.to( stdDeviation, {\n\t\t\t\t\t\tstartAt: {\n\t\t\t\t\t\t\ty: ( 50 + ( counterValue * 10 ) )\n\t\t\t\t\t\t},\n\t\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\t\tduration: 1.2,\n\t\t\t\t\t\tdelay: startDelay,\n\t\t\t\t\t\ty: 0.01,\n\t\t\t\t\t\tonUpdate: () => {\n\t\t\t\t\t\t\tblurFilter.setAttribute( 'stdDeviation', '0,' + stdDeviation.y );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonComplete: () => {\n\t\t\t\t\t\t\t$( '.lqd-animator-numbers ul', this.element ).css( 'filter', '' )\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t},\n\n\t\tsetupIO: function () {\n\n\t\t\tnew LiquidIO( this.element, this.animateCounter.bind( this ), { threshold: 0.8, disconnect: true } );\n\n\t\t}\n\n\t};\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'counter-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-enable-counter]' ).liquidCounter();\n} );","/**\n*\n* Licensed under the MIT license.\n* http://www.opensource.org/licenses/mit-license.php\n* \n* Copyright 2019, Codrops\n* http://www.codrops.com\n*\n* Modified By LiquidThemes\n*/\n(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidDistortedImageGallery';\n\tlet defaults = {\n\t\timagesContainerSelector: '.lqd-dist-gal-distort',\n\t\tmenuSelector: '.lqd-dist-gal-menu',\n\t\tmenuItemSelector: '.lqd-dist-gal-menu-item',\n\t\tsvgSelector: '.lqd-dist-gal-distort'\n\t};\n\n\tclass Plugin {\n\t\t\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\t\n\t\t\tthis.options = $.extend({}, defaults, options);\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.DOM = {\n\t\t\t\timagesContainer: this.element.querySelector(this.options.imagesContainerSelector),\n\t\t\t\tsvg: this.element.querySelector(this.options.svgSelector),\n\t\t\t\tmenu: this.element.querySelector(this.options.menuSelector),\n\t\t\t\tfeDisplacementMapEl: this.element.querySelector('feDisplacementMap'),\n\t\t\t\tfeBlurEl: this.element.querySelector('feGaussianBlur'),\n\t\t\t\tfeTurbulence: this.element.querySelector('feTurbulence')\n\t\t\t};\n\t\t\t// The images (one per menu link)\n\t\t\tthis.DOM.imgs = [...this.DOM.imagesContainer.querySelectorAll('.lqd-dist-gal-img')];\n\t\t\t// The menu links\n\t\t\tthis.DOM.menuLinks = [...this.DOM.menu.querySelectorAll(this.options.menuItemSelector)];\n\t\t\t// Mouse position\n\t\t\tthis.mousePos = {x: liquidWindowWidth()/2, y: liquidWindowHeight()/2};\n\t\t\t// Last mouse positions (one to consider for the image translation movement, another for the scale value of the feDisplacementMap element)\n\t\t\tthis.lastMousePos = {\n\t\t\t\ttranslation: {x: liquidWindowWidth()/2, y: liquidWindowHeight()/2},\n\t\t\t\tdisplacement: {x: 0, y: 0}\n\t\t\t};\n\t\t\t// feDisplacementMap scale value\n\t\t\tthis.dmScale = 0;\n\t\t\tthis.brightness = 0;\n\t\t\tthis.rotate = 0;\n\t\t\t// Current menu link position\n\t\t\tthis.current = -1;\n\n\t\t\tthis.rAFId = null;\n\t\t\t\n\t\t\tthis.elOffsetTop = this.$element.offset().top;\n\t\t\t\n\t\t\tthis.initEvents();\n\n\t\t}\n\n\t\tlerp(a, b, n) {\n\t\t\treturn ( (1 - n) * a + n * b )\n\t\t}\n\n\t\tdistance(x1,x2,y1,y2) {\n\t\t\tvar a = x1 - x2;\n\t\t\tvar b = y1 - y2;\n\t\t\treturn Math.hypot(a,b);\n\t\t}\n\n\t\tlineEq(y2, y1, x2, x1, currentVal){\n\t\t\tvar m = (y2 - y1) / (x2 - x1), b = y1 - m * x1;\n\t\t\treturn m * currentVal + b;\n\t\t}\n\n\t\tinitEvents() {\n\n\t\t\tconst isMobile = liquidIsMobile();\n\n\t\t\tif ( ! isMobile ) {\n\t\t\t\twindow.addEventListener('mousemove', ev => this.mousePos = liquidGetMousePos(ev));\n\t\t\t}\n\t\t\t\n\t\t\tthis.DOM.menuLinks.forEach((item, pos) => {\n\n\t\t\t\tif ( ! isMobile ) {\n\t\t\t\t\tconst mouseenterFn = () => {\n\t\n\t\t\t\t\t\tif ( this.current !== -1 ) {\n\t\t\t\t\t\t\tgsap.to(this.DOM.imgs[this.current], {\n\t\t\t\t\t\t\t\tduration: 0.2,\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\tease: 'power2.out'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tthis.current = pos;\n\t\n\t\t\t\t\t\tif ( this.fade ) {\n\t\t\t\t\t\t\tgsap.to(this.DOM.imgs[this.current], {\n\t\t\t\t\t\t\t\tduration: 0.2,\n\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\tease: 'power2.out'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.fade = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgsap.to(this.DOM.imgs[this.current], {\n\t\t\t\t\t\t\t\tduration: 0.2,\n\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\tease: 'power2.out'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t};\n\t\n\t\t\t\t\tconst mouseleaveFn = () => {\n\t\t\t\t\t\tgsap.to(this.DOM.imgs[this.current], {\n\t\t\t\t\t\t\tduration: 0.2,\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\tease: 'power2.out'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\titem.addEventListener('mouseenter', mouseenterFn);\n\t\t\t\t\titem.addEventListener('mouseleave', mouseleaveFn);\n\t\t\t\t} else {\n\t\t\t\t\titem.addEventListener('click', ev => {\n\t\t\t\t\t\tev.preventDefault();\n\t\t\t\t\t\tconst imagesWrapper = this.DOM.imgs[pos];\n\t\t\t\t\t\tconst links = [...imagesWrapper.querySelectorAll('a.fresco')];\n\t\t\t\t\t\tif ( links.length > 0 ) {\n\t\t\t\t\t\t\tlinks[0].click();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\n\n\t\t\t});\n\n\t\t\tif ( ! isMobile ) {\n\t\t\t\tthis.DOM.menu.addEventListener('mouseenter', () => {\n\t\t\t\t\tthis.rAFId = requestAnimationFrame(this.render.bind(this));\n\t\t\t\t\tthis.fade = true;\n\t\t\t\t});\n\t\n\t\t\t\tthis.DOM.menu.addEventListener('mouseleave', () => {\n\t\t\t\t\tthis.rAFId && cancelAnimationFrame(this.rAFId);\n\t\t\t\t});\n\t\t\t}\n\n\n\t\t}\n\n\t\trender() {\n\n\t\t\t// Translate the image on mousemove\n\t\t\tconst mouseDistance = this.distance(this.lastMousePos.displacement.x, this.mousePos.x, this.lastMousePos.displacement.y, this.mousePos.y);\n\n\t\t\tthis.lastMousePos.translation.x = this.lerp(this.lastMousePos.translation.x, this.mousePos.x, 0.2);\n\t\t\tthis.lastMousePos.translation.y = this.lerp(this.lastMousePos.translation.y, this.mousePos.y, 0.2);\n\t\t\tthis.lastMousePos.displacement.x = this.lerp(this.lastMousePos.displacement.x, this.mousePos.x, 0.1);\n\t\t\tthis.lastMousePos.displacement.y = this.lerp(this.lastMousePos.displacement.y, this.mousePos.y, 0.1);\n\n\t\t\t\n\t\t\t// this.dmScale = Math.min(this.lineEq(50, 1, 140, 1, mouseDistance), 50);\n\t\t\tthis.brightness = Math.min(this.lineEq(1.75, 1, 140, 1, mouseDistance), 1.5);\n\t\t\tthis.contrast = Math.min(this.lineEq(1.1, 1, 140, 1, mouseDistance), 1.5);\n\t\t\t\n\t\t\tif ( this.lastMousePos.translation.x > this.mousePos.x ) {\n\t\t\t\tthis.rotate = Math.min(this.lineEq(-7, 0, 130, 0, mouseDistance), 50);\n\t\t\t} else {\n\t\t\t\tthis.rotate = Math.min(this.lineEq(7, 0, 130, 0, mouseDistance), 50);\n\t\t\t}\n\n\t\t\tgsap.to(this.DOM.imagesContainer, {\n\t\t\t\tx: this.lastMousePos.translation.x-liquidWindowWidth()/2,\n\t\t\t\ty: this.lastMousePos.translation.y - this.elOffsetTop,\n\t\t\t\trotation: this.rotate,\n\t\t\t\t// filter: `brightness(${this.brightness}) contrast(${this.contrast})`\n\t\t\t});\n\t\t\t\n\t\t\t// this.DOM.feDisplacementMapEl.scale.baseVal = this.dmScale * 1.15;\n\t\t\t\n\t\t\tthis.rAFId = requestAnimationFrame(this.render.bind(this));\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('dist-gal-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('[data-lqd-dist-gal]').liquidDistortedImageGallery();\n});","/**\n * http://www.codrops.com\n *\n * Licensed under the MIT license.\n * http://www.opensource.org/licenses/mit-license.php\n * \n * Copyright 2017, Codrops\n * http://www.codrops.com\n */\n(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidDynamicShape';\n\tlet defaults = {\n\t\t\n\t};\n\t\n\tclass Plugin {\n\t\t\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis.options = $.extend( {}, defaults, options) ;\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\t\t\t\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.svgEl = this.DOM.element.querySelector('svg');\n\t\t\tthis.DOM.pathEl = this.DOM.element.querySelector('path');\n\t\t\tthis.paths = this.DOM.pathEl.getAttribute('pathdata:id').trim().split(';');\n\t\t\tthis.paths.splice(this.paths.length, 0, this.DOM.pathEl.getAttribute('d'));\n\n\t\t\tthis.timeline = null;\n\t\t\t\n\t\t\tthis.createTimeline();\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tcreateTimeline() {\n\n\t\t\tconst keyframes = this.paths.map( path => {\n\t\t\t\treturn { d: path.trim() }\n\t\t\t});\n\t\n\t\t\tthis.timeline = gsap.timeline({\n\t\t\t\trepeat: -1,\n\t\t\t\tyoyo: true\n\t\t\t}).pause();\n\t\t\t\n\t\t\tfor (let i = 0; i < keyframes.length; i++) {\n\t\t\t\t\n\t\t\t\tthis.timeline.to(this.DOM.pathEl, {\n\t\t\t\t\tattr: {\n\t\t\t\t\t\td: keyframes[i].d\n\t\t\t\t\t},\n\t\t\t\t\tduration: 2\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t}\n\n\t\tinit() {\n\t\t\t\n\t\t\tthis.animate();\n\t\t\t\n\t\t}\n\t\n\t\tanimate() {\n\t\t\tthis.timeline.play();\n\t\t}\n\n\t\tpause() {\n\t\t\tthis.timeline.pause();\n\t\t}\n\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('mi-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\tif ( liquidIsMobile() ) return;\n\n\t$('[data-dynamic-shape]').filter( (i, element) => {\n\n\t\tconst $element = $(element);\n\t\tconst $fullpageSection = $element.closest('.vc_row.pp-section');\n\n\t\treturn (\n\t\t\t! $fullpageSection.length\n\t\t);\n\n\t} ).liquidDynamicShape();\n\t\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidFormInputs';\n\tlet defaults = {\n\t\tdropdownAppendTo: null\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.icons();\n\t\t\tthis.initDatePicker();\n\t\t\tthis.initSelect();\n\t\t\tthis.initSpinner();\n\t\t\tthis.inputsEventHandlers();\n\n\t\t}\n\n\t\ticons() {\n\n\t\t\tif ( this.$element.hasClass( 'wpcf7-form' ) ) {\n\n\t\t\t\tthis.$element.find( '.wpcf7-form-control-wrap' ).siblings( 'i' ).each( ( i, icon ) => {\n\t\t\t\t\t$( icon ).appendTo( $( icon ).prev( '.wpcf7-form-control-wrap' ) );\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t}\n\n\t\tinitDatePicker() {\n\n\t\t\tconst dateInputs = this.$element.find( '.date-picker, input.wpcf7-form-control[type=date]' );\n\n\t\t\tdateInputs.each( ( i, element ) => {\n\n\t\t\t\tconst $element = $( element );\n\n\t\t\t\tif ( $element.attr( 'type' ) === 'date' ) {\n\n\t\t\t\t\tconst $clonedElement = $element.clone( true );\n\n\t\t\t\t\t$clonedElement.attr( 'type', 'text' );\n\t\t\t\t\t$clonedElement.insertAfter( $element );\n\t\t\t\t\t$element.css( 'display', 'none' );\n\n\t\t\t\t\t$clonedElement.datepicker( {\n\t\t\t\t\t\tdateFormat: 'yy-mm-dd',\n\t\t\t\t\t\tonSelect: ( date ) => {\n\t\t\t\t\t\t\t$element.val( date );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t$( element ).datepicker();\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t}\n\n\t\tinitSelect() {\n\n\t\t\tconst $selectElement = this.$element.find( 'select' ).not( '.select2-hidden-accessible, .select, .woo-rating, #bbp_stick_topic_select, #bbp_topic_status_select, #bbp_forum_id, .woocommerce-widget-layered-nav-dropdown, .elementor-field-textual, .wc-pao-addon-select, .quform-field' );\n\t\t\tlet { dropdownAppendTo } = this.options;\n\n\t\t\tif (\n\t\t\t\t$selectElement.hasClass( 'orderby' ) ||\n\t\t\t\t$selectElement.hasClass( 'search-field' ) ||\n\t\t\t\t$selectElement.hasClass( 'wpcf7-form-control' ) ||\n\t\t\t\t$selectElement.hasClass( 'liquid-schedule-filter' )\n\t\t\t) {\n\t\t\t\tdropdownAppendTo = 'self';\n\t\t\t}\n\n\t\t\tif ( !$selectElement.closest( '.variations' ).length ) {\n\n\t\t\t\t$selectElement.each( ( i, element ) => {\n\n\t\t\t\t\tconst $element = $( element );\n\n\t\t\t\t\tconst slct = $element.selectmenu( {\n\t\t\t\t\t\tchange: () => {\n\t\t\t\t\t\t\t$element.trigger( 'change' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( dropdownAppendTo ) {\n\n\t\t\t\t\t\tlet $appendToEl;\n\n\t\t\t\t\t\tif ( dropdownAppendTo === 'self' ) {\n\t\t\t\t\t\t\t$appendToEl = $( '<div class=\"lqd-select-dropdown\" />' ).insertAfter( $element );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$appendToEl = $( dropdownAppendTo, this.element ).length ? $( dropdownAppendTo, this.element ) : $( dropdownAppendTo );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tslct.selectmenu( 'option', 'appendTo', $appendToEl );\n\n\t\t\t\t\t}\n\n\t\t\t\t\t$element.on( 'change', () => {\n\t\t\t\t\t\t$element.selectmenu( 'refresh' );\n\t\t\t\t\t} );\n\n\t\t\t\t} );\n\n\t\t\t} else {\n\n\t\t\t\tconst $selectElExtra = $( '<span class=\"lqd-select-ext\" />' );\n\t\t\t\t$selectElement.wrap( '<span class=\"lqd-select-wrap pos-rel relative\" />' );\n\t\t\t\t$selectElExtra.insertAfter( $selectElement );\n\n\t\t\t}\n\n\t\t}\n\n\t\tinitSpinner() {\n\n\t\t\tconst splinners = this.$element.find( 'input.spinner, input[type=number].qty' );\n\n\t\t\tsplinners.each( ( i, element ) => {\n\n\t\t\t\tconst $element = $( element );\n\n\t\t\t\t$element.spinner( {\n\t\t\t\t\tspin: ( event, ui ) => {\n\t\t\t\t\t\t$element.val( ui.value );\n\t\t\t\t\t\t$element.trigger( 'change' );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tgetInputParent( focusedInput ) {\n\n\t\t\tif ( focusedInput.closest( 'p' ).length ) {\n\n\t\t\t\treturn focusedInput.closest( 'p' );\n\n\t\t\t} else {\n\n\t\t\t\treturn focusedInput.closest( 'div' );\n\n\t\t\t}\n\n\t\t}\n\n\t\tinputsEventHandlers() {\n\n\t\t\t$( 'input, textarea', this.$element ).on( 'focus', this.inputOnFocus.bind( this ) );\n\t\t\t$( 'input, textarea', this.$element ).on( 'blur', this.inputOnBlur.bind( this ) );\n\n\t\t}\n\n\t\tinputOnFocus( event ) {\n\n\t\t\tconst inputParent = this.getInputParent( $( event.target ) );\n\n\t\t\tinputParent.addClass( 'input-focused' );\n\n\t\t}\n\n\t\tinputOnBlur( event ) {\n\n\t\t\tconst input = $( event.target );\n\t\t\tconst inputParent = this.getInputParent( input );\n\n\t\t\tif ( input.val() !== '' ) {\n\t\t\t\tinputParent.addClass( 'input-filled' );\n\t\t\t} else {\n\t\t\t\tinputParent.removeClass( 'input-filled' );\n\t\t\t}\n\n\t\t\tinputParent.removeClass( 'input-focused' );\n\n\t\t}\n\n\t}\n\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'form-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( 'form, .lqd-filter-dropdown, .widget' ).not( '[name=\"chbs-form\"], .frm-fluent-form, .hub-booking-form, .geodir-listing-search' ).liquidFormInputs();\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidHover3d';\n\tlet defaults = {\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = {...defaults, ...options};\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\tthis.hoverable = this.element.querySelector('[data-stacking-factor]');\n\t\t\tthis.stackingFactor = this.hoverable.getAttribute('data-stacking-factor');\n\n\t\t\tthis.rect = {};\n\t\t\tthis.maxRotation = 8;\n\t\t\tthis.maxTranslation = 4;\n\n\t\t\tthis.build();\n\n\t\t}\n\t\t\n\t\tbuild() {\n\n\t\t\tfastdom.measure(() => {\n\n\t\t\t\tnew IntersectionObserver(([entry], observer) => {\n\n\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\tconst {boundingClientRect} = entry;\n\n\t\t\t\t\tthis.rect = {\n\t\t\t\t\t\twidth: boundingClientRect.width,\n\t\t\t\t\t\theight: boundingClientRect.height\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.init();\n\n\t\t\t\t\tthis.$element.addClass('hover-3d-applied');\n\n\t\t\t\t}).observe(this.element);\n\n\t\t\t})\n\n\t\t}\n\n\t\tmeasure() {\n\n\t\t\treturn fastdomPromised.measure(() => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tnew IntersectionObserver(([entry], observer) => {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tresolve(entry.boundingClientRect);\n\t\t\t\t\t}).observe(this.element);\n\t\t\t\t})\n\t\t\t}).then(rect => {\n\t\t\t\tthis.rect = {\n\t\t\t\t\twidth: rect.width,\n\t\t\t\t\theight: rect.height\n\t\t\t\t};\n\t\t\t})\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.eventHandlers();\n\n\t\t}\n\n\t\teventHandlers() {\n\n\t\t\tthis.$element.on('mousemove.lqdHover3d', this.hover.bind(this));\n\t\t\tthis.$element.on('mouseleave.lqdHover3d', this.leave.bind(this));\n\t\t\t\n\t\t\t$liquidWindow.on('resize.lqdHover3d', this.onWindowLoad.bind(this));\n\n\t\t}\n\n\t\tasync onWindowLoad() {\n\n\t\t\tawait this.measure();\n\n\t\t}\n\n\t\tanimate(config, isIn) {\n\n\t\t\tfastdom.mutate(() => {\n\n\t\t\t\tif ( isIn ) {\n\t\t\t\t\tthis.element.classList.add('mouse-in');\n\t\t\t\t} else {\n\t\t\t\t\tthis.element.classList.remove('mouse-in');\n\t\t\t\t}\n\n\t\t\t\tthis.hoverable.style.transition = 'none';\n\t\n\t\t\t\tgsap.to(this.hoverable, {\n\t\t\t\t\tx: (config.xTranslationPercentage * -1) * config.maxTranslationX,\n\t\t\t\t\ty: (config.yTranslationPercentage * -1) * config.maxTranslationY,\n\t\t\t\t\trotateX: (config.xRotationPercentage * -1) * config.maxRotationX,\n\t\t\t\t\trotateY: (config.yRotationPercentage * -1) * config.maxRotationY,\n\t\t\t\t\tduration: 0.8,\n\t\t\t\t\tease: 'power2.out'\n\t\t\t\t});\n\n\t\t\t})\n\n\t\t}\n\n\t\tcalculateRotationPercentage(offset, dimension) {\n\t\t\treturn ((-2 / dimension) * offset) + 1;\n\t\t}\n\n\t\tcalculateTranslationPercentage(offset, dimension) {\n\t\t\treturn ((-2 / dimension) * offset) + 1;\n\t\t}\n\n\t\thover(e) {\n\n\t\t\tconst mouseOffsetInside = {\n\t\t\t\tx: e.pageX - this.$element.offset().left,\n\t\t\t\ty: e.pageY - this.$element.offset().top,\n\t\t\t};\n\t\t\tconst transVals = {\n\t\t\t\txRotationPercentage: this.calculateRotationPercentage(mouseOffsetInside.y, this.rect.height),\n\t\t\t\tyRotationPercentage: this.calculateRotationPercentage(mouseOffsetInside.x, this.rect.width) * -1,\n\t\t\t\txTranslationPercentage: this.calculateTranslationPercentage(mouseOffsetInside.x, this.rect.width),\n\t\t\t\tyTranslationPercentage: this.calculateTranslationPercentage(mouseOffsetInside.y, this.rect.height),\n\t\t\t}\n\t\t\t\t\n\t\t\tthis.animate({\n\t\t\t\tmaxTranslationX: this.maxTranslation * this.stackingFactor,\n\t\t\t\tmaxTranslationY: this.maxTranslation * this.stackingFactor,\n\t\t\t\tmaxRotationX: this.maxRotation * this.stackingFactor,\n\t\t\t\tmaxRotationY: this.maxRotation * this.stackingFactor,\n\t\t\t\txRotationPercentage: transVals.xRotationPercentage,\n\t\t\t\tyRotationPercentage: transVals.yRotationPercentage,\n\t\t\t\txTranslationPercentage: transVals.xTranslationPercentage,\n\t\t\t\tyTranslationPercentage: transVals.yTranslationPercentage\n\t\t\t}, true);\n\n\t\t}\n\n\t\tleave() {\n\n\t\t\tthis.animate({\n\t\t\t\tmaxTranslationX: 0,\n\t\t\t\tmaxTranslationY: 0,\n\t\t\t\tmaxRotationX: 0,\n\t\t\t\tmaxRotationY: 0,\n\t\t\t\txRotationPercentage: 0,\n\t\t\t\tyRotationPercentage: 0,\n\t\t\t\txTranslationPercentage: 0,\n\t\t\t\tyTranslationPercentage: 0\n\t\t\t}, false);\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tthis.$element.off('mousemove.lqdHover3d mouseleave.lqdHover3d');\n\t\t\t$liquidWindow.off('resize.lqdHover3d');\n\n\t\t}\n\n\t}\n\t\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('hover3d-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\tif ( liquidIsMobile() ) return false;\n\n\t$('[data-hover3d]').filter( (i, element) => ! $(element).closest('.lqd-tabs-pane').not('.active').length ).liquidHover3d();\n\n});\n","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidIconboxCircle';\n\tlet defaults = {\n\t\tstartAngle: 45,\n\t\titemSelector: '.lqd-ib-circ-icn, .one-ib-circ-icn',\n\t\tcontentsContainer: '.lqd-ib-circ-inner, .one-ib-circ-inner'\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis.element = element;\n\n\t\t\tthis.options = $.extend({}, defaults, options);\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.$parent = $(this.options.contentsContainer);\n\t\t\tthis.$items = $(this.options.itemSelector, this.element);\n\t\t\tthis.anglesArray = [this.options.startAngle];\n\n\t\t\tthis.init();\n\n\t\t}\n\t\t\t\n\t\tinit() {\n\n\t\t\tthis.addAngles(this.$items);\n\t\t\tthis.setTransformOrigin();\n\t\t\tthis.setIntersectionObserver();\n\t\t\tthis.windowResize();\n\t\t\t\n\t\t}\n\n\t\tgetItemsArray() {\n\n\t\t\tconst $items = this.$items;\n\t\t\tconst itemsLength = $items.length;\n\t\t\tconst itemsArray = [];\n\n\t\t\tfor ( let i = 0; i < itemsLength; i++ ) {\n\n\t\t\t\titemsArray.push($items[i]);\n\n\t\t\t}\n\n\t\t\treturn itemsArray;\n\n\t\t}\n\n\t\tgetElementDimension($element) {\n\n\t\t\treturn {\n\t\t\t\twidth: $element.width(),\n\t\t\t\theight: $element.height()\n\t\t\t};\n\n\t\t}\n\t\t\n\t\taddAngles($elements) {\n\n\t\t\tconst elementsLength = $elements.length;\n\n\t\t\t$elements.each( (i) => {\t\n\t\t\t\t\n\t\t\t\tthis.anglesArray.push( 360 / ( elementsLength ) + ( this.anglesArray[i] ) );\n\n\t\t\t});\n\n\t\t}\n\n\t\tsetTransformOrigin() {\n\n\t\t\tconst parentDimensions = this.getElementDimension(this.$parent);\n\t\t\t\n\t\t\tthis.$items.each( (i, element) => {\n\t\t\t\t\n\t\t\t\tconst $element = $(element);\n\n\t\t\t\t$element.css({\n\t\t\t\t\ttransformOrigin: ''\n\t\t\t\t});\n\t\t\t\t$element.css({\n\t\t\t\t\ttransformOrigin: `${( parentDimensions.width / 2 )}px ${( parentDimensions.height / 2 )}px`,\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t$element.children().css({\n\t\t\t\t\ttransform: `rotate(${ this.anglesArray[i] * -1 }deg)`,\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t}\n\n\t\tsetIntersectionObserver() {\n\n\t\t\tnew IntersectionObserver((enteries, observer) => {\n\n\t\t\t\tenteries.forEach( entery => {\n\n\t\t\t\t\tif ( entery.isIntersecting ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.animateIcons();\n\n\t\t\t\t\t\tobserver.unobserve(entery.target);\n\n\t\t\t\t\t}\n\n\t\t\t\t});\n\n\t\t\t}, { threshold: 0.25 }).observe(this.\telement);\n\n\t\t}\n\n\t\tanimateIcons() {\n\n\t\t\tconst icons = this.getItemsArray();\n\t\t\tconst timeline = gsap.timeline();\n\n\t\t\ttimeline.to(icons, {\n\t\t\t\topacity: 1,\n\t\t\t\tduration: 0.2,\n\t\t\t\tease: 'linear',\n\t\t\t\tstagger: i => i * 0.2\n\t\t\t}, 0.45)\n\t\t\t.to(icons, {\n\t\t\t\trotation: i => this.anglesArray[i],\n\t\t\t\tduration: 1,\n\t\t\t\tease: 'power4.inOut',\n\t\t\t\tstagger: i => i * 0.15,\n\t\t\t}, 0);\n\n\t\t}\n\n\t\twindowResize() {\n\n\t\t\t$(window).on('resize.lqdIconboxCircle', this.setTransformOrigin.bind(this));\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\t$(window).off('resize.lqdIconboxCircle');\n\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('plugin-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('[data-spread-incircle]').liquidIconboxCircle();\n});","// https://github.com/CodyHouse/image-comparison-slider\n( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidImageComparison';\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.dragging = false;\n\t\t\tthis.resizing = false;\n\n\t\t\tthis.$dragElement = this.$element.find( '.cd-handle' );\n\t\t\tthis.$resizeElement = this.$element.find( '.cd-resize-img' );\n\t\t\tthis.dragWidth = this.$dragElement.outerWidth();\n\t\t\tthis.containerWidth = this.$element.outerWidth();\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.element.style.setProperty( '--container-width', `${ this.containerWidth }px` );\n\n\t\t\tthis.initIO();\n\n\t\t\tthis._drags();\n\n\t\t}\n\n\t\tinitIO() {\n\n\t\t\tnew IntersectionObserver( ( enteries ) => {\n\n\t\t\t\tenteries.forEach( entery => {\n\n\t\t\t\t\tif ( entery.isIntersecting ) {\n\n\t\t\t\t\t\tthis.$element.addClass( 'is-visible' );\n\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t} ).observe( this.element, { threshold: 0.35 } );\n\n\t\t}\n\n\t\t//draggable funtionality - credits to http://css-tricks.com/snippets/jquery/draggable-without-jquery-ui/\n\t\t_drags() {\n\n\t\t\tthis.$dragElement.on( \"pointerdown.lqdImageComparison\", event => {\n\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tthis.$dragElement.addClass( 'draggable' );\n\t\t\t\tthis.$resizeElement.addClass( 'resizable' );\n\n\t\t\t\tconst x = event.originalEvent.pageX;\n\t\t\t\tconst xPosition = this.$dragElement.offset().left + this.dragWidth - x;\n\n\t\t\t\t$( document ).on( \"pointermove.lqdImageComparison\", event => {\n\n\t\t\t\t\tif ( !this.dragging ) {\n\n\t\t\t\t\t\tthis.dragging = true;\n\t\t\t\t\t\trequestAnimationFrame( () => {\n\t\t\t\t\t\t\tthis._animateDraggedHandle( event, xPosition );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t\t$( document ).on( \"pointerup.lqdImageComparison\", () => {\n\n\t\t\t\tthis.$dragElement.removeClass( 'draggable' );\n\t\t\t\tthis.$resizeElement.removeClass( 'resizable' );\n\n\t\t\t\t$( document ).off( 'pointermove.lqdImageComparison' );\n\n\t\t\t\tthis.dragging = false;\n\n\t\t\t} );\n\n\t\t}\n\n\t\t_animateDraggedHandle( event, xPosition ) {\n\n\t\t\tvar containerOffset = this.$element.offset().left;\n\t\t\tvar minLeft = containerOffset;\n\t\t\tvar maxLeft = containerOffset + this.containerWidth;\n\t\t\tvar x = event.originalEvent.pageX;\n\t\t\tvar leftValue = x + xPosition - ( this.dragWidth / 2 );\n\t\t\t//constrain the draggable element to move inside his container\n\t\t\tif ( leftValue < minLeft ) {\n\t\t\t\tleftValue = minLeft;\n\t\t\t} else if ( leftValue > maxLeft ) {\n\t\t\t\tleftValue = maxLeft;\n\t\t\t}\n\n\t\t\tvar widthValue = ( leftValue - containerOffset ) * 100 / this.containerWidth + '%';\n\n\t\t\tthis.$dragElement.css( 'left', widthValue ).on( \"pointerup.lqdImageComparison\", () => {\n\t\t\t\tthis.$dragElement.removeClass( 'draggable' );\n\t\t\t\tthis.$resizeElement.removeClass( 'resizable' );\n\t\t\t} );\n\n\t\t\tthis.$resizeElement.css( 'width', widthValue );\n\n\t\t\tthis.dragging = false;\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = $( this ).data( 'plugin-options' ) || options;\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tconst imageCopElements = $( '.cd-image-container' );\n\tconst visibleElements = imageCopElements.filter( ( i, element ) => !$( element ).closest( '.lqd-tabs-pane, .e-n-tabs-content > .e-con' ).not( '.active, .e-active' ).length );\n\tconst parentElementorTabs = imageCopElements.closest( '.e-n-tabs-content > .e-con' );\n\n\tvisibleElements.liquidImageComparison();\n\n\tif ( !parentElementorTabs.length ) return;\n\n\tconst mutationObserver = new MutationObserver( ( [ entry ], observer ) => {\n\t\tconst { target } = entry;\n\t\tif ( entry.target.classList.contains( 'e-active' ) ) {\n\t\t\t$( target ).find( '.cd-image-container' ).liquidImageComparison();\n\t\t}\n\t} );\n\n\tparentElementorTabs.each( ( i, el ) => {\n\t\tmutationObserver.observe( el, { attributes: true, attributeFilter: [ 'class' ] } );\n\t} );\n\n} );","/**\n* http://www.codrops.com\n*\n* Licensed under the MIT license.\n* http://www.opensource.org/licenses/mit-license.php\n* \n* Copyright 2019, Codrops\n* http://www.codrops.com\n*\n* Modified By LiquidThemes\n*/\n(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidImageTrail';\n\tlet defaults = {\n\t\ttrigger: 'body',\n\t\ttriggerRelation: null,\n\t\timgArrayContainer: '.lqd-img-trail-array',\n\t\tthreshold: 85,\n\t\tkeepLastItemVisible: false,\n\t\trespectDirection: false\n\t};\n\t\n\tclass Img {\n\t\tconstructor(el) {\n\t\t\tthis.DOM = {el: el};\n\t\t\t// image deafult styles\n\t\t\tthis.defaultStyle = {\n\t\t\t\tscale: 1,\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\topacity: 0\n\t\t\t};\n\t\t\t// get sizes/position\n\t\t\tthis.getRect();\n\t\t\t// init/bind events\n\t\t\tthis.initEvents();\n\t\t}\n\t\tinitEvents() {\n\t\t\t// on resize get updated sizes/position\n\t\t\twindow.addEventListener('resize', () => this.resize());\n\t\t}\n\t\tresize() {\n\t\t\t// reset styles\n\t\t\tgsap.set(this.DOM.el, {\n\t\t\t\t...this.defaultStyle\n\t\t\t});\n\t\t\t// get sizes/position\n\t\t\tthis.getRect();\n\t\t}\n\t\tgetRect() {\n\t\t\tthis.rect = this.DOM.el.getBoundingClientRect();\n\t\t}\n\t\tisActive() {\n\t\t\t// check if image is animating or if it's visible\n\t\t\treturn this.DOM.el.style.opacity != 0;\n\t\t}\n\t}\n\t\n\tclass Plugin {\n\t\t\n\t\tconstructor(element, options) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\t\t\t\n\t\t\tthis.options = $.extend({}, defaults, options);\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\t// images container\n\t\t\tthis.DOM = {\n\t\t\t\timgArrayContainer: this.element.querySelector(this.options.imgArrayContainer)\n\t\t\t};\n\t\t\t// array of Image objs, one per image element\n\t\t\tthis.images = [];\n\t\t\t[...this.DOM.imgArrayContainer.querySelectorAll('.lqd-img-trail-img')].forEach(img => this.images.push(new Img(img)));\n\t\t\t// total number of images\n\t\t\tthis.imagesTotal = this.images.length;\n\t\t\t// upcoming image index\n\t\t\tthis.imgPosition = 0;\n\t\t\t// zIndex value to apply to the upcoming image\n\t\t\tthis.zIndexVal = 1;\n\n\t\t\t// mousePos: current mouse position\n\t\t\t// this.cacheMousePos: previous mouse position\n\t\t\t// this.lastMousePos: last last recorded mouse position (at the time the last image was shown)\n\t\t\tthis.lastMousePos;\n\t\t\tthis.cacheMousePos;\n\t\t\tthis.mousePos = this.lastMousePos = this.cacheMousePos = {x: 0, y: 0};\n\n\t\t\tthis.rAFId = null;\n\t\t\t\n\t\t\tconst preloadImages = () => {\n\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\timagesLoaded(this.DOM.imgArrayContainer.querySelector('.lqd-img-trail-img'), resolve);\n\t\t\t\t});\n\t\t\t};\n\t\t\t\n\t\t\t// And then..\n\t\t\tpreloadImages().then(() => {\n\t\t\t\t// render the images\n\t\t\t\tthis.initEvents();\n\t\t\t\tthis.element.classList.add('img-trail-initiated');\n\t\t\t});\n\n\t\t}\n\n\t\tlerp(a, b, n) {\n\t\t\treturn ( (1 - n) * a + n * b );\n\t\t}\n\t\t\n\t\tdistance(x1,y1,x2,y2) {\n\t\t\treturn Math.hypot(x2-x1, y2-y1);\n\t\t}\n\n\t\t// gets the distance from the current mouse position to the last recorded mouse position\n\t\tgetMouseDistance () {\n\t\t\treturn this.distance(this.mousePos.x,this.mousePos.y,this.lastMousePos.x,this.lastMousePos.y);\n\t\t}\n\n\t\tsetThreshold(trigger) {\n\n\t\t\tif ( this.options.threshold === 'auto' ) {\n\t\t\t\tthis.options.threshold = ($(trigger).outerWidth() / this.images.length - 1) / 1.75;\n\t\t\t}\n\n\t\t}\n\n\t\tinitEvents() {\n\n\t\t\tlet { trigger, triggerRelation } = this.options;\n\n\t\t\tif ( triggerRelation ) {\n\t\t\t\ttrigger = this.$element[triggerRelation](trigger);\n\t\t\t}\n\n\t\t\tif ( trigger === 'this' ) {\n\t\t\t\ttrigger = this.element;\n\t\t\t}\n\n\t\t\tthis.setThreshold(trigger);\n\n\t\t\t// update the mouse position\n\t\t\t$(trigger).on('mouseenter', () => this.rAFId = requestAnimationFrame(this.render.bind(this)));\n\t\t\t$(trigger).on('mousemove', ev => {\n\t\t\t\tthis.mousePos = liquidGetMousePos(ev, true)\n\t\t\t});\n\t\t\t$(trigger).on('mouseleave', () => cancelAnimationFrame(this.rAFId));\n\n\t\t}\n\t\t\n\t\trender() {\n\n\t\t\t// get distance between the current mouse position and the position of the previous image\n\t\t\tlet distance = this.getMouseDistance();\n\t\t\t// cache previous mouse position\n\t\t\tthis.cacheMousePos.x = this.lerp(this.cacheMousePos.x || this.mousePos.x, this.mousePos.x, 0.1);\n\t\t\tthis.cacheMousePos.y = this.lerp(this.cacheMousePos.y || this.mousePos.y, this.mousePos.y, 0.1);\n\t\t\t\n\t\t\t// if the mouse moved more than [this.options.threshold] then show the next image\n\t\t\tif ( distance > this.options.threshold ) {\n\t\t\t\t\n\t\t\t\t++this.zIndexVal;\n\n\t\t\t\tif ( ! this.options.respectDirection || ( this.options.respectDirection && this.cacheMousePos.x < this.mousePos.x ) ) {\n\t\t\t\t\tthis.imgPosition = this.imgPosition < this.imagesTotal - 1 ? this.imgPosition + 1 : 0;\n\t\t\t\t} else {\n\t\t\t\t\tthis.imgPosition = this.imgPosition === 0 ? this.imagesTotal - 1 : this.imgPosition - 1;\n\t\t\t\t}\n\n\t\t\t\tthis.showNextImage();\n\t\t\t\t\n\t\t\t\tthis.lastMousePos = this.mousePos;\n\t\t\t}\n\t\t\t\n\t\t\t// check when mousemove stops and all images are inactive (not visible and not animating)\n\t\t\tlet isIdle = true;\n\t\t\tfor (let img of this.images) {\n\t\t\t\tif ( img.isActive() ) {\n\t\t\t\t\tisIdle = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// reset z-index initial value\n\t\t\tif ( isIdle && this.zIndexVal !== 1 ) {\n\t\t\t\tthis.zIndexVal = 1;\n\t\t\t}\n\n\t\t\tthis.rAFId = requestAnimationFrame(this.render.bind(this));\n\t\t}\n\n\t\tshowNextImage() {\n\n\t\t\t// show image at position [this.imgPosition]\n\t\t\tconst img = this.images[this.imgPosition];\n\t\t\t// kill any tween on the image\n\t\t\tgsap.killTweensOf(img.DOM.el);\n\n\t\t\timg.DOM.el.style.zIndex = this.zIndexVal;\n\n\t\t\tgsap.timeline({\n\t\t\t\tonStart: () => {\n\t\t\t\t\tif ( this.options.keepLastItemVisible ) {\n\t\t\t\t\t\tthis.images.forEach((image, i) => {\n\t\t\t\t\t\t\tif ( i !== this.images.indexOf(img) ) {\n\t\t\t\t\t\t\t\tgsap.killTweensOf(image.DOM.el);\n\t\t\t\t\t\t\t\tgsap.to(image.DOM.el, {\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\tduration: 0.25,\n\t\t\t\t\t\t\t\t\tease: 'expo.out'\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t.set(img.DOM.el, {\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tzIndex: this.zIndexVal,\n\t\t\t\t\tx: this.cacheMousePos.x - img.rect.width/2,\n\t\t\t\t\ty: this.cacheMousePos.y - img.rect.height/2\n\t\t\t}, 0)\n\t\t\t.to(img.DOM.el, {\n\t\t\t\t\tease: 'expo.out',\n\t\t\t\t\tduration: 0.9,\n\t\t\t\t\tx: this.mousePos.x - img.rect.width/2,\n\t\t\t\t\ty: this.mousePos.y - img.rect.height/2\n\t\t\t}, 0)\n\t\t\t.to(img.DOM.el, {\n\t\t\t\t\tease: 'power1.out',\n\t\t\t\t\tduration: 1,\n\t\t\t\t\topacity: this.options.keepLastItemVisible ? 1 : 0,\n\t\t\t}, 0.4);\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('img-trl-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\t$('[data-lqd-img-trail]').liquidImageTrail();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidLightBox';\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\n\t\t\tthis.isOpen = false;\n\t\t\tthis.$modalWrapper = false;\n\t\t\tthis.$backdrop = false;\n\t\t\tthis.lityInstance = false;\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.events();\n\n\t\t}\n\n\t\tevents() {\n\n\t\t\t$( document ).on( 'lity:ready', ( ev, instance ) => this.onReady.call( this, ev, instance ) );\n\t\t\t$( document ).on( 'lity:open', this.onOpen.bind( this ) );\n\t\t\t$( document ).on( 'lity:close', this.onClose.bind( this ) );\n\n\t\t}\n\n\t\tonReady( event, instance ) {\n\n\t\t\tconst $modalWrapper = $( instance.element() );\n\t\t\tconst $modalEl = $( event.target );\n\t\t\tconst $opener = $( instance.opener() )\n\t\t\tconst modalType = $modalEl.attr( 'data-modal-type' );\n\n\t\t\t$modalWrapper.attr( 'data-modal-type', modalType );\n\n\t\t\tif ( modalType === 'box' ) {\n\t\t\t\tthis.boxModalPosition( $modalWrapper, $opener );\n\t\t\t} else {\n\t\t\t\t$modalWrapper.removeClass( 'to-left pos-fix' );\n\t\t\t\t$modalWrapper.css( {\n\t\t\t\t\ttop: '',\n\t\t\t\t\tbottom: '',\n\t\t\t\t\tleft: '',\n\t\t\t\t\tright: ''\n\t\t\t\t} )\n\t\t\t}\n\n\t\t}\n\n\t\tonOpen( event, instance ) {\n\n\t\t\tthis.lityInstance = instance;\n\t\t\tthis.$modalWrapper = $( event.target );\n\t\t\tthis.$backdrop = this.$modalWrapper.children( '.lity-backdrop' );\n\t\t\tthis.isOpen = true;\n\n\t\t\tthis.lityInstance.element().show();\n\t\t\tthis.lityInstance.opener().addClass( 'pointer-events-none' );\n\t\t\tthis.$backdrop.on( 'click.lqdModal', this.onBackdropClick.bind( this ) );\n\n\t\t\tconst $masonryEls = $( '[data-liquid-masonry]' );\n\n\t\t\t$masonryEls.each( ( i, el ) => {\n\t\t\t\tconst $el = $( el );\n\t\t\t\tconst pluginData = $el.data( 'plugin_liquidMasonry' );\n\t\t\t\tconst isoData = pluginData && pluginData.isoData;\n\t\t\t\tisoData && isoData.layout();\n\t\t\t} );\n\t\t}\n\n\t\tonClose( event ) {\n\n\t\t\tconst $target = $( event.target );\n\t\t\tconst $video = $target.find( 'video' );\n\t\t\tconst $audio = $target.find( 'audio' );\n\t\t\tconst $iframe = $target.find( 'iframe' );\n\n\t\t\tif ( $video.length ) {\n\t\t\t\tconst video = $video.get( 0 );\n\t\t\t\tvideo.oncanplay = video.pause();\n\t\t\t}\n\n\t\t\tif ( $audio.length ) {\n\t\t\t\tconst audio = $audio.get( 0 );\n\t\t\t\taudio.oncanplay = audio.pause();\n\t\t\t}\n\n\t\t\t$iframe.each( ( i, iframe ) => {\n\t\t\t\tif ( !( !!( iframe.contentDocument ) ) ) return;\n\t\t\t\tconst iframeDoc = iframe.contentDocument || iframe.contentWindow.document;\n\t\t\t\tconst video = iframeDoc.querySelector( 'video' );\n\t\t\t\tconst audio = iframeDoc.querySelector( 'audio' );\n\t\t\t\tvideo && video.pause();\n\t\t\t\taudio && audio.pause();\n\t\t\t} )\n\n\t\t\tthis.lityInstance.opener().blur();\n\t\t\tthis.lityInstance.opener().removeClass( 'pointer-events-none' );\n\t\t\tthis.$modalWrapper.removeClass( 'to-left' );\n\n\t\t\tthis.lityInstance = false;\n\t\t\tthis.isOpen = false;\n\t\t\tthis.$modalWrapper = false;\n\n\t\t\t$( document ).off( 'click.lqdModal' );\n\n\t\t}\n\n\t\tboxModalPosition( $modalWrapper, $opener ) {\n\n\t\t\tconst openerOffset = $opener.offset();\n\t\t\tconst modalWidth = $modalWrapper.outerWidth();\n\t\t\tconst modalHeight = $modalWrapper.outerHeight();\n\t\t\tconst offset = openerOffset.left + $opener.outerWidth() - 60;\n\t\t\tconst windowWidth = liquidWindowWidth();\n\n\t\t\tif ( $opener.closest( '.lqd-stickybar-wrap' ).length ) {\n\t\t\t\t$modalWrapper.addClass( 'pos-fix' );\n\t\t\t\t$modalWrapper.css( {\n\t\t\t\t\ttop: openerOffset.top - window.scrollY - modalHeight - 25,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t$modalWrapper.removeClass( 'pos-fix' );\n\t\t\t\t$modalWrapper.css( {\n\t\t\t\t\ttop: openerOffset.top - modalHeight - 25,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t$modalWrapper.css( {\n\t\t\t\tleft: offset,\n\t\t\t\tright: offset + modalWidth >= windowWidth ? windowWidth - offset : 'auto'\n\t\t\t} );\n\n\t\t\tif ( offset + modalWidth >= windowWidth ) {\n\n\t\t\t\t$modalWrapper.addClass( 'to-left' );\n\n\t\t\t\t$modalWrapper.css( {\n\t\t\t\t\tleft: 'auto',\n\t\t\t\t\tright: windowWidth - offset - 60\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\tif ( windowWidth <= 480 ) {\n\t\t\t\t$modalWrapper.css( {\n\t\t\t\t\tleft: ( windowWidth / 2 ) - ( modalWidth / 2 ),\n\t\t\t\t\tright: 'auto',\n\t\t\t\t} );\n\t\t\t}\n\n\t\t}\n\n\t\tonBackdropClick() {\n\n\t\t\tif ( !this.isOpen || !this.$modalWrapper || !this.lityInstance ) return;\n\n\t\t\tthis.lityInstance.close();\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'lightbox-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery, window, document ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-lity]' ).liquidLightBox();\n} );","; ( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidMap';\n\tlet defaults = {\n\t\taddress: '7420 Shore Rd, Brooklyn, NY 11209, USA',\n\t\tmarker: null,\n\t\tstyle: 'wy',\n\t\tmarker_style: 'default', // options: \"image\",\"html\"\n\t\tclassName: 'lqd-custom-map-marker pos-abs absolute border-radius-circle',\n\t\tmarkers: null,\n\t\tmap: {\n\t\t\tzoom: 16,\n\t\t\tmapTypeId: 'roadmap',\n\t\t\tdisableDefaultUI: true,\n\t\t\tpanControl: false,\n\t\t\tzoomControl: true,\n\t\t\tmapTypeControl: false,\n\t\t\tstreetViewControl: false,\n\t\t\tscrollwheel: false\n\t\t}\n\t};\n\n\tconst styles = {\n\t\t\"wy\": [ { \"featureType\": \"all\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"weight\": \"2.00\" } ] }, { \"featureType\": \"all\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#9c9c9c\" } ] }, { \"featureType\": \"all\", \"elementType\": \"labels.text\", \"stylers\": [ { \"visibility\": \"on\" } ] }, { \"featureType\": \"landscape\", \"elementType\": \"all\", \"stylers\": [ { \"color\": \"#f2f2f2\" } ] }, { \"featureType\": \"landscape\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#ffffff\" } ] }, { \"featureType\": \"landscape.man_made\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#ffffff\" } ] }, { \"featureType\": \"poi\", \"elementType\": \"all\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"road\", \"elementType\": \"all\", \"stylers\": [ { \"saturation\": -100 }, { \"lightness\": 45 } ] }, { \"featureType\": \"road\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#eeeeee\" } ] }, { \"featureType\": \"road\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#7b7b7b\" } ] }, { \"featureType\": \"road\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"color\": \"#ffffff\" } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"all\", \"stylers\": [ { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"labels.icon\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"transit\", \"elementType\": \"all\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"water\", \"elementType\": \"all\", \"stylers\": [ { \"color\": \"#46bcec\" }, { \"visibility\": \"on\" } ] }, { \"featureType\": \"water\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#c8d7d4\" } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#070707\" } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"color\": \"#ffffff\" } ] } ],\n\t\t\"blueEssence\": [ { \"featureType\": \"landscape.natural\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"visibility\": \"on\" }, { \"color\": \"#e0efef\" } ] }, { \"featureType\": \"poi\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"visibility\": \"on\" }, { \"hue\": \"#1900ff\" }, { \"color\": \"#c0e8e8\" } ] }, { \"featureType\": \"road\", \"elementType\": \"geometry\", \"stylers\": [ { \"lightness\": 100 }, { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"road\", \"elementType\": \"labels\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"transit.line\", \"elementType\": \"geometry\", \"stylers\": [ { \"visibility\": \"on\" }, { \"lightness\": 700 } ] }, { \"featureType\": \"water\", \"elementType\": \"all\", \"stylers\": [ { \"color\": \"#7dcdcd\" } ] } ],\n\t\t\"lightMonochrome\": [ { \"featureType\": \"administrative.locality\", \"elementType\": \"all\", \"stylers\": [ { \"hue\": \"#2c2e33\" }, { \"saturation\": 7 }, { \"lightness\": 19 }, { \"visibility\": \"on\" } ] }, { \"featureType\": \"landscape\", \"elementType\": \"all\", \"stylers\": [ { \"hue\": \"#ffffff\" }, { \"saturation\": -100 }, { \"lightness\": 100 }, { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"poi\", \"elementType\": \"all\", \"stylers\": [ { \"hue\": \"#ffffff\" }, { \"saturation\": -100 }, { \"lightness\": 100 }, { \"visibility\": \"off\" } ] }, { \"featureType\": \"road\", \"elementType\": \"geometry\", \"stylers\": [ { \"hue\": \"#bbc0c4\" }, { \"saturation\": -93 }, { \"lightness\": 31 }, { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"road\", \"elementType\": \"labels\", \"stylers\": [ { \"hue\": \"#bbc0c4\" }, { \"saturation\": -93 }, { \"lightness\": 31 }, { \"visibility\": \"on\" } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"labels\", \"stylers\": [ { \"hue\": \"#bbc0c4\" }, { \"saturation\": -93 }, { \"lightness\": -2 }, { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"road.local\", \"elementType\": \"geometry\", \"stylers\": [ { \"hue\": \"#e9ebed\" }, { \"saturation\": -90 }, { \"lightness\": -8 }, { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"transit\", \"elementType\": \"all\", \"stylers\": [ { \"hue\": \"#e9ebed\" }, { \"saturation\": 10 }, { \"lightness\": 69 }, { \"visibility\": \"on\" } ] }, { \"featureType\": \"water\", \"elementType\": \"all\", \"stylers\": [ { \"hue\": \"#e9ebed\" }, { \"saturation\": -78 }, { \"lightness\": 67 }, { \"visibility\": \"simplified\" } ] } ],\n\t\t\"assassinsCreedIV\": [ { \"featureType\": \"all\", \"elementType\": \"all\", \"stylers\": [ { \"visibility\": \"on\" } ] }, { \"featureType\": \"all\", \"elementType\": \"labels\", \"stylers\": [ { \"visibility\": \"off\" }, { \"saturation\": \"-100\" } ] }, { \"featureType\": \"all\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"saturation\": 36 }, { \"color\": \"#000000\" }, { \"lightness\": 40 }, { \"visibility\": \"off\" } ] }, { \"featureType\": \"all\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"visibility\": \"off\" }, { \"color\": \"#000000\" }, { \"lightness\": 16 } ] }, { \"featureType\": \"all\", \"elementType\": \"labels.icon\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"administrative\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 20 } ] }, { \"featureType\": \"administrative\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 17 }, { \"weight\": 1.2 } ] }, { \"featureType\": \"landscape\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 20 } ] }, { \"featureType\": \"landscape\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#4d6059\" } ] }, { \"featureType\": \"landscape\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#4d6059\" } ] }, { \"featureType\": \"landscape.natural\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#4d6059\" } ] }, { \"featureType\": \"poi\", \"elementType\": \"geometry\", \"stylers\": [ { \"lightness\": 21 } ] }, { \"featureType\": \"poi\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#4d6059\" } ] }, { \"featureType\": \"poi\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#4d6059\" } ] }, { \"featureType\": \"road\", \"elementType\": \"geometry\", \"stylers\": [ { \"visibility\": \"on\" }, { \"color\": \"#7f8d89\" } ] }, { \"featureType\": \"road\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#7f8d89\" } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#7f8d89\" }, { \"lightness\": 17 } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#7f8d89\" }, { \"lightness\": 29 }, { \"weight\": 0.2 } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 18 } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#7f8d89\" } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#7f8d89\" } ] }, { \"featureType\": \"road.local\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 16 } ] }, { \"featureType\": \"road.local\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#7f8d89\" } ] }, { \"featureType\": \"road.local\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#7f8d89\" } ] }, { \"featureType\": \"transit\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 19 } ] }, { \"featureType\": \"water\", \"elementType\": \"all\", \"stylers\": [ { \"color\": \"#2b3638\" }, { \"visibility\": \"on\" } ] }, { \"featureType\": \"water\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#2b3638\" }, { \"lightness\": 17 } ] }, { \"featureType\": \"water\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#24282b\" } ] }, { \"featureType\": \"water\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#24282b\" } ] }, { \"featureType\": \"water\", \"elementType\": \"labels\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.text\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.icon\", \"stylers\": [ { \"visibility\": \"off\" } ] } ],\n\t\t\"unsaturatedBrowns\": [ { \"elementType\": \"geometry\", \"stylers\": [ { \"hue\": \"#ff4400\" }, { \"saturation\": -68 }, { \"lightness\": -4 }, { \"gamma\": 0.72 } ] }, { \"featureType\": \"road\", \"elementType\": \"labels.icon\" }, { \"featureType\": \"landscape.man_made\", \"elementType\": \"geometry\", \"stylers\": [ { \"hue\": \"#0077ff\" }, { \"gamma\": 3.1 } ] }, { \"featureType\": \"water\", \"stylers\": [ { \"hue\": \"#00ccff\" }, { \"gamma\": 0.44 }, { \"saturation\": -33 } ] }, { \"featureType\": \"poi.park\", \"stylers\": [ { \"hue\": \"#44ff00\" }, { \"saturation\": -23 } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"hue\": \"#007fff\" }, { \"gamma\": 0.77 }, { \"saturation\": 65 }, { \"lightness\": 99 } ] }, { \"featureType\": \"water\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"gamma\": 0.11 }, { \"weight\": 5.6 }, { \"saturation\": 99 }, { \"hue\": \"#0091ff\" }, { \"lightness\": -86 } ] }, { \"featureType\": \"transit.line\", \"elementType\": \"geometry\", \"stylers\": [ { \"lightness\": -48 }, { \"hue\": \"#ff5e00\" }, { \"gamma\": 1.2 }, { \"saturation\": -23 } ] }, { \"featureType\": \"transit\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"saturation\": -64 }, { \"hue\": \"#ff9100\" }, { \"lightness\": 16 }, { \"gamma\": 0.47 }, { \"weight\": 2.7 } ] } ],\n\t\t\"classic\": [ { \"featureType\": \"administrative.country\", \"elementType\": \"geometry\", \"stylers\": [ { \"visibility\": \"simplified\" }, { \"hue\": \"#ff0000\" } ] } ],\n\t\t\"evenLighter\": [ { \"featureType\": \"administrative\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#6195a0\" } ] }, { \"featureType\": \"landscape\", \"elementType\": \"all\", \"stylers\": [ { \"color\": \"#f2f2f2\" } ] }, { \"featureType\": \"landscape\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#ffffff\" } ] }, { \"featureType\": \"poi\", \"elementType\": \"all\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"poi.park\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#e6f3d6\" }, { \"visibility\": \"on\" } ] }, { \"featureType\": \"road\", \"elementType\": \"all\", \"stylers\": [ { \"saturation\": -100 }, { \"lightness\": 45 }, { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"all\", \"stylers\": [ { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#f4d2c5\" }, { \"visibility\": \"simplified\" } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"labels.text\", \"stylers\": [ { \"color\": \"#4e4e4e\" } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#f4f4f4\" } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"color\": \"#787878\" } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"labels.icon\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"transit\", \"elementType\": \"all\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"water\", \"elementType\": \"all\", \"stylers\": [ { \"color\": \"#eaf6f8\" }, { \"visibility\": \"on\" } ] }, { \"featureType\": \"water\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#eaf6f8\" } ] } ],\n\t\t\"shadesOfGray\": [ { \"featureType\": \"all\", \"elementType\": \"labels.text.fill\", \"stylers\": [ { \"saturation\": 36 }, { \"color\": \"#000000\" }, { \"lightness\": 40 } ] }, { \"featureType\": \"all\", \"elementType\": \"labels.text.stroke\", \"stylers\": [ { \"visibility\": \"on\" }, { \"color\": \"#000000\" }, { \"lightness\": 16 } ] }, { \"featureType\": \"all\", \"elementType\": \"labels.icon\", \"stylers\": [ { \"visibility\": \"off\" } ] }, { \"featureType\": \"administrative\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 20 } ] }, { \"featureType\": \"administrative\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 17 }, { \"weight\": 1.2 } ] }, { \"featureType\": \"landscape\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 20 } ] }, { \"featureType\": \"poi\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 21 } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"geometry.fill\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 17 } ] }, { \"featureType\": \"road.highway\", \"elementType\": \"geometry.stroke\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 29 }, { \"weight\": 0.2 } ] }, { \"featureType\": \"road.arterial\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 18 } ] }, { \"featureType\": \"road.local\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 16 } ] }, { \"featureType\": \"transit\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 19 } ] }, { \"featureType\": \"water\", \"elementType\": \"geometry\", \"stylers\": [ { \"color\": \"#000000\" }, { \"lightness\": 17 } ] } ]\n\t};\n\tclass LqdGMap {\n\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\t\t\tthis.options.map = { ...defaults.map, ...options.map };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.init( element, this.options );\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.build();\n\t\t\tthis.adjustHeight();\n\n\t\t\treturn this;\n\t\t}\n\n\t\tbuild() {\n\n\t\t\tconst mapOpts = { ...this.options.map, styles: styles[ this.options.style ] };\n\t\t\tconst map = new google.maps.Map( this.element, mapOpts );\n\t\t\tconst geocoder = new google.maps.Geocoder();\n\n\t\t\tgeocoder.geocode( {\n\t\t\t\t\"address\": this.options.address\n\t\t\t}, ( results, status ) => {\n\n\t\t\t\tif ( status == google.maps.GeocoderStatus.OK ) {\n\n\t\t\t\t\tconst result = results[ 0 ].geometry.location;\n\t\t\t\t\tconst latitude = results[ 0 ].geometry.location.lat();\n\t\t\t\t\tconst longitude = results[ 0 ].geometry.location.lng();\n\n\t\t\t\t\tif ( this.options.marker_style === 'html' ) {\n\n\t\t\t\t\t\tthis.$element.addClass( 'marker-html' );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( this.options.markers == null ) {\n\n\t\t\t\t\t\tthis.addMarker( result, map );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tfor ( var i = 0; i < this.options.markers.length; i++ ) {\n\n\t\t\t\t\t\t\tthis.addMarker( new google.maps.LatLng( this.options.markers[ i ][ 0 ], this.options.markers[ i ][ 1 ] ), map );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\t//center map on location\n\t\t\t\t\tmap.setCenter( new google.maps.LatLng( latitude, longitude ) );\n\n\t\t\t\t\t$( '.lightbox-link[data-type=inline]' ).on( 'mfpOpen', function ( e ) {\n\t\t\t\t\t\tsetTimeout( function () {\n\t\t\t\t\t\t\tmap.setCenter( new google.maps.LatLng( latitude, longitude ) );\n\t\t\t\t\t\t}, 500 );\n\t\t\t\t\t} );\n\n\t\t\t\t\t$( document ).on( 'shown.bs.tab', 'a[data-toggle=\"tab\"]', function ( e ) {\n\t\t\t\t\t\tsetTimeout( function () {\n\t\t\t\t\t\t\tmap.setCenter( new google.maps.LatLng( latitude, longitude ) );\n\t\t\t\t\t\t}, 500 );\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\t$( document ).on( 'shown.bs.tab', 'a[data-toggle=\"tab\"]', function ( e ) {\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tgoogle.maps.event.trigger( map, 'resize' );\n\t\t\t\t}, 500 );\n\t\t\t} );\n\n\t\t\treturn this;\n\t\t}\n\n\t\taddMarker( pos, map ) {\n\n\t\t\tif ( this.options.marker_style === 'image' || this.options.marker_style === 'default' ) {\n\n\t\t\t\tnew google.maps.Marker( {\n\t\t\t\t\tposition: pos,\n\t\t\t\t\tmap: map,\n\t\t\t\t\tvisible: true,\n\t\t\t\t\ticon: this.options.marker,\n\t\t\t\t\tzIndex: 9999999\n\t\t\t\t} );\n\n\t\t\t} else if ( this.options.marker_style === 'html' ) {\n\n\t\t\t\tif ( typeof google !== typeof undefined && typeof google.maps !== typeof undefined ) {\n\n\t\t\t\t\tnew LqdCustomMarker( pos, map, this.options.className );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tadjustHeight() {\n\n\t\t\tconst $parent = this.$element.parent( '.ld-gmap-container' );\n\t\t\tconst $vcRowParent = $parent.parents( '.vc_row' ).last();\n\n\t\t\tif (\n\t\t\t\t!$parent.siblings().length &&\n\t\t\t\t$vcRowParent.hasClass( 'vc_row-o-equal-height' )\n\t\t\t) {\n\t\t\t\t$parent.height( $parent.parent().outerHeight() );\n\t\t\t}\n\n\t\t}\n\n\t};\n\n\tfunction LqdCustomMarker( latlng, map, className ) {\n\t\tthis.latlng_ = latlng;\n\t\tthis.className = className;\n\t\tthis.setMap( map );\n\t}\n\n\tif ( typeof google !== typeof undefined && typeof google.maps !== typeof undefined ) {\n\n\t\tLqdCustomMarker.prototype = new google.maps.OverlayView();\n\n\t\tLqdCustomMarker.prototype.draw = function () {\n\t\t\tlet div = this.div_;\n\t\t\tlet divChild;\n\t\t\tlet divChild2;\n\n\t\t\tif ( !div ) {\n\t\t\t\tdiv = this.div_ = document.createElement( 'DIV' );\n\n\t\t\t\tdiv.className = this.className;\n\n\t\t\t\tdivChild = document.createElement( \"div\" );\n\t\t\t\tdivChild.className = 'lqd-overlay border-radius-circle'\n\t\t\t\tdiv.appendChild( divChild );\n\n\t\t\t\tdivChild2 = document.createElement( \"div\" );\n\t\t\t\tdivChild2.className = 'lqd-overlay border-radius-circle'\n\t\t\t\tdiv.appendChild( divChild2 );\n\n\t\t\t\tgoogle.maps.event.addDomListener( div, \"click\", () => {\n\t\t\t\t\tgoogle.maps.event.trigger( this, \"click\" );\n\t\t\t\t} );\n\n\t\t\t\tconst panes = this.getPanes();\n\t\t\t\tpanes.overlayImage.appendChild( div );\n\t\t\t}\n\n\t\t\tconst point = this.getProjection().fromLatLngToDivPixel( this.latlng_ );\n\t\t\tif ( point ) {\n\t\t\t\tdiv.style.left = point.x + 'px';\n\t\t\t\tdiv.style.top = point.y + 'px';\n\t\t\t}\n\t\t};\n\n\t\tLqdCustomMarker.prototype.remove = function () {\n\t\t\tif ( this.div_ ) {\n\t\t\t\tthis.div_.parentNode.removeChild( this.div_ );\n\t\t\t\tthis.div_ = null;\n\t\t\t}\n\t\t};\n\n\t\tLqdCustomMarker.prototype.getPosition = function () {\n\t\t\treturn this.latlng_;\n\t\t};\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = $( this ).data( 'plugin-options' ) || options;\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new LqdGMap( this, pluginOptions ) );\n\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\n$liquidWindow.on( 'load', () => {\n\tif ( typeof google !== typeof undefined && google !== null ) {\n\t\tjQuery( '[data-plugin-map]' ).liquidMap();\n\t}\n} );\n","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidMasonry';\n\tlet defaults = {\n\t\tbypassCheck: false,\n\t\tlayoutMode: 'packery',\n\t\titemSelector: '.masonry-item',\n\t\talignMid: false,\n\t\tfiltersID: null,\n\t\tfiltersCounter: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.isoData = null;\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst $collapsedParents = this.$element.parents( '.lqd-tabs-pane, .accordion-collapse' );\n\n\t\t\tif ( $collapsedParents.length && $collapsedParents.is( ':hidden' ) ) {\n\t\t\t\treturn this.setupIO();\n\t\t\t}\n\n\t\t\tthis.onImagesLoad();\n\t\t}\n\n\t\tsetupIO() {\n\n\t\t\tif ( this.isoData ) return;\n\n\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\n\t\t\t\tif ( entry.isIntersecting ) {\n\n\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\tthis.onImagesLoad();\n\n\t\t\t\t}\n\n\t\t\t} ).observe( this.element );\n\n\t\t}\n\n\t\tonImagesLoad() {\n\n\t\t\timagesLoaded( this.element, this.handleOnImagesLoaded.bind( this ) );\n\n\t\t}\n\n\t\thandleOnImagesLoaded() {\n\n\t\t\t// setting IO causing problem with localscroll\n\t\t\tthis.initIsotope();\n\t\t\tthis.initFilters();\n\t\t\tthis.eventHandlers();\n\n\t\t}\n\n\t\tinitIsotope() {\n\n\t\t\tconst { layoutMode, itemSelector, stamp, bypassCheck } = this.options;\n\n\t\t\tthis.isoData = new Isotope( this.element, {\n\t\t\t\tbypassCheck,\n\t\t\t\tlayoutMode,\n\t\t\t\titemSelector,\n\t\t\t\tstamp\n\t\t\t} );\n\n\t\t\t$( document ).trigger( 'lqd-masonry-layout-init', { detail: { isotopeData: this.isoData } } );\n\n\t\t}\n\n\t\tsetStamps() {\n\n\t\t\tthis.setAlignMidStamps();\n\n\t\t}\n\n\t\tsetAlignMidStamps() {\n\n\t\t\tconst options = this.options;\n\n\t\t\tif ( options.alignMid ) {\n\n\t\t\t\tconst items = $( options.itemSelector, this.element );\n\t\t\t\tconst columnsCount = this.$element.attr( 'data-columns' );\n\t\t\t\tconst itemsHeights = [];\n\n\t\t\t\tlet gridSizer = $( '.grid-stamp', this.$element );\n\n\t\t\t\t$.each( items, ( i, item ) => {\n\n\t\t\t\t\tconst $item = $( item );\n\t\t\t\t\tconst height = $item.outerHeight();\n\n\t\t\t\t\titemsHeights.push( height );\n\n\t\t\t\t} );\n\n\t\t\t\tthis.highestHeight = Math.max( ...itemsHeights );\n\t\t\t\tthis.lowestHeight = Math.min( ...itemsHeights );\n\n\t\t\t\tif ( columnsCount >= 3 ) {\n\n\t\t\t\t\tgridSizer.clone().insertBefore( items.eq( columnsCount - 1 ) ).addClass( 'is-right' );\n\t\t\t\t\tgridSizer = gridSizer.add( '.grid-stamp', this.$element );\n\n\t\t\t\t}\n\n\t\t\t\tgridSizer.height( this.lowestHeight / 2 );\n\n\t\t\t\toptions.stamp = '.grid-stamp';\n\n\t\t\t}\n\n\t\t}\n\n\t\tinitFilters() {\n\n\t\t\tconst { filtersID, filtersCounter } = this.options;\n\n\t\t\tif ( !filtersID ) { return };\n\n\t\t\tconst $filterList = $( filtersID );\n\t\t\tconst $filterDropdown = $filterList.siblings( '.lqd-filter-dropdown' );\n\n\t\t\t$( 'li', $filterList ).each( ( i, element ) => {\n\n\t\t\t\tconst $li = $( element );\n\t\t\t\tconst filterVal = $li.attr( 'data-filter' );\n\n\t\t\t\tif ( filtersCounter ) {\n\t\t\t\t\tconst filterItems = $( filterVal, this.element );\n\t\t\t\t\tconst $counter = $( `\n\t\t\t\t\t\t<sup class=\"lqd-filter-counter\">\n\t\t\t\t\t\t\t<span>${ filterVal === '*' ? this.isoData.items.length : filterItems.length }</span>\n\t\t\t\t\t\t</sup>`\n\t\t\t\t\t);\n\t\t\t\t\t$counter.appendTo( $li );\n\t\t\t\t}\n\n\t\t\t\t$li.on( 'click.lqdMasonryFilter', () => {\n\t\t\t\t\t$li.addClass( 'active' ).siblings().removeClass( 'active' );\n\t\t\t\t\tthis.isoData.arrange( { filter: filterVal } );\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t\tif ( $filterDropdown.length ) {\n\t\t\t\t$( 'select', $filterDropdown ).on( 'selectmenuchange', ( event, ui ) => {\n\t\t\t\t\tconst filterVal = ui.item.value;\n\t\t\t\t\tthis.isoData.arrange( { filter: filterVal } );\n\t\t\t\t} )\n\t\t\t}\n\n\t\t}\n\n\t\teventHandlers() {\n\n\t\t\tthis.isoData.on( 'layoutComplete', this.handleLayoutComplete.bind( this ) );\n\n\t\t}\n\n\t\thandleLayoutComplete() {\n\n\t\t\t$( document ).trigger( 'lqd-masonry-layout-complete', { detail: { isotopeData: this.isoData } } );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'masonry-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif ( ( !$liquidContents.length ) || ( $liquidContents.length && !$liquidContents[ 0 ].hasAttribute( 'data-liquid-stack' ) ) ) {\n\t\t$( '[data-liquid-masonry]' ).liquidMasonry();\n\t} else if ( $liquidContents.length && $liquidContents[ 0 ].hasAttribute( 'data-liquid-stack' ) ) {\n\t\tconst stackOptions = $liquidContents.attr( 'data-stack-options' );\n\t\tif ( stackOptions ) {\n\t\t\tconst optionsJson = JSON.parse( stackOptions );\n\t\t\tconst { disableOnMobile } = optionsJson;\n\t\t\tif ( disableOnMobile && ( liquidIsMobile() || liquidWindowWidth() <= liquidMobileNavBreakpoint() ) ) {\n\t\t\t\t$( '[data-liquid-masonry]' ).liquidMasonry();\n\t\t\t}\n\t\t}\n\t}\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidStickyRow';\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.markupInitiated = false;\n\t\t\tthis.$stickyWrap = null;\n\t\t\tthis.$stickyWrapInner = null;\n\n\t\t\tthis.boundingClientRect = null;\n\n\t\t\tthis.rowStickyInitPromise = new Promise( resolve => {\n\t\t\t\tthis.$element.on( 'lqd-sticky-row-initiated', resolve.bind( this, this ) )\n\t\t\t} );\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.initMarkup();\n\t\t\tthis.handleSizes();\n\t\t\tthis.addEvents();\n\t\t\tthis.handleWindowResize();\n\n\t\t}\n\n\t\tinitMarkup() {\n\n\t\t\tif ( this.markupInitiated ) return false;\n\n\t\t\tconst $stickyWrap = $( '<div class=\"lqd-css-sticky-wrap w-100 pos-rel w-full relative\" />' );\n\t\t\tconst $stickyWrapInner = $( '<div class=\"lqd-css-sticky-wrap-inner w-100 h-200 w-full pos-abs pos-tl absolute top-0 left-0\" />' );\n\n\t\t\tthis.$element.wrap( $stickyWrap ).wrap( $stickyWrapInner );\n\n\t\t\tthis.$stickyWrapInner = this.$element.parent();\n\t\t\tthis.$stickyWrap = this.$element.parent().parent();\n\n\t\t\tthis.markupInitiated = true;\n\n\t\t}\n\n\t\thandleSizes() {\n\n\t\t\tconst $nextElements = this.$stickyWrap.nextAll();\n\t\t\tconst elementHeight = this.$element.outerHeight();\n\n\t\t\tthis.$stickyWrap.css( {\n\t\t\t\theight: elementHeight\n\t\t\t} );\n\n\t\t\tif ( $nextElements.length ) {\n\n\t\t\t\tlet nextElementsHeight = 0;\n\n\t\t\t\t$.each( $nextElements, ( i, nextElement ) => {\n\n\t\t\t\t\tnextElementsHeight += $( nextElement ).outerHeight();\n\n\t\t\t\t} );\n\n\t\t\t\tif ( elementHeight > nextElementsHeight ) {\n\n\t\t\t\t\tthis.$stickyWrapInner.css( {\n\t\t\t\t\t\theight: `calc(200% - ${ nextElementsHeight }px)`\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\taddEvents() {\n\n\t\t\tconst e = new CustomEvent( 'lqd-sticky-row-initiated', { detail: { $element: this.$element } } );\n\t\t\tthis.element.dispatchEvent( e );\n\n\t\t}\n\n\t\thandleWindowResize() {\n\n\t\t\tconst resize = liquidDebounce( this.onWindowResize, 500 );\n\n\t\t\t$( window ).on( 'resize', resize.bind( this ) );\n\n\t\t}\n\n\t\tonWindowResize() {\n\n\t\t\tthis.handleSizes();\n\n\t\t}\n\n\t}\n\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = $( this ).data( 'sticky-options' ) || options;\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif ( liquidWindowWidth() <= liquidMobileNavBreakpoint() || liquidIsMobile() ) return;\n\n\t$( '.vc_row.lqd-css-sticky, .lqd-force-css-sticky' ).liquidStickyRow();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidParticles';\n\tlet defaults = {\n\t\tasBG: false,\n\t\t\"particles\": {\n\t\t\t\"number\": {\n\t\t\t\t\"value\": 40,\n\t\t\t\t\"density\": {\n\t\t\t\t\t\"enable\": false,\n\t\t\t\t\t\"value_area\": 800\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"color\": {\n\t\t\t\t\"value\": [ \"#f7ccaf\", \"#f6cacd\", \"dbf5f8\", \"#c5d8f8\", \"#c5f8ce\", \"#f7afbd\", \"#b2d6ef\", \"#f1ecb7\" ]\n\t\t\t},\n\t\t\t\"shape\": {\n\t\t\t\t\"type\": \"triangle\"\n\t\t\t},\n\t\t\t\"size\": {\n\t\t\t\t\"value\": 55,\n\t\t\t\t\"random\": true,\n\t\t\t\t\"anim\": {\n\t\t\t\t\t\"enable\": true,\n\t\t\t\t\t\"speed\": 1\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"move\": {\n\t\t\t\t\"direction\": \"right\",\n\t\t\t\t\"attract\": {\n\t\t\t\t\t\"enable\": true\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"line_linked\": {\n\t\t\t\t\"enable\": false\n\t\t\t},\n\t\t},\n\t\t\"interactivity\": {\n\t\t\t\"events\": {\n\t\t\t\t\"onhover\": {\n\t\t\t\t\t\"enable\": false\n\t\t\t\t},\n\t\t\t\t\"onclick\": {\n\t\t\t\t\t\"enable\": false\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\t\t\tthis.options.particles = { ...defaults.particles, ...options.particles };\n\t\t\tthis.options.interactivity = { ...defaults.interactivity, ...options.interactivity };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.build();\n\n\t\t}\n\n\t\tbuild() {\n\n\t\t\tthis.id = this.element.id;\n\n\t\t\tif ( this.options.interactivity.events.onhover || this.options.interactivity.events.onclick ) {\n\t\t\t\tthis.$element.removeClass( 'pointer-events-none' );\n\t\t\t\tthis.$element.addClass( 'pointer-events-auto' );\n\t\t\t}\n\n\t\t\tthis.asSectionBg();\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tparticlesJS( this.id, this.options );\n\n\t\t}\n\n\t\tasSectionBg() {\n\n\t\t\tif ( this.options.asBG ) {\n\n\t\t\t\tconst particlesBgWrap = $( '<div class=\"lqd-particles-bg-wrap lqd-overlay pointer-events-none\"></div>' );\n\t\t\t\tconst elementContainer = this.$element.parent( '.ld-particles-container' );\n\t\t\t\tlet parentSection = this.$element.parents( '.vc_row' ).last();\n\n\t\t\t\tif ( liquidIsElementor ) {\n\t\t\t\t\tparentSection = this.$element.parents( '.elementor-section' ).last();\n\t\t\t\t\tif ( !parentSection.length ) {\n\t\t\t\t\t\tparentSection = this.$element.parent( '.e-container' );\n\t\t\t\t\t}\n\t\t\t\t\tif ( !parentSection.length ) {\n\t\t\t\t\t\tparentSection = this.$element.closest( '.e-con' )\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst sectionContainerElement = liquidIsElementor ? parentSection.children( '.elementor-container' ) : parentSection.children( '.ld-container' );\n\t\t\t\tconst $stickyWrap = parentSection.children( '.lqd-sticky-bg-wrap' );\n\n\t\t\t\tparticlesBgWrap.append( elementContainer );\n\n\t\t\t\tif ( $stickyWrap.length ) {\n\n\t\t\t\t\tparticlesBgWrap.appendTo( $stickyWrap );\n\n\t\t\t\t} else if ( parentSection.hasClass( 'pp-section' ) ) {\n\n\t\t\t\t\tparticlesBgWrap.prependTo( parentSection );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( sectionContainerElement.length ) {\n\t\t\t\t\t\tparticlesBgWrap.insertBefore( sectionContainerElement );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparticlesBgWrap.prependTo( parentSection );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'particles-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t$( '[data-particles=true]' ).filter( ( i, element ) => {\n\n\t\tconst $element = $( element );\n\t\tconst $fullpageSection = $element.closest( '.vc_row.pp-section' );\n\n\t\treturn (\n\t\t\t!$fullpageSection.length\n\t\t);\n\n\t} ).liquidParticles();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidPin';\n\tlet defaults = {\n\t\ttrigger: 'self',\n\t\tstart: 'top top',\n\t\tend: null,\n\t\tendTrigger: null,\n\t\t// [ 'contentsHeight', 'last-link', 'parent', number ] // 'last-link' used in custom css for sticky menu\n\t\tduration: 'contentsHeight',\n\t\t// it can be a number, or a css selector\n\t\toffset: 0,\n\t\tpinSpacing: false,\n\t\tpinReparent: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.ST = null;\n\n\t\t\tthis.spacerElement = null;\n\t\t\tthis.offset = 0;\n\t\t\tthis.end = 0;\n\t\t\tthis.rect = {};\n\n\t\t\tthis.pinPromise = new Promise( resolve => {\n\t\t\t\tthis.element.addEventListener( 'element-was-pinned', resolve( this, this ) );\n\t\t\t} )\n\n\t\t\tif ( $liquidMainHeader.length && $liquidMainHeader[ 0 ].hasAttribute( 'data-sticky-header' ) ) {\n\t\t\t\t$( document ).on( 'lqd-header-sticky-change', () => {\n\t\t\t\t\t!this.ST && setTimeout( this.init.bind( this ), 150 );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tthis.init();\n\t\t\t}\n\n\t\t}\n\n\t\tasync init() {\n\n\t\t\tthis.rect = await this.measure();\n\t\t\tthis.offset = await this.getOffset();\n\t\t\tthis.end = await this.getEnd();\n\n\t\t\tthis.pin();\n\t\t\tthis.events();\n\t\t\tthis.handleResize();\n\n\t\t\tthis.element.dispatchEvent( new CustomEvent( 'element-was-pinned', { bubbles: false } ) );\n\n\t\t}\n\n\t\tmeasure() {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\treturn this.element.getBoundingClientRect();\n\n\t\t\t} )\n\n\t\t}\n\n\t\tpin() {\n\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tconst { start, pinSpacing, pinReparent, trigger } = this.options;\n\t\t\t\tlet breakpoint = '(min-width: 992px)';\n\n\t\t\t\tif ( this.element.classList.contains( 'lqd-custom-menu' ) ) {\n\t\t\t\t\tbreakpoint = 'all';\n\t\t\t\t} else if ( this.element.classList.contains( 'lqd-add-to-cart-row' ) ) {\n\t\t\t\t\tbreakpoint = '(max-width: 767px)'\n\t\t\t\t}\n\n\t\t\t\tScrollTrigger.matchMedia( {\n\t\t\t\t\t[ `${ breakpoint }` ]: () => {\n\t\t\t\t\t\tthis.ST = ScrollTrigger.create( {\n\t\t\t\t\t\t\ttrigger: trigger === 'self' ? this.element : $( trigger )[ 0 ],\n\t\t\t\t\t\t\tpin: true,\n\t\t\t\t\t\t\tstart: `${ start }+=${ this.offset }`,\n\t\t\t\t\t\t\tendTrigger: this.getEndTrigger(),\n\t\t\t\t\t\t\tend: this.end,\n\t\t\t\t\t\t\tpinSpacing,\n\t\t\t\t\t\t\tpinReparent\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tthis.spacerElement = this.ST.spacer;\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t} )\n\n\t\t}\n\n\t\tasync getOffset() {\n\n\t\t\tconst { offset } = this.options;\n\n\t\t\tif ( isNaN( parseInt( offset ), 10 ) ) {\n\t\t\t\treturn await this.getOffsetElementsHeight();\n\t\t\t}\n\n\t\t\treturn offset;\n\n\t\t}\n\n\t\tasync getOffsetElementsHeight() {\n\n\t\t\tconst { options } = this;\n\t\t\tconst promises = [];\n\t\t\tlet offset = 0;\n\n\t\t\toptions.offset.split( ',' ).forEach( el => {\n\n\t\t\t\tconst element = document.querySelector( el );\n\n\t\t\t\tif ( element ) {\n\n\t\t\t\t\tconst promise = new Promise( resolve => {\n\n\t\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\t\tresolve( entry.boundingClientRect.height );\n\t\t\t\t\t\t} ).observe( element );\n\n\t\t\t\t\t} )\n\n\t\t\t\t\tpromises.push( promise )\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\tconst heights = await Promise.all( promises );\n\t\t\theights.forEach( height => offset += height );\n\n\t\t\treturn offset;\n\n\t\t}\n\n\t\tgetEnd() {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\tlet { duration, end } = this.options;\n\n\t\t\t\tif ( end ) {\n\t\t\t\t\treturn end;\n\t\t\t\t}\n\n\t\t\t\tif ( duration === 'contentsHeight' ) {\n\n\t\t\t\t\tif ( this.element.classList.contains( 'lqd-sticky-bg-wrap' ) || this.element.classList.contains( 'lqd-section-borders-wrap' ) ) {\n\t\t\t\t\t\tconst $contentsContainer = this.spacerElement ? $( this.spacerElement ).siblings( '.ld-container' ) : this.$element.siblings( '.ld-container' );\n\t\t\t\t\t\tconst contentsContainerHeight = $contentsContainer[ 0 ].offsetHeight;\n\t\t\t\t\t\tduration = `+=${ contentsContainerHeight }`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tduration = `+=${ this.rect.height }`;\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif ( duration === 'parent' ) {\n\n\t\t\t\t\tif ( this.element.classList.contains( 'vc_column-inner' ) ) {\n\t\t\t\t\t\tduration = `+=${ this.element.closest( '.ld-row' ).offsetHeight - this.rect.height }`\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet contentsHeight = 0;\n\t\t\t\t\t\tthis.$element.children().each( ( i, children ) => contentsHeight += $( children ).outerHeight( true ) );\n\t\t\t\t\t\tduration = `+=${ this.rect.height - contentsHeight }`;\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif ( duration === 'last-link' ) {\n\t\t\t\t\tduration = `bottom top+=${ this.offset + this.rect.height }`;\n\t\t\t\t}\n\n\t\t\t\treturn duration;\n\n\t\t\t} )\n\n\t\t}\n\n\t\tgetEndTrigger() {\n\n\t\t\tconst { duration } = this.options;\n\t\t\tlet { endTrigger } = this.options;\n\n\t\t\tif ( duration === 'parent' ) {\n\t\t\t\tendTrigger = this.spacerElement ? this.spacerElement.parentElement : this.element.parentElement;\n\t\t\t}\n\n\t\t\tif ( duration === 'last-link' ) {\n\t\t\t\tconst $lastLink = $( 'a', this.element ).last();\n\t\t\t\tconst lastLinkHref = $lastLink.attr( 'href' );\n\t\t\t\tif ( lastLinkHref !== '' && lastLinkHref.startsWith( '#' ) && $( lastLinkHref ).length ) {\n\t\t\t\t\tendTrigger = $( lastLinkHref )[ 0 ];\n\t\t\t\t} else {\n\t\t\t\t\tendTrigger = $liquidContents[ 0 ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn endTrigger;\n\n\t\t}\n\n\t\tevents() {\n\n\t\t\t$( document ).on( 'lqd-header-sticky-change lqd-masonry-layout-complete lqd-carousel-initialized', () => {\n\t\t\t\tthis.ST && this.ST.refresh();\n\t\t\t} );\n\n\t\t}\n\n\t\thandleResize() {\n\n\t\t\tconst onResize = liquidDebounce( this.onWindowResize, 250 );\n\n\t\t\t$( window ).on( 'resize', onResize.bind( this ) );\n\n\t\t}\n\n\t\tasync onWindowResize() {\n\n\t\t\tthis.rect = await this.measure();\n\n\t\t\t// this.ST && this.ST.refresh();\n\n\t\t}\n\n\t}\n\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'pin-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tconst pinElements = $( $( '[data-pin=true]' ).get().reverse() );\n\n\tpinElements.liquidPin();\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidProgressbar';\n\tlet defaults = {\n\t\tvalue: 0,\n\t\tsuffix: null,\n\t\tprefix: null,\n\t\tskipCreateMarkup: false,\n\t\torientation: \"horizontal\"\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.options = $.extend({}, defaults, options);\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.valueEl = $('.liquid-progressbar-value, .lqd-progressbar-value', element);\n\t\t\tthis.prefixEl = $('.liquid-progressbar-prefix, .lqd-progressbar-prefix', element);\n\t\t\tthis.suffixEl = $('.liquid-progressbar-suffix, .lqd-progressbar-prefix', element);\n\t\t\tthis.percentageElement = $('.liquid-progressbar-percentage, .lqd-progressbar-percentage', element);\n\t\t\tthis.barElement = $('.liquid-progressbar-bar, .lqd-progressbar-bar', element);\n\t\t\tthis.titleElement = $('.liquid-progressbar-title, .lqd-progressbar-title', element);\n\n\t\t\tthis.isRTL = $('html').attr('dir') == 'rtl';\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\t\n\t\t\tthis.addValue();\n\t\t\tthis.addPrefixSuffix();\n\t\t\tthis.setupIntersectionObserver();\n\t\t\t\n\t\t}\n\t\n\t\taddValue() {\n\n\t\t\tif (\n\t\t\t\tthis.options.skipCreateMarkup ||\n\t\t\t\tthis.valueEl.length ||\n\t\t\t\t! this.percentageElement.length\n\t\t\t) return;\n\t\n\t\t\tthis.valueEl = $('<span class=\"liquid-progressbar-value lqd-progressbar-value\">0</span>');\n\t\n\t\t\tthis.percentageElement.html('');\n\t\t\tthis.valueEl.appendTo(this.percentageElement);\n\t\n\t\t}\n\t\n\t\taddPrefixSuffix() {\n\n\t\t\tif (\n\t\t\t\tthis.options.skipCreateMarkup ||\n\t\t\t\t(this.prefixEl.length && this.suffixEl.length) ||\n\t\t\t\t! this.percentageElement.length\n\t\t\t) return;\n\t\n\t\t\tconst prefixOpt = this.options.prefix;\n\t\t\tconst suffixOpt = this.options.suffix;\n\t\t\tconst prefixEl = $('<span class=\"liquid-progressbar-prefix lqd-progressbar-prefix\"></span>');\n\t\t\tconst suffixEl = $('<span class=\"liquid-progressbar-suffix lqd-progressbar-suffix\"></span>');\n\t\n\t\t\tif ( prefixOpt ) prefixEl.text(prefixOpt);\n\t\n\t\t\tif ( suffixOpt ) suffixEl.text(suffixOpt);\n\t\n\t\t\tprefixEl.prependTo(this.percentageElement);\n\t\t\tsuffixEl.appendTo(this.percentageElement);\n\t\n\t\t}\n\t\n\t\tcheckValuesEncountering() {\n\n\t\t\tif ( ! this.percentageElement.length ) return;\n\t\t\t\n\t\t\tif ( this.options.orientation == \"horizontal\" && this.titleElement.length ) {\n\t\t\t\t\n\t\t\t\tconst titleWidth = this.titleElement.width();\n\t\t\t\tconst percentageOffsetLeft = this.percentageElement.offset().left || 0;\n\t\t\t\tconst percentageWidth = this.percentageElement.width();\n\t\t\t\tconst titleOffsetLeft = this.titleElement.offset().left || 0;\n\n\t\t\t\tif ( ! this.isRTL ) {\n\t\t\t\t\t\n\t\t\t\t\tif ( percentageOffsetLeft >= titleOffsetLeft + titleWidth ) {\n\t\t\t\t\t\tthis.$element.addClass('values-not-encountering');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$element.removeClass('values-not-encountering');\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tif ( percentageOffsetLeft + percentageWidth <= titleOffsetLeft ) {\n\t\t\t\t\t\tthis.$element.addClass('values-not-encountering');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$element.removeClass('values-not-encountering');\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\n\t\t\t\t\n\t\t\t} else {\n\t\n\t\t\t\tthis.$element.addClass('values-not-encountering');\n\t\t\t\t\n\t\t\t}\n\t\n\t\t}\n\t\n\t\tsetupIntersectionObserver() {\n\t\n\t\t\tnew IntersectionObserver(([entry], observer) => {\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.animatePercentage();\n\t\t\t\t\tthis.animateProgressbar();\n\n\t\t\t\t\tobserver.unobserve(entry.target);\n\n\t\t\t\t}\n\t\t\t}, { threshold: 1 }).observe(this.element);\n\t\n\t\t}\n\t\n\t\tanimatePercentage() {\n\t\n\t\t\tconst percentage = { value: 0 };\n\t\n\t\t\tgsap.to(percentage, {\n\t\t\t\tvalue: this.options.value,\n\t\t\t\tduration: 1.2,\n\t\t\t\tease: 'power3.inOut',\n\t\t\t\tonUpdate: () => {\n\t\t\t\t\tthis.percentageElement.length && this.valueEl.text(Math.round(percentage.value));\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t}\n\t\n\t\tanimateProgressbar() {\n\t\n\t\t\tconst barElement = this.barElement.get(0);\n\t\t\tconst value = this.options.value + '%';\n\t\t\tconst orientation = this.options.orientation;\n\t\n\t\t\tif ( orientation === \"horizontal\" ) {\n\t\n\t\t\t\tthis.animateHorizontal(barElement, value);\n\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.initCircleProgressbar(value);\n\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tanimateHorizontal(barElement, value) {\n\t\t\t\n\t\t\tgsap.to(barElement, {\n\t\t\t\twidth: value,\n\t\t\t\tduration: 1.2,\n\t\t\t\tease: 'power3.inOut',\n\t\t\t\tonUpdate: () => {\n\t\t\t\t\tthis.checkValuesEncountering();\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\t\n\t\tinitCircleProgressbar(value) {\n\t\n\t\t\tconst circleContainer = $(this.element).find('.ld-prgbr-circle-container');\n\t\t\tconst containerWidth = circleContainer.width();\n\t\t\tconst numericVal = parseInt(value, 10);\n\t\n\t\t\tcircleContainer.circleProgress({\n\t\t\t\tvalue: numericVal / 100,\n\t\t\t\tsize: containerWidth,\n\t\t\t\tlineCap: 'round',\n\t\t\t\tstartAngle: -Math.PI/2\n\t\t\t});\n\t\n\t\t}\n\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('progressbar-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\t$('[data-progressbar]').liquidProgressbar();\n\n});","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidResponsiveAccordion';\n\tlet defaults = {\n\t\ttriggers: \".lqd-tabs-nav a\",\n\t\tcontents: '.lqd-tabs-pane',\n\t\tparent: '.lqd-tabs'\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = {...defaults, ...options};\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.$element = $(element);\n\t\t\tthis.DOM.$triggers = this.DOM.$element.find(this.options.triggers);\n\t\t\tthis.DOM.$contents = this.DOM.$element.find(this.options.contents);\n\t\t\tthis.DOM.responsiveTriggers = [];\n\n\t\t\tthis.init();\n\t\t\t\n\t\t}\n\t\t\t\n\t\tinit() {\n\t\t\t\n\t\t\tthis.createTriggers();\n\t\t\tthis.appendTriggers();\n\t\t\tthis.initCollapse();\n\t\t\t\n\t\t}\n\n\t\tcreateTriggers() {\n\n\t\t\tthis.DOM.$triggers.each((i, trigger) => {\n\t\t\t\tconst $trigger = $(trigger).clone();\n\t\t\t\tconst $h2 = $('<h2 role=\"tab\" class=\"lqd-res-acc-trigger\" />');\n\t\t\t\t$h2.append($trigger);\n\t\t\t\tthis.DOM.responsiveTriggers.push($h2);\n\t\t\t});\n\n\t\t}\n\n\t\tappendTriggers() {\n\n\t\t\tthis.DOM.$contents.each((i, content) => {\n\t\t\t\t$(this.DOM.responsiveTriggers[i]).insertBefore(content);\n\t\t\t})\n\n\t\t}\n\n\t\tinitCollapse() {\n\n\t\t\t$.each(this.DOM.responsiveTriggers, (i, trigger) => {\n\t\t\t\tconst $trigger = $(trigger).children('a');\n\t\t\t\tconst $parent = $trigger.closest(this.options.parent);\n\t\t\t\tconst $contents = $parent.find(this.options.contents);\n\t\t\t\t$trigger.off('click');\n\t\t\t\t$trigger.on('click', event => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconst $target = $($trigger.attr('href'));\n\t\t\t\t\t$trigger.parent().siblings('.lqd-res-acc-trigger').removeClass('is-active');\n\t\t\t\t\t$contents.not($target).removeClass('is-active').stop().slideUp(300);\n\t\t\t\t\t\n\t\t\t\t\t$target.toggleClass('is-active').stop().slideToggle(300);\n\t\t\t\t\t$trigger.parent().toggleClass('is-active');\n\t\t\t\t});\n\t\t\t});\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('res-acc-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('.woocommerce-tabs').liquidResponsiveAccordion({\n\t\ttriggers: '.wc-tabs > li > a',\n\t\tcontents: '.woocommerce-Tabs-panel',\n\t\tparent: '.woocommerce-tabs'\n\t});\n});","/*\n* Credits:\n* http://www.codrops.com\n*\n* Licensed under the MIT license.\n* http://www.opensource.org/licenses/mit-license.php\n*\n* Copyright 2016, Codrops\n* http://www.codrops.com\n*/\n( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidReveal';\n\tlet defaults = {\n\t\t// If true, then the content will be hidden until it´s \"revealed\".\n\t\tisContentHidden: true,\n\t\t// If true,riggred only when element is in view\n\t\tanimteWhenInView: true,\n\t\tdelay: 0,\n\t\t// The animation/reveal settings. This can be set initially or passed when calling the reveal method.\n\t\trevealSettings: {\n\t\t\t// Animation direction: left right (lr) || right left (rl) || top bottom (tb) || bottom top (bt).\n\t\t\tdirection: 'lr',\n\t\t\t// Revealer´s background color.\n\t\t\tbgcolor: '#f0f0f0',\n\t\t\t// Animation speed. This is the speed to \"cover\" and also \"uncover\" the element (seperately, not the total time).\n\t\t\tduration: 0.5,\n\t\t\t// Animation ease. This is the ease to \"cover\" and also \"uncover\" the element.\n\t\t\tease: 'power4.inOut',\n\t\t\t// percentage-based value representing how much of the area should be left covered.\n\t\t\tcoverArea: 0,\n\t\t\t// Callback for when the revealer is covering the element (halfway through of the whole animation).\n\t\t\tonCover: function ( contentEl, revealerEl ) { return false; },\n\t\t\t// Callback for when the animation starts (animation start).\n\t\t\tonStart: function ( contentEl, revealerEl ) { return false; },\n\t\t\t// Callback for when the revealer has completed uncovering (animation end).\n\t\t\tonComplete: function ( contentEl, revealerEl ) { return false; },\n\n\t\t\tonCoverAnimations: null\n\t\t}\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\t\t\tthis.$content = this.$element.children();\n\t\t\tthis.revealer = null;\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis._layout();\n\n\t\t\tif ( this.options.animteWhenInView ) {\n\t\t\t\tthis.setIntersectionObserver();\n\t\t\t}\n\t\t\telse {\n\t\t\t\timagesLoaded( this.element, this.doTheReveal.bind( this ) );\n\t\t\t}\n\n\t\t}\n\n\t\t_createDOMEl( type, className, content ) {\n\t\t\tvar el = document.createElement( type );\n\t\t\tel.className = className || '';\n\t\t\tel.innerHTML = content || '';\n\t\t\treturn el;\n\t\t}\n\n\t\t_layout() {\n\n\t\t\tconst position = getComputedStyle( this.element ).position;\n\n\t\t\tif ( position !== 'fixed' && position !== 'absolute' && position !== 'relative' ) {\n\t\t\t\tthis.element.style.position = 'relative';\n\t\t\t}\n\n\t\t\t// Content element.\n\t\t\tif ( this.options.isContentHidden ) {\n\t\t\t\tthis.$content.css( 'opacity', 0 );\n\t\t\t}\n\n\t\t\t// Revealer element (the one that animates)\n\t\t\tthis.revealer = this._createDOMEl( 'div', 'block-revealer__element' );\n\t\t\tthis.element.classList.add( 'block-revealer' );\n\n\t\t\tthis.element.appendChild( this.revealer );\n\n\t\t}\n\n\t\t_getTransformSettings( direction ) {\n\t\t\tvar val, origin, origin_2;\n\n\t\t\tswitch ( direction ) {\n\t\t\t\tcase 'lr':\n\t\t\t\t\tval = 'scaleX(0)';\n\t\t\t\t\torigin = '0 50%';\n\t\t\t\t\torigin_2 = '100% 50%';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'rl':\n\t\t\t\t\tval = 'scaleX(0)';\n\t\t\t\t\torigin = '100% 50%';\n\t\t\t\t\torigin_2 = '0 50%';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'tb':\n\t\t\t\t\tval = 'scaleY(0)';\n\t\t\t\t\torigin = '50% 0';\n\t\t\t\t\torigin_2 = '50% 100%';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bt':\n\t\t\t\t\tval = 'scaleY(0)';\n\t\t\t\t\torigin = '50% 100%';\n\t\t\t\t\torigin_2 = '50% 0';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tval = 'scaleX(0)';\n\t\t\t\t\torigin = '0 50%';\n\t\t\t\t\torigin_2 = '100% 50%';\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t// transform value.\n\t\t\t\tval: val,\n\t\t\t\t// initial and halfway/final transform origin.\n\t\t\t\torigin: { initial: origin, halfway: origin_2 },\n\t\t\t};\n\t\t}\n\n\t\treveal( revealSettingsArg ) {\n\t\t\t// Do nothing if currently animating.\n\t\t\tif ( this.isAnimating ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.isAnimating = true;\n\n\t\t\t// Set the revealer element´s transform and transform origin.\n\t\t\tvar defaults = {\n\t\t\t\tduration: 0.5,\n\t\t\t\tease: 'power4.inOut',\n\t\t\t\tdelay: this.options.delay ? this.options.delay / 1000 : 0,\n\t\t\t\tbgcolor: '#f0f0f0',\n\t\t\t\tdirection: 'lr',\n\t\t\t\tcoverArea: 0\n\t\t\t},\n\t\t\t\trevealSettings = revealSettingsArg || this.options.revealSettings,\n\t\t\t\tdirection = revealSettings.direction || defaults.direction,\n\t\t\t\ttransformSettings = this._getTransformSettings( direction );\n\n\t\t\tthis.revealer.style.WebkitTransform = this.revealer.style.transform = transformSettings.val;\n\t\t\tthis.revealer.style.WebkitTransformOrigin = this.revealer.style.transformOrigin = transformSettings.origin.initial;\n\n\t\t\t// Set the Revealer´s background color.\n\t\t\tif ( !liquidIsElementor ) {\n\t\t\t\tthis.revealer.style.background = revealSettings.bgcolor || defaults.bgcolor;\n\t\t\t}\n\n\t\t\t// Show it. By default the revealer element has opacity = 0 (CSS).\n\t\t\tthis.revealer.style.opacity = 1;\n\n\t\t\t// Animate it.\n\t\t\tvar self = this,\n\t\t\t\t// Second animation step.\n\t\t\t\tanimationSettings_2 = {\n\t\t\t\t\tonComplete: function () {\n\t\t\t\t\t\tself.isAnimating = false;\n\t\t\t\t\t\tif ( typeof revealSettings.onComplete === 'function' ) {\n\t\t\t\t\t\t\trevealSettings.onComplete( self.content, self.revealer );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$( self.element ).addClass( 'revealing-ended' ).removeClass( 'revealing-started' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// First animation step.\n\t\t\t\tanimationSettings = {\n\t\t\t\t\tdelay: revealSettings.delay ? revealSettings.delay / 1000 : defaults.delay,\n\t\t\t\t\tonComplete: function () {\n\t\t\t\t\t\tself.revealer.style.WebkitTransformOrigin = self.revealer.style.transformOrigin = transformSettings.origin.halfway;\n\t\t\t\t\t\tif ( typeof revealSettings.onCover === 'function' ) {\n\t\t\t\t\t\t\trevealSettings.onCover( self.content, self.revealer );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$( self.element ).addClass( 'element-uncovered' );\n\t\t\t\t\t\tgsap.to( self.revealer, {\n\t\t\t\t\t\t\t...animationSettings_2\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\tanimationSettings.duration = animationSettings_2.duration = revealSettings.duration ? ( revealSettings.duration / 1000 ) : defaults.duration;\n\t\t\tanimationSettings.ease = animationSettings_2.ease = revealSettings.ease || defaults.ease;\n\n\t\t\tvar coverArea = revealSettings.coverArea || defaults.coverArea;\n\t\t\tif ( direction === 'lr' || direction === 'rl' ) {\n\t\t\t\tanimationSettings.keyframes = [\n\t\t\t\t\t{ scaleX: 0 },\n\t\t\t\t\t{ scaleX: 1, duration: animationSettings.duration },\n\t\t\t\t];\n\t\t\t\tanimationSettings_2.keyframes = [\n\t\t\t\t\t{ scaleX: 1 },\n\t\t\t\t\t{ scaleX: coverArea / 100, duration: animationSettings.duration },\n\t\t\t\t];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tanimationSettings.keyframes = [\n\t\t\t\t\t{ scaleY: 0 },\n\t\t\t\t\t{ scaleY: 1, duration: animationSettings.duration },\n\t\t\t\t];\n\t\t\t\tanimationSettings_2.keyframes = [\n\t\t\t\t\t{ scaleY: 1 },\n\t\t\t\t\t{ scaleY: coverArea / 100, duration: animationSettings.duration },\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tif ( typeof revealSettings.onStart === 'function' ) {\n\t\t\t\trevealSettings.onStart( self.content, self.revealer );\n\t\t\t}\n\t\t\t$( self.element ).addClass( 'revealing-started' );\n\n\t\t\tgsap.to( self.revealer, {\n\t\t\t\t...animationSettings\n\t\t\t} );\n\t\t}\n\n\t\tsetIntersectionObserver() {\n\n\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t$( entry.target ).imagesLoaded( this.doTheReveal.bind( this ) );\n\t\t\t\t}\n\n\t\t\t} ).observe( this.element );\n\n\t\t}\n\n\t\tdoTheReveal() {\n\n\t\t\tconst onCoverAnimations = this.options.revealSettings.onCoverAnimations || [ { \"scale\": 0.9 }, { \"scale\": 1 } ];\n\n\t\t\tconst onCover = {\n\t\t\t\tonCover: () => {\n\n\t\t\t\t\tif ( this.options.isContentHidden ) {\n\t\t\t\t\t\tthis.$content.css( 'opacity', 1 );\n\t\t\t\t\t}\n\n\t\t\t\t\tgsap.fromTo( this.element.querySelector( 'figure' ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...onCoverAnimations[ 0 ]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 0.8,\n\t\t\t\t\t\t\tease: 'power4.out',\n\t\t\t\t\t\t\t...onCoverAnimations[ 1 ]\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst options = { ...this.options, ...onCover };\n\n\t\t\tthis.reveal( options );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'reveal-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif ( window.$liquidContents.length && window.$liquidContents[ 0 ].hasAttribute( 'data-liquid-stack' ) ) return;\n\n\t$( '[data-reveal]' ).filter( ( i, element ) => {\n\n\t\tconst $element = $( element );\n\t\tconst $lazyloadImg = $element.find( '.ld-lazyload' );\n\n\t\treturn (\n\t\t\t!$lazyloadImg.length\n\t\t);\n\n\t} ).liquidReveal();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidSetActiveOnhover';\n\tlet defaults = {\n\t\tclassname: 'lqd-is-active',\n\t\toffClassname: 'lqd-was-active',\n\t\ttriggerHandlers: [ 'mouseenter', 'mouseleave' ], // on, off\n\t\ttriggers: '> li',\n\t\ttargets: '',\n\t\tlazyLoadImgVid: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.$element = $( element );\n\t\t\tthis.DOM.$triggers = this.options.triggers === 'self' ? this.DOM.$element : this.DOM.$element.find( this.options.triggers );\n\t\t\tthis.DOM.$targets = this.options.targets === 'self' ? this.DOM.$element : this.DOM.$element.find( this.options.targets );\n\n\t\t\tif ( this.DOM.$element.parents( '[data-lqd-fullproj]' ).length ) {\n\t\t\t\tthis.DOM.$fullscreenProjectParent = this.DOM.$element.parents( '[data-lqd-fullproj]' );\n\t\t\t}\n\n\t\t\tthis.listenToFullscreenProjectParent();\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tlistenToFullscreenProjectParent() {\n\n\t\t\tif ( this.DOM.$targets.length > 1 || this.DOM.$triggers.length > 1 ) return;\n\n\t\t\tconst { classname, offClassname } = this.options;\n\t\t\tconst $firstTarget = this.DOM.$targets.eq( 0 );\n\t\t\tconst $firstTrigger = this.DOM.$triggers.eq( 0 );\n\n\t\t\t// autoplay the video if it's the only item in fullscreen project\n\t\t\tthis.DOM.$fullscreenProjectParent && this.DOM.$fullscreenProjectParent.on( 'show.bs.collapse', () => {\n\t\t\t\tconsole.log( this.DOM.$targets );\n\t\t\t\t$firstTarget.add( $firstTrigger ).addClass( classname );\n\t\t\t\t$firstTarget.add( $firstTrigger ).removeClass( offClassname );\n\t\t\t\t$firstTarget.add( $firstTrigger ).css( 'pointer-events', 'none' );\n\t\t\t\tthis.handleLazyload( $firstTarget.add( $firstTrigger ) );\n\t\t\t} );\n\t\t\tthis.DOM.$fullscreenProjectParent && this.DOM.$fullscreenProjectParent.on( 'hide.bs.collapse', () => {\n\t\t\t\t$firstTarget.add( $firstTrigger ).removeClass( classname );\n\t\t\t\t$firstTarget.add( $firstTrigger ).removeClass( offClassname );\n\t\t\t\t$firstTarget.add( $firstTrigger ).css( 'pointer-events', '' );\n\t\t\t\t$firstTarget.find( 'video' )[ 0 ]?.pause();\n\t\t\t} );\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst { triggerHandlers, classname, offClassname, lazyLoadImgVid } = this.options;\n\n\t\t\tthis.DOM.$triggers.each( ( i, trigger ) => {\n\n\t\t\t\tconst $trigger = $( trigger );\n\t\t\t\tlet $target = this.DOM.$targets.eq( i );\n\n\t\t\t\tif ( !$target.length ) {\n\t\t\t\t\t$target = $trigger;\n\t\t\t\t}\n\n\t\t\t\tif ( triggerHandlers[ 0 ] === triggerHandlers[ 1 ] ) {\n\n\t\t\t\t\t$trigger.on( triggerHandlers[ 0 ], () => {\n\t\t\t\t\t\t$target.add( trigger ).toggleClass( classname );\n\t\t\t\t\t} )\n\n\t\t\t\t} else {\n\n\t\t\t\t\t$trigger.on( triggerHandlers[ 0 ], () => {\n\t\t\t\t\t\tthis.DOM.$targets.add( this.DOM.$triggers ).removeClass( classname );\n\t\t\t\t\t\t$target.add( trigger ).addClass( classname );\n\t\t\t\t\t\t$target.add( trigger ).removeClass( offClassname );\n\t\t\t\t\t\tlazyLoadImgVid && this.handleLazyload( $target );\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( triggerHandlers[ 1 ] != null ) {\n\t\t\t\t\t\t$trigger.on( triggerHandlers[ 1 ], () => {\n\t\t\t\t\t\t\t$target.add( trigger ).removeClass( classname );\n\t\t\t\t\t\t\t$target.add( trigger ).addClass( offClassname );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t$( document ).on( 'click.lqdActiveOnHoverClick', event => {\n\t\t\t\t\t\t\tif ( !$target[ 0 ].contains( event.target ) ) {\n\t\t\t\t\t\t\t\t$target.add( trigger ).removeClass( classname );\n\t\t\t\t\t\t\t\t$target.add( trigger ).addClass( offClassname );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} )\n\n\n\t\t}\n\n\t\thandleLazyload( $target ) {\n\n\t\t\tconst $imgVids = $target.find( 'img, source' );\n\n\t\t\t$imgVids.each( ( i, imgVid ) => {\n\n\t\t\t\tconst $imgVid = $( imgVid );\n\t\t\t\tconst src = $imgVid.attr( 'data-src' );\n\n\t\t\t\tif ( src ) {\n\t\t\t\t\t$imgVid.attr( 'src', src );\n\t\t\t\t}\n\n\t\t\t\tif ( $imgVid.is( 'source' ) && i === $imgVids.length - 1 ) {\n\t\t\t\t\tconst vid = $imgVid.parent( 'video' )[ 0 ];\n\t\t\t\t\tvid.load();\n\t\t\t\t\tvid.play();\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tconst { triggers } = this.options;\n\t\t\tconst $triggers = this.DOM.$element.find( triggers );\n\n\t\t\t$triggers.each( ( i, trigger ) => {\n\t\t\t\t$( trigger ).off();\n\t\t\t} )\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'active-onhover-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-active-onhover]' ).liquidSetActiveOnhover();\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidShrinkBorders';\n\tlet defaults = {\n\t\tstart: 'top',\n\t\tend: 'bottom-=30%',\n\t\tscrub: 0.2\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = {...defaults, ...options};\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.$parentRow = this.$element.closest('.vc_row');\n\t\t\tthis.$contents = this.$parentRow.children('.container').length ? this.$parentRow.children('.container') : this.$parentRow.children('.ld-container');\n\t\t\tthis.contentsHeight = this.$contents.height();\n\t\t\tthis.$animatables = this.$element.children();\n\n\t\t\tif ( this.$parentRow[0].hasAttribute('data-row-bg') ) {\n\t\t\t\tthis.$parentRow.on('lqdrowbginit', this.init.bind(this));\n\t\t\t} else {\n\t\t\t\tthis.init();\n\t\t\t}\n\n\t\t}\n\t\t\t\n\t\tinit() {\n\n\t\t\tthis._initScrollTrigger();\n\n\t\t\tthis.$element.addClass('sticky-applied');\n\t\t\t\n\t\t}\n\n\t\t_initScrollTrigger() {\n\n\t\t\tconst $stickyBg = this.$element.siblings('.row-bg-wrap');\n\t\t\tconst {start, end, scrub} = this.options;\n\t\t\tconst timeline = gsap.timeline();\n\n\t\t\tif ( $stickyBg.length ) {\n\t\t\t\tthis.$animatables = this.$animatables.add($stickyBg);\n\t\t\t}\n\n\t\t\t$.each( this.$animatables, (i, border) => {\n\n\t\t\t\tconst $border = $(border);\n\t\t\t\tconst scaleAxis = $border.attr('data-axis');\n\n\t\t\t\tconst animations = {\n\t\t\t\t\tstartAt: {}\n\t\t\t\t};\n\n\t\t\t\tif ( scaleAxis === 'x' ) {\n\t\t\t\t\tanimations.startAt.scaleX = 1;\n\t\t\t\t\tanimations.scaleX = 0;\n\t\t\t\t} else if ( scaleAxis === 'y' ) {\n\t\t\t\t\tanimations.startAt.scaleY = 1;\n\t\t\t\t\tanimations.scaleY = 0;\n\t\t\t\t} else {\n\t\t\t\t\tanimations.startAt.scale = 1.05;\n\t\t\t\t\tanimations.scale = 1;\n\t\t\t\t}\n\n\t\t\t\ttimeline.to(border, {\n\t\t\t\t\t...animations\n\t\t\t\t}, 0);\n\n\t\t\t} );\n\n\t\t\tScrollTrigger.create({\n\t\t\t\tanimation: timeline,\n\t\t\t\ttrigger: this.element,\n\t\t\t\tstart,\n\t\t\t\tend,\n\t\t\t\tscrub,\n\t\t\t\ttoggleClass: {targets: this.$animatables.get(),\tclassName: 'will-change'}\n\t\t\t});\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('plugin-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\tif ( liquidWindowWidth() <= liquidMobileNavBreakpoint() || liquidIsMobile() ) return false;\n\n\t$('[data-shrink-borders]').liquidShrinkBorders();\n\t\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidSlideElement';\n\tlet defaults = {\n\t\thiddenElement: null,\n\t\tvisibleElement: null,\n\t\thiddenElementOnHover: null,\n\t\talignMid: false,\n\t\twaitForSplitText: false,\n\t\tdisableOnMobile: false,\n\t\ttriggerElement: 'self' // self, $ancesterElement\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\t\t\tthis.$triggerElement = this.options.triggerElement === 'self' ? this.$element : this.$element.closest( this.options.triggerElement );\n\n\t\t\tthis.timeline = gsap.timeline();\n\n\t\t\tif ( this.options.waitForSplitText ) {\n\n\t\t\t\tconst $splitTextEls = this.$element.find( '[data-split-text]' );\n\t\t\t\tconst promises = [];\n\n\t\t\t\tif ( $splitTextEls.length ) {\n\t\t\t\t\t$splitTextEls.liquidSplitText( { forceApply: true } );\n\t\t\t\t\t$splitTextEls.each( ( i, el ) => {\n\t\t\t\t\t\tconst $el = $( el );\n\t\t\t\t\t\tconst splitTextData = $el.data( 'plugin_liquidSplitText' );\n\t\t\t\t\t\tif ( splitTextData ) {\n\t\t\t\t\t\t\tpromises.push( splitTextData.splitDonePormise );\n\t\t\t\t\t\t}\n\t\t\t\t\t} )\n\t\t\t\t}\n\n\t\t\t\tif ( promises.length > 0 ) {\n\t\t\t\t\tPromise.all( promises ).then( this.init.bind( this ) );\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tthis.init();\n\t\t\t}\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.getElements();\n\n\t\t\tif ( !this.$hiddenElement.length || !this.$visibleElement.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\timagesLoaded( this.element, () => {\n\n\t\t\t\tthis.hiddenElementHeight = this.getHiddenElementHeight();\n\t\t\t\tthis.$element.addClass( 'hide-target' );\n\t\t\t\tthis.createTimeline();\n\t\t\t\tthis.moveElements();\n\t\t\t\tthis.eventListeners();\n\n\t\t\t} );\n\n\t\t}\n\n\t\tgetElements() {\n\n\t\t\tthis.$hiddenElement = $( this.options.hiddenElement, this.element );\n\t\t\tthis.$visibleElement = $( this.options.visibleElement, this.element );\n\t\t\tthis.$hiddenElementOnHover = $( this.options.hiddenElementOnHover, this.element );\n\n\t\t\tthis.$hiddenElement.wrap( '<div class=\"ld-slideelement-hidden\" />' ).wrap( '<div class=\"ld-slideelement-hidden-inner\" />' );\n\t\t\tthis.$visibleElement.wrap( '<div class=\"ld-slideelement-visible\" />' ).wrap( '<div class=\"ld-slideelement-visible-inner\" />' );\n\n\t\t\tthis.$hiddenElementWrap = this.$hiddenElement.closest( '.ld-slideelement-hidden' );\n\t\t\tthis.$hiddenElementInner = this.$hiddenElement.closest( '.ld-slideelement-hidden-inner' );\n\t\t\tthis.$visibleElementWrap = this.$visibleElement.closest( '.ld-slideelement-visible' );\n\t\t\tthis.$visibleElementInner = this.$visibleElement.closest( '.ld-slideelement-visible-inner' );\n\n\t\t}\n\n\t\tgetHiddenElementHeight() {\n\n\t\t\tlet height = 0;\n\n\t\t\t$.each( this.$hiddenElement, ( i, element ) => {\n\t\t\t\theight += $( element ).outerHeight( true );\n\t\t\t} );\n\n\t\t\treturn height;\n\n\t\t}\n\n\t\tgetHiddenElementChilds() {\n\n\t\t\treturn this.$hiddenElementInner.children().map( ( i, childElement ) => childElement.parentElement );\n\n\t\t}\n\n\t\tgetVisibleElementChilds() {\n\n\t\t\treturn this.$visibleElementInner.children().map( ( i, childElement ) => childElement.parentElement );\n\n\t\t}\n\n\t\tmoveElements() {\n\n\t\t\tconst translateVal = this.options.alignMid ? this.hiddenElementHeight / 2 : this.hiddenElementHeight;\n\n\t\t\tthis.$visibleElementWrap.css( {\n\t\t\t\ttransform: `translateY(${ translateVal }px)`\n\t\t\t} );\n\t\t\tthis.$hiddenElementWrap.css( {\n\t\t\t\ttransform: `translateY(${ translateVal }px)`\n\t\t\t} );\n\n\t\t}\n\n\t\tcreateTimeline() {\n\n\t\t\tconst { options } = this;\n\t\t\tconst childElements = [ ...this.getVisibleElementChilds(), ...this.getHiddenElementChilds() ];\n\t\t\tlet translateVal = options.alignMid ? this.hiddenElementHeight / 2 : this.hiddenElementHeight;\n\n\t\t\tif ( options.hiddenElementOnHover ) {\n\t\t\t\tconst elementHeight = this.$hiddenElementOnHover.outerHeight( true );\n\t\t\t\ttranslateVal = options.alignMid ? ( this.hiddenElementHeight + elementHeight ) / 2 : this.hiddenElementHeight + elementHeight;\n\t\t\t}\n\n\t\t\tthis.timeline.to( childElements, {\n\t\t\t\ty: translateVal * -1,\n\t\t\t\topacity: ( i, element ) => {\n\t\t\t\t\tif ( $( element ).is( $( this.$hiddenElementOnHover ).parent() ) ) {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t\treturn 1;\n\t\t\t\t},\n\t\t\t\tease: 'power3.out',\n\t\t\t\tduration: 0.65,\n\t\t\t\tstagger: 0.065,\n\t\t\t} ).pause();\n\n\t\t}\n\n\t\teventListeners() {\n\n\t\t\tconst onResize = liquidDebounce( this.onWindowResize.bind( this ), 500 );\n\n\t\t\tthis.$triggerElement.on( 'mouseenter.lqdSlideElementOnHover', this.onMouseEnter.bind( this ) );\n\t\t\tthis.$triggerElement.on( 'mouseleave.lqdSlideElementOnHover', this.onMouseLeave.bind( this ) );\n\t\t\t$( window ).on( 'resize.lqdSlideElementOnResize', onResize );\n\n\t\t}\n\n\t\tonMouseEnter() {\n\n\t\t\tthis.timeline.play();\n\n\t\t}\n\n\t\tonMouseLeave() {\n\n\t\t\tthis.timeline.reverse();\n\n\t\t}\n\n\t\tonWindowResize() {\n\n\t\t\tthis.hiddenElementHeight = this.getHiddenElementHeight();\n\t\t\tthis.moveElements();\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tthis.$triggerElement.off( 'mouseenter.lqdSlideElementOnHover mouseleave.lqdSlideElementOnHover' );\n\t\t\t$( window ).off( 'resize.lqdSlideElementOnResize' );\n\n\t\t}\n\n\t}\n\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'slideelement-options' ), ...options };\n\n\t\t\tif ( pluginOptions.disableOnMobile && liquidIsMobile() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\tconst $elements = $( '[data-slideelement-onhover]' ).filter( ( i, element ) => {\n\t\treturn (\n\t\t\t!$( element ).parents( '[data-custom-animations]' ).length &&\n\t\t\t!element.hasAttribute( 'data-custom-animations' ) &&\n\t\t\telement.clientHeight > 0\n\t\t)\n\t} );\n\t$elements.liquidSlideElement();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst headerStickyOptions = $liquidMainHeader.length && $liquidMainHeader[ 0 ].getAttribute( 'data-sticky-options' );\n\tconst headerIsDynamicColor = headerStickyOptions && JSON.parse( headerStickyOptions ).dynamicColors === true;\n\n\tconst pluginName = 'liquidStack';\n\tlet defaults = {\n\t\tsectionSelector: '#lqd-contents-wrap > .vc_row, #lqd-contents-wrap > .vc_section', // outer rows only\n\t\tanchors: [],\n\t\teasing: 'linear',\n\t\tscrollingSpeed: 1200,\n\t\tloopTop: false,\n\t\tloopBottom: false,\n\t\tnavigation: false,\n\t\tdefaultTooltip: 'Section',\n\t\tprevNextButtons: true,\n\t\tprevNextLabels: { prev: 'Previous', next: 'Next' },\n\t\tpageNumber: true,\n\t\teffect: 'none', // [ 'none', 'fadeScale', 'slideOver' ]\n\t\tdisableOnMobile: true,\n\t\tnormalScrollElements: null,\n\t\tnormalScrollElementTouchThreshold: 5,\n\t\ttouchSensitivity: 5,\n\t};\n\n\tconst $backToTopButton = $( '[data-back-to-top], [data-lqd-scroll-indicator]' );\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tif (\n\t\t\t\tthis.options.disableOnMobile &&\n\t\t\t\t( liquidIsMobile() || liquidWindowWidth() <= liquidMobileNavBreakpoint() )\n\t\t\t) return false;\n\n\t\t\tthis.lastScrolledDestiny;\n\t\t\tthis.lastAnimation = 0;\n\t\t\tthis.scrollings = [];\n\t\t\tthis.isTouch = ( ( 'ontouchstart' in window ) || ( navigator.msMaxTouchPoints > 0 ) || ( navigator.maxTouchPoints ) );\n\t\t\tthis.touchStartY = 0;\n\t\t\tthis.touchEndY = 0;\n\t\t\tthis.prevTime = new Date().getTime();\n\n\t\t\tthis.scrollDelay = 600;\n\n\t\t\tthis.anchors = [];\n\t\t\tthis.tooltips = [];\n\n\t\t\tthis.$sectionElements = null;\n\t\t\tthis.$ppNav = null;\n\t\t\tthis.$ppNavCurrent = null;\n\t\t\tthis.$prevNextButtons = $( '.lqd-stack-prevnext-wrap' );\n\t\t\tthis.$pageNumber = $( '.lqd-stack-page-number' );\n\t\t\tthis.$stickyModules = liquidIsElementor ?\n\t\t\t\t$liquidMainHeader.find( '> .elementor > .elementor-section-wrap > .elementor-section, > .elementor > .elementor-section, > .elementor > .e-container, > .elementor > .e-con' ).not( '.lqd-hide-onstuck' ).find( '[data-element_type=\"widget\"]' ) :\n\t\t\t\t$liquidMainHeader.find( '.lqd-head-sec-wrap, .lqd-stickybar-wrap' ).not( '.lqd-hide-onstuck' ).find( '.lqd-head-col > .header-module' );\n\t\t\tthis.$pageNumbersStyle = $liquidBody.hasClass( 'lqd-stack-nums-style-1' ) ? 'style1' : $liquidBody.hasClass( 'lqd-stack-nums-style-2' ) ? 'style2' : '';\n\n\t\t\tthis.stackInitPromise = new Promise( resolve => {\n\t\t\t\tthis.$element.on( 'stackinit', resolve.bind( this, this ) )\n\t\t\t} );\n\n\t\t\tthis.$mainNavLocalScroll = $( '.main-nav' );\n\n\t\t\tLiquidSectionsDetails.getDetails().then( sections => {\n\n\t\t\t\tconst contentSections = sections.filter( sec => !sec.isInFooter && !sec.isInnerSection );\n\t\t\t\tconst secs = contentSections.map( sec => sec.el );\n\n\t\t\t\tthis.$sectionElements = $( secs );\n\n\t\t\t\tthis.build();\n\t\t\t\tthis.addClassnames();\n\t\t\t\tthis.eachSection();\n\t\t\t\tthis.init();\n\n\t\t\t\tthis.$element.trigger( 'stackinit' );\n\n\t\t\t} );\n\n\t\t}\n\n\t\t/**\n\t\t* Moves sectio up\n\t\t*/\n\t\tmoveSectionUp() {\n\t\t\tvar prev = this.getActiveSection().$element.prev( '.pp-section' );\n\n\t\t\t//looping to the bottom if there's no more sections above\n\t\t\tif ( !prev.length && this.options.loopTop ) {\n\t\t\t\tprev = this.$sectionElements.last();\n\t\t\t}\n\n\t\t\tif ( prev.length ) {\n\t\t\t\tthis.scrollPage( prev );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Moves sectio down\n\t\t*/\n\t\tmoveSectionDown() {\n\t\t\tvar next = this.getActiveSection().$element.next( '.pp-section' );\n\n\t\t\t//looping to the top if there's no more sections below\n\t\t\tif ( !next.length && this.options.loopBottom ) {\n\t\t\t\tnext = this.$sectionElements.first();\n\t\t\t}\n\n\t\t\tif ( next.length ) {\n\t\t\t\tthis.scrollPage( next );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Moves the site to the given anchor or index\n\t\t*/\n\t\tmoveTo( section ) {\n\n\t\t\tlet sec;\n\n\t\t\tif ( isNaN( section ) ) {\n\t\t\t\tsec = this.$sectionElements.filter( ( i, el ) => el.getAttribute( 'data-anchor' ) === section );\n\t\t\t} else {\n\t\t\t\tsec = this.$sectionElements.eq( ( section - 1 ) );\n\t\t\t}\n\n\t\t\tthis.scrollPage( sec );\n\t\t}\n\n\t\tgetActiveSection() {\n\n\t\t\tconst $element = this.$sectionElements.filter( ( i, el ) => $( el ).hasClass( 'active' ) );\n\t\t\tconst index = this.$sectionElements.get().findIndex( el => el.classList.contains( 'active' ) );\n\n\t\t\treturn {\n\t\t\t\t$element,\n\t\t\t\tindex\n\t\t\t}\n\n\t\t}\n\n\t\tmakeScrollable( section ) {\n\n\t\t\tconst $section = $( section );\n\t\t\tconst $children = $section.children().filter( ( i, child ) => {\n\t\t\t\tconst $childPos = $( child ).css( 'position' );\n\t\t\t\treturn $childPos !== 'absolute' && $childPos !== 'fixed';\n\t\t\t} );\n\t\t\tconst sectionHeight = $section.outerHeight();\n\t\t\tlet childrenHeight = 0;\n\n\t\t\tif ( $children.length ) {\n\t\t\t\t$children.each( ( i, child ) => {\n\t\t\t\t\tchildrenHeight += $( child ).outerHeight();\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\tif ( childrenHeight > sectionHeight ) {\n\n\t\t\t\tconst sectionPadding = parseInt( $section.css( 'paddingTop' ), 10 ) + parseInt( $section.css( 'paddingBottom' ), 10 );\n\n\t\t\t\t$section.addClass( 'pp-scrollable' )\n\n\t\t\t\tsection.style.setProperty( '--lqd-section-height', `${ childrenHeight + sectionPadding }px` );\n\n\t\t\t} else {\n\n\t\t\t\t$section.removeClass( 'pp-scrollable' )\n\n\t\t\t\tsection.style.removeProperty( '--lqd-section-height' );\n\n\t\t\t}\n\n\t\t}\n\n\t\t/**\n\t\t* Enables vertical centering by wrapping the content and the use of table and table-cell\n\t\t*/\n\t\taddTableClass( section ) {\n\n\t\t\tconst $section = $( section );\n\n\t\t\t$section.addClass( 'd-flex flex-column flex-nowrap align-content-start flex flex-col content-start' );\n\n\t\t\tif ( !$section.children( '.pp-section-wrap' ).length ) {\n\t\t\t\t$section.wrapInner( '<div class=\"pp-section-wrap\"><div class=\"lqd-stack-section-inner\"></div></div>' );\n\t\t\t}\n\n\t\t}\n\n\t\t/**\n\t\t* Retuns `up` or `down` depending on the scrolling movement to reach its destination\n\t\t* from the current section.\n\t\t*/\n\t\tgetYmovement( destiny ) {\n\n\t\t\tvar fromIndex = this.getActiveSection().index;\n\t\t\tvar toIndex = this.$sectionElements.index( destiny );\n\t\t\tlet dir = 'up';\n\n\t\t\tif ( fromIndex < toIndex ) {\n\t\t\t\tdir = 'down';\n\t\t\t}\n\n\t\t\treturn dir;\n\n\t\t}\n\n\t\t/**\n\t\t* Scrolls the page to the given destination\n\t\t*/\n\t\tscrollPage( destination ) {\n\n\t\t\tconst activeSection = this.getActiveSection();\n\n\t\t\tvar v = {\n\t\t\t\tdestination: destination,\n\t\t\t\tactiveSection: activeSection.$element,\n\t\t\t\tanchorLink: destination.data( 'anchor' ),\n\t\t\t\tsectionIndex: this.$sectionElements.index( destination ),\n\t\t\t\ttoMove: destination,\n\t\t\t\tyMovement: this.getYmovement( destination ),\n\t\t\t\tleavingSection: activeSection.index + 1\n\t\t\t};\n\n\t\t\t//quiting when activeSection is the target element\n\t\t\tif ( v.activeSection.is( destination ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( typeof v.anchorLink !== 'undefined' ) {\n\t\t\t\tthis.setURLHash( v.anchorLink, v.sectionIndex );\n\t\t\t}\n\n\t\t\tthis.$sectionElements.removeClass( 'active' );\n\t\t\tthis.setActiveSection( v.sectionIndex );\n\n\t\t\tv.sectionsToMove = this.getSectionsToMove( v );\n\n\t\t\tv.translate3d = '';\n\n\t\t\t//scrolling down (moving sections up making them disappear)\n\t\t\tif ( v.yMovement === 'down' ) {\n\n\t\t\t\tif ( v.destination.is( '.pp-auto-height' ) ) {\n\n\t\t\t\t\tvar destinationTransform = ( v.destination.outerHeight() * -1 ) + 'px';\n\n\t\t\t\t\tv.translate3d = `translate3d(0px, ${ destinationTransform }, 0px)`;\n\n\t\t\t\t\tv.scrolling = destinationTransform;\n\n\t\t\t\t\tv.sectionsToMove = v.activeSection;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tv.scrolling = '-100%';\n\n\t\t\t\t}\n\n\t\t\t\tv.animateSection = v.activeSection;\n\n\t\t\t}\n\n\t\t\t//scrolling up (moving section down to the viewport)\n\t\t\telse {\n\n\t\t\t\tv.scrolling = '0';\n\n\t\t\t\tv.animateSection = destination;\n\n\t\t\t}\n\n\t\t\tthis.onLeave( v.leavingSection, ( v.sectionIndex + 1 ), v.yMovement );\n\n\t\t\tthis.performMovement( v );\n\n\t\t\tthis.activateNavDots( v.sectionIndex );\n\t\t\tthis.lastScrolledDestiny = v.anchorLink;\n\n\t\t\tthis.lastAnimation = new Date().getTime();\n\t\t}\n\n\t\t/**\n\t\t* Performs the movement (by CSS3 or by jQuery)\n\t\t*/\n\t\tperformMovement( v ) {\n\n\t\t\tthis.transformContainer( v.animateSection, v.translate3d );\n\n\t\t\tv.sectionsToMove.each( () => {\n\t\t\t\tthis.transformContainer( $( this ), v.translate3d );\n\t\t\t} );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.afterSectionLoads( v );\n\t\t\t}, this.options.scrollingSpeed );\n\n\t\t}\n\n\t\t/**\n\t\t* Actions to execute after a secion is loaded\n\t\t*/\n\t\tafterSectionLoads( v ) {\n\t\t\t//callback (afterLoad) if the site is not just resizing and readjusting the slides\n\t\t\tthis.afterLoad( v.anchorLink, ( v.sectionIndex + 1 ) );\n\t\t}\n\n\t\tgetSectionsToMove( v ) {\n\n\t\t\tvar sectionToMove;\n\n\t\t\tif ( v.yMovement === 'down' ) {\n\t\t\t\tsectionToMove = this.$sectionElements.map( function ( index ) {\n\t\t\t\t\tif ( index < v.destination.index( this.$sectionElements ) ) {\n\t\t\t\t\t\treturn $( this );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsectionToMove = this.$sectionElements.map( function ( index ) {\n\t\t\t\t\tif ( index > v.destination.index( this.$sectionElements ) ) {\n\t\t\t\t\t\treturn $( this );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn sectionToMove;\n\t\t}\n\n\t\t/**\n\t\t* Sets the URL hash for a section with slides\n\t\t*/\n\t\tsetURLHash( anchorLink ) {\n\t\t\tlocation.hash = anchorLink;\n\t\t}\n\n\t\t//TO DO\n\t\tscrollToAnchor() {\n\t\t\t//getting the anchor link in the URL and deleting the `#`\n\t\t\tvar value = window.location.hash.replace( '#', '' );\n\t\t\tvar sectionAnchor = value;\n\t\t\tvar section = this.$sectionElements.filter( ( i, el ) => $( el ).attr( 'data-anchor' ) === sectionAnchor );\n\n\t\t\tif ( section.length > 0 ) {\n\t\t\t\tthis.scrollPage( section );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Determines if the transitions between sections still taking place.\n\t\t* The variable `scrollDelay` adds a \"save zone\" for devices such as Apple laptops and Apple magic mouses\n\t\t*/\n\t\tisMoving() {\n\t\t\tvar timeNow = new Date().getTime();\n\t\t\t// Cancel scroll if currently animating or within quiet period\n\t\t\tif ( timeNow - this.lastAnimation < this.scrollDelay + this.options.scrollingSpeed ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\t/**\n\t\t* Actions to do when the hash (#) in the URL changes.\n\t\t*/\n\t\thashChangeHandler() {\n\t\t\tvar value = window.location.hash.replace( '#', '' ).split( '/' );\n\t\t\tvar sectionAnchor = value[ 0 ];\n\n\t\t\tif ( sectionAnchor.length ) {\n\t\t\t\t/*in order to call scrollpage() only once for each destination at a time\n\t\t\t\tIt is called twice for each scroll otherwise, as in case of using anchorlinks `hashChange`\n\t\t\t\tevent is fired on every scroll too.*/\n\t\t\t\tif ( sectionAnchor && sectionAnchor !== this.lastScrolledDestiny ) {\n\t\t\t\t\tconst section = this.$sectionElements.filter( ( i, el ) => $( el ).attr( 'data-anchor' ) === sectionAnchor );\n\t\t\t\t\tthis.scrollPage( section );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Cross browser transformations\n\t\t*/\n\t\tgetTransforms( translate3d ) {\n\t\t\treturn {\n\t\t\t\t'-webkit-transform': translate3d,\n\t\t\t\t'transform': translate3d\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t* Adds a css3 transform property to the container class with or without animation depending on the animated param.\n\t\t*/\n\t\ttransformContainer( element, translate3d ) {\n\t\t\telement.css( this.getTransforms( translate3d ) );\n\t\t}\n\n\t\t/**\n\t\t* Detecting mousewheel scrolling\n\t\t*\n\t\t* http://blogs.sitepointstatic.com/examples/tech/mouse-wheel/index.html\n\t\t* http://www.sitepoint.com/html5-javascript-mouse-wheel/\n\t\t*/\n\t\tmouseWheelHandler( e ) {\n\t\t\tvar curTime = new Date().getTime();\n\n\t\t\t// cross-browser wheel delta\n\t\t\tconst evt = e.originalEvent;\n\t\t\tvar value = evt.wheelDelta || -evt.deltaY || -evt.detail;\n\t\t\tvar delta = Math.max( -1, Math.min( 1, value ) );\n\n\t\t\tvar horizontalDetection = typeof evt.wheelDeltaX !== 'undefined' || typeof evt.deltaX !== 'undefined';\n\t\t\tvar isScrollingVertically = ( Math.abs( evt.wheelDeltaX ) < Math.abs( evt.wheelDelta ) ) || ( Math.abs( evt.deltaX ) < Math.abs( evt.deltaY ) || !horizontalDetection );\n\n\t\t\t//Limiting the array to 150 (lets not waste memory!)\n\t\t\tif ( this.scrollings.length > 149 ) {\n\t\t\t\tthis.scrollings.shift();\n\t\t\t}\n\n\t\t\t//keeping record of the previous scrollings\n\t\t\tthis.scrollings.push( Math.abs( value ) );\n\n\t\t\t//time difference between the last scroll and the current one\n\t\t\tvar timeDiff = curTime - this.prevTime;\n\t\t\tthis.prevTime = curTime;\n\n\t\t\t//haven't they scrolled in a while?\n\t\t\t//(enough to be consider a different scrolling action to scroll another section)\n\t\t\tif ( timeDiff > 200 ) {\n\t\t\t\t//emptying the array, we dont care about old scrollings for our averages\n\t\t\t\tthis.scrollings = [];\n\t\t\t}\n\n\t\t\tif ( !this.isMoving() ) {\n\t\t\t\tvar activeSection = this.getActiveSection().$element;\n\t\t\t\tvar scrollable = this.isScrollable( activeSection );\n\n\n\t\t\t\tvar averageEnd = this.getAverage( this.scrollings, 10 );\n\t\t\t\tvar averageMiddle = this.getAverage( this.scrollings, 70 );\n\t\t\t\tvar isAccelerating = averageEnd >= averageMiddle;\n\n\t\t\t\tif ( isAccelerating && isScrollingVertically ) {\n\t\t\t\t\t//scrolling down?\n\t\t\t\t\tif ( delta < 0 ) {\n\t\t\t\t\t\tthis.scrolling( 'down', scrollable );\n\n\t\t\t\t\t\t//scrolling up?\n\t\t\t\t\t} else if ( delta > 0 ) {\n\t\t\t\t\t\tthis.scrolling( 'up', scrollable );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return false;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Gets the average of the last `number` elements of the given array.\n\t\t*/\n\t\tgetAverage( elements, number ) {\n\t\t\tvar sum = 0;\n\n\t\t\t//taking `number` elements from the end to make the average, if there are not enought, 1\n\t\t\tvar lastElements = elements.slice( Math.max( elements.length - number, 1 ) );\n\n\t\t\tfor ( var i = 0; i < lastElements.length; i++ ) {\n\t\t\t\tsum = sum + lastElements[ i ];\n\t\t\t}\n\n\t\t\treturn Math.ceil( sum / number );\n\t\t}\n\n\t\t/**\n\t\t* Determines the way of scrolling up or down:\n\t\t* by 'automatically' scrolling a section or by using the default and normal scrolling.\n\t\t*/\n\t\tscrolling( type, scrollable ) {\n\t\t\tvar check;\n\t\t\tvar scrollSection;\n\n\t\t\tif ( type == 'down' ) {\n\t\t\t\tcheck = 'bottom';\n\t\t\t\tscrollSection = this.moveSectionDown.bind( this );\n\t\t\t} else {\n\t\t\t\tcheck = 'top';\n\t\t\t\tscrollSection = this.moveSectionUp.bind( this );\n\t\t\t}\n\n\t\t\tif ( scrollable.length > 0 ) {\n\t\t\t\t//is the scrollbar at the start/end of the scroll?\n\t\t\t\tif ( this.isScrolled( check, scrollable ) ) {\n\t\t\t\t\tscrollSection();\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t//moved up/down\n\t\t\t\tscrollSection();\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Return a boolean depending on whether the scrollable element is at the end or at the start of the scrolling\n\t\t* depending on the given type.\n\t\t*/\n\t\tisScrolled( type, scrollable ) {\n\t\t\tif ( type === 'top' ) {\n\t\t\t\treturn !scrollable.scrollTop();\n\t\t\t} else if ( type === 'bottom' ) {\n\t\t\t\treturn scrollable.scrollTop() + 1 + scrollable.innerHeight() >= scrollable[ 0 ].scrollHeight;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Determines whether the active section or slide is scrollable through and scrolling bar\n\t\t*/\n\t\tisScrollable( activeSection ) {\n\t\t\treturn activeSection.filter( '.pp-scrollable' );\n\t\t}\n\n\t\t/**\n\t\t* Adds the auto scrolling action for the mouse wheel and tackpad.\n\t\t* After this function is called, the mousewheel and trackpad movements will scroll through sections\n\t\t*/\n\t\taddMouseWheelHandler() {\n\t\t\t$liquidWindow.on( 'mousewheel wheel', this.mouseWheelHandler.bind( this ) );\n\t\t}\n\n\t\t/**\n\t * Sliding with arrow keys, both, vertical and horizontal\n\t\t*/\n\t\thandleKeys() {\n\t\t\t$( document ).keydown( ( e ) => {\n\t\t\t\tif ( !this.isMoving() ) {\n\t\t\t\t\t//Moving the main page with the keyboard arrows if keyboard scrolling is enabled\n\t\t\t\t\tswitch ( e.which ) {\n\t\t\t\t\t\t//up\n\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\tcase 33:\n\t\t\t\t\t\t\tthis.moveSectionUp();\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t//down\n\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\tcase 34:\n\t\t\t\t\t\t\tthis.moveSectionDown();\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t//Home\n\t\t\t\t\t\tcase 36:\n\t\t\t\t\t\t\tthis.moveTo( 1 );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t//End\n\t\t\t\t\t\tcase 35:\n\t\t\t\t\t\t\tthis.moveTo( $( '.pp-section' ).length );\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn; // exit this handler for other keys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t/**\n\t\t* Adds the possibility to auto scroll through sections on touch devices.\n\t\t*/\n\t\taddTouchHandler() {\n\t\t\tif ( this.isTouch ) {\n\t\t\t\tthis.$element.off( 'touchstart' ).on( 'touchstart', this.touchStartHandler.bind( this ) );\n\t\t\t\tthis.$element.off( 'touchmove' ).on( 'touchmove', this.touchMoveHandler.bind( this ) );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Gets the pageY properties depending on the browser.\n\t\t* https://github.com/alvarotrigo/fullPage.js/issues/194#issuecomment-34069854\n\t\t*/\n\t\tgetEventsPage( e ) {\n\t\t\tvar events = new Array();\n\n\t\t\tevents.y = ( typeof e.pageY !== 'undefined' && ( e.pageY || e.pageX ) ? e.pageY : e.touches[ 0 ].pageY );\n\n\t\t\treturn events;\n\t\t}\n\n\t\t/**\n\t\t* As IE >= 10 fires both touch and mouse events when using a mouse in a touchscreen\n\t\t* this way we make sure that is really a touch event what IE is detecting.\n\t\t*/\n\t\tisReallyTouch( e ) {\n\t\t\t//if is not IE || IE is detecting `touch` or `pen`\n\t\t\treturn typeof e.pointerType === 'undefined' || e.pointerType != 'mouse';\n\t\t}\n\n\t\t/**\n\t\t* Getting the starting possitions of the touch event\n\t\t*/\n\t\ttouchStartHandler( event ) {\n\t\t\tvar e = event.originalEvent;\n\n\t\t\tif ( this.isReallyTouch( e ) ) {\n\t\t\t\tvar touchEvents = this.getEventsPage( e );\n\t\t\t\tthis.touchStartY = touchEvents.y;\n\t\t\t}\n\t\t}\n\n\t\t/* Detecting touch events\n\t\t*/\n\t\ttouchMoveHandler( event ) {\n\t\t\tvar e = event.originalEvent;\n\n\t\t\t// additional: if one of the normalScrollElements isn't within options.normalScrollElementTouchThreshold hops up the DOM chain\n\t\t\tif ( this.isReallyTouch( e ) ) {\n\n\t\t\t\tvar activeSection = this.getActiveSection().$element;\n\t\t\t\tvar scrollable = this.isScrollable( activeSection );\n\n\t\t\t\tif ( !scrollable.length ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\n\t\t\t\tif ( !this.isMoving() ) {\n\t\t\t\t\tvar touchEvents = this.getEventsPage( e );\n\t\t\t\t\tthis.touchEndY = touchEvents.y;\n\n\t\t\t\t\tif ( Math.abs( this.touchStartY - this.touchEndY ) > ( this.$element.height() / 100 * this.options.touchSensitivity ) ) {\n\t\t\t\t\t\tif ( this.touchStartY > this.touchEndY ) {\n\t\t\t\t\t\t\tthis.scrolling( 'down', scrollable );\n\t\t\t\t\t\t} else if ( this.touchEndY > this.touchStartY ) {\n\t\t\t\t\t\t\tthis.scrolling( 'up', scrollable );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuildNavigationMarkup() {\n\n\t\t\tif ( this.$ppNav ) {\n\t\t\t\tthis.$ppNav.remove();\n\t\t\t}\n\n\t\t\tthis.$ppNav = $( `\n\t\t\t\t<div id=\"pp-nav\">\n\t\t\t\t\t<div class=\"pp-nav-inner\">\n\t\t\t\t\t\t<span class=\"pp-nav-current\"><span></span></span>\n\t\t\t\t\t\t<ul class=\"pp-nav-ul reset-ul\"></ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`);\n\t\t\tthis.$ppNavCurrent = $( '.pp-nav-current', this.$ppNav );\n\t\t\tthis.$ppNav.children().append( `<span class=\"pp-nav-total\">${ this.$sectionElements.length < 10 ? '0' + this.$sectionElements.length : this.$sectionElements.length }</span>` );\n\n\t\t\t$( 'body' ).append( this.$ppNav );\n\n\t\t}\n\n\t\t/**\n\t\t* Creates a vertical navigation bar.\n\t\t*/\n\t\taddNavigationItem( i ) {\n\n\t\t\tthis.$ppNavCurrent.find( '> span' ).append( `<span>${ i < 10 ? '0' + ( i + 1 ) : ( i + 1 ) }</span>` );\n\n\t\t\tthis.$ppNav.find( 'ul' ).append( `<li data-tooltip=\"${ this.tooltips[ i ] }\">\n\t\t\t\t<a href=\"#${ this.anchors[ i ] }\">\n\t\t\t\t\t<span></span>\n\t\t\t\t\t<svg width=\"29px\" height=\"29px\" viewBox=\"0 0 29 29\" stroke=\"#000\" stroke-width=\"1\" fill=\"none\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n\t\t\t\t\t\t<path d=\"M14.5,28 C21.9558441,28 28,21.9558441 28,14.5 C28,7.04415588 21.9558441,1 14.5,1 C7.04415588,1 1,7.04415588 1,14.5 C1,21.9558441 7.04415588,28 14.5,28 Z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</a>\n\t\t\t\t<span class=\"pp-tooltip\">${ this.tooltips[ i ] }</span>\n\t\t\t</li>`);\n\n\t\t}\n\n\t\t/**\n\t\t* Activating the website navigation dots according to the given slide name.\n\t\t*/\n\t\tactivateNavDots( sectionIndex ) {\n\t\t\tthis.$ppNav.find( 'li' ).removeClass( 'active' );\n\t\t\tthis.$ppNav.find( 'li' ).eq( sectionIndex ).addClass( 'active' );\n\t\t}\n\n\t\tupdateSections( $sections ) {\n\n\t\t\tthis.$sectionElements = $sections;\n\n\t\t\tthis.buildNavigationMarkup();\n\n\t\t\tthis.addClassnames();\n\n\t\t\tthis.eachSection();\n\n\t\t}\n\n\t\tsectionAppended( section, i ) {\n\n\t\t\tconst sec = $( section ).get( 0 );\n\n\t\t\tif ( !i ) {\n\t\t\t\tthis.$sectionElements = $( [ ...this.$sectionElements, sec ] );\n\t\t\t} else {\n\t\t\t\tthis.$sectionElements = $( [ ...this.$sectionElements ].splice( i, 0, sec ) );\n\t\t\t}\n\n\t\t\tthis.buildNavigationMarkup();\n\n\t\t\tthis.addClassnames();\n\n\t\t\tthis.eachSection();\n\n\t\t}\n\n\t\tsetActiveSection( index ) {\n\n\t\t\tthis.$sectionElements.removeClass( 'active' );\n\t\t\tthis.$sectionElements.eq( index ).addClass( 'active' );\n\n\t\t}\n\n\t\tbuild() {\n\n\t\t\tthis.buildNavigationMarkup();\n\n\t\t\tif ( $liquidMainFooter.length && !window.frameElement ) {\n\n\t\t\t\tlet $toAppendFooter;\n\n\t\t\t\tif ( liquidIsElementor ) {\n\t\t\t\t\tconst $secWrap = $liquidContentsWrap.find( ' > .elementor > .elementor-section-wrap' );\n\t\t\t\t\t$toAppendFooter = $secWrap.length ? $secWrap : $liquidContentsWrap.find( ' > .elementor' );\n\t\t\t\t} else {\n\t\t\t\t\t$toAppendFooter = $liquidContentsWrap;\n\t\t\t\t}\n\n\t\t\t\t$toAppendFooter.append( $liquidMainFooter );\n\n\t\t\t\tthis.$sectionElements.last().addClass( 'section-before-footer' );\n\n\t\t\t\tthis.$sectionElements.push( $liquidMainFooter[ 0 ] );\n\n\t\t\t}\n\n\t\t\t// style tags preventing scrolling\n\t\t\t$liquidContentsWrap.children( 'style' ).appendTo( 'head' );\n\t\t\t$liquidContentsWrap.children( 'p' ).insertAfter( $liquidSiteWrap );\n\n\t\t}\n\n\t\taddClassnames() {\n\n\t\t\tconst { options } = this;\n\n\t\t\tthis.$sectionElements.addClass( 'pp-section' );\n\n\t\t\t$liquidMainFooter.length && $liquidMainFooter.addClass( 'vc_row pp-auto-height' );\n\n\t\t\toptions.navigation && $liquidBody.addClass( 'lqd-stack-has-nav' );\n\n\t\t\toptions.prevNextButtons && $liquidBody.addClass( 'lqd-stack-has-prevnext-buttons' );\n\n\t\t\toptions.pageNumber && $liquidBody.addClass( 'lqd-stack-has-page-numbers' );\n\n\t\t\toptions.effect !== 'none' && $liquidBody.addClass( 'lqd-stack-effect-enabled' );\n\n\t\t\t$liquidBody.addClass( `lqd-stack-effect-${ options.effect }` );\n\n\t\t\t$liquidHtml.add( 'html' ).addClass( 'html-pp-enabled overflow-hidden' );\n\n\t\t\t$liquidBody.addClass( 'pp-enabled' );\n\n\t\t}\n\n\t\teachSection() {\n\n\t\t\t$.each( this.$sectionElements, ( i, section ) => {\n\n\t\t\t\tthis.makeScrollable( section );\n\t\t\t\t// this.addTableClass(section);\n\t\t\t\tthis.setAnchors( i, section );\n\t\t\t\tthis.setTooltips( i, section );\n\t\t\t\tsection.classList.contains( 'main-footer' ) || this.addNavigationItem( i );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tsetAnchors( i, section ) {\n\n\t\t\tlet anchor = '';\n\t\t\tlet hasAnchorAttr = false;\n\n\t\t\tif ( section.hasAttribute( 'id' ) ) {\n\n\t\t\t\tanchor = section.getAttribute( 'id' );\n\n\t\t\t} else if ( section.hasAttribute( 'data-tooltip' ) ) {\n\n\t\t\t\tanchor = section.getAttribute( 'data-tooltip' ).replace( new RegExp( ' ', 'g' ), '-' ).toLowerCase();\n\n\t\t\t} else {\n\n\t\t\t\tif ( !section.hasAttribute( 'data-anchor' ) ) {\n\t\t\t\t\tanchor = `${ this.options.defaultTooltip }-${ i + 1 }`;\n\t\t\t\t} else {\n\t\t\t\t\thasAnchorAttr = true;\n\t\t\t\t\tanchor = section.getAttribute( 'data-anchor' );\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.anchors[ i ] = anchor;\n\n\t\t\tif ( !hasAnchorAttr ) {\n\t\t\t\t$( section ).attr( 'data-anchor', anchor );\n\t\t\t}\n\n\t\t}\n\n\t\tsetTooltips( i, section ) {\n\n\t\t\tif ( !section.hasAttribute( 'data-tooltip' ) ) {\n\t\t\t\tthis.tooltips[ i ] = `${ this.options.defaultTooltip } ${ i + 1 }`;\n\t\t\t} else {\n\t\t\t\tthis.tooltips[ i ] = section.getAttribute( 'data-tooltip' );\n\t\t\t}\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\t// to prevent the issue with header that's not showing in some cases\n\t\t\twindow.scrollTo( 0, 0 );\n\n\t\t\tthis.addMouseWheelHandler();\n\t\t\tthis.handleKeys();\n\t\t\tthis.addTouchHandler();\n\n\t\t\tif ( !this.lastScrolledDestiny ) {\n\t\t\t\tthis.setActiveSection( 0 );\n\t\t\t\tthis.activateNavDots( 0 );\n\t\t\t\tthis.addLuminosityClassnames( 0 );\n\t\t\t}\n\n\t\t\tthis.scrollToAnchor();\n\n\t\t\tthis.afterRender();\n\n\t\t\t$( window ).on( 'hashchange', this.hashChangeHandler.bind( this ) );\n\n\t\t}\n\n\t\tappendPrevNextButtons() {\n\n\t\t\tconst { prevNextLabels } = this.options;\n\n\t\t\tthis.$prevNextButtons = $( '<div class=\"lqd-stack-prevnext-wrap\" />' );\n\t\t\tconst $prevButton = $( `<button class=\"lqd-stack-prevnext-button lqd-stack-prev-button\">\n\t\t\t\t<span class=\"lqd-stack-button-label\">${ prevNextLabels.prev }</span>\n\t\t\t\t<span class=\"lqd-stack-button-ext\">\n\t\t\t\t</span>\n\t\t\t</button>`);\n\t\t\tconst $nextButton = $( `<button class=\"lqd-stack-prevnext-button lqd-stack-next-button\">\n\t\t\t\t<span class=\"lqd-stack-button-label\">${ prevNextLabels.next }</span>\n\t\t\t\t<span class=\"lqd-stack-button-ext\">\n\t\t\t\t</span>\n\t\t\t</button>`);\n\n\t\t\tthis.$prevNextButtons.append( $prevButton.add( $nextButton ) );\n\n\t\t\t!$liquidBody.children( '.lqd-stack-prevnext-wrap' ).length && $liquidBody.append( this.$prevNextButtons );\n\n\t\t}\n\n\t\tprevNextButtonsEvents() {\n\n\t\t\tconst $prevButton = this.$prevNextButtons.find( '.lqd-stack-prev-button' );\n\t\t\tconst $nextButton = this.$prevNextButtons.find( '.lqd-stack-next-button' );\n\n\t\t\t$prevButton.on( 'click', this.moveSectionUp.bind( this ) );\n\t\t\t$nextButton.on( 'click', this.moveSectionDown.bind( this ) );\n\n\t\t}\n\n\t\tappendPageNumber() {\n\n\t\t\tlet $pageNumber;\n\n\t\t\tif ( this.$pageNumbersStyle === 'style1' ) $pageNumber = this.appendPageNumbersStyle1();\n\t\t\tif ( this.$pageNumbersStyle === 'style2' ) $pageNumber = this.appendPageNumbersStyle2();\n\n\t\t\tif ( !this.$pageNumber.length ) {\n\t\t\t\t$liquidBody.append( $pageNumber );\n\t\t\t\tthis.$pageNumber = $pageNumber;\n\t\t\t}\n\n\t\t}\n\n\t\tappendPageNumbersStyle1() {\n\n\t\t\tconst totalSections = this.$sectionElements.not( '.main-footer' ).length;\n\t\t\tconst $pageNumber = $( '<div class=\"lqd-stack-page-number\" />' );\n\t\t\tconst $pageNumnerCounter = $( `<span class=\"lqd-stack-page-number-counter\">\n\t\t\t\t<span class=\"lqd-stack-page-number-current\"></span>\n\t\t\t\t<span class=\"lqd-stack-page-number-passed\"></span>\n\t\t\t</span>`);\n\t\t\tconst $pageNumnerTotal = $( `<span class=\"lqd-stack-page-number-total\">${ totalSections < 10 ? '0' : '' }${ totalSections }</span>` );\n\n\t\t\t$pageNumber.append( $pageNumnerCounter );\n\t\t\t$pageNumber.append( $pageNumnerTotal );\n\n\t\t\treturn $pageNumber;\n\n\t\t}\n\n\t\tappendPageNumbersStyle2() {\n\n\t\t\tconst $pageNumber = $( '<div class=\"lqd-stack-page-number\" />' );\n\t\t\tconst $ppNavClone = this.$ppNav.find( '.pp-nav-ul' ).clone( true );\n\n\t\t\t$pageNumber.append( $ppNavClone );\n\n\t\t\treturn $pageNumber;\n\n\t\t}\n\n\t\tsetPageNumber( index ) {\n\n\t\t\t$liquidBody.attr( 'data-lqd-stack-page', index );\n\n\t\t\tthis.$pageNumbersStyle === 'style1' && this.setPageNumbersStyle1( index );\n\t\t\tthis.$pageNumbersStyle === 'style2' && this.setPageNumbersStyle2( index );\n\n\t\t}\n\n\t\tsetPageNumbersStyle1( index ) {\n\n\t\t\tconst $currentPageNumber = this.$pageNumber.find( '.lqd-stack-page-number-current' );\n\t\t\tconst $passedPageNumber = this.$pageNumber.find( '.lqd-stack-page-number-passed' );\n\n\t\t\t$passedPageNumber.html( $currentPageNumber.html() );\n\t\t\t$currentPageNumber.html( `${ index < 10 ? '0' : '' }${ index }` );\n\n\t\t}\n\n\t\tsetPageNumbersStyle2( index ) {\n\n\t\t\tconst $li = this.$pageNumber.find( 'li' );\n\n\t\t\t$li.removeClass( 'active' );\n\t\t\t$li.eq( index - 1 ).addClass( 'active' );\n\n\t\t}\n\n\t\taddDirectionClassname( direction ) {\n\n\t\t\tif ( direction === 'down' ) {\n\n\t\t\t\t$liquidBody.removeClass( 'lqd-stack-moving-up' ).addClass( 'lqd-stack-moving-down' );\n\n\t\t\t} else if ( direction === 'up' ) {\n\n\t\t\t\t$liquidBody.removeClass( 'lqd-stack-moving-down' ).addClass( 'lqd-stack-moving-up' );\n\n\t\t\t}\n\n\t\t}\n\n\t\taddLuminosityClassnames( index ) {\n\n\t\t\t// to wait for apppying data-section-luminosity\n\t\t\tfastdom.mutate( () => {\n\n\t\t\t\tconst $elements = !headerIsDynamicColor ? $liquidBody : $liquidBody.add( $liquidMainHeader ).add( this.$stickyModules );\n\n\t\t\t\t$elements\n\t\t\t\t\t.removeClass( 'lqd-active-row-dark lqd-active-row-light' )\n\t\t\t\t\t.addClass( `lqd-active-row-${ this.$sectionElements.eq( index ).attr( 'data-section-luminosity' ) }` );\n\n\t\t\t} )\n\n\t\t}\n\n\t\tinitShortcodes( $destinationRow, isFirstRender ) {\n\n\t\t\t!liquidIsMobile() && $( '[data-dynamic-shape]', $destinationRow ).liquidDynamicShape();\n\n\t\t\t$( '[data-reveal]', $destinationRow ).liquidReveal();\n\t\t\t$( '[data-particles=true]', $destinationRow ).liquidParticles();\n\t\t\t$( '[data-liquid-masonry]', $destinationRow ).liquidMasonry();\n\n\t\t\tif ( isFirstRender ) {\n\t\t\t\tthis.initInview( $destinationRow, true );\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tliquidIsMobile() &&\n\t\t\t\tdocument.body.hasAttribute( 'data-disable-animations-onmobile' )\n\t\t\t) {\n\t\t\t\treturn $( '[data-custom-animations]' ).addClass( 'ca-initvalues-applied' );\n\t\t\t};\n\n\t\t\t$( '[data-custom-animations]', $destinationRow ).liquidCustomAnimations();\n\t\t\t$destinationRow.is( '[data-custom-animations]' ) && $destinationRow.liquidCustomAnimations();\n\n\t\t}\n\n\t\tinitBackToTop( rowIndex ) {\n\n\t\t\tif ( rowIndex > 1 ) {\n\t\t\t\t$backToTopButton.addClass( 'is-visible' );\n\t\t\t} else {\n\t\t\t\t$backToTopButton.removeClass( 'is-visible' );\n\t\t\t}\n\n\t\t\t$( 'a', $backToTopButton ).on( 'click', ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.moveTo( 1 );\n\t\t\t} );\n\n\t\t}\n\n\t\tafterRender() {\n\n\t\t\t// Hide the last nav item if it's for the main footer\n\t\t\tif ( $liquidMainFooter.length ) {\n\t\t\t\t// this.$ppNav.find('li').last().addClass('hide');\n\t\t\t\t$liquidBody.addClass( 'lqd-stack-has-footer' );\n\t\t\t}\n\n\t\t\tconst activeSectionIndex = this.$sectionElements.get().findIndex( section => section.classList.contains( 'active' ) );\n\n\t\t\tthis.initShortcodes( this.$sectionElements.eq( activeSectionIndex ), true );\n\n\t\t\t// if it's not in the frontend editor\n\t\t\tif ( !window.frameElement ) {\n\t\t\t\tthis.options.prevNextButtons && this.appendPrevNextButtons();\n\t\t\t\tthis.options.prevNextButtons && this.prevNextButtonsEvents();\n\t\t\t\tthis.options.pageNumber && this.appendPageNumber();\n\t\t\t\tthis.setPageNumber( activeSectionIndex + 1 );\n\t\t\t}\n\n\t\t\t$liquidBody.addClass( 'lqd-stack-initiated' );\n\n\t\t}\n\n\t\tonLeave( index, nextIndex, direction ) {\n\n\t\t\tconst $destinationRow = $( this.$sectionElements[ nextIndex - 1 ] );\n\t\t\tconst $originRow = $( this.$sectionElements[ index - 1 ] );\n\n\t\t\tif ( !$destinationRow.hasClass( 'main-footer' ) && !$originRow.hasClass( 'main-footer' ) ) {\n\n\t\t\t\tthis.$ppNav.css( 'pointer-events', 'none' );\n\t\t\t\t$liquidBody.addClass( 'lqd-stack-moving' );\n\t\t\t\tthis.setPageNumber( nextIndex );\n\n\t\t\t\t$destinationRow.removeClass( 'lqd-stack-row-leaving' ).addClass( 'lqd-stack-row-entering' );\n\t\t\t\t$originRow.removeClass( 'lqd-stack-row-entering' ).addClass( 'lqd-stack-row-leaving' );\n\n\t\t\t\tthis.addLuminosityClassnames( nextIndex - 1 );\n\n\t\t\t\tthis.$ppNavCurrent.children( 'span' ).css( {\n\t\t\t\t\ttransform: `translateY(-${ ( nextIndex - 1 ) * 100 }%)`\n\t\t\t\t} );\n\n\t\t\t} else if ( $originRow.hasClass( 'main-footer' ) ) {\n\n\t\t\t\t$originRow.addClass( 'lqd-stack-row-leaving' );\n\n\t\t\t}\n\n\t\t\tif ( $destinationRow.hasClass( 'main-footer' ) ) {\n\n\t\t\t\t$liquidBody.addClass( 'lqd-stack-footer-active' )\n\n\t\t\t\t$originRow.css( 'transform', 'none' );\n\n\t\t\t} else {\n\n\t\t\t\t$liquidBody.removeClass( 'lqd-stack-footer-active' )\n\n\t\t\t}\n\n\t\t\tthis.addDirectionClassname( direction );\n\t\t\tthis.initShortcodes( $destinationRow, false );\n\t\t\t$backToTopButton.length && this.initBackToTop( nextIndex );\n\n\t\t\tif ( this.$mainNavLocalScroll.length ) {\n\t\t\t\tthis.handleMainNavLocalScroll();\n\t\t\t}\n\n\t\t}\n\n\t\tafterLoad( anchorLink, rowIndex ) {\n\n\t\t\tconst $destinationRow = $( this.$sectionElements[ rowIndex - 1 ] );\n\n\t\t\t$( this.$sectionElements ).removeClass( 'lqd-stack-row-entering lqd-stack-row-leaving' )\n\n\t\t\tthis.$ppNav.css( 'pointer-events', '' );\n\t\t\t$liquidBody.removeClass( 'lqd-stack-moving lqd-stack-moving-up lqd-stack-moving-down' );\n\n\t\t\tthis.initInview( $destinationRow, false );\n\n\t\t}\n\n\t\tinitInview( $destinationRow, waitForPreloader ) {\n\n\t\t\tif ( $liquidBody.hasClass( 'lqd-preloader-activated' ) && waitForPreloader ) {\n\t\t\t\tdocument.addEventListener( 'lqd-preloader-anim-done', () => {\n\t\t\t\t\t$( '[data-inview]', $destinationRow ).liquidInView();\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t$( '[data-inview]', $destinationRow ).liquidInView();\n\t\t\t}\n\n\t\t}\n\n\t\thandleMainNavLocalScroll() {\n\n\t\t\tconst winHash = window.location.hash;\n\n\t\t\tif ( winHash ) {\n\n\t\t\t\tthis.$mainNavLocalScroll.find( `a[href=\"${ winHash }\"]` )\n\t\t\t\t\t.parent().addClass( 'is-active' )\n\t\t\t\t\t.siblings().removeClass( 'is-active' );\n\n\t\t\t\tthis.$mainNavLocalScroll.closest( '.navbar-fullscreen, .navbar-collapse, .ld-module-dropdown, .mobile-navbar-collapse' ).collapse( 'hide' );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'stack-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tif ( !window.frameElement ) {\n\t\t$( '[data-liquid-stack=true]' ).liquidStack();\n\t}\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidStickyStack';\n\tlet defaults = {\n\t\titemsSelector: '.lqd-sticky-stack-item',\n\t\titemsInnerSelector: '.lqd-sticky-stack-item-inner',\n\t\toffset: 30,\n\t\tspacer: 30,\n\t\tminScale: 0.8\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.$element = $( element );\n\t\t\tthis.DOM.$items = this.DOM.$element.find( this.options.itemsSelector );\n\t\t\tthis.DOM.$innerItems = this.DOM.$element.find( this.options.itemsInnerSelector );\n\t\t\tthis.DOM.$nav = null;\n\t\t\tthis.DOM.$navItems = null;\n\n\t\t\tif ( this.DOM.$items.length < 2 ) return;\n\n\t\t\timagesLoaded( this.DOM.element, () => {\n\t\t\t\t// this.createNav();\n\t\t\t\tthis.init();\n\t\t\t\t// this.initNav();\n\t\t\t} )\n\n\t\t}\n\n\t\tcreateNav() {\n\n\t\t\tthis.DOM.$nav = $( '<div class=\"lqd-sticky-stack-nav h-100 pos-abs pos-tl absolute top-0 left-0\" />' );\n\t\t\tconst $navUl = $( '<ul class=\"reset-ul lqd-css-sticky d-flex flex-column justify-content-center h-vh-100 flex flex-col justify-center\" />' );\n\n\t\t\tfor ( let i = 0; i < this.DOM.$items.length; i++ ) {\n\t\t\t\t$navUl.append( '<li><span></span></li>' );\n\t\t\t}\n\n\t\t\t$navUl.appendTo( this.DOM.$nav );\n\t\t\tthis.DOM.$navItems = $navUl.children();\n\t\t\tthis.DOM.$nav.appendTo( this.DOM.$element );\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst { spacer, minScale } = this.options;\n\t\t\tconst offset = this.getOffset();\n\t\t\tconst stickyHeaderHeight = getComputedStyle( document.documentElement ).getPropertyValue( '--lqd-sticky-header-height' ) || 0;\n\t\t\tconst lasItemHeight = this.DOM.$items.last().outerHeight();\n\n\t\t\tconst distributor = gsap.utils.distribute( { base: minScale, amount: 0.2 } );\n\n\t\t\tthis.DOM.$innerItems.each( ( i, innerItem ) => {\n\n\t\t\t\tconst scaleVal = distributor( i, this.DOM.$innerItems.get( i ), this.DOM.$innerItems.get() );\n\n\t\t\t\tconst animation = gsap.to( innerItem, {\n\t\t\t\t\tscale: scaleVal\n\t\t\t\t} );\n\n\t\t\t\tScrollTrigger.create( {\n\t\t\t\t\tanimation,\n\t\t\t\t\ttrigger: innerItem,\n\t\t\t\t\tstart: `top top`,\n\t\t\t\t\tscrub: 0.25,\n\t\t\t\t\t// onEnter: () => {\n\t\t\t\t\t// \tthis.DOM.$navItems.removeClass('is-active').eq(i).addClass('is-active');\n\t\t\t\t\t// },\n\t\t\t\t\t// onEnterBack: () => {\n\t\t\t\t\t// \tthis.DOM.$navItems.removeClass('is-active').eq(i).addClass('is-active');\n\t\t\t\t\t// }\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t\tthis.DOM.$items.each( ( i, item ) => {\n\n\t\t\t\tScrollTrigger.create( {\n\t\t\t\t\ttrigger: item,\n\t\t\t\t\tstart: `top-=${ offset + ( i * spacer ) + parseInt( stickyHeaderHeight ) } top`,\n\t\t\t\t\tend: `bottom top+=${ lasItemHeight + ( this.DOM.$items.length * spacer ) }`,\n\t\t\t\t\tendTrigger: this.DOM.element,\n\t\t\t\t\tpin: true,\n\t\t\t\t\tpinSpacing: false,\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tgetOffset() {\n\n\t\t\tlet { offset } = this.options;\n\t\t\tconst $stickySections = $liquidMainHeader.find( '.lqd-head-sec-wrap' ).not( '.lqd-hide-onstuck' );\n\n\t\t\tif ( $stickySections.length ) {\n\t\t\t\t$stickySections.each( ( i, sec ) => { offset += $( sec ).outerHeight() } );\n\t\t\t}\n\n\t\t\treturn offset;\n\n\t\t}\n\n\t\tinitNav() {\n\n\t\t\tfunction buildThresholdList() {\n\t\t\t\tlet thresholds = [];\n\t\t\t\tlet numSteps = 20;\n\n\t\t\t\tfor ( let i = 1.0; i <= numSteps; i++ ) {\n\t\t\t\t\tlet ratio = i / numSteps;\n\t\t\t\t\tthresholds.push( ratio );\n\t\t\t\t}\n\n\t\t\t\tthresholds.push( 0 );\n\t\t\t\treturn thresholds;\n\t\t\t}\n\n\t\t\tfor ( let i = 0; i < this.DOM.$items.length; i++ ) {\n\n\t\t\t\tlet prevRatio = 0;\n\n\t\t\t\tnew IntersectionObserver( ( [ entry ] ) => {\n\t\t\t\t\tif ( entry.isIntersecting && prevRatio < entry.intersectionRatio ) {\n\t\t\t\t\t\tthis.DOM.$navItems.removeClass( 'is-active' ).eq( i ).addClass( 'is-active' );\n\t\t\t\t\t}\n\t\t\t\t}, { threshold: buildThresholdList() } ).observe( this.DOM.$items.get( i ) )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'sticky-stack-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\tliquidIsMobile() || $( '.lqd-sticky-stack' ).liquidStickyStack();\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidStretchElement';\n\tlet defaults = {\n\t\tto: 'right'\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.options = $.extend({}, defaults, options);\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.isStretched = false;\n\t\t\tthis.boundingClientRect = null;\n\t\t\tthis.rootBounds = null;\n\n\t\t\tthis.initIO();\n\n\t\t}\n\n\t\tinitIO() {\n\n\t\t\tnew IntersectionObserver( enteries => {\n\n\t\t\t\tenteries.forEach( entry => {\n\n\t\t\t\t\tif ( entry.isIntersecting && ! this.isStretched ) {\n\n\t\t\t\t\t\tthis.boundingClientRect = entry.boundingClientRect;\n\t\t\t\t\t\tthis.rootBounds = entry.rootBounds;\n\n\t\t\t\t\t\tthis.init();\n\n\t\t\t\t\t\tthis.isStretched = true;\n\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t} ).observe(this.element, { rootMargin: '3%' });\n\n\t\t}\n\t\t\t\n\t\tinit() {\n\t\t\t\n\t\t\tthis.stretch();\n\t\t\tthis.$element.addClass('element-is-stretched');\n\t\t\t\n\t\t}\n\n\t\tstretch() {\n\n\t\t\tif ( this.options.to === 'right' ) {\n\t\t\t\tthis.stretchToRight();\n\t\t\t} else {\n\t\t\t\tthis.stretchToLeft();\n\t\t\t}\n\n\t\t}\n\n\t\tstretchToRight() {\n\n\t\t\tconst offset = this.rootBounds.width - ( this.boundingClientRect.width + this.boundingClientRect.left );\n\n\t\t\tthis.$element.css( 'marginRight', offset * -1 );\n\t\t\t\n\t\t}\n\t\t\n\t\t// TODO: probably not correct. need to be revisited\n\t\tstretchToLeft() {\n\n\t\t\tconst offset = this.rootBounds.width - this.boundingClientRect.left;\n\n\t\t\tthis.$element.css( 'marginLeft', offset * -1 );\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = $(this).data('stretch-options') || options;\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('[data-stretch-element=true]').liquidStretchElement();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidTab';\n\tlet defaults = {\n\t\tdeepLink: false,\n\t\ttrigger: 'click', // 'click', 'hover'\n\t\ttranslateNav: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\t\t\tthis.isBS5 = typeof bootstrap !== 'undefined';\n\t\t\tthis.isRTL = $( 'html' ).attr( 'dir' ) === 'rtl';\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\t\t\tthis.$tabNav = $( '.lqd-tabs-nav', this.element );\n\t\t\tthis.$navItems = $( '> li > a', this.$tabNav );\n\t\t\tthis.$activeItem = this.$navItems.filter( ( i, el ) => el.parentElement?.classList?.contains( 'active' ) || el.classList.contains( 'active' ) );\n\t\t\tthis.$tabNavArrows = ( '.lqd-tabs-nav-arrows', this.element );\n\t\t\tthis.$tabNavPrev = $( '.lqd-tabs-nav-prev', this.$tabNavArrows );\n\t\t\tthis.$tabNavNext = $( '.lqd-tabs-nav-next', this.$tabNavArrows );\n\t\t\tthis.canChange = true;\n\n\t\t\tif ( this.$activeItem.length && this.options.translateNav ) {\n\t\t\t\tthis.activeItemWidth = this.$activeItem.outerWidth();\n\t\t\t\tthis.activeItemHeight = this.$activeItem.outerHeight();\n\t\t\t\tconsole.log( this.$activeItem.position().left + this.activeItemWidth );\n\t\t\t\tthis.activeItemPosLeft = !this.isRTL ? this.$activeItem.position().left : ( ( this.$tabNav.width() - ( this.$activeItem.position().left + this.activeItemWidth ) * -1 ) );\n\t\t\t}\n\n\t\t\tif ( this.element.parentElement.closest( '.lqd-mobile-sec' ) ) {\n\t\t\t\tthis.changeIds();\n\t\t\t}\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tchangeIds() {\n\t\t\tthis.$navItems.each( ( i, navItem ) => {\n\t\t\t\tconst href = navItem.getAttribute( 'href' );\n\t\t\t\tnavItem.setAttribute( 'href', `${ href }-mobile` );\n\t\t\t\tnavItem.setAttribute( 'aria-controls', `${ navItem.getAttribute( 'aria-controls' ) }-mobile` );\n\t\t\t\tthis.element.querySelector( href ).setAttribute( 'id', `${ href.replace( '#', '' ) }-mobile` );\n\t\t\t} );\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst { deepLink, translateNav } = this.options;\n\n\t\t\tif ( !this.isBS5 ) {\n\t\t\t\tthis.$navItems.tab();\n\t\t\t} else {\n\t\t\t\tthis.$navItems.each( ( i, el ) => new bootstrap.Tab( el ) );\n\t\t\t}\n\n\t\t\tdeepLink && this.setHash();\n\t\t\ttranslateNav && this.translateNav( false );\n\n\t\t\tthis.eventHandlers();\n\n\t\t}\n\n\t\tsetHash() {\n\n\t\t\tconst $el = this.$tabNav.find( `a[href=\"${ location.hash }\"]` );\n\n\t\t\tif ( location.hash === '' || !$el.length ) return;\n\n\t\t\t$el.tab( 'show' );\n\n\t\t\tif ( window.scrollY === 0 ) {\n\t\t\t\t$( 'html,body' ).stop().animate( {\n\t\t\t\t\tscrollTop: this.$tabNav.offset().top - 90\n\t\t\t\t}, 600 )\n\t\t\t}\n\n\t\t}\n\n\t\teventHandlers() {\n\n\t\t\tif ( this.options.trigger === 'hover' && !liquidIsMobile() ) {\n\n\t\t\t\tthis.$navItems.on( 'mouseenter.lqdTabs', event => {\n\t\t\t\t\tconst button = event.currentTarget;\n\t\t\t\t\tif ( !this.isBS5 ) {\n\t\t\t\t\t\t$( button ).tab( 'show' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbootstrap.Tab.getInstance( button ).show();\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\tif ( !this.isBS5 ) {\n\t\t\t\tthis.$element.on( 'hide.bs.tab', this.onHide.bind( this ) );\n\t\t\t\tthis.$element.on( 'show.bs.tab', this.onShow.bind( this ) );\n\t\t\t\tthis.$element.on( 'shown.bs.tab', this.onShown.bind( this ) );\n\t\t\t} else {\n\t\t\t\tthis.$navItems.each( ( i, el ) => {\n\t\t\t\t\tel.addEventListener( 'hide.bs.tab', this.onHide.bind( this ) );\n\t\t\t\t\tel.addEventListener( 'show.bs.tab', this.onShow.bind( this ) );\n\t\t\t\t\tel.addEventListener( 'shown.bs.tab', this.onShown.bind( this ) );\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\tthis.$tabNavPrev.on( 'click.lqdTabs', this.showPrev.bind( this ) );\n\t\t\tthis.$tabNavNext.on( 'click.lqdTabs', this.showNext.bind( this ) );\n\n\t\t}\n\n\t\tonHide( event ) {\n\n\t\t\tconst link = event.target;\n\t\t\tconst dataTarget = link.getAttribute( 'data-bs-target' );\n\n\t\t\tif ( dataTarget ) {\n\t\t\t\tconst target = document.querySelector( dataTarget );\n\t\t\t\tif ( target ) {\n\t\t\t\t\ttarget.classList.remove( 'active', 'show', 'in' )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlink.parentElement.classList.remove( 'active' );\n\n\t\t\tthis.canChange = false;\n\n\t\t}\n\n\t\tonShow( event ) {\n\n\t\t\tconst link = event.target;\n\t\t\tconst { deepLink, translateNav } = this.options;\n\t\t\tconst dataTarget = link.getAttribute( 'data-bs-target' );\n\n\t\t\tthis.$activeItem = $( link );\n\n\t\t\tif ( deepLink ) {\n\t\t\t\tconst href = $( event.target ).attr( 'href' );\n\t\t\t\tlocation.hash = href;\n\t\t\t\t// to prevent scroll jump after changing location.hash\n\t\t\t\tconst scrollPos = $( document ).scrollTop();\n\t\t\t\t$( document ).scrollTop( scrollPos );\n\t\t\t}\n\n\t\t\tthis.$activeItem.parent().addClass( 'active' ).siblings().removeClass( 'active' );\n\n\t\t\tif ( dataTarget ) {\n\t\t\t\tconst target = document.querySelector( dataTarget );\n\t\t\t\tif ( target ) {\n\t\t\t\t\t$( target ).siblings().removeClass( 'active' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For the frontend editor\n\t\t\tif ( event.relatedTarget ) {\n\n\t\t\t\tconst $prevActiveItem = $( event.relatedTarget );\n\t\t\t\tconst $prevActiveTarget = $( $prevActiveItem.attr( 'href' ) );\n\n\t\t\t\t$prevActiveTarget.removeClass( 'active in' );\n\n\t\t\t}\n\n\t\t\tif ( translateNav ) {\n\n\t\t\t\tthis.activeItemWidth = this.$activeItem.outerWidth();\n\t\t\t\tthis.activeItemHeight = this.$activeItem.outerHeight();\n\t\t\t\tthis.activeItemPosLeft = !this.isRTL ? this.$activeItem.position().left : ( ( this.$tabNav.width() - ( this.$activeItem.position().left + this.activeItemWidth ) ) * -1 );\n\n\t\t\t\tthis.translateNav( true );\n\n\t\t\t}\n\n\t\t}\n\n\t\tonShown( event ) {\n\n\t\t\tthis.canChange = true;\n\n\t\t\tconst $link = $( event.target );\n\t\t\tconst $target = $( $link.attr( 'href' ) );\n\t\t\tconst offsetTop = liquidIsMobile() ? $( '.lqd-tabs-content', this.$element ).offset().top : this.$element.offset().top;\n\t\t\tconst stickyHeaderHeight = $( '[data-sticky-header].is-stuck' )?.outerHeight() || 0;\n\n\t\t\tconst link = event.target;\n\t\t\tconst dataTarget = link.getAttribute( 'data-bs-target' );\n\n\t\t\tif ( dataTarget ) {\n\t\t\t\tconst target = document.querySelector( dataTarget );\n\t\t\t\tif ( target ) {\n\t\t\t\t\ttarget.classList.add( 'in' )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t( !liquidIsMobile() && offsetTop <= $liquidWindow.scrollTop() - 15 ) ||\n\t\t\t\t( liquidIsMobile() && ( ( offsetTop > $liquidWindow.scrollTop() + window.innerHeight ) || ( $liquidWindow.scrollTop() > offsetTop ) ) )\n\t\t\t) {\n\t\t\t\t$( 'html, body' ).stop().animate( {\n\t\t\t\t\tscrollTop: offsetTop - stickyHeaderHeight - 45\n\t\t\t\t}, 800 );\n\t\t\t}\n\n\t\t\tthis.initPlugins( $target );\n\n\t\t}\n\n\t\ttranslateNav( move ) {\n\n\t\t\tthis.element.style.setProperty( '--lqd-tabs-nav-active-width', `${ this.activeItemWidth }px` );\n\t\t\tthis.element.style.setProperty( '--lqd-tabs-nav-active-height', `${ this.activeItemHeight }px` );\n\n\t\t\tif ( move ) {\n\t\t\t\tthis.element.style.setProperty( '--lqd-tabs-nav-translate', `${ this.activeItemPosLeft }px` );\n\t\t\t}\n\n\t\t}\n\n\t\tshowPrev() {\n\n\t\t\tif ( !this.canChange ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$activeItem.parent().prev().children( 'a' ).tab( 'show' );\n\n\t\t}\n\n\t\tshowNext() {\n\n\t\t\tif ( !this.canChange ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$activeItem.parent().next().children( 'a' ).tab( 'show' );\n\n\t\t}\n\n\t\tinitPlugins( $target ) {\n\n\t\t\tconst $pie_charts = $( '.vc_pie_chart:not(.vc_ready)', $target );\n\t\t\tconst $round_charts = $( '.vc_round-chart', $target );\n\t\t\tconst $line_charts = $( '.vc_line-chart', $target );\n\t\t\tconst $elementor_gallery = $( '.elementor-gallery__container', $target );\n\n\t\t\tif ( $pie_charts.length && $.fn.vcChat )\n\t\t\t\t$pie_charts.vcChart();\n\t\t\tif ( $round_charts.length && $.fn.vcRoundChart )\n\t\t\t\t$round_charts.vcRoundChart( { reload: !1 } );\n\t\t\tif ( $line_charts.length && $.fn.vcLineChart )\n\t\t\t\t$line_charts.vcLineChart( { reload: !1 } );\n\n\t\t\t$( '[data-hover3d=true]', $target ).liquidHover3d();\n\n\t\t\t$( '[data-split-text]', $target ).liquidSplitText();\n\n\t\t\t$( '[data-slideelement-onhover]', $target ).liquidSlideElement();\n\n\t\t\t$( '.cd-image-container', $target ).liquidImageComparison();\n\n\t\t\t$( '.lqd-carousel-stack', $target ).liquidCarouselStack();\n\n\t\t\t$elementor_gallery.trigger( 'resize' );\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tthis.$navItems.off( 'mouseenter.lqdTabs' );\n\n\t\t\tthis.$element.off( 'hide.bs.tab show.bs.tab shown.bs.tab', this.onHide.bind( this ) );\n\n\t\t\tthis.$tabNavPrev.off( 'click.lqdTabs' );\n\t\t\tthis.$tabNavNext.off( 'click.lqdTabs' );\n\n\t\t}\n\n\t}\n\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'tabs-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '.lqd-tabs' ).liquidTab();\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidTypewriter';\n\tlet defaults = {\n\t\trepeat: false,\n\t\tspeed: 75\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.options = {...defaults, ...options};\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.init();\n\t\t\tthis.initIO();\n\n\t\t}\n\t\t\t\n\t\tinit() {\n\n\t\t\tconst { repeat, speed } = this.options;\n\t\t\t\n\t\t\tthis.$element.t({\n\t\t\t\trepeat,\n\t\t\t\tspeed\n\t\t\t});\n\t\t\tthis.$element.t('pause', true);\n\t\t\t\n\t\t}\n\n\t\tinitIO() {\n\n\t\t\tnew IntersectionObserver(([entry], observer) => {\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tthis.$element.t('pause', false);\n\t\t\t\t} else {\n\t\t\t\t\tthis.$element.t('pause', true);\n\t\t\t\t}\n\t\t\t}).observe(this.element);\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('plugin-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('[data-typewriter]').liquidTypewriter();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidVideoBg';\n\tlet defaultInlineVideoOptions = {\n\t\tstartVolume: false,\n\t\tcontrols: false,\n\t\tloop: true,\n\t\tmuted: true,\n\t\thideVideoControlsOnLoad: true,\n\t\thideVideoControlsOnPause: true,\n\t\tclickToPlayPause: false,\n\t\tdisableOnMobile: false\n\t};\n\tlet defaultYoutubeOptions = {\n\t\tautoPlay: true,\n\t\tshowControls: false,\n\t\tloop: true,\n\t\tmute: true,\n\t\tshowYTLogo: false,\n\t\tstopMovieOnBlur: false,\n\t\tdisableOnMobile: false\n\t}\n\n\tclass Plugin {\n\n\t\tconstructor( element, inlineVideoOptions, youtubeOptions ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.inlineVideoOptions = { ...defaultInlineVideoOptions, ...inlineVideoOptions };\n\t\t\tthis.youtubeOptions = { ...defaultYoutubeOptions, ...youtubeOptions };\n\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.lqdVBG = null;\n\t\t\tthis.lqdYTPlayer = null;\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tconst isMobile = liquidIsMobile();\n\n\t\t\tif ( this.$element.is( 'video' ) && this.inlineVideoOptions.disableOnMobile && isMobile ) {\n\t\t\t\tthis.$element.closest( '.lqd-vbg-wrap' ).addClass( 'hidden' );\n\t\t\t} else if ( this.$element.is( 'video' ) ) {\n\t\t\t\tthis.$element.removeClass( 'hidden' );\n\t\t\t\tthis.initInlineVideo();\n\t\t\t}\n\n\t\t\tif ( !this.$element.is( 'video' ) && this.youtubeOptions.disableOnMobile && isMobile ) {\n\t\t\t\tthis.$element.closest( '.lqd-vbg-wrap' ).addClass( 'hidden' );\n\t\t\t} else if ( !this.$element.is( 'video' ) ) {\n\t\t\t\tthis.initYoutubeVideo();\n\t\t\t}\n\n\t\t}\n\n\t\tinitInlineVideo() {\n\n\t\t\tconst $vBgWrap = this.$element.closest( '.lqd-vbg-wrap' );\n\t\t\tconst elementToObserve = $vBgWrap.length ? $vBgWrap.get( 0 ) : this.element;\n\n\t\t\t// const videoOptions = $.extend(\n\t\t\t// \t{},\n\t\t\t// \tthis.inlineVideoOptions,\n\t\t\t// \t{\n\t\t\t// \t\tstretching: 'responsive',\n\t\t\t// \t\tsuccess: ( mediaElement ) => {\n\t\t\t// \t\t\tmediaElement.pause();\n\t\t\t// \t\t\tthis.initInlineVidIO( elementToObserve );\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// );\n\t\t\t// this.lqdVBG = new MediaElementPlayer( this.element, videoOptions );\n\t\t\tthis.lqdVBG = this.element;\n\n\t\t}\n\n\t\tinitYoutubeVideo() {\n\n\t\t\tconst videoOptions = $.extend( {}, this.youtubeOptions, { containment: this.$element } );\n\n\t\t\tthis.lqdYTPlayer = this.$element.YTPlayer( videoOptions );\n\n\t\t\tthis.lqdYTPlayer.on( 'YTPReady', () => {\n\n\t\t\t\tthis.lqdYTPlayer.YTPPause();\n\t\t\t\tthis.initYTIO();\n\n\t\t\t} );\n\n\t\t}\n\n\t\tinitInlineVidIO( elementToObserve ) {\n\n\t\t\tnew IntersectionObserver( ( [ entry ] ) => {\n\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tthis.lqdVBG && this.lqdVBG.play();\n\t\t\t\t} else {\n\t\t\t\t\tthis.lqdVBG && this.lqdVBG.pause();\n\t\t\t\t}\n\n\t\t\t} ).observe( elementToObserve );\n\n\t\t}\n\n\t\tinitYTIO() {\n\n\t\t\tnew IntersectionObserver( ( [ entry ] ) => {\n\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tthis.lqdYTPlayer && this.lqdYTPlayer.YTPPlay();\n\t\t\t\t} else {\n\t\t\t\t\tthis.lqdYTPlayer && this.lqdYTPlayer.YTPPause();\n\t\t\t\t}\n\n\t\t\t} ).observe( this.element );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( inlineVideoOptions, youtubeOptions ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst inlineVidOptions = { ...$( this ).data( 'inlinevideo-options' ), ...inlineVideoOptions };\n\t\t\tconst YTOptions = { ...$( this ).data( 'youtube-options' ), ...youtubeOptions };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, inlineVidOptions, YTOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery, window, document ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t$( '[data-video-bg]' ).liquidVideoBg();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidVideoTrigger';\n\tlet defaults = {\n\t\ttriggerType: [ 'mouseenter', 'mouseleave' ], // [on, off]\n\t\tvideoPlacement: \"parent\",\n\t\tloop: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.videoElement = this.$element[ this.options.videoPlacement ]().find( 'video' ).get( 0 );\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.videoElement.oncanplay = this.events.call( this );\n\n\t\t}\n\n\t\tevents() {\n\n\t\t\tthis.$element.on( this.options.triggerType[ 0 ], this.triggerOn.bind( this ) );\n\t\t\tthis.$element.on( this.options.triggerType[ 1 ], this.triggerOff.bind( this ) );\n\n\t\t}\n\n\t\ttriggerOn() {\n\n\t\t\tif ( this.options.loop ) {\n\t\t\t\tthis.videoElement.loop = true;\n\t\t\t\tthis.videoElement.currentTime = 0;\n\t\t\t}\n\n\t\t\tthis.videoElement.play();\n\n\n\t\t}\n\n\t\ttriggerOff() {\n\n\t\t\tthis.videoElement.pause();\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = $( this ).data( 'trigger-options' ) || options;\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-video-trigger]' ).liquidVideoTrigger();\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidWebGLHover';\n\tlet defaults = {\n\t};\n\n\tclass EffectShell {\n\n\t\tconstructor(container = document.body, itemsWrapper = null) {\n\t\t\t\n\t\t\tthis.container = container;\n\t\t\tthis.itemsWrapper = itemsWrapper;\n\n\t\t\tif (!this.container || !this.itemsWrapper) return\n\n\t\t\tthis.build();\n\t\t\t\n\t\t}\n\n\t\tbuild() {\n\n\t\t\tnew IntersectionObserver(([entry], observer) => {\n\n\t\t\t\tif (entry.isIntersecting) {\n\n\t\t\t\t\tthis.setup();\n\t\n\t\t\t\t\tthis.initEffectShell().then(() => {\n\t\t\t\t\t\tthis.isLoaded = true;\n\t\t\t\t\t\tif (this.isMouseOver) this.onMouseOver(this.tempItemIndex)\n\t\t\t\t\t\tthis.tempItemIndex = null\n\t\t\t\t\t\tthis.createEventsListeners();\n\t\t\t\t\t\tthis.init();\n\t\t\t\t\t\tthis.container.classList.add('lqd-webglhover-ready');\n\t\t\t\t\t});\n\n\t\t\t\t\tobserver.unobserve(entry.target);\n\n\t\t\t\t}\n\n\t\t\t}).observe(this.container)\n\n\t\t}\n\t\n\t\tsetup() {\n\t\t\t\n\t\t\twindow.addEventListener('resize', this.onWindowResize.bind(this), false)\n\t\n\t\t\t// renderer\n\t\t\tthis.renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true })\n\t\t\t\n\t\t\tthis.renderer.setSize(this.viewport.width, this.viewport.height)\n\t\t\tthis.renderer.setPixelRatio = window.devicePixelRatio\n\t\t\tthis.container.appendChild(this.renderer.domElement)\n\t\n\t\t\t// scene\n\t\t\tthis.scene = new THREE.Scene()\n\t\n\t\t\t// camera\n\t\t\tthis.camera = new THREE.PerspectiveCamera( 52.75, this.viewport.aspectRatio, 1, 1000 );\n\t\t\tthis.camera.position.set(0, 0, 1)\n\t\n\t\t\t//mouse\n\t\t\tthis.mouse = new THREE.Vector2()\n\t\n\t\t\t// time\n\t\t\tthis.timeSpeed = 2\n\t\t\tthis.time = 0\n\t\t\tthis.clock = new THREE.Clock()\n\t\n\t\t\t// animation loop\n\t\t\tthis.renderer.setAnimationLoop(this.render.bind(this))\n\t\t}\n\t\n\t\trender() {\n\t\t\t// called every frame\n\t\t\tthis.time += this.clock.getDelta() * this.timeSpeed\n\t\t\tthis.renderer.render(this.scene, this.camera)\n\t\t}\n\t\n\t\tinitEffectShell() {\n\n\t\t\tlet promises = []\n\t\n\t\t\tthis.items = this.itemsElements\n\t\n\t\t\tconst THREEtextureLoader = new THREE.TextureLoader()\n\t\t\tthis.items.forEach((item, index) => {\n\t\t\t\t// create textures\n\t\t\t\tpromises.push(\n\t\t\t\t\tthis.loadTexture(\n\t\t\t\t\t\tTHREEtextureLoader,\n\t\t\t\t\t\titem.img ? item.img.src : null,\n\t\t\t\t\t\tindex\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t})\n\t\n\t\t\treturn new Promise(resolve => {\n\t\t\t\t// resolve textures promises\n\t\t\t\tPromise.all(promises).then(promises => {\n\t\t\t\t\t// all textures are loaded\n\t\t\t\t\tpromises.forEach((promise, index) => {\n\t\t\t\t\t\t// assign texture to item\n\t\t\t\t\t\tthis.items[index].texture = promise.texture\n\t\t\t\t\t})\n\t\t\t\t\tresolve()\n\t\t\t\t})\n\t\t\t})\n\n\t\t}\n\t\n\t\tcreateEventsListeners() {\n\n\t\t\tthis.items.forEach((item, index) => {\n\t\t\t\titem.element.addEventListener(\n\t\t\t\t\t'mouseover',\n\t\t\t\t\tthis._onMouseOver.bind(this, index),\n\t\t\t\t\tfalse\n\t\t\t\t)\n\t\t\t})\n\t\n\t\t\tthis.container.addEventListener(\n\t\t\t\t'mousemove',\n\t\t\t\tthis._onMouseMove.bind(this),\n\t\t\t\tfalse\n\t\t\t)\n\t\t\tthis.itemsWrapper.addEventListener(\n\t\t\t\t'mouseleave',\n\t\t\t\tthis._onMouseLeave.bind(this),\n\t\t\t\tfalse\n\t\t\t)\n\n\t\t}\n\t\n\t\t_onMouseLeave(event) {\n\t\t\tthis.isMouseOver = false\n\t\t\tthis.onMouseLeave(event)\n\t\t}\n\t\n\t\t_onMouseMove(event) {\n\t\t\t// get normalized mouse position on viewport\n\t\t\tthis.mouse.x = (event.clientX / this.viewport.width) * 2 - 1;\n\t\t\tthis.mouse.y = -(event.clientY / this.viewport.height) * 2 + 1;\n\t\n\t\t\tthis.onMouseMove(event)\n\t\t}\n\t\n\t\t_onMouseOver(index, event) {\n\t\t\tthis.tempItemIndex = index\n\t\t\tthis.onMouseOver(index, event)\n\t\t}\n\t\n\t\tonWindowResize() {\n\t\t\tthis.camera.aspect = this.viewport.aspectRatio\n\t\t\tthis.camera.updateProjectionMatrix()\n\t\t\tthis.renderer.setSize(this.viewport.width, this.viewport.height)\n\t\t}\n\t\n\t\tonUpdate() {}\n\t\n\t\tonMouseEnter(event) {}\n\t\n\t\tonMouseLeave(event) {}\n\t\n\t\tonMouseMove(event) {}\n\t\n\t\tonMouseOver(index, event) {}\n\t\n\t\tget viewport() {\n\t\t\tlet width = this.container.clientWidth\n\t\t\tlet height = this.container.clientHeight\n\t\t\tlet aspectRatio = width / height\n\t\t\treturn {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\taspectRatio\n\t\t\t}\n\t\t}\n\t\n\t\tget viewSize() {\n\t\t\t// let distance = this.camera.position.z;\n\t\t\t// let vFov = (this.camera.fov * Math.PI) / 180;\n\t\t\t// let height = 2 * Math.tan(vFov / 2) * distance;\n\t\t\t// let width = height * this.viewport.aspectRatio;\n\t\t\t// let distance = 1;\n\t\t\tlet vFov = ((this.camera.fov / 3) * Math.PI) / 180;\n\t\t\tlet height = Math.tan(vFov / 3) * 0.25;\n\t\t\tlet width = height * this.viewport.aspectRatio;\n\t\t\treturn { width, height, vFov }\n\t\t}\n\t\n\t\tget itemsElements() {\n\t\t\t// convert NodeList to Array\n\t\t\tconst items = [...this.itemsWrapper.querySelectorAll('figure')];\n\t\t\t//create Array of items including element, image and index\n\t\t\treturn items.map((item, index) => ({\n\t\t\t\telement: item,\n\t\t\t\timg: item.querySelector('img') || null,\n\t\t\t\tindex: index\n\t\t\t}))\n\t\t}\n\t\n\t\tloadTexture(loader, url, index) {\n\t\t\t// https://threejs.org/docs/#api/en/loaders/TextureLoader\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tif (!url) {\n\t\t\t\t\tresolve({ texture: null, index })\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// load a resource\n\t\t\t\tloader.load(\n\t\t\t\t\t// resource URL\n\t\t\t\t\turl,\n\t\n\t\t\t\t\t// onLoad callback\n\t\t\t\t\ttexture => {\n\t\t\t\t\t\tresolve({ texture, index })\n\t\t\t\t\t},\n\t\n\t\t\t\t\t// onProgress callback currently not supported\n\t\t\t\t\tundefined,\n\t\n\t\t\t\t\t// onError callback\n\t\t\t\t\terror => {\n\t\t\t\t\t\tconsole.error('An error happened.', error)\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t})\n\t\t}\n\t}\n\n\tclass RGBShiftEffect extends EffectShell {\n\t\t\n\t\tconstructor(container = document.body, itemsWrapper = null, options = {}) {\n\t\t\tsuper(container, itemsWrapper)\n\t\t\tif (!this.container || !this.itemsWrapper) return\n\t\n\t\t\toptions.strength = options.strength || 0.25\n\t\t\tthis.options = options\n\t\n\t\t\tthis.init()\n\t\t}\n\t\n\t\tinit() {\n\t\t\tthis.position = new THREE.Vector3(0, 0, 0)\n\t\t\tthis.scale = new THREE.Vector3(1, 1, 1)\n\t\t\tthis.geometry = new THREE.PlaneBufferGeometry(1, 1, 32, 32)\n\t\t\tthis.uniforms = {\n\t\t\t\tuTime: {\n\t\t\t\t\tvalue: 0\n\t\t\t\t},\n\t\t\t\tuTexture: {\n\t\t\t\t\tvalue: null\n\t\t\t\t},\n\t\t\t\tuOffset: {\n\t\t\t\t\tvalue: new THREE.Vector2(0.0, 0.0)\n\t\t\t\t},\n\t\t\t\tuAlpha: {\n\t\t\t\t\tvalue: 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.material = new THREE.ShaderMaterial({\n\t\t\t\tuniforms: this.uniforms,\n\t\t\t\tvertexShader: `\n\t\t\t\t\tuniform vec2 uOffset;\n\t\n\t\t\t\t\tvarying vec2 vUv;\n\t\n\t\t\t\t\tvec3 deformationCurve(vec3 position, vec2 uv, vec2 offset) {\n\t\t\t\t\t\tfloat M_PI = 3.1415926535897932384626433832795;\n\t\t\t\t\t\tposition.x = position.x + (sin(uv.y * M_PI) * offset.x);\n\t\t\t\t\t\tposition.y = position.y + (sin(uv.x * M_PI) * offset.y);\n\t\t\t\t\t\treturn position;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvoid main() {\n\t\t\t\t\t\tvUv = uv;\n\t\t\t\t\t\tvec3 newPosition = position;\n\t\t\t\t\t\tnewPosition = deformationCurve(position,uv,uOffset);\n\t\t\t\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( newPosition, 1.0 );\n\t\t\t\t\t}\n\t\t\t\t`,\n\t\t\t\tfragmentShader: `\n\t\t\t\t\tuniform sampler2D uTexture;\n\t\t\t\t\tuniform float uAlpha;\n\t\t\t\t\tuniform vec2 uOffset;\n\t\n\t\t\t\t\tvarying vec2 vUv;\n\t\n\t\t\t\t\tvec3 rgbShift(sampler2D texture, vec2 uv, vec2 offset) {\n\t\t\t\t\t\tfloat r = texture2D(uTexture,vUv + uOffset).r;\n\t\t\t\t\t\tvec2 gb = texture2D(uTexture,vUv).gb;\n\t\t\t\t\t\treturn vec3(r,gb);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvoid main() {\n\t\t\t\t\t\tvec3 color = rgbShift(uTexture,vUv,uOffset);\n\t\t\t\t\t\tgl_FragColor = vec4(color,uAlpha);\n\t\t\t\t\t}\n\t\t\t\t`,\n\t\t\t\ttransparent: true\n\t\t\t})\n\t\t\tthis.plane = new THREE.Mesh(this.geometry, this.material)\n\t\t\tthis.scene && this.scene.add(this.plane);\n\t\t\tthis.onTargetChange(0);\n\t\t\tthis.draw(0, 0);\n\t\t}\n\t\n\t\tonMouseEnter() {\n\t\t\tif (!this.currentItem || !this.isMouseOver) {\n\t\t\t\tthis.isMouseOver = true\n\t\t\t\t// gsap.to(this.uniforms.uAlpha, {\n\t\t\t\t// \tvalue: 1,\n\t\t\t\t// \tduration: 0.5,\n\t\t\t\t// \tease: 'power2.out'\n\t\t\t\t// })\n\t\t\t}\n\t\t}\n\t\n\t\tonMouseLeave(event) {\n\t\t\t// gsap.to(this.uniforms.uAlpha, {\n\t\t\t// \tvalue: 0,\n\t\t\t// \tduration: 0.5,\n\t\t\t// \tease: 'power2.out'\n\t\t\t// })\n\t\t}\n\t\n\t\tonMouseMove(event) {\n\t\t\t// project mouse position to world coodinates\n\t\t\tlet x = gsap.utils.mapRange(\n\t\t\t\t-1,\n\t\t\t\t1,\n\t\t\t\t-this.viewSize.width / 4,\n\t\t\t\tthis.viewSize.width / 4,\n\t\t\t\tthis.mouse.x\n\t\t\t);\n\t\t\tlet y = gsap.utils.mapRange(\n\t\t\t\t-1,\n\t\t\t\t1,\n\t\t\t\t-this.viewSize.height / 4,\n\t\t\t\tthis.viewSize.height / 4,\n\t\t\t\tthis.mouse.y\n\t\t\t);\n\n\t\t\tthis.draw(x, y);\n\t\n\t\t}\n\n\t\tdraw(x, y) {\n\n\t\t\tthis.position = new THREE.Vector3(x, y, 0)\n\t\t\tgsap.to(this.plane.position, {\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\tduration: 1,\n\t\t\t\tease: 'power4.out',\n\t\t\t\tonUpdate: this.onPositionUpdate.bind(this)\n\t\t\t})\n\n\t\t}\n\t\n\t\tonPositionUpdate() {\n\t\t\t// compute offset\n\t\t\tlet offset = this.plane.position\n\t\t\t\t.clone()\n\t\t\t\t.sub(this.position)\n\t\t\t\t.multiplyScalar(-this.options.strength)\n\t\t\tthis.uniforms.uOffset.value = offset\n\t\t}\n\t\n\t\tonMouseOver(index) {\n\t\t\tif (!this.isLoaded) return\n\t\t\tthis.onMouseEnter()\n\t\t\tif (this.currentItem && this.currentItem.index === index) return\n\t\t\tthis.onTargetChange(index)\n\t\t}\n\t\n\t\tonTargetChange(index) {\n\t\t\t// item target changed\n\t\t\tif ( ! this.items ) return;\n\t\t\tthis.currentItem = this.items[index]\n\t\t\tif (!this.currentItem.texture) return\n\t\n\t\t\t// compute image ratio\n\t\t\tlet imageRatio =\n\t\t\t\tthis.currentItem.img.naturalWidth / this.currentItem.img.naturalHeight\n\t\t\tthis.scale = new THREE.Vector3(imageRatio, 1, 1);\n\t\t\tconst texture = this.currentItem.texture;\n\t\t\ttexture.generateMipmaps = false;\n\t\t\ttexture.wrapS = texture.wrapT = THREE.ClampToEdgeWrapping;\n\t\t\ttexture.minFilter = THREE.LinearFilter;\n\t\t\tthis.uniforms.uTexture.value = texture;\n\t\t\tthis.plane.scale.copy(this.scale)\n\t\t}\n\t}\t\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.options = {...defaults, ...options};\n\t\t\t\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.init();\n\t\t\t\n\t\t}\n\t\t\t\n\t\tinit() {\n\n\t\t\t// Preload images\n\t\t\tconst preloadImages = () => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\timagesLoaded(this.element.querySelector('img'), resolve);\n\t\t\t\t});\n\t\t\t};\n\t\t\t// And then..\n\t\t\tpreloadImages().then(() => {\n\t\t\t\t// Remove the loader\n\t\t\t\t// new StretchEffect(document.body, this.element.querySelector('[data-hoverme]'))\n\t\t\t\tnew RGBShiftEffect(this.element, this.element.querySelector('[data-hoverme]'), { strength: 3 })\n\t\t\t});\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = {...$(this).data('webglhover-options'), ...options};\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\t\n\tif ( liquidIsMobile() || $liquidBody.hasClass('lazyload-enabled') ) return;\n\n\t$('[data-webglhover]').liquidWebGLHover();\n\t\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidSlideshow';\n\tlet defaults = {\n\t\t/**\n\t\t * @type {'click' | 'mouseenter'}\n\t\t */\n\t\thandler: 'click',\n\t\tmenuItems: '.lqd-slsh-alt-menu a, .lqd-vslider-menu a',\n\t\timages: '.lqd-slsh-alt-images figure, .lqd-vslider-images figure',\n\t\textras: '.lqd-slsh-alt-ext > ul > li, .lqd-vslider-ext > ul > li'\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.$element = $( element );\n\t\t\tthis.DOM.$menuItems = $( this.options.menuItems, this.DOM.$element );\n\t\t\tthis.DOM.$images = $( this.options.images, this.DOM.$element );\n\t\t\tthis.DOM.$extras = $( this.options.extras, this.DOM.$element );\n\t\t\tthis.DOM.$loader = $( '.lqd-vslider-loader', this.DOM.$element );\n\n\t\t\tthis.isLoading = false;\n\t\t\tthis.prevItem = 0;\n\t\t\tthis.currentItem = 0;\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.loadImage();\n\t\t\tthis.events();\n\n\t\t}\n\n\t\tevents() {\n\n\t\t\tthis.DOM.$menuItems.each( ( i, item ) => {\n\t\t\t\t$( item ).on( this.options.handler, ev => {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t\tev.stopPropagation();\n\n\t\t\t\t\tif ( this.isLoading ) return;\n\n\t\t\t\t\tthis.prevItem = this.currentItem;\n\t\t\t\t\tthis.currentItem = i;\n\n\t\t\t\t\tif ( this.prevItem === this.currentItem ) return;\n\t\t\t\t\tthis.loadImage();\n\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t}\n\n\t\tloadImage() {\n\n\t\t\tconst $currentFigure = this.DOM.$images.eq( this.currentItem );\n\t\t\tconst $img = $( 'img', $currentFigure );\n\n\t\t\tif ( !$img.hasClass( 'loaded' ) ) {\n\t\t\t\t$img.attr( 'src', $img.attr( 'data-src' ) );\n\t\t\t}\n\n\t\t\tthis.isLoading = true;\n\n\t\t\tthis.DOM.$element.addClass( 'is-loading' );\n\t\t\timagesLoaded( $img[ 0 ], this.onImageLoaded.bind( this ) );\n\n\t\t}\n\n\t\tonImageLoaded() {\n\n\t\t\tconst $currentFigure = this.DOM.$images.eq( this.currentItem );\n\t\t\tconst $currentImg = $( 'img', $currentFigure );\n\t\t\tconst $currentExtras = this.DOM.$extras.eq( this.currentItem );\n\t\t\tconst $menuLi = this.DOM.$menuItems.eq( this.currentItem ).parent();\n\n\t\t\tthis.isLoading = false;\n\n\t\t\tthis.DOM.$element.removeClass( 'is-loading' );\n\t\t\t$currentImg.addClass( 'loaded' );\n\n\t\t\tthis.DOM.$images.removeClass( 'is-active' );\n\t\t\tthis.DOM.$menuItems.parent().removeClass( 'is-active' );\n\t\t\tthis.DOM.$extras.removeClass( 'is-active' );\n\t\t\t$currentFigure.addClass( 'is-active' );\n\t\t\t$currentExtras.addClass( 'is-active' );\n\t\t\t$menuLi.addClass( 'is-active' );\n\n\t\t\tthis.animateElements();\n\n\t\t}\n\n\t\tanimateElements() {\n\n\t\t\tconst $prevExtras = this.DOM.$extras.eq( this.prevItem );\n\t\t\tconst $currentExtras = this.DOM.$extras.eq( this.currentItem );\n\t\t\tconst $prevExtrasChildElements = $prevExtras.children().not( 'style' );\n\t\t\tconst $currentExtrasChildElements = $currentExtras.children().not( 'style' );\n\n\t\t\tgsap.fromTo( $prevExtras[ 0 ], {\n\t\t\t\topacity: 1\n\t\t\t}, {\n\t\t\t\topacity: 0,\n\t\t\t\tdelay: 0.2\n\t\t\t} )\n\t\t\tgsap.fromTo( $currentExtras[ 0 ], {\n\t\t\t\topacity: 0\n\t\t\t}, {\n\t\t\t\topacity: 1,\n\t\t\t\tdelay: 0.2\n\t\t\t} )\n\n\t\t\tgsap.fromTo( $prevExtrasChildElements.get(), {\n\t\t\t\txPercent: 0,\n\t\t\t\topacity: 1\n\t\t\t}, {\n\t\t\t\txPercent: 3,\n\t\t\t\topacity: 0,\n\t\t\t\tstagger: 0.1,\n\t\t\t\tdelay: 0.3\n\t\t\t} )\n\t\t\tgsap.fromTo( $currentExtrasChildElements.get(), {\n\t\t\t\txPercent: -3,\n\t\t\t\topacity: 0\n\t\t\t}, {\n\t\t\t\txPercent: 0,\n\t\t\t\topacity: 1,\n\t\t\t\tstagger: 0.1,\n\t\t\t\tdelay: 0.3\n\t\t\t} )\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tthis.DOM.$menuItems.each( ( i, item ) => { $( item ).off() } );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'slideshow-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-lqd-slideshow]' ).liquidSlideshow();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidWoo';\n\tlet defaults = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.$element = $( element );\n\t\t\tthis.DOM.$headerCart = $( '.ld-module-cart' );\n\t\t\tthis.DOM.$snickersBarTemp = $( '#lqd-temp-snickersbar' );\n\t\t\tthis.DOM.$snickersBar = null;\n\t\t\tthis.snickersBarsHeight = 20;\n\t\t\tthis.cartItems = [];\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.events();\n\n\t\t}\n\n\t\tevents() {\n\n\t\t\t$( document ).on( 'adding_to_cart', ( event, $btn, data ) => { this.onAddingToCart.call( this, $btn, data ) } );\n\t\t\t$( document ).on( 'added_to_cart', ( event, frags, cartHash, $btn ) => { this.onAddedToCart.call( this, frags, $btn ) } );\n\t\t\t$( document ).on( 'removed_from_cart', ( event, frags ) => { this.onRemovedFromCart.call( this, frags ) } );\n\t\t\t$( document ).on( 'updated_wc_div', this.onUpdatedWcDiv.bind( this ) );\n\t\t\t$( '.widget_price_filter form' ).on( 'submit', this.onWcanAjaxLoading.bind( this ) );\n\t\t\t$( document ).on( 'yith-wcan-ajax-loading', this.onWcanAjaxLoading.bind( this ) );\n\t\t\t$( document ).on( 'yith-wcan-ajax-filtered ajaxComplete', this.onWCanAjaxFiltered.bind( this ) );\n\t\t\t$( document ).on( 'qv_loader_stop', () => { this.formIntputsInit.call( this ) } );\n\n\t\t}\n\n\t\tonAddingToCart( $btn, data ) {\n\n\t\t\tthis.initSnickersBar( $btn, data );\n\n\t\t}\n\n\t\tinitSnickersBar( $btn, data ) {\n\n\t\t\tconst cartItem = this.cartItems.find( item => item.id === data.product_id || item.id === $btn.attr( 'data-product_id' ) || item.id === $btn.attr( 'value' ) );\n\n\t\t\tif ( cartItem ) {\n\n\t\t\t\tconst { $snickersBarEl, snickersBarHeight, isVisible } = cartItem;\n\n\t\t\t\t$snickersBarEl.removeClass( 'lqd-snickersbar-action-done' );\n\n\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\t$snickersBarEl.addClass( 'lqd-snickersbar-in' ).removeClass( 'lqd-snickersbar-out' );\n\t\t\t\t\tcartItem.isVisible = true;\n\t\t\t\t\tthis.snickersBarsHeight += snickersBarHeight;\n\t\t\t\t}\n\n\t\t\t\tthis.hideSnickersBar( cartItem );\n\n\t\t\t} else {\n\n\t\t\t\tthis.createSnickersBar( $btn, data );\n\n\t\t\t}\n\n\t\t\tthis.upadteSnickersBarsPos();\n\n\t\t}\n\n\t\tcreateSnickersBar( $btn, data ) {\n\n\t\t\tlet { product_id, product_name } = data;\n\t\t\tconst snickersClone = this.DOM.$snickersBarTemp[ 0 ].content.cloneNode( true );\n\t\t\tconst $snickersBar = $( '.lqd-snickersbar', snickersClone );\n\t\t\tconst $addningMsgTemp = $( '.lqd-snickersbar-addding-temp', $snickersBar );\n\t\t\tconst $addedMsgTemp = $( '.lqd-snickersbar-added-temp', $snickersBar );\n\n\t\t\tconst $msg = $( '.lqd-snickersbar-msg', $snickersBar );\n\t\t\tconst $msgDone = $( '.lqd-snickersbar-msg-done', $snickersBar );\n\t\t\tconst $checkIcon = $( '<svg width=\"32\" height=\"29\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 29\" style=\"height: 1.25em; margin-inline-start: .25rem;\"><path fill=\"currentColor\" d=\"M25.74 6.23c0.38 0.34 0.42 0.9 0.09 1.28l-12.77 14.58a0.91 0.91 0 0 1-1.33 0.04l-5.46-5.46a0.91 0.91 0 1 1 1.29-1.29l4.77 4.78 12.12-13.85a0.91 0.91 0 0 1 1.29-0.08z\"></path></svg>' );\n\t\t\tconst $spinIcon = $( '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" style=\"height: 1em; margin-inline-start: .25rem;\"><path fill=\"currentColor\" d=\"M4.005 16.03c0-5.945 4.344-10.842 10.027-11.802v1.784l4.004-3.006L14.032 0v2.162C7.244 3.142 2.007 8.98 2.007 16.03c0 5.072 2.715 9.503 6.75 11.976l1.745-1.31c-3.85-2.007-6.487-6.03-6.497-10.666zm26.056 0c0-5.072-2.716-9.504-6.75-11.967l-1.745 1.31c3.85 2.006 6.487 6.03 6.487 10.656 0 5.944-4.344 10.86-10.017 11.82v-1.793l-4.004 3.006 4.004 3.006v-2.172c6.788-.98 12.025-6.817 12.025-13.867z\"></path></svg>' )\n\n\t\t\tif ( $liquidBody.hasClass( 'single' ) ) {\n\t\t\t\tif ( !product_name ) {\n\t\t\t\t\tproduct_name = $( 'h1[itemprop=name].entry-title' ).text()\n\t\t\t\t}\n\t\t\t\tif ( !product_id ) {\n\t\t\t\t\tproduct_id = $btn.attr( 'data-product_id' ) || $btn.attr( 'value' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$msg.text( $addningMsgTemp.text().replace( /\\{\\{itemName\\}\\}/, product_name ) );\n\t\t\t$msgDone.text( $addedMsgTemp.text().replace( /\\{\\{itemName\\}\\}/, product_name ) );\n\n\t\t\t$snickersBar.attr( 'data-item-id', product_id );\n\n\t\t\t$msg.append( $spinIcon );\n\t\t\t$msgDone.append( $checkIcon );\n\t\t\t$liquidBody.append( $snickersBar );\n\n\t\t\tconst newCartItem = {\n\t\t\t\tid: product_id,\n\t\t\t\tname: product_name,\n\t\t\t\t$snickersBarEl: $snickersBar,\n\t\t\t\t$msgEl: $msg,\n\t\t\t\t$msgDoneEl: $msgDone,\n\t\t\t\tsnickersBarHeight: $snickersBar.outerHeight( true ),\n\t\t\t\tisVisible: true,\n\t\t\t\ttimeout: null\n\t\t\t}\n\n\t\t\tthis.snickersBarsHeight += newCartItem.snickersBarHeight;\n\n\t\t\tthis.cartItems.push( newCartItem );\n\n\t\t}\n\n\t\tonAddedToCart( frags, $btn ) {\n\n\t\t\tthis.updateCartAmount( frags );\n\n\t\t\tconst cartItem = this.cartItems.find( item => item.id === $btn.attr( 'data-product_id' ) || item.id === $btn.attr( 'value' ) );\n\n\t\t\tif ( cartItem ) {\n\n\t\t\t\tconst { $snickersBarEl } = cartItem;\n\t\t\t\tconst $snickersBarExtEl = $( '.lqd-snickersbar-ext', $snickersBarEl );\n\n\t\t\t\t!$snickersBarExtEl.children( '.added_to_cart' ).length && $snickersBarExtEl.append( $btn.siblings( '.added_to_cart' ).clone( true ) );\n\n\t\t\t\t$snickersBarEl.addClass( 'lqd-snickersbar-action-done' );\n\n\t\t\t\tthis.hideSnickersBar( cartItem );\n\n\t\t\t}\n\n\t\t}\n\n\t\thideSnickersBar( cartItem ) {\n\n\t\t\tconst { $snickersBarEl, snickersBarHeight, isVisible } = cartItem;\n\t\t\tconst timeOutVal =\n\t\t\t\tliquidIsElementor ?\n\t\t\t\t\tgetComputedStyle( document.body ).getPropertyValue( '--lqd-snickersbar-stay-time' ) :\n\t\t\t\t\tgetComputedStyle( document.documentElement ).getPropertyValue( '--lqd-snickersbar-stay-time' );\n\n\t\t\tif ( cartItem.timeout ) {\n\n\t\t\t\tclearTimeout( cartItem.timeout );\n\t\t\t\tcartItem.timeout = null;\n\t\t\t\t$snickersBarEl.addClass( 'lqd-snickersbar-in' ).removeClass( 'lqd-snickersbar-out' );\n\t\t\t\tcartItem.isVisible = true;\n\n\t\t\t} else {\n\n\t\t\t\tcartItem.timeout = setTimeout( () => {\n\n\t\t\t\t\tif ( isVisible ) {\n\t\t\t\t\t\t$snickersBarEl.addClass( 'lqd-snickersbar-out' ).removeClass( 'lqd-snickersbar-in' );\n\t\t\t\t\t\tcartItem.isVisible = false;\n\t\t\t\t\t\tthis.snickersBarsHeight -= snickersBarHeight;\n\t\t\t\t\t}\n\t\t\t\t\tthis.upadteSnickersBarsPos();\n\t\t\t\t\tclearTimeout( cartItem.timeout );\n\n\t\t\t\t}, parseFloat( timeOutVal ) * 1000 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tupadteSnickersBarsPos() {\n\n\t\t\tlet heights = 0;\n\n\t\t\tthis.cartItems.forEach( item => {\n\t\t\t\tif ( item.isVisible ) heights += item.snickersBarHeight;\n\t\t\t\titem.$snickersBarEl.css( 'transform', `translateY(${ ( this.snickersBarsHeight - heights ) * -1 }px)` )\n\t\t\t} );\n\n\t\t}\n\n\t\tonRemovedFromCart( frags ) {\n\n\t\t\tthis.updateCartAmount( frags );\n\t\t\tthis.lazyLoadUpdate();\n\n\t\t}\n\n\t\tonUpdatedWcDiv() {\n\n\t\t\tthis.formIntputsInit();\n\n\t\t}\n\n\t\tupdateCartAmount( frags ) {\n\n\t\t\tif ( !frags ) return;\n\n\t\t\tconst $headerCartAmount = this.DOM.$headerCart.find( '.ld-module-trigger-txt .woocommerce-Price-amount' );\n\n\t\t\tconst amount = $( frags[ 'span.header-cart-amount' ] );\n\n\t\t\tif ( $headerCartAmount.length && amount ) {\n\t\t\t\t$headerCartAmount.text( amount.text() )\n\t\t\t}\n\t\t}\n\n\t\tlazyLoadUpdate() {\n\n\t\t\tif ( window.liquidLazyload ) {\n\t\t\t\twindow.liquidLazyload.update();\n\t\t\t}\n\n\t\t}\n\n\t\tformIntputsInit() {\n\n\t\t\t$( 'form' ).liquidFormInputs();\n\n\t\t}\n\n\t\tonWCanAjaxFiltered() {\n\n\t\t\tthis.lazyLoadUpdate();\n\t\t\t$( '.widget' ).removeClass( 'wcan-ajax-loading' );\n\n\t\t}\n\n\t\tonWcanAjaxLoading() {\n\n\t\t\t$( '.widget' ).addClass( 'wcan-ajax-loading' );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'woo-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\tif ( $( '.woocommerce' ).length ) {\n\t\t$liquidBody.liquidWoo();\n\t}\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidZIndex';\n\tlet defaults = {\n\t\ttriggers: [ 'mouseenter', 'mouseleave' ],\n\t\tsetTo: 'self',\n\t\tinit: 10,\n\t\tto: 15,\n\t\tduration: 0.6\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis\n\t\t\tthis.initEvents();\n\n\t\t}\n\n\t\tinitEvents() {\n\n\t\t\tconst { triggers } = this.options;\n\n\t\t\tthis.$element.on( triggers[ 0 ], this.addZIndex.bind( this ) );\n\t\t\tthis.$element.on( triggers[ 1 ], this.removeZIndex.bind( this ) );\n\n\t\t}\n\n\t\taddZIndex() {\n\n\t\t\twindow.currentZIndex = window.currentZIndex || 10;\n\n\t\t\twindow.currentZIndex += 1;\n\n\t\t\tgsap.killTweensOf( this.element );\n\n\t\t\tgsap.set( this.element, {\n\t\t\t\tzIndex: window.currentZIndex\n\t\t\t} )\n\n\t\t}\n\n\t\tremoveZIndex() {\n\n\t\t\tconst { duration } = this.options;\n\n\t\t\tgsap.to( this.element, {\n\t\t\t\tzIndex: this.options.init,\n\t\t\t\tdelay: duration,\n\t\t\t\tease: 'quint.out',\n\t\t\t\tduration: 0.15\n\t\t\t} )\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'zindex-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-lqd-zindex]' ).liquidZIndex();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidSectionScroll';\n\tlet defaults = {\n\t\tscroller: '.lqd-section-scroll-sections',\n\t\titemsSelector: ':scope > .vc_row, :scope > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-section, :scope > .e-container, :scope > .e-con'\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.$element = $( element );\n\t\t\tthis.DOM.items = [ ...this.DOM.element.querySelectorAll( this.options.itemsSelector ) ];\n\t\t\tthis.DOM.scroller = this.DOM.element.querySelector( `:scope > ${ this.options.scroller }` );\n\n\t\t\tif ( !this.DOM.items || this.DOM.items.length <= 1 ) return;\n\n\t\t\tthis.DOM.dots = [];\n\n\t\t\tthis.isAnimating = false;\n\t\t\tthis.activeItem = 0;\n\t\t\tthis.totalItemsHeight = 0;\n\t\t\tthis.elementRect = {};\n\t\t\tthis.itemsRects = [];\n\n\t\t\tthis.build().then( () => {\n\t\t\t\tthis.appendDots();\n\t\t\t\tthis.events();\n\t\t\t\tthis.DOM.element.classList.add( 'lqd-section-scroll-activated' );\n\t\t\t} );\n\n\t\t}\n\n\t\tasync build() {\n\n\t\t\tawait this.createScroller();\n\t\t\tconst rects = await Promise.all( [ this.getElementRect(), ...this.getItemsRects() ] );\n\t\t\tconst windowScrollY = window.scrollY;\n\t\t\tconst elementRect = rects[ 0 ];\n\t\t\tconst itemsRects = rects.filter( ( item, i ) => i > 0 );\n\n\t\t\tthis.elementRect = {\n\t\t\t\twidth: elementRect.width,\n\t\t\t\theight: elementRect.height,\n\t\t\t\ty: elementRect.y + windowScrollY,\n\t\t\t\tbottom: elementRect.bottom\n\t\t\t};\n\n\t\t\titemsRects.forEach( ( rect, i_1 ) => {\n\t\t\t\tthis.itemsRects[ i_1 ] = {\n\t\t\t\t\twidth: rect.width,\n\t\t\t\t\theight: rect.height,\n\t\t\t\t\ty: rect.y - this.elementRect.y,\n\t\t\t\t\tbottom: rect.bottom - this.elementRect.y\n\t\t\t\t};\n\t\t\t\tthis.totalItemsHeight += rect.height;\n\t\t\t} );\n\n\t\t}\n\n\t\tasync createScroller() {\n\n\t\t\tif ( this.DOM.scroller ) return;\n\n\t\t\tawait fastdomPromised.mutate( () => {\n\t\t\t\t$( this.DOM.items ).wrapAll( `<div class=\"${ this.options.scroller.substring( 1 ) } lqd-overlay\" />` );\n\t\t\t\tthis.DOM.scroller = this.DOM.element.querySelector( this.options.scroller );\n\t\t\t} );\n\n\t\t}\n\n\t\tgetElementRect() {\n\n\t\t\treturn new Promise( resolve => {\n\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\tresolve( entry.boundingClientRect );\n\t\t\t\t} ).observe( this.DOM.element );\n\t\t\t} );\n\n\t\t}\n\n\t\tgetItemsRects() {\n\n\t\t\tconst promises = [];\n\n\t\t\tthis.DOM.items.forEach( el => {\n\n\t\t\t\tconst promise = new Promise( resolve => {\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tresolve( entry.boundingClientRect );\n\t\t\t\t\t} ).observe( el );\n\t\t\t\t} );\n\n\t\t\t\tpromises.push( promise )\n\n\t\t\t} );\n\n\t\t\treturn promises;\n\n\t\t}\n\n\t\tevents() {\n\n\t\t\tconst transitionDuration = 1000;\n\t\t\tlet wheelFree = true;\n\t\t\tlet isScrollingDown = false;\n\t\t\tlet isScrollingUp = false;\n\n\t\t\tthis.DOM.$element.on( 'wheel mousewheel', event => {\n\n\t\t\t\tconst { deltaY } = event.originalEvent;\n\n\t\t\t\tif ( deltaY < 0 ) {\n\t\t\t\t\tisScrollingUp = true;\n\t\t\t\t\tisScrollingDown = false;\n\t\t\t\t} else if ( deltaY > 0 ) {\n\t\t\t\t\tisScrollingUp = false;\n\t\t\t\t\tisScrollingDown = true;\n\t\t\t\t}\n\n\t\t\t\tif ( ( this.activeItem === 0 && isScrollingDown ) || ( this.activeItem === this.DOM.items.length - 1 && isScrollingUp ) ) {\n\t\t\t\t\t$( 'html, body' ).animate( {\n\t\t\t\t\t\tscrollTop: this.DOM.$element.offset().top - ( window.innerHeight - this.DOM.element.offsetHeight ) / 2\n\t\t\t\t\t}, 350 );\n\t\t\t\t}\n\n\t\t\t\tif ( !this.isAnimating ) {\n\n\t\t\t\t\tif ( isScrollingUp && this.activeItem > 0 ) {\n\t\t\t\t\t\twheelFree = false;\n\t\t\t\t\t\tthis.navigate( 'prev' );\n\t\t\t\t\t} else if ( isScrollingDown && this.activeItem !== this.DOM.items.length - 1 ) {\n\t\t\t\t\t\twheelFree = false;\n\t\t\t\t\t\tthis.navigate( 'next' );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif ( !wheelFree || this.isAnimating ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\n\t\t\t} );\n\n\t\t\tthis.DOM.scroller.addEventListener( 'transitionend', event => {\n\t\t\t\tif ( event.target === this.DOM.scroller ) {\n\t\t\t\t\twheelFree = true;\n\t\t\t\t\tthis.isAnimating = false;\n\t\t\t\t\tthis.navigateDone();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthis.DOM.element.addEventListener( 'mouseover', () => {\n\t\t\t\tif ( ( this.activeItem === 0 && isScrollingDown ) || ( this.activeItem === this.DOM.items.length - 1 && isScrollingUp ) ) {\n\t\t\t\t\twheelFree = false;\n\t\t\t\t}\n\t\t\t} )\n\t\t\tthis.DOM.element.addEventListener( 'mouseout', () => {\n\t\t\t\twheelFree = true;\n\t\t\t} )\n\n\t\t\tthis.DOM.dots.forEach( ( $dot, i ) => {\n\t\t\t\t$dot.on( 'click', this.onDotsClick.bind( this, i ) );\n\t\t\t} );\n\n\t\t\t$liquidWindow.on( 'resize', liquidDebounce( this.onWindowResize.bind( this ), 250 ) )\n\n\t\t}\n\n\t\tappendDots() {\n\n\t\t\tconst $dotsWrapper = $( '<div class=\"lqd-section-scroll-dots d-flex flex-column pos-abs z-index-5 flex flex-col absolute z-5\" />' );\n\n\t\t\tthis.itemsRects.forEach( ( rect, i ) => {\n\t\t\t\tconst $dot = $( `<div class=\"lqd-section-scroll-dot d-flex flex align-items-center justify-content-center items-center justify-center border-radius-circle pos-rel relative text-center ${ i === 0 ? 'is-active' : '' }\"><span></span></div>` );\n\t\t\t\t$dotsWrapper.append( $dot );\n\t\t\t\tthis.DOM.dots.push( $dot );\n\t\t\t} );\n\n\t\t\t$dotsWrapper.appendTo( this.DOM.$element );\n\n\t\t}\n\n\t\tnavigate( direction ) {\n\n\t\t\tthis.isAnimating = true;\n\n\t\t\tthis.DOM.scroller.style.willChange = 'transform';\n\n\t\t\tswitch ( direction ) {\n\t\t\t\tcase 'prev':\n\t\t\t\t\tthis.navigatePrev()\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.navigateNext();\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\n\t\tnavigateDone() {\n\n\t\t\tthis.DOM.scroller.style.willChange = 'auto';\n\n\t\t}\n\n\t\tnavigateNext() {\n\n\t\t\tif ( this.activeItem < this.DOM.items.length - 1 ) {\n\t\t\t\tthis.activeItem += 1;\n\t\t\t}\n\n\t\t\tthis.moveScroller();\n\t\t\tthis.manageDotsActiveState();\n\n\t\t}\n\n\t\tnavigatePrev() {\n\n\t\t\tif ( this.activeItem > 0 ) {\n\t\t\t\tthis.activeItem -= 1;\n\t\t\t}\n\n\t\t\tthis.moveScroller();\n\t\t\tthis.manageDotsActiveState();\n\n\t\t}\n\n\t\tmoveScroller() {\n\n\t\t\tthis.DOM.scroller.style.transform = `translate3d(0, ${ ( this.activeItem * 100 ) * -1 }%, 0)`;\n\n\t\t}\n\n\t\tmanageDotsActiveState() {\n\n\t\t\tthis.DOM.dots.forEach( $dot => $dot.removeClass( 'is-active' ) );\n\t\t\tthis.DOM.dots[ this.activeItem ].addClass( 'is-active' );\n\n\t\t}\n\n\t\tonDotsClick( i ) {\n\n\t\t\tthis.activeItem = i;\n\t\t\tthis.moveScroller();\n\t\t\tthis.manageDotsActiveState();\n\n\t\t}\n\n\t\tonWindowResize() {\n\n\t\t\tthis.build();\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'section-scroll-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\tif ( liquidIsMobile() ) return;\n\t$( '[data-lqd-section-scroll=true]' ).not( '.elementor-inner-section' ).liquidSectionScroll();\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pageStacksEnabled = $liquidContents.attr( 'data-liquid-stack' ) != null;\n\tconst bodyLSOffset = $liquidBody.attr( 'data-localscroll-offset' );\n\tconst localscrollGlobalOffset = bodyLSOffset != null && bodyLSOffset !== '' ? parseInt( bodyLSOffset, 10 ) : 0;\n\n\tconst pluginName = 'liquidLocalScroll';\n\tlet defaults = {\n\t\titemsSelector: 'self',\n\t\tscrollSpeed: 600,\n\t\tscrollBelowSection: false,\n\t\toffsetElements: '#wpadminbar, .main-header[data-sticky-header] .lqd-head-sec-wrap:not(.lqd-hide-onstuck), body.elementor-page .main-header[data-sticky-header] > .elementor > .elementor-section-wrap > .elementor-section:not(.lqd-hide-onstuck):not(.lqd-stickybar-wrap), body.elementor-page .main-header[data-sticky-header] > .elementor > .elementor-section:not(.lqd-hide-onstuck):not(.lqd-stickybar-wrap), .lqd-custom-menu[data-pin]:not(.lqd-sticky-menu-floating)',\n\t\tincludeParentAsOffset: false,\n\t\ttrackWindowScroll: false,\n\t\toffset: 0\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\t\t\tthis.$items = this.options.itemsSelector === 'self' ? this.$element : $( this.options.itemsSelector, this.$element );\n\t\t\tthis.targetsArray = [];\n\t\t\tthis.offset = [];\n\t\t\tthis.targetsRects = [];\n\t\t\tthis.windowHeight = window.innerHeight;\n\n\t\t\tif (\n\t\t\t\tthis.options.includeParentAsOffset &&\n\t\t\t\tthis.element.parentElement.classList.contains( 'lqd-sticky-menu-floating' )\n\t\t\t) {\n\t\t\t\tthis.options.includeParentAsOffset = false;\n\t\t\t}\n\n\t\t\tif ( !pageStacksEnabled ) {\n\n\t\t\t\t$liquidContents.imagesLoaded( async () => {\n\n\t\t\t\t\tthis.$items.each( ( i, item ) => {\n\t\t\t\t\t\tthis.getTargetsArray( i, item );\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( this.options.trackWindowScroll ) {\n\t\t\t\t\t\tthis.offset = await this.getOffsets();\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.targetsRects = await this.getTargetsRects();\n\n\t\t\t\t\tthis.init();\n\n\t\t\t\t} )\n\n\t\t\t} else {\n\n\t\t\t\tthis.init();\n\n\t\t\t}\n\n\t\t}\n\n\t\tasync getTargetsRects() {\n\n\t\t\tconst promises = [];\n\n\t\t\tthis.targetsArray.forEach( target => {\n\n\t\t\t\tconst promise = new Promise( resolve => {\n\n\t\t\t\t\tif ( target == null ) {\n\t\t\t\t\t\treturn resolve( null );\n\t\t\t\t\t}\n\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\n\t\t\t\t\t\tconst { boundingClientRect } = entry;\n\t\t\t\t\t\tconst { scrollY } = window;\n\t\t\t\t\t\tconst rect = {\n\t\t\t\t\t\t\ty: boundingClientRect.y + scrollY,\n\t\t\t\t\t\t\tbottom: boundingClientRect.bottom + scrollY,\n\t\t\t\t\t\t\theight: boundingClientRect.height,\n\t\t\t\t\t\t\tel: entry.target\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresolve( rect );\n\n\t\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\t} ).observe( target );\n\n\t\t\t\t} );\n\n\t\t\t\tpromises.push( promise );\n\n\t\t\t} );\n\n\t\t\tconst rects = await Promise.all( promises );\n\n\t\t\treturn [ ...rects ]\n\n\t\t}\n\n\t\tasync getOffsets() {\n\n\t\t\tconst { offsetElements, includeParentAsOffset, offset } = this.options;\n\t\t\tlet finalOffset = localscrollGlobalOffset;\n\n\t\t\tif ( !offsetElements ) {\n\t\t\t\treturn finalOffset + offset;\n\t\t\t}\n\n\t\t\tconst $elements = !includeParentAsOffset ? $( offsetElements ) : $( offsetElements ).add( this.$element.parent() );\n\t\t\tconst promises = [];\n\n\t\t\t$elements.each( ( i, element ) => {\n\n\t\t\t\tconst promise = new Promise( resolve => {\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tresolve( entry.boundingClientRect.height );\n\t\t\t\t\t} ).observe( element );\n\t\t\t\t} )\n\n\t\t\t\tpromises.push( promise );\n\n\t\t\t} );\n\n\t\t\tconst heights = await Promise.all( promises );\n\n\t\t\theights.forEach( height => finalOffset += height );\n\n\t\t\tif ( offset ) {\n\t\t\t\tfinalOffset += offset;\n\t\t\t}\n\n\t\t\treturn finalOffset;\n\n\t\t}\n\n\t\tgetTargetsArray( itemIndex, item ) {\n\n\t\t\tif ( this.options.scrollBelowSection ) {\n\t\t\t\tconst $parentRow =\n\t\t\t\t\tliquidIsElementor ?\n\t\t\t\t\t\tthis.$element.parents( '.elementor-section, .e-container, .e-con' ).last() :\n\t\t\t\t\t\tthis.$element.parents( '.vc_row, .vc_section' ).last();\n\t\t\t\tconst $nextRow =\n\t\t\t\t\tliquidIsElementor ?\n\t\t\t\t\t\t$parentRow.nextAll( '.elementor-section, .e-container, .e-con' ).first() :\n\t\t\t\t\t\t$parentRow.nextAll( '.vc_row, .vc_section' ).first();\n\t\t\t\treturn this.targetsArray[ itemIndex ] = $nextRow[ 0 ];\n\t\t\t}\n\n\t\t\tconst itemHref = item.getAttribute( 'href' );\n\n\t\t\tif ( !itemHref ) {\n\t\t\t\treturn this.targetsArray[ itemIndex ] = null;\n\t\t\t}\n\n\t\t\tconst { hash } = item;\n\n\t\t\tif ( !hash || hash == '' || !$( hash ).length ) {\n\t\t\t\treturn this.targetsArray[ itemIndex ] = null;\n\t\t\t}\n\n\t\t\tthis.targetsArray[ itemIndex ] = document.querySelector( hash );\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tthis.$items.each( ( i, item ) => {\n\t\t\t\tthis.events( i, item );\n\t\t\t} );\n\n\t\t\tif ( this.options.trackWindowScroll && !pageStacksEnabled ) {\n\t\t\t\tthis.onScroll();\n\t\t\t\t$liquidWindow.on( 'scroll', this.onScroll.bind( this ) );\n\t\t\t}\n\n\t\t}\n\n\t\tevents( itemIndex, item ) {\n\n\t\t\t$( item ).on( 'click', { itemIndex }, this.onClick.bind( this ) );\n\n\t\t\t$( document ).on( 'lqd-masonry-layout-init', async () => {\n\t\t\t\tthis.targetsRects = await this.getTargetsRects();\n\t\t\t} );\n\n\t\t}\n\n\t\tonClick( event ) {\n\n\t\t\tconst { itemIndex } = event.data;\n\t\t\tconst { offset } = this.options;\n\n\t\t\tif ( !this.targetsRects[ itemIndex ] ) return;\n\n\t\t\tconst { y } = this.targetsRects[ itemIndex ];\n\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\t$liquidHtml.removeClass( 'overflow-hidden' );\n\n\t\t\t$( 'html, body' ).animate( {\n\t\t\t\tscrollTop: y - localscrollGlobalOffset - offset\n\t\t\t}, this.options.scrollSpeed )\n\n\t\t\tthis.$element.closest( '.navbar-fullscreen, .navbar-collapse, .ld-module-dropdown, .mobile-navbar-collapse' ).collapse( 'hide' );\n\n\t\t}\n\n\t\tonScroll() {\n\n\t\t\t/* ScrollSpy JavaScript Library v1.0.0\n\t\t\t https://scrollspy.github.io */\n\n\t\t\tlet minScrollTime = 200;\n\t\t\tlet now = new Date().getTime();\n\n\t\t\tconst processScroll = () => {\n\n\t\t\t\tlet ScrollPos = this.getScrollPos();\n\t\t\t\tlet StagesPositionPercentage = [];\n\t\t\t\tlet currentElement;\n\n\t\t\t\tthis.targetsRects.forEach( rect => {\n\n\t\t\t\t\tif ( !rect ) return;\n\n\t\t\t\t\tlet Percent = [ rect.y, this.getVisibilityPercent( rect, ScrollPos ) ];\n\n\t\t\t\t\tif ( Percent[ 1 ] !== 0 ) {\n\t\t\t\t\t\tStagesPositionPercentage.push( Percent );\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\n\t\t\t\tif ( StagesPositionPercentage.length === 0 ) {\n\t\t\t\t\tStagesPositionPercentage[ 0 ] = [ 0, 0 ];\n\t\t\t\t\tStagesPositionPercentage[ 1 ] = [ 0, 0 ];\n\t\t\t\t\tthis.fakePercent = true;\n\t\t\t\t} else {\n\t\t\t\t\tthis.fakePercent = false;\n\t\t\t\t}\n\n\t\t\t\tif ( StagesPositionPercentage.length === 1 ) {\n\t\t\t\t\tStagesPositionPercentage[ 1 ] = [ 0, 0 ];\n\t\t\t\t}\n\n\n\t\t\t\tlet max = StagesPositionPercentage.reduce( ( a, b ) => {\n\t\t\t\t\treturn Math.max( a[ 1 ], b[ 1 ] );\n\t\t\t\t} );\n\n\t\t\t\tif ( isNaN( max ) ) {\n\n\t\t\t\t\tlet TempStagesPositionPercentage = [];\n\n\t\t\t\t\tStagesPositionPercentage.forEach( objectPositionPercentage => {\n\n\t\t\t\t\t\tthis.targetsRects.forEach( rect => {\n\n\t\t\t\t\t\t\tif ( !rect ) return;\n\n\t\t\t\t\t\t\tif ( rect.y === objectPositionPercentage[ 0 ] ) {\n\n\t\t\t\t\t\t\t\tlet DistanceFromCenter = [ rect.y, this.getVisibilityDistanceFromCenter( rect, ScrollPos ) ];\n\n\t\t\t\t\t\t\t\tif ( !( TempStagesPositionPercentage.includes( DistanceFromCenter ) ) ) {\n\t\t\t\t\t\t\t\t\tTempStagesPositionPercentage.push( DistanceFromCenter );\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t} );\n\n\t\t\t\t\tTempStagesPositionPercentage.reduce( ( a, b ) => {\n\t\t\t\t\t\tif ( typeof a !== 'undefined' && typeof b != \"undefined\" ) {\n\t\t\t\t\t\t\tmax = ( Math.min( a[ 1 ], b[ 1 ] ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\tStagesPositionPercentage = TempStagesPositionPercentage;\n\n\t\t\t\t}\n\n\t\t\t\tif ( max !== this.lastItemPercent ) {\n\n\t\t\t\t\tthis.lastItemPercent = max;\n\t\t\t\t\tStagesPositionPercentage.forEach( objectPositionPercentage => {\n\n\t\t\t\t\t\tif ( this.firstScroll && !( this.fakePercent ) ) {\n\t\t\t\t\t\t\tobjectPositionPercentage[ 1 ] = max;\n\t\t\t\t\t\t\tthis.firstScroll = false;\n\t\t\t\t\t\t\tthis.CurrentPositionTop = 0;\n\t\t\t\t\t\t\tthis.lastItemPercent = 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( objectPositionPercentage[ 1 ] === max && objectPositionPercentage[ 0 ] !== this.CurrentPositionTop && !( this.fakePercent ) ) {\n\n\t\t\t\t\t\t\tthis.CurrentPositionTop = objectPositionPercentage[ 0 ];\n\n\t\t\t\t\t\t\tthis.$items.parent().removeClass( 'is-active' );\n\n\t\t\t\t\t\t\tthis.targetsRects.forEach( ( rect, i ) => {\n\n\t\t\t\t\t\t\t\tif ( !rect ) return;\n\n\t\t\t\t\t\t\t\tif ( rect.y === objectPositionPercentage[ 0 ] ) {\n\t\t\t\t\t\t\t\t\tcurrentElement = rect.el;\n\t\t\t\t\t\t\t\t\tthis.$items.eq( i ).parent().addClass( 'is-active' );\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\n\t\t\t};\n\n\t\t\tif ( !this.scrollTimer ) {\n\t\t\t\tif ( now - this.lastScrollFireTime > ( 3 * minScrollTime ) ) {\n\t\t\t\t\tprocessScroll(); // fire immediately on first scroll\n\t\t\t\t\tthis.lastScrollFireTime = now;\n\t\t\t\t}\n\t\t\t\tthis.scrollTimer = setTimeout( () => {\n\t\t\t\t\tthis.scrollTimer = null;\n\t\t\t\t\tthis.lastScrollFireTime = new Date().getTime();\n\t\t\t\t\tprocessScroll();\n\t\t\t\t}, minScrollTime );\n\t\t\t} else {\n\t\t\t\tprocessScroll();\n\t\t\t}\n\n\t\t}\n\n\t\tcheckIsInView( rect, ScrollPos = this.getScrollPos() ) {\n\n\t\t\treturn ( ( rect.y > ScrollPos[ 0 ] ) && ( rect.y < ScrollPos[ 1 ] ) ) || ( ( ( rect.bottom ) > ScrollPos[ 0 ] ) && ( ( rect.bottom ) < ScrollPos[ 1 ] ) ) || ( ( rect.y < ScrollPos[ 0 ] ) && ( ( rect.bottom ) > ScrollPos[ 1 ] ) );\n\n\t\t}\n\n\t\tgetScrollPos() {\n\t\t\tlet offsetTop;\n\t\t\tlet offsetBottom;\n\t\t\toffsetTop = window.scrollY || 0;\n\t\t\toffsetBottom = offsetTop + this.windowHeight;\n\t\t\treturn [ offsetTop, offsetBottom ];\n\t\t};\n\n\t\tgetVisibilityPercent( targetRect, ScrollPos = this.getScrollPos() ) {\n\n\t\t\tif ( !this.checkIsInView( targetRect, ScrollPos ) ) return 0;\n\n\t\t\tlet pageTop = ScrollPos[ 0 ];\n\t\t\tlet pageBottom = ScrollPos[ 1 ];\n\n\t\t\tlet visiblePixle = 0;\n\n\t\t\tif ( ( targetRect.y >= pageTop ) && ( targetRect.bottom <= pageBottom ) ) {\n\t\t\t\tvisiblePixle = targetRect.height;\n\t\t\t}\n\n\t\t\tif ( ( targetRect.y < pageTop ) && ( targetRect.bottom <= pageBottom ) ) {\n\t\t\t\tvisiblePixle = targetRect.bottom - pageTop;\n\t\t\t}\n\n\t\t\tif ( ( targetRect.y >= pageTop ) && ( targetRect.bottom > pageBottom ) ) {\n\t\t\t\tvisiblePixle = pageBottom - targetRect.y;\n\t\t\t}\n\n\t\t\tif ( ( targetRect.y < pageTop ) && ( targetRect.bottom > pageBottom ) ) {\n\t\t\t\tvisiblePixle = pageBottom - pageTop;\n\t\t\t}\n\n\t\t\treturn Math.round( ( ( visiblePixle / this.windowHeight ) * 100 ) );\n\n\t\t};\n\n\t\tgetVisibilityDistanceFromCenter( targetRect, ScrollPos = this.getScrollPos() ) {\n\n\t\t\tif ( !this.checkIsInView( targetRect, ScrollPos ) ) return 0;\n\n\t\t\tlet pageTop = ScrollPos[ 0 ];\n\t\t\tlet pageCenter = pageTop + ( this.windowHeight / 2 );\n\n\t\t\tlet distFromCenter = 0;\n\n\t\t\tif ( ( targetRect.y < pageCenter ) && ( targetRect.bottom < pageCenter ) ) {\n\t\t\t\tdistFromCenter = pageCenter - targetRect.bottom;\n\t\t\t}\n\n\t\t\tif ( ( targetRect.y >= pageCenter ) && ( targetRect.bottom > pageCenter ) ) {\n\t\t\t\tdistFromCenter = targetRect.bottom - pageCenter;\n\t\t\t}\n\n\t\t\tif ( ( targetRect.y <= pageCenter ) && ( targetRect.bottom >= pageCenter ) ) {\n\t\t\t\tdistFromCenter = 0;\n\t\t\t}\n\n\t\t\treturn distFromCenter;\n\n\t\t};\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'localscroll-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t$( window ).on( 'elementor/frontend/init', () => {\n\t\tif ( typeof elementorFrontend === 'undefined' ) {\n\t\t\treturn;\n\t\t}\n\t\telementorFrontend.on( 'components:init', () => {\n\t\t\telementorFrontend.utils.anchors.setSettings( 'selectors.targets', '.to-the-hell' );\n\t\t} );\n\t} );\n\n\t$( '[data-localscroll]' ).liquidLocalScroll();\n\n\t$( '.lqd-mobile-sec-nav .main-nav' ).liquidLocalScroll( {\n\t\titemsSelector: '> li > a'\n\t} );\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidRowBG';\n\tlet defaults = {\n\t};\n\t\n\tclass Plugin {\n\t\t\n\t\tconstructor(element, options) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\t\t\t\n\t\t\tthis.options = {...defaults, ...options};\n\t\t\t\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.bgUrl = this.element.getAttribute('data-row-bg');\n\t\t\tthis.hasBgMarkup = this.element.classList.contains('lqd-has-bg-markup');\n\n\t\t\tthis.rowBgInitPromise = new Promise(resolve => {\n\t\t\t\tthis.$element.on('lqdrowbginit', resolve(this))\n\t\t\t});\n\n\t\t\tthis.build();\n\t\t\t\n\t\t}\n\n\t\tasync build() {\n\n\t\t\tif ( ! this.hasBgMarkup ) {\n\n\t\t\t\tawait this._createElements();\n\t\t\t\tawait this._addBgElement();\n\n\t\t\t} else {\n\n\t\t\t\tfastdomPromised.mutate(() => {\n\n\t\t\t\t\tthis.bgWrap = this.element.querySelector('.row-bg-wrap');\n\t\t\t\t\tthis.rowBg = this.bgWrap.querySelector('.row-bg');\n\n\t\t\t\t})\n\n\t\t\t}\n\t\t\t\n\t\t\tif ( liquidLazyloadEnabled ) {\n\t\t\t\treturn new IntersectionObserver(([entry], observer) => {\n\t\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tthis.initLoading();\n\t\t\t\t\t}\n\t\t\t\t}, {rootMargin: '500px'}).observe(this.element);\n\t\t\t}\n\n\t\t\tthis.initLoading();\n\n\t\t}\n\n\t\tasync initLoading() {\n\n\t\t\tawait this._addBg();\n\n\t\t\tif ( this.element.hasAttribute('data-parallax') && ! liquidIsMobile() ) {\n\t\t\t\tthis.element.addEventListener('lqd-parallax-initiated', this._imagesLoaded.bind(this));\n\t\t\t} else {\n\t\t\t\tthis._imagesLoaded();\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t_createElements() {\n\n\t\t\treturn fastdomPromised.mutate(() => {\n\n\t\t\t\tconst elements = [\n\t\t\t\t\t{\n\t\t\t\t\t\t'is': 'rowBg',\n\t\t\t\t\t\t'classname': 'row-bg',\n\t\t\t\t\t\t'tag': 'figure'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t'classname': 'row-bg-inner',\n\t\t\t\t\t\t'tag': 'div',\n\t\t\t\t\t\t'append': '.row-bg'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t'classname': 'row-bg-wrap bg-not-loaded',\n\t\t\t\t\t\t'tag': 'div',\n\t\t\t\t\t\t'append': '.row-bg-inner'\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tconst docFrag = new DocumentFragment();\n\t\n\t\t\t\telements.forEach(element => {\n\t\t\t\t\tconst el = document.createElement(element.tag);\n\t\t\t\t\tel.setAttribute('class', element.classname);\n\t\t\t\t\tdocFrag.appendChild(el);\n\t\t\t\t\tif ( element.append ) {\n\t\t\t\t\t\tel.appendChild(docFrag.querySelector(element.append))\n\t\t\t\t\t}\n\t\t\t\t\tif ( element.is ) {\n\t\t\t\t\t\tthis[element.is] = el;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\tthis.bgWrap = docFrag.querySelector('.row-bg-wrap');\n\n\t\t\t})\n\n\t\t}\n\t\t\n\t\t_addBg() {\n\t\t\t\n\t\t\treturn fastdomPromised.mutate(() => {\n\n\t\t\t\tthis.rowBg.style.backgroundImage = `url(${this.bgUrl})`;\n\n\t\t\t})\t\t\n\t\t\t\n\t\t}\n\t\t\n\t\t_addBgElement() {\n\n\t\t\treturn fastdomPromised.mutate(() => {\n\n\t\t\t\tlet $loader = this.$element.children('.row-bg-loader');\n\t\t\t\tlet $insertPlace = $loader;\n\t\t\t\tlet appendingMethod = 'insertAfter';\n\t\t\t\t\n\t\t\t\tif ( this.$element.children('.lqd-sticky-bg-spacer').length ) {\n\t\t\t\t\t$insertPlace = this.$element.children('.lqd-sticky-bg-spacer');\n\t\t\t\t\tappendingMethod = 'appendTo';\n\t\t\t\t}\n\t\t\t\tif ( this.$element.hasClass('vc_column_container') ) {\n\t\t\t\t\t$insertPlace = this.$element.find('> .vc_column-inner > .row-bg-loader');\n\t\t\t\t}\n\n\t\t\t\t$insertPlace.siblings('.row-bg-wrap').remove();\n\t\t\t\t$insertPlace.find('.row-bg-wrap').remove();\n\t\t\t\t\n\t\t\t\t$(this.bgWrap)[appendingMethod]($insertPlace);\n\n\t\t\t})\n\t\t\t\n\t\t}\n\t\t\n\t\t_imagesLoaded() {\n\n\t\t\tfastdomPromised.mutate(() => {\n\n\t\t\t\timagesLoaded(this.rowBg, { background: true }, this._onImagesLoaded.bind(this));\n\n\t\t\t})\n\t\t\t\n\t\t}\n\t\t\n\t\t_onImagesLoaded() {\n\n\t\t\tfastdomPromised.mutate(() => {\n\t\t\t\t\t\n\t\t\t\tthis.element.classList.remove('row-bg-loaded');\n\t\t\t\tthis.bgWrap.classList.remove('bg-not-loaded');\n\t\t\t\t\n\t\t\t\tthis.bgWrap.classList.add('bg-loaded');\n\t\t\t\tthis.element.classList.add('row-bg-loaded');\n\n\t\t\t\tthis._onRowBgInit();\n\n\t\t\t})\n\n\t\t}\n\n\t\t_onRowBgInit() {\n\n\t\t\tthis.$element.trigger('lqdrowbginit', this.element);\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[pluginName] = function ( options ) {\n\t\t\n\t\treturn this.each( function() {\n\n\t\t\tconst pluginOptions = {...$(this).data('row-bg-options'), ...options};\n\n\t\t\tif ( ! $.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\t$('[data-row-bg]:not([data-slideshow-bg])').liquidRowBG();\n\n});","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidSlideshowBG';\n\tlet defaults = {\n\t\teffect: 'fade', // 'fade', 'slide', 'scale'\n\t\tdelay: 3000,\n\t\timageArray: []\n\t};\n\t\n\tclass Plugin {\n\t\t\n\t\tconstructor(element, options) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\t\t\t\n\t\t\tthis.options = {...defaults, ...options};\n\t\t\t\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.slideshowBgInitPromise = new Promise(resolve => {\n\t\t\t\tthis.$element.on('lqdslideshowinit', resolve.bind(this, this))\n\t\t\t});\n\n\t\t\tthis.init();\n\t\t\t\n\t\t}\n\t\t\n\t\tinit() {\n\n\t\t\tconst markup = this._addMarkup();\n\t\t\t\n\t\t\tthis.imageArray = this.options.imageArray;\n\t\t\tthis.slideshowWrap = markup.slideshowWrap;\n\t\t\tthis.slideshowInner = markup.slideshowInner;\n\t\t\t\n\t\t\tthis._addImages();\n\t\t\tthis._initSlideShow();\n\t\t\tthis._onImagesLoaded();\n\t\t\t\n\t\t}\n\t\t\n\t\t_addMarkup() {\n\t\t\t\n\t\t\tconst slideshowWrap = $('<div class=\"ld-slideshow-bg-wrap\" />');\n\t\t\tconst slideshowInner = $('<div class=\"ld-slideshow-bg-inner\" />');\n\t\t\tconst loader = $('<span class=\"row-bg-loader\" />');\n\t\t\t\n\t\t\tslideshowWrap.append(slideshowInner);\n\t\t\tslideshowWrap.append(loader);\n\t\t\tthis.$element.prepend(slideshowWrap);\n\t\t\t\n\t\t\treturn {\n\t\t\t\tslideshowWrap,\n\t\t\t\tslideshowInner\n\t\t\t};\n\t\t\t\n\t\t}\n\t\t\n\t\t_addImages() {\t\n\n\t\t\t$.each( this.imageArray, (i, {src, alt}) => {\n\t\t\t\t\n\t\t\t\tconst $img = $(`<img class=\"invisible\" src=\"${src}\" alt=\"${alt || 'Slideshow image'}\"/>`);\n\t\t\t\tconst $figure = $(`<figure class=\"ld-slideshow-figure\" style=\"background-image: url(${src})\" />`);\n\t\t\t\tconst $slideshowItem = $('<div class=\"ld-slideshow-item\" />');\n\t\t\t\tconst $slideshowItemInner = $('<div class=\"ld-slideshow-item-inner\" />');\n\n\t\t\t\t$figure.append($img);\n\t\t\t\t$slideshowItemInner.append($figure);\n\t\t\t\t$slideshowItem.append($slideshowItemInner);\n\n\t\t\t\tthis.slideshowInner.append($slideshowItem);\n\t\t\t\t\n\t\t\t} );\n\t\t\t\n\t\t}\n\t\t\n\t\t_initSlideShow() {\n\t\t\t\n\t\t\tthis.slideshowInner.children(':first-child').addClass('active');\n\t\t\tthis.slideshowInner.children().not(':first-child').css({\n\t\t\t\topacity: 0\n\t\t\t});\n\t\t\t\n\t\t}\n\n\t\t_onImagesLoaded() {\n\n\t\t\timagesLoaded(this.slideshowInner.children().first().get(0), () => {\n\n\t\t\t\tthis.$element.addClass('slideshow-applied');\n\n\t\t\t\tthis._initSlideshowAnimations();\n\t\t\t\tthis._onSlideshowInit();\n\t\t\t\t\n\t\t\t} );\n\n\t\t}\n\t\t\n\t\t_getCurrentSlide() {\n\t\t\t\n\t\t\treturn this.slideshowInner.children('.active');\n\t\t\t\n\t\t}\n\t\t\n\t\t_getAllSlides() {\n\t\t\t\n\t\t\treturn this.slideshowInner.children();\n\t\t\t\n\t\t}\n\t\t\n\t\t_setActiveClassnames(element) {\n\t\t\t\n\t\t\t$(element).addClass('active').siblings().removeClass('active');\n\t\t\t\n\t\t}\n\t\t\n\t\t_getNextSlide() {\n\t\t\t\n\t\t\treturn ! this._getCurrentSlide().is(':last-child') ? this._getCurrentSlide().next() : this.slideshowInner.children(':first-child');\n\t\t\t\n\t\t}\n\t\t\n\t\t/*\n\t\t\tgetting animation style from this.options\n\t\t\tand having the same function names. fade(); slide(); scale();\n\t\t*/\n\t\t_initSlideshowAnimations() {\n\t\t\t\n\t\t\tthis[this.options.effect]();\n\t\t\t\n\t\t}\n\t\t\n\t\t_setWillChange(changingProperties) {\n\t\t\t\n\t\t\tconst slides = this._getAllSlides();\n\t\t\t\n\t\t\tslides.css({\n\t\t\t\twillChange: changingProperties.join(', ')\n\t\t\t});\n\t\t\t\n\t\t}\n\t\t\n\t\t// START FADE ANIMATIONS\n\t\tfade() {\n\t\t\t\n\t\t\t// this._setWillChange(['opacity']);\n\t\t\timagesLoaded([this._getCurrentSlide(), this._getNextSlide()], () => this._fadeOutCurrentSlide() );\n\t\t\t\n\t\t}\n\t\t_fadeOutCurrentSlide() {\n\n\t\t\tgsap.to(this._getCurrentSlide().get(0), {\n\t\t\t\tstartAt: {\n\t\t\t\t\topacity: 1\n\t\t\t\t},\n\t\t\t\topacity: 0,\n\t\t\t\tduration: 1,\n\t\t\t\tdelay: parseInt(this.options.delay, 10) / 1000,\n\t\t\t\tease: 'power1.in',\n\t\t\t\tonStart: () => {\n\t\t\t\t\tthis._fadeInNextSlide();\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\t\t_fadeInNextSlide() {\n\t\t\t\n\t\t\tconst nextSlide = this._getNextSlide().get(0);\n\n\t\t\tgsap.to(nextSlide, {\n\t\t\t\tstartAt: {\n\t\t\t\t\topacity: 0\n\t\t\t\t},\n\t\t\t\topacity: 1,\n\t\t\t\tduration: 1,\n\t\t\t\tease: 'power1.inOut',\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tthis._setActiveClassnames(nextSlide);\n\t\t\t\t\tthis._fadeOutCurrentSlide();\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t}\n\t\t// END FADE ANIMATIONS\n\t\t\n\t\t// START SLIDING EFFECT\n\t\tslide() {\n\t\t\t\n\t\t\t// this._setWillChange(['opacity', 'transform']);\n\t\t\timagesLoaded([this._getCurrentSlide(), this._getNextSlide()], () => this._slideOutCurrentSlide() );\n\t\t\t\n\t\t}\n\t\t_slideOutCurrentSlide() {\n\n\t\t\tconst currentSlide = this._getCurrentSlide().get(0);\n\t\t\tconst inner = $(currentSlide).children().get(0);\n\t\t\tconst figure = $(inner).children().get(0);\n\n\t\t\t// $(figure).add(inner).addClass('will-change');\n\n\t\t\tgsap.timeline({\n\t\t\t\tdelay: parseInt(this.options.delay, 10) / 1000,\n\t\t\t})\n\t\t\t.to(currentSlide, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tx: '0%'\n\t\t\t\t},\n\t\t\t\tx: '-100%',\n\t\t\t\tduration: 1,\n\t\t\t\tease: 'power4.inOut',\n\t\t\t}, 0)\n\t\t\t.to(inner, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tx: '0%'\n\t\t\t\t},\n\t\t\t\tx: '100%',\n\t\t\t\tduration: 1,\n\t\t\t\tease: 'power4.inOut',\n\t\t\t}, 0)\n\t\t\t.to(figure, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tscale: 1\n\t\t\t\t},\n\t\t\t\tscale: 1.2,\n\t\t\t\tduration: 1,\n\t\t\t\tease: 'power3.inOut',\n\t\t\t\tonStart: () => {\n\t\t\t\t\tthis._slideInNextSlide();\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t\t\n\t\t}\n\t\t_slideInNextSlide() {\n\n\t\t\tconst $nextSlide = this._getNextSlide();\n\t\t\tconst nextSlide = $nextSlide.get(0);\n\t\t\tconst inner = $nextSlide.children().get(0);\n\t\t\tconst figure = $(inner).children().get(0);\n\n\t\t\t// $(figure).add(inner).addClass('will-change');\n\n\t\t\tgsap.timeline({\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tthis._slideOutCurrentSlide();\n\t\t\t\t\t// $(figure).add(inner).removeClass('will-change');\n\t\t\t\t}\n\t\t\t})\n\t\t\t.to(nextSlide, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tx: '100%',\n\t\t\t\t\topacity: 1\n\t\t\t\t},\n\t\t\t\tx: '0%',\n\t\t\t\tduration: 0.85,\n\t\t\t\tease: 'power4.inOut'\n\t\t\t}, 0)\n\t\t\t.to(inner, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tx: '-100%',\n\t\t\t\t\topacity: 1\n\t\t\t\t},\n\t\t\t\tx: '0%',\n\t\t\t\tduration: 0.85,\n\t\t\t\tease: 'power4.inOut'\n\t\t\t}, 0)\n\t\t\t.to(figure, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tscale: 1.2\n\t\t\t\t},\n\t\t\t\tscale: 1,\n\t\t\t\tduration: 1.65,\n\t\t\t\tease: 'power3.out',\n\t\t\t\tonStart: () => {\n\t\t\t\t\tthis._setActiveClassnames(nextSlide);\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t\t\n\t\t}\n\t\t// END SLIDING ANIMATIONS\n\t\t\n\t\t// START SCALE EFFECT\n\t\tscale() {\n\t\t\t\n\t\t\t// this._setWillChange(['opacity', 'transform']);\n\t\t\timagesLoaded([this._getCurrentSlide(), this._getNextSlide()], () => this._scaleUpCurrentSlide() );\n\t\t\t\n\t\t}\n\t\t_scaleUpCurrentSlide() {\n\n\t\t\tgsap.to(this._getCurrentSlide().get(0), {\n\t\t\t\tstartAt: {\n\t\t\t\t\tscale: 1,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tzIndex: 0\n\t\t\t\t},\n\t\t\t\tscale: 1.2,\n\t\t\t\topacity: 0,\n\t\t\t\tduration: 0.9,\n\t\t\t\tease: 'power4.inOut',\n\t\t\t\tdelay: parseInt(this.options.delay, 10) / 1000,\n\t\t\t\tonStart: () => {\n\t\t\t\t\tthis._scaleDownNextSlide();\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t}\n\t\t_scaleDownNextSlide() {\n\n\t\t\tconst nextSlide = this._getNextSlide().get(0);\n\t\t\t\n\t\t\tgsap.to(nextSlide, {\n\t\t\t\tstartAt: {\n\t\t\t\t\tscale: 1.2,\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t},\n\t\t\t\tscale: 1,\n\t\t\t\topacity: 1,\n\t\t\t\tduration: 0.9,\n\t\t\t\tease: 'power4.inOut',\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tthis._setActiveClassnames(nextSlide);\n\t\t\t\t\tthis._scaleUpCurrentSlide();\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t}\n\t\t// END SCALE ANIMATIONS\n\n\t\t_onSlideshowInit() {\n\n\t\t\tthis.$element.trigger('lqdslideshowinit', this.element);\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\n\t\treturn this.each( function() {\n\t\n\t\t\tconst pluginOptions = {...$(this).data('slideshow-options'), ...options};\n\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\n\t\t} );\n\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n\n\t$('[data-slideshow-bg]').liquidSlideshowBG();\n\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidSplitText';\n\tlet defaults = {\n\t\ttype: \"words\", // \"words\", \"chars\", \"lines\". or mixed e.g. \"words, chars\"\n\t\tforceApply: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.splittedTextList = {\n\t\t\t\tlines: [],\n\t\t\t\twords: [],\n\t\t\t\tchars: []\n\t\t\t};\n\t\t\tthis.splitTextInstance = null;\n\t\t\tthis.isRTL = $( 'html' ).attr( 'dir' ) === 'rtl';\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.prevWindowWidth = window.innerWidth;\n\n\t\t\tthis.fontInfo = {};\n\n\t\t\tthis.splitDonePormise = new Promise( resolve => {\n\t\t\t\tthis.$element.on( 'lqdsplittext', resolve.bind( this, this ) );\n\t\t\t} );\n\n\t\t\tif ( !this.options.forceApply ) {\n\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tthis.init();\n\t\t\t\t\t}\n\t\t\t\t}, { rootMargin: '20%' } ).observe( this.element );\n\t\t\t} else {\n\t\t\t\tthis.init();\n\t\t\t}\n\n\t\t}\n\n\t\tasync init() {\n\n\t\t\tawait this._measure();\n\t\t\tawait this._onFontsLoad();\n\t\t\tthis._windowResize();\n\n\t\t}\n\n\t\t_measure() {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\tconst styles = getComputedStyle( this.element );\n\n\t\t\t\tthis.fontInfo.elementFontFamily = styles.fontFamily.replace( /\"/g, '' ).replace( /'/g, '' ).split( ',' )[ 0 ];\n\t\t\t\tthis.fontInfo.elementFontWeight = styles.fontWeight;\n\t\t\t\tthis.fontInfo.elementFontStyle = styles.fontStyle;\n\t\t\t\tthis.fontInfo.fontFamilySlug = window.liquidSlugify( this.fontInfo.elementFontFamily );\n\n\t\t\t} )\n\n\t\t}\n\n\t\t_onFontsLoad() {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\tif ( window.liquidCheckedFonts.find( ff => ff === this.fontInfo.fontFamilySlug ) ) {\n\t\t\t\t\treturn this._doSplit();\n\t\t\t\t}\n\n\t\t\t\tconst font = new FontFaceObserver( this.fontInfo.elementFontFamily, {\n\t\t\t\t\tweight: this.fontInfo.elementFontWeight,\n\t\t\t\t\tstyle: this.fontInfo.elementFontStyle\n\t\t\t\t} );\n\n\t\t\t\treturn font.load().finally( () => {\n\t\t\t\t\twindow.liquidCheckedFonts.push( this.fontInfo.fontFamilySlug );\n\t\t\t\t\tthis._doSplit();\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tgetSplitTypeArray() {\n\n\t\t\tconst { type } = this.options;\n\t\t\tconst splitTypeArray = type.split( ',' ).map( item => item.replace( ' ', '' ) );\n\n\t\t\tif ( !this.isRTL ) {\n\t\t\t\treturn splitTypeArray;\n\t\t\t} else {\n\t\t\t\treturn splitTypeArray.filter( type => type !== 'chars' );\n\t\t\t}\n\n\t\t}\n\n\t\tasync _doSplit() {\n\n\t\t\tawait this._split();\n\t\t\tawait this._unitsOp();\n\t\t\tawait this._onSplittingDone();\n\n\t\t}\n\n\t\t_split() {\n\n\t\t\tconst splitType = this.getSplitTypeArray();\n\t\t\tconst fancyHeadingInner = this.element.classList.contains( 'ld-fh-txt' ) && this.element.querySelector( '.ld-fh-txt-inner' ) != null;\n\t\t\tconst el = fancyHeadingInner ? this.element.querySelector( '.ld-fh-txt-inner' ) : this.element;\n\t\t\tlet splittedText;\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tsplittedText = new SplitText( el, {\n\t\t\t\t\ttype: splitType,\n\t\t\t\t\tcharsClass: 'split-unit lqd-chars',\n\t\t\t\t\tlinesClass: 'split-unit lqd-lines',\n\t\t\t\t\twordsClass: 'split-unit lqd-words'\n\t\t\t\t} );\n\n\t\t\t\tsplitType.forEach( type => {\n\n\t\t\t\t\tsplittedText[ type ].forEach( element => {\n\t\t\t\t\t\tthis.splittedTextList[ type ].push( element );\n\t\t\t\t\t} )\n\n\t\t\t\t} )\n\n\t\t\t\tthis.element.classList.add( 'split-text-applied' );\n\n\t\t\t\tthis.splitTextInstance = splittedText;\n\n\t\t\t} )\n\n\t\t}\n\n\t\t_unitsOp() {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tfor ( const [ splitType, splittedTextArray ] of Object.entries( this.splittedTextList ) ) {\n\n\t\t\t\t\tif ( splittedTextArray && splittedTextArray.length > 0 ) {\n\n\t\t\t\t\t\tsplittedTextArray.forEach( ( splitElement, i ) => {\n\t\t\t\t\t\t\tsplitElement.style.setProperty( `--${ splitType }-index`, i );\n\t\t\t\t\t\t\tsplitElement.style.setProperty( `--${ splitType }-last-index`, splittedTextArray.length - 1 - i );\n\t\t\t\t\t\t\t$( splitElement ).wrapInner( `<span class=\"split-inner\" />` );\n\t\t\t\t\t\t} )\n\n\t\t\t\t\t};\n\n\t\t\t\t};\n\n\t\t\t} )\n\n\t\t}\n\n\t\t_onSplittingDone() {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\t\t\t\tthis.element.dispatchEvent( new CustomEvent( 'lqdsplittext' ) );\n\t\t\t} )\n\n\t\t}\n\n\t\t_windowResize() {\n\n\t\t\t$( window ).on( 'resize.lqdSplitText', this._onWindowResize.bind( this ) );\n\n\t\t}\n\n\t\t_onWindowResize() {\n\n\t\t\tif ( this.prevWindowWidth === window.innerWidth ) return;\n\n\t\t\tif ( this.splitTextInstance ) {\n\n\t\t\t\t// fastdom.mutate(() => {\n\t\t\t\tthis.splitTextInstance.revert();\n\t\t\t\tthis.element.classList.remove( 'split-text-applied' );\n\t\t\t\t// })\n\n\t\t\t}\n\n\t\t\tthis._onAfterWindowResize();\n\n\t\t\tthis.prevWindowWidth = window.innerWidth;\n\n\t\t}\n\n\t\t_onAfterWindowResize() {\n\n\t\t\tthis._doSplit();\n\t\t\tthis._onSplittingDone();\n\t\t\tthis.$element.find( '.split-unit' ).addClass( 'lqd-unit-animation-done' );\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\t$( window ).off( 'resize.lqdSplitText' );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'split-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\tconst $elements = $( '[data-split-text]' ).filter( ( i, el ) => {\n\t\tconst $el = $( el );\n\t\tconst isCustomAnimation = el.hasAttribute( 'data-custom-animations' );\n\t\tconst hasCustomAnimationParent = $el.closest( '[data-custom-animations]' ).length;\n\t\tconst hasAccordionParent = $el.closest( '.accordion-content' ).length;\n\t\tconst hasTabParent = $el.closest( '.lqd-tabs-pane' ).length;\n\t\tconst webglSlideshowParent = $el.closest( '[data-lqd-webgl-slideshow]' ).length;\n\n\t\treturn (\n\t\t\t!isCustomAnimation &&\n\t\t\t!hasCustomAnimationParent &&\n\t\t\t!hasAccordionParent &&\n\t\t\t!hasTabParent &&\n\t\t\t!webglSlideshowParent\n\t\t)\n\t} );\n\n\t$elements.liquidSplitText();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidCustomAnimations';\n\tlet defaults = {\n\t\tdelay: 160,\n\t\tstartDelay: 0,\n\t\t// 'forward', 'backward', 'random', 'center', 'edges'\n\t\tdirection: 'forward',\n\t\tduration: 1600,\n\t\tease: 'power4.out',\n\t\tanimationTarget: 'this', // it can be also a selector e.g. '.selector', or it ccan 'all-childs'\n\t\taddPerspective: true,\n\t\tperspectiveVal: 1400,\n\t\tinitValues: { x: 0, y: 0, z: 0, rotationX: 0, rotationY: 0, rotationZ: 0, scaleX: 1, scaleY: 1, skewX: 0, skewY: 0, opacity: 1, transformOriginX: 50, transformOriginY: 50, transformOriginZ: '0px' },\n\t\tanimations: { transformOriginX: 50, transformOriginY: 50, transformOriginZ: '0px' },\n\t\trandomizeInitValues: false,\n\t\trandomizeTargets: false,\n\t\tclearProps: 'transform,opacity,transform-origin',\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.options.duration = this.options.duration / 1000;\n\t\t\tthis.options.offDuration = this.options.offDuration / 1000;\n\t\t\tthis.options.offDelay = this.options.offDelay / 1000;\n\t\t\tthis.options.delay = this.options.delay / 1000;\n\t\t\tthis.options.startDelay = this.options.startDelay / 1000;\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.animationTargets = [];\n\t\t\tthis.animationsTimeline = null;\n\t\t\tthis.animationsStarted = false;\n\n\t\t\tthis.needPerspective = this.options.addPerspective && this._needPerspective();\n\n\t\t\tthis.animationsInitiatedPromise = new Promise( resolve => {\n\t\t\t\tthis.$element.on( 'lqdanimationsinitiated', resolve.bind( this, this ) )\n\t\t\t} );\n\n\t\t\tthis.animationsDonePromise = new Promise( resolve => {\n\t\t\t\tthis.$element.on( 'lqdanimationsdone', resolve.bind( this, this ) )\n\t\t\t} );\n\n\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\tthis._build();\n\t\t\t\t}\n\t\t\t}, { rootMargin: '8%' } ).observe( this.element );\n\n\t\t}\n\n\t\t_build() {\n\n\t\t\tconst $rowBgParent = this.$element.closest( '[data-row-bg]' );\n\t\t\tconst $slideshowBgParent = this.$element.closest( '[data-slideshow-bg]' );\n\t\t\tconst promises = [];\n\n\t\t\tif ( !this.element.classList.contains( 'vc_row' ) ) {\n\n\t\t\t\tconst $splitTextEls = this.$element.find( '[data-split-text]' );\n\n\t\t\t\tif ( this.element.hasAttribute( 'data-split-text' ) ) {\n\t\t\t\t\t$splitTextEls.push( this.element );\n\t\t\t\t}\n\n\t\t\t\tif ( $splitTextEls.length ) {\n\t\t\t\t\t$splitTextEls.each( ( i, el ) => {\n\t\t\t\t\t\tconst $el = $( el );\n\t\t\t\t\t\t$el.liquidSplitText( { forceApply: true } );\n\t\t\t\t\t\tconst prom = $el.data( 'plugin_liquidSplitText' );\n\t\t\t\t\t\tprom && promises.push( prom.splitDonePormise );\n\t\t\t\t\t} )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( $rowBgParent.length ) {\n\t\t\t\tconst prom = $rowBgParent.data( 'plugin_liquidRowBG' );\n\t\t\t\tprom && promises.push( prom.rowBgInitPromise );\n\t\t\t}\n\t\t\tif ( $slideshowBgParent.length ) {\n\t\t\t\tconst prom = $slideshowBgParent.data( 'plugin_liquidSlideshowBG' );\n\t\t\t\tprom && promises.push( prom.slideshowBgInitPromise );\n\t\t\t}\n\n\t\t\tif ( promises.length > 0 ) {\n\t\t\t\tPromise.all( promises ).then( () => {\n\t\t\t\t\tthis._init();\n\t\t\t\t} )\n\t\t\t} else {\n\t\t\t\tthis._init();\n\t\t\t}\n\n\t\t}\n\n\t\t_init() {\n\n\t\t\t// this._onWindowResize = liquidDebounce( this._onWindowResize, 350 );\n\n\t\t\tthis._getAnimationTargets();\n\t\t\tthis._createTimeline();\n\t\t\tthis._initValues();\n\t\t\tthis._runAnimations()\n\t\t\tthis._initPlugins();\n\t\t\t// this._handleResize();\n\n\t\t}\n\n\t\t_getAnimationTargets() {\n\n\t\t\tconst { animationTarget } = this.options;\n\t\t\tlet targets = null;\n\n\t\t\tswitch ( animationTarget ) {\n\t\t\t\tcase 'this':\n\t\t\t\t\ttargets = this.element;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'all-childs':\n\t\t\t\t\ttargets = this._getChildElments();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\ttargets = this.element.querySelectorAll( animationTarget );\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tthis.animationTargets = Array.from( targets );\n\n\t\t}\n\n\t\t_getChildElments() {\n\n\t\t\tlet $childs = this.$element.children();\n\n\t\t\treturn this._getInnerChildElements( $childs );\n\n\t\t}\n\n\t\t_getInnerChildElements( elements ) {\n\n\t\t\tconst elementsArray = [];\n\n\t\t\tlet $elements = $( elements ).map( ( i, element ) => {\n\n\t\t\t\tconst $element = $( element );\n\n\t\t\t\tif ( $element.hasClass( 'vc_inner' ) || $element.hasClass( 'vc_vc_row_inner' ) ) {\n\t\t\t\t\treturn $element.find( '.wpb_wrapper' ).children().get();\n\t\t\t\t} else if ( $element.hasClass( 'row' ) ) {\n\t\t\t\t\treturn $element.find( '.lqd-column' ).children().get();\n\t\t\t\t} else if ( $element.hasClass( 'ld-slideelement-visible' ) || $element.hasClass( 'ld-slideelement-hidden' ) ) {\n\t\t\t\t\treturn $element.children().children().get();\n\t\t\t\t} else if ( $element.hasClass( 'elementor-container' ) ) {\n\t\t\t\t\treturn $element.children( '.elementor-column' ).get();\n\t\t\t\t} else if ( $element.hasClass( 'elementor-widget-wrap' ) ) {\n\t\t\t\t\treturn $element.children( '.elementor-element' ).get();\n\t\t\t\t} else {\n\t\t\t\t\treturn $element.not( 'style, .lqd-exclude-parent-ca' ).get();\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\t$.each( $elements, ( i, element ) => {\n\n\t\t\t\tconst $element = $( element );\n\n\t\t\t\tif ( element.hasAttribute( 'data-custom-animations' ) ) {\n\t\t\t\t\treturn elementsArray.push( element );\n\t\t\t\t}\n\n\t\t\t\tif ( element.querySelector( '[data-custom-animations]' ) ) {\n\t\t\t\t\treturn element.querySelectorAll( '[data-custom-animations]' ).forEach( el => {\n\t\t\t\t\t\telementsArray.push( el );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( element.tagName === 'UL' ) {\n\t\t\t\t\treturn $.each( $element.children(), ( i, li ) => {\n\t\t\t\t\t\telementsArray.push( li );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( element.classList.contains( 'lqd-custom-menu' ) ) {\n\t\t\t\t\treturn $.each( $element.find( '> ul > li' ), ( i, li ) => {\n\t\t\t\t\t\telementsArray.push( li );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( element.classList.contains( 'accordion' ) ) {\n\t\t\t\t\treturn $.each( $element.children(), ( i, accordionItem ) => {\n\t\t\t\t\t\telementsArray.push( accordionItem );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( element.classList.contains( 'vc_inner' ) || element.classList.contains( 'vc_vc_row_inner' ) ) {\n\t\t\t\t\treturn $.each( $element.find( '.wpb_wrapper' ), ( i, innerColumn ) => {\n\t\t\t\t\t\telementsArray.push( innerColumn );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( element.classList.contains( 'row' ) ) {\n\t\t\t\t\treturn $.each( $element.find( '.lqd-column' ), ( i, innerColumn ) => {\n\t\t\t\t\t\telementsArray.push( innerColumn );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( element.classList.contains( 'lqd-pb-container' ) ) {\n\t\t\t\t\treturn $.each( $element.find( '.lqd-pb' ), ( i, processBoxElement ) => {\n\t\t\t\t\t\telementsArray.push( processBoxElement );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( $element.find( '[data-split-text]' ).length || element.hasAttribute( 'data-split-text' ) ) {\n\n\t\t\t\t\tif ( element.classList.contains( 'btn' ) || element.classList.contains( 'vc_ld_button' ) ) {\n\t\t\t\t\t\treturn elementsArray.push( $element[ 0 ] );\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $.each( $element.find( '.split-inner' ), ( i, splitInner ) => {\n\t\t\t\t\t\t\tconst $innerSplitInner = $( splitInner ).find( '.split-inner' );\n\t\t\t\t\t\t\tif ( $innerSplitInner.length ) {\n\t\t\t\t\t\t\t\telementsArray.push( $innerSplitInner[ 0 ] );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\telementsArray.push( splitInner );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!element.classList.contains( 'vc_empty_space' ) &&\n\t\t\t\t\t!element.classList.contains( 'ld-empty-space' ) &&\n\t\t\t\t\t!element.classList.contains( 'vc_ld_spacer' ) &&\n\t\t\t\t\t!element.classList.contains( 'ld-particles-container' ) &&\n\t\t\t\t\t!element.classList.contains( 'elementor-widget-spacer' ) &&\n\t\t\t\t\t!element.hasAttribute( 'data-split-text' ) &&\n\t\t\t\t\telement.tagName !== 'STYLE'\n\t\t\t\t) {\n\t\t\t\t\treturn elementsArray.push( $element[ 0 ] );\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\treturn elementsArray;\n\n\t\t}\n\n\t\t_needPerspective() {\n\n\t\t\tconst initValues = this.options.initValues;\n\t\t\tconst valuesNeedPerspective = [ \"z\", \"rotationX\", \"rotationY\" ];\n\t\t\tlet needPerspective = false;\n\n\t\t\tfor ( let prop in initValues ) {\n\t\t\t\tfor ( let i = 0; i <= valuesNeedPerspective.length - 1; i++ ) {\n\n\t\t\t\t\tconst val = valuesNeedPerspective[ i ];\n\n\t\t\t\t\tif ( prop === val ) {\n\t\t\t\t\t\tneedPerspective = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn needPerspective;\n\t\t}\n\n\t\t_generateRandomValues( valuesObject ) {\n\n\t\t\tconst obj = { ...valuesObject };\n\n\t\t\tfor ( const ky in valuesObject ) {\n\t\t\t\tif ( ky.search( 'transformOrigin' ) < 0 && ky.search( 'opacity' ) < 0 ) {\n\t\t\t\t\tobj[ ky ] = () => gsap.utils.random( 0, valuesObject[ ky ] );\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn obj;\n\n\t\t}\n\n\t\t_createTimeline() {\n\n\t\t\tconst { ease, duration, clearProps } = this.options;\n\n\t\t\tthis.animationsTimeline = gsap.timeline( {\n\t\t\t\tdefaults: {\n\t\t\t\t\tduration,\n\t\t\t\t\tease,\n\t\t\t\t\tclearProps\n\t\t\t\t},\n\t\t\t\tonComplete: this._onTimelineAnimationComplete.bind( this )\n\t\t\t} );\n\n\t\t}\n\n\t\t_initValues() {\n\n\t\t\tconst { options } = this;\n\t\t\tconst { randomizeInitValues, initValues } = options;\n\t\t\tconst $animationTargets = $( this.animationTargets );\n\t\t\tconst initProps = !randomizeInitValues ? initValues : this._generateRandomValues( initValues );\n\n\t\t\t$animationTargets\n\t\t\t\t.css( {\n\t\t\t\t\ttransition: 'none',\n\t\t\t\t\ttransitionDelay: 0,\n\t\t\t\t} )\n\t\t\t\t.addClass( 'will-change' );\n\n\t\t\tif ( this.needPerspective ) {\n\t\t\t\t$animationTargets.parent().parent().addClass( 'perspective' );\n\t\t\t\t// prevents wrong positioning when the elemnt is position:absolute\n\t\t\t\t$animationTargets.each( ( i, animTarget ) => {\n\t\t\t\t\tconst $animTarget = $( animTarget );\n\t\t\t\t\tif ( !$animTarget.hasClass( 'lqd-imggrp-single' ) ) {\n\t\t\t\t\t\t$animTarget.parent().addClass( 'transform-style-3d' );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t}\n\n\t\t\tgsap.set( this.animationTargets, {\n\t\t\t\t...initProps,\n\t\t\t} );\n\n\t\t\tthis.element.classList.add( 'ca-initvalues-applied' );\n\n\t\t\tthis.$element.trigger( 'lqdanimationsinitiated', this );\n\n\t\t}\n\n\t\tasync _runAnimations() {\n\n\t\t\tconst { delay, startDelay, animations, direction } = this.options;\n\t\t\tconst stagger = {\n\t\t\t\tfrom: direction,\n\t\t\t\teach: delay\n\t\t\t};\n\n\t\t\tif ( direction === 'forward' ) {\n\t\t\t\tstagger[ 'from' ] = 'start';\n\t\t\t} else if ( direction === 'backward' ) {\n\t\t\t\tstagger[ 'from' ] = 'end';\n\t\t\t}\n\n\t\t\tthis.animationsTimeline.to( this.animationTargets, {\n\t\t\t\t...animations,\n\t\t\t\tstagger,\n\t\t\t\tdelay: startDelay,\n\t\t\t\tonStart: () => {\n\t\t\t\t\tthis.animationsStarted = true;\n\t\t\t\t},\n\t\t\t\tonComplete: this._onUnitsAnimationsComplete,\n\t\t\t\tonCompleteParams: [ this.animationTargets ]\n\t\t\t} );\n\n\t\t}\n\n\t\t_onTimelineAnimationComplete() {\n\n\t\t\tif ( this.needPerspective ) {\n\t\t\t\t$( this.animationTargets ).parent().parent().removeClass( 'perspective' );\n\t\t\t\t$( this.animationTargets ).parent().removeClass( 'transform-style-3d' );\n\t\t\t}\n\n\t\t\tthis.$element.addClass( 'lqd-animations-done' );\n\t\t\tthis.$element.trigger( 'lqdanimationsdone', this );\n\n\t\t}\n\n\t\t_onUnitsAnimationsComplete( animationTargets ) {\n\n\t\t\tanimationTargets.forEach( element => {\n\n\t\t\t\telement.style.transition = '';\n\t\t\t\telement.style.transitionDelay = '';\n\n\t\t\t\telement.classList.remove( 'will-change' );\n\n\t\t\t\tif ( element.classList.contains( 'split-inner' ) ) {\n\t\t\t\t\telement.parentElement.classList.add( 'lqd-unit-animation-done' );\n\t\t\t\t} else {\n\t\t\t\t\telement.classList.add( 'lqd-unit-animation-done' );\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t}\n\n\t\t_initPlugins() {\n\n\t\t\t/**\n\t\t\tiniting plugins that doesn't depend on animations begins or not\n\t\t\t*/\n\n\t\t\tthis.$element.find( '[data-slideelement-onhover]' ).filter( ( i, element ) => {\n\t\t\t\treturn (\n\t\t\t\t\telement.clientHeight > 0\n\t\t\t\t)\n\t\t\t} ).liquidSlideElement();\n\t\t\tthis.element.hasAttribute( 'data-slideelement-onhover' ) && this.$element.liquidSlideElement();\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tthis.element.classList.remove( 'ca-initvalues-applied', 'lqd-animations-done', 'transform-style-3d' );\n\n\t\t\tthis.animationTargets.forEach( target => {\n\n\t\t\t\tif ( !target.vars ) {\n\n\t\t\t\t\ttarget.classList.remove( 'will-change' );\n\n\t\t\t\t\tif ( target.classList.contains( 'split-inner' ) ) {\n\t\t\t\t\t\ttarget.parentElement.classList.remove( 'lqd-unit-animation-done' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget.classList.remove( 'lqd-unit-animation-done' );\n\t\t\t\t\t}\n\n\t\t\t\t\tgsap.set( target, { clearProps: 'all' } );\n\n\t\t\t\t} else {\n\t\t\t\t\tthis.animationsTimeline.killTweensOf( target );\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t\tif ( this.animationsTimeline ) {\n\n\t\t\t\tthis.animationsTimeline.kill();\n\t\t\t\tthis.animationsTimeline.clear();\n\n\t\t\t}\n\n\t\t\t$.data( this.element, 'plugin_' + pluginName, null );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst $this = $( this );\n\t\t\tconst plugin = `plugin_${ pluginName }`;\n\t\t\tconst pluginOptions = { ...$this.data( 'ca-options' ), ...options };\n\t\t\tlet { initValues, animations } = pluginOptions;\n\n\t\t\tfunction handleTransformOrigins( opts ) {\n\n\t\t\t\tif ( !opts ) return;\n\n\t\t\t\tconst { transformOriginX, transformOriginY, transformOriginZ } = opts;\n\n\t\t\t\tif ( transformOriginX && typeof transformOriginX === 'number' ) {\n\t\t\t\t\topts.transformOriginX = transformOriginX + '%';\n\t\t\t\t}\n\t\t\t\tif ( transformOriginY && typeof transformOriginY === 'number' ) {\n\t\t\t\t\topts.transformOriginY = transformOriginY + '%';\n\t\t\t\t}\n\t\t\t\tif ( transformOriginZ && typeof transformOriginZ === 'number' ) {\n\t\t\t\t\topts.transformOriginZ = transformOriginZ + '%';\n\t\t\t\t}\n\n\t\t\t\tif ( transformOriginX && transformOriginY && transformOriginZ ) {\n\t\t\t\t\topts.transformOrigin = `${ opts.transformOriginX } ${ opts.transformOriginY } ${ opts.transformOriginZ }`;\n\t\t\t\t\tdelete opts.transformOriginX;\n\t\t\t\t\tdelete opts.transformOriginY;\n\t\t\t\t\tdelete opts.transformOriginZ;\n\t\t\t\t}\n\n\t\t\t\treturn opts;\n\n\t\t\t}\n\n\t\t\tinitValues = handleTransformOrigins( initValues );\n\t\t\tanimations = handleTransformOrigins( animations );\n\n\t\t\tif ( !$.data( this, plugin ) ) {\n\t\t\t\t$.data( this, `plugin_${ pluginName }`, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t// causing animations not initialize when site structure is changed\n\t// if ( ! $liquidContents.length ) return;\n\n\t// we'll call custom animations directly from these plugins\n\tconst anims = $( '[data-custom-animations]' ).filter( ( i, element ) => {\n\n\t\tconst $element = $( element );\n\t\tconst stackOptions = $liquidContents.length && $liquidContents[ 0 ].getAttribute( 'data-stack-options' );\n\t\tconst stackDisableOnMobile = stackOptions && JSON.parse( stackOptions ).disableOnMobile === true;\n\n\t\treturn (\n\t\t\t( !stackOptions || ( stackOptions && stackDisableOnMobile && ( liquidIsMobile() || liquidWindowWidth() <= liquidMobileNavBreakpoint() ) ) ) &&\n\t\t\t!$element.hasClass( 'carousel-items' )\n\t\t);\n\n\t} ).get().reverse();\n\n\tif ( anims.length < 1 ) {\n\t\treturn\n\t};\n\n\tif (\n\t\tliquidIsMobile() &&\n\t\tdocument.body.hasAttribute( 'data-disable-animations-onmobile' )\n\t) {\n\t\treturn $( anims ).addClass( 'ca-initvalues-applied' );\n\t};\n\n\tif (\n\t\t$liquidBody.hasClass( 'lqd-preloader-activated' ) &&\n\t\t$( '.lqd-preloader-wrap' ).length\n\t) {\n\t\tdocument.addEventListener( 'lqd-preloader-anim-done', () => {\n\t\t\t$( anims ).liquidCustomAnimations();\n\t\t} );\n\t} else {\n\t\t$( anims ).liquidCustomAnimations();\n\t}\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidTextRotator';\n\tlet defaults = {\n\t\tdelay: 2,\n\t\tduration: 0.8,\n\t\teasing: 'power4.inOut',\n\t\t/** @type {'slide' | 'basic' | 'list'} */\n\t\tanimationType: 'slide',\n\t\t// only for 'list' animationType\n\t\tmarquee: false\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\t/** @type {HTMLElement} */\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.options = $.extend( {}, defaults, options );\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.activeKeywordIndex = 0;\n\t\t\tthis.nextKeywordIndex = 1;\n\t\t\tthis.isFirstItterate = true;\n\n\t\t\tthis.basicAnimationTimeline = null;\n\t\t\tthis.basicAnimationsResetTimeout = null;\n\n\t\t\tthis.$keywordsContainer = null;\n\t\t\tthis.keywordsContainer = null;\n\t\t\tthis.$keywords = null;\n\t\t\tthis.keywordsLength = 0;\n\t\t\tthis.keywordsDimensions = [];\n\t\t\tthis.slideInTimeout = null;\n\t\t\tthis.slideOutTimeout = null;\n\n\t\t\tthis.prevWindowWidth = window.innerWidth;\n\n\t\t\tthis.build();\n\n\t\t}\n\n\t\tasync init() {\n\n\t\t\tawait this._measure();\n\t\t\tawait this._onFontsLoad();\n\n\t\t}\n\n\t\t_measure() {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\tconst styles = getComputedStyle( this.element );\n\n\t\t\t\tthis.fontInfo.elementFontFamily = styles.fontFamily.replace( /\"/g, '' ).replace( /'/g, '' ).split( ',' )[ 0 ];\n\t\t\t\tthis.fontInfo.elementFontWeight = styles.fontWeight;\n\t\t\t\tthis.fontInfo.elementFontStyle = styles.fontStyle;\n\t\t\t\tthis.fontInfo.fontFamilySlug = window.liquidSlugify( this.fontInfo.elementFontFamily );\n\n\t\t\t} )\n\n\t\t}\n\n\t\t_onFontsLoad() {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\tif ( window.liquidCheckedFonts.find( ff => ff === this.fontInfo.fontFamilySlug ) ) {\n\t\t\t\t\treturn this.build();\n\t\t\t\t}\n\n\t\t\t\tconst font = new FontFaceObserver( this.fontInfo.elementFontFamily, {\n\t\t\t\t\tweight: this.fontInfo.elementFontWeight,\n\t\t\t\t\tstyle: this.fontInfo.elementFontStyle\n\t\t\t\t} );\n\n\t\t\t\tfont.load().finally( () => {\n\t\t\t\t\twindow.liquidCheckedFonts.push( this.fontInfo.fontFamilySlug );\n\t\t\t\t\tthis.build();\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tbuild() {\n\n\t\t\tconst promises = [];\n\n\t\t\tconst $customAnimationParent = this.$element.closest( '[data-custom-animations]' )\n\t\t\tconst $customAnimationChild = this.$element.children( '[data-custom-animations]' );\n\t\t\tconst $splitTextChild = this.$element.children( '[data-split-text]' )\n\n\t\t\tif ( this.element.hasAttribute( 'data-split-text' ) ) {\n\t\t\t\tconst data = this.$element.data( 'plugin_liquidSplitText' );\n\t\t\t\tdata && promises.push( data.splitDonePormise );\n\t\t\t}\n\t\t\tif ( $splitTextChild.length ) {\n\t\t\t\tconst data = $splitTextChild.data( 'plugin_liquidSplitText' );\n\t\t\t\tdata && promises.push( data.splitDonePormise );\n\t\t\t}\n\t\t\tif ( $customAnimationParent.length ) {\n\t\t\t\tconst data = $customAnimationParent.data( 'plugin_liquidCustomAnimations' );\n\t\t\t\tdata && promises.push( data.animationsDonePromise );\n\t\t\t}\n\t\t\tif ( $customAnimationChild.length ) {\n\t\t\t\tconst data = $customAnimationChild.data( 'plugin_liquidCustomAnimations' );\n\t\t\t\tdata && promises.push( data.animationsDonePromise );\n\t\t\t}\n\t\t\tif ( this.element.hasAttribute( 'data-custom-animations' ) ) {\n\t\t\t\tconst data = this.$element.data( 'plugin_liquidCustomAnimations' );\n\t\t\t\tdata && promises.push( data.animationsDonePromise );\n\t\t\t}\n\n\t\t\tif ( promises.length ) {\n\t\t\t\tPromise.all( promises ).finally( () => {\n\t\t\t\t\tthis.init();\n\t\t\t\t} )\n\t\t\t} else {\n\t\t\t\tthis.init();\n\t\t\t}\n\n\t\t}\n\n\t\tasync init() {\n\n\t\t\tthis._handleWindowResize = liquidDebounce( this._handleWindowResize.bind( this ), 350 )\n\n\t\t\tthis.$keywordsContainer = $( '.txt-rotate-keywords', this.element );\n\n\t\t\tif ( !this.$keywordsContainer.length ) {\n\t\t\t\treturn console.warn( 'Could not find keywords container' );\n\t\t\t};\n\n\t\t\t/** @type {HTMLElement} */\n\t\t\tthis.keywordsContainer = this.$keywordsContainer[ 0 ];\n\t\t\tthis.keywordsInner = this.keywordsContainer.querySelector( '.txt-rotate-keywords-inner' );\n\n\t\t\tthis.$keywords = $( '.txt-rotate-keyword', this.$keywordsContainer );\n\n\t\t\tthis.$keywords.attr( 'class', 'txt-rotate-keyword' ).eq( 0 ).addClass( 'active' );\n\n\t\t\tthis.keywordsLength = this.$keywords.length - 1;\n\n\t\t\tthis.keywordsDimensions = await this.getKeywordsDimensions();\n\n\t\t\tthis.setContainerWidth( 0 );\n\t\t\tthis.initAnimations();\n\t\t\tthis._windowResize();\n\n\t\t\tthis.$element.addClass( 'text-rotator-activated' );\n\n\t\t}\n\n\t\tasync getKeywordsDimensions() {\n\n\t\t\tconst promises = [];\n\n\t\t\tthis.$keywords.each( ( i, keyword ) => {\n\n\t\t\t\tconst promise = new Promise( resolve => {\n\n\t\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t\tconst { boundingClientRect: { width, height } } = entry;\n\t\t\t\t\t\tresolve( {\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\theight\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ).observe( keyword )\n\n\t\t\t\t} );\n\n\t\t\t\tpromises.push( promise );\n\n\t\t\t} );\n\n\t\t\tconst widths = await Promise.all( promises );\n\n\t\t\treturn widths;\n\n\t\t}\n\n\t\tupdateActiveIndex() {\n\n\t\t\tthis.activeKeywordIndex = this.activeKeywordIndex + 1 > this.keywordsLength ? 0 : this.activeKeywordIndex + 1;\n\n\t\t}\n\n\t\tupdateNextIndex() {\n\n\t\t\tthis.nextKeywordIndex = this.nextKeywordIndex + 1 > this.keywordsLength ? 0 : this.nextKeywordIndex + 1;\n\n\t\t}\n\n\t\tsetActiveClass() {\n\n\t\t\tthis.$keywords.removeClass( 'active' );\n\t\t\tthis.$keywords.eq( this.activeKeywordIndex ).addClass( 'active' );\n\n\t\t}\n\n\t\tsetNextClass() {\n\n\t\t\tthis.$keywords.removeClass( 'is-next' );\n\t\t\tthis.$keywords.eq( this.nextKeywordIndex ).addClass( 'is-next' );\n\n\t\t}\n\n\t\tsetContainerWidth( index ) {\n\n\t\t\tconst keywordContainer = this.$keywordsContainer[ 0 ];\n\n\t\t\tif ( this.options.animationType === 'list' ) {\n\t\t\t\treturn keywordContainer.style.width = `${ Math.max( ...this.keywordsDimensions.map( dim => parseInt( dim.width, 10 ) ) ) }px`;\n\t\t\t}\n\n\t\t\tkeywordContainer.style.width = `${ this.keywordsDimensions[ index ].width }px`;\n\n\t\t}\n\n\t\tslideInNextKeyword() {\n\n\t\t\tconst $nextKeyword = this.$keywords.eq( this.nextKeywordIndex );\n\t\t\tconst delay = this.isFirstItterate ? this.options.delay / 2 : this.options.delay;\n\n\t\t\tthis.slideInTimeout = setTimeout( () => {\n\n\t\t\t\tthis.setContainerWidth( this.nextKeywordIndex );\n\n\t\t\t\t$nextKeyword.removeClass( 'lqd-keyword-slide-out' ).addClass( 'lqd-keyword-slide-in' );\n\n\t\t\t\tthis.isFirstItterate = false;\n\n\t\t\t\tthis.updateNextIndex();\n\t\t\t\tthis.setNextClass();\n\t\t\t\tthis.slideOutAciveKeyword();\n\n\t\t\t\tclearTimeout( this.slideInTimeout );\n\n\t\t\t}, delay * 1000 );\n\n\t\t}\n\n\t\tslideOutAciveKeyword() {\n\n\t\t\tconst $activeKeyword = this.$keywords.eq( this.activeKeywordIndex );\n\t\t\tconst delay = this.isFirstItterate ? this.options.delay / 2 : this.options.delay;\n\n\t\t\t$activeKeyword.removeClass( 'lqd-keyword-slide-in' ).addClass( 'lqd-keyword-slide-out' );\n\n\t\t\tthis.updateActiveIndex();\n\t\t\tthis.setActiveClass();\n\n\t\t\tthis.slideOutTimeout = setTimeout( () => {\n\n\t\t\t\tthis.slideInNextKeyword();\n\n\t\t\t\tclearTimeout( this.slideOutTimeout );\n\n\t\t\t}, delay * 1000 );\n\n\t\t}\n\n\t\tbuildBaiscAnimation() {\n\n\t\t\tthis.$element.addClass( 'txt-rotator-basic' );\n\n\t\t\tthis.basicAnimationTimeline = gsap.timeline( {\n\t\t\t\teasing: 'power2.inOut',\n\t\t\t\tonStart: () => {\n\t\t\t\t\tthis.isFirstItterate = false;\n\t\t\t\t\tif ( this.basicAnimationsResetTimeout ) {\n\t\t\t\t\t\tclearTimeout( this.basicAnimationsResetTimeout );\n\t\t\t\t\t}\n\t\t\t\t\tthis.setContainerWidth( this.nextKeywordIndex );\n\t\t\t\t},\n\t\t\t\tonComplete: () => {\n\n\t\t\t\t\tthis.updateActiveIndex();\n\t\t\t\t\tthis.updateNextIndex();\n\n\t\t\t\t\tthis.setActiveClass();\n\t\t\t\t\tthis.setNextClass();\n\n\t\t\t\t\tthis.basicAnimationsResetTimeout = setTimeout( () => (\n\t\t\t\t\t\tthis.basicAnimationTimeline && this.basicAnimationTimeline.restart()\n\t\t\t\t\t), this.options.delay * 1000 );\n\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthis.$keywords.each( ( i, keyword ) => {\n\n\t\t\t\tthis.basicAnimationTimeline.to( keyword, {\n\t\t\t\t\tduration: 0.125,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\tonStart: () => {\n\t\t\t\t\t\tconst $keyword = $( keyword );\n\t\t\t\t\t\tthis.$keywords.not( $keyword ).removeClass( 'active' );\n\t\t\t\t\t\t$keyword.addClass( 'active' );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t}\n\n\t\tbuildListAnimation() {\n\n\t\t\tconst duration = 2;\n\t\t\tconst visibleWords = parseInt( getComputedStyle( this.keywordsContainer ).getPropertyValue( '--visible-words' ), 10 );\n\t\t\tconst totalHeight = this.keywordsDimensions.map( dim => dim.height ).reduce( ( prevVal, newVal ) => prevVal + newVal, 0 )\n\t\t\tconst listHeight = this.keywordsDimensions.slice( 0, visibleWords ).map( dim => dim.height ).reduce( ( prevVal, newVal ) => prevVal + newVal, 0 );\n\t\t\tconst totalKeywords = this.$keywords.length;\n\t\t\tconst timer = gsap.delayedCall( this.options.delay, animateTo.bind( this ) );\n\t\t\tlet currentKeyword = 1;\n\t\t\tlet nextKeyword = currentKeyword + 1;\n\t\t\tlet offset = 0;\n\t\t\tlet wrapping = false;\n\t\t\tconst mainTimeline = gsap.timeline( {\n\t\t\t\tdefaults: {\n\t\t\t\t\trepeat: -1,\n\t\t\t\t\tduration,\n\t\t\t\t\tease: 'none'\n\t\t\t\t},\n\t\t\t\tpaused: true\n\t\t\t} );\n\n\t\t\tthis.keywordsInnerClone = this.keywordsInner.cloneNode( true );\n\t\t\tthis.keywordsInnerClone.classList.add( 'txt-rotate-keywords-inner-clone', 'lqd-overlay', 'flex-column' );\n\t\t\tthis.keywordsContainer.append( this.keywordsInnerClone );\n\n\t\t\tthis.keywordsContainer.style.height = `${ listHeight }px`;\n\t\t\tthis.keywordsContainer.style.overflow = `hidden`;\n\n\t\t\tthis.$keywords.add( $( this.keywordsInnerClone ).children() ).each( ( i, keyword ) => {\n\n\t\t\t\ti = i % totalKeywords;\n\t\t\t\tconst keywordHeight = this.keywordsDimensions[ i ].height;\n\t\t\t\tconst wrap = gsap.utils.wrap( keywordHeight * -1, totalHeight - keywordHeight );\n\n\t\t\t\tgsap.set( keyword, {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\ty: offset,\n\t\t\t\t} );\n\n\t\t\t\tmainTimeline\n\t\t\t\t\t.to( keyword, {\n\t\t\t\t\t\ty: `-=${ totalHeight }`,\n\t\t\t\t\t\tmodifiers: {\n\t\t\t\t\t\t\ty: gsap.utils.unitize( wrap )\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0 )\n\t\t\t\t\t.add( `keyword-${ i + 1 }`, gsap.utils.mapRange( 0, totalKeywords, 0, duration )( i ) );\n\n\t\t\t\toffset += keywordHeight;\n\n\t\t\t} );\n\n\t\t\tconst slideKeywordsInner = () => {\n\t\t\t\tgsap.set( [ this.keywordsInner, this.keywordsInnerClone ], {\n\t\t\t\t\t'--current-keyword-height': `${ this.keywordsDimensions[ currentKeyword - 1 ].height / 2 * -1 }px`\n\t\t\t\t} )\n\t\t\t};\n\n\t\t\tslideKeywordsInner();\n\n\t\t\tconst scrubTimeline = ( from, to ) => {\n\t\t\t\tif ( wrapping ) {\n\t\t\t\t\treturn new gsap.timeline()\n\t\t\t\t\t\t.add( mainTimeline.tweenFromTo( from, duration, { duration: this.options.duration, ease: this.options.easing } ) )\n\t\t\t\t\t\t.add( mainTimeline.tweenFromTo( 0, to, { duration: this.options.duration, ease: this.options.easing, immediateRender: false } ) );\n\t\t\t\t}\n\t\t\t\treturn mainTimeline.tweenFromTo( from, to, { duration: this.options.duration, ease: this.options.easing } );\n\t\t\t}\n\n\t\t\tfunction animateTo() {\n\t\t\t\ttimer && timer.restart( true );\n\t\t\t\tcurrentKeyword === totalKeywords ? wrapping = true : wrapping = false;\n\t\t\t\tif ( !wrapping ) {\n\t\t\t\t\tscrubTimeline( `keyword-${ currentKeyword }`, `keyword-${ nextKeyword }` );\n\t\t\t\t} else {\n\t\t\t\t\tscrubTimeline( `keyword-${ totalKeywords }`, `keyword-${ 1 }` );\n\t\t\t\t}\n\t\t\t\tslideKeywordsInner();\n\t\t\t\tcurrentKeyword = currentKeyword >= totalKeywords ? 1 : currentKeyword + 1;\n\t\t\t\tnextKeyword = currentKeyword === totalKeywords ? 1 : currentKeyword + 1;\n\t\t\t};\n\n\t\t\tanimateTo();\n\n\t\t}\n\n\t\tinitAnimations() {\n\n\t\t\tconst { animationType } = this.options;\n\n\t\t\tswitch ( animationType ) {\n\t\t\t\tcase 'basic':\n\t\t\t\t\tthis.buildBaiscAnimation();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'list':\n\t\t\t\t\tthis.buildListAnimation();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.slideInNextKeyword();\n\t\t\t}\n\n\t\t}\n\n\t\t_windowResize() {\n\n\t\t\t$( window ).on( 'resize.lqdTextRotator', this._handleWindowResize.bind( this ) );\n\n\t\t}\n\n\t\t_handleWindowResize() {\n\n\t\t\tif ( this.prevWindowWidth === window.innerWidth ) return;\n\n\t\t\tgsap.killTweensOf( this.$keywordsContainer[ 0 ] );\n\t\t\tthis.keywordsInner && gsap.killTweensOf( this.keywordsInner );\n\t\t\tthis.$keywords.each( ( i, keyword ) => {\n\t\t\t\tgsap.killTweensOf( keyword );\n\t\t\t} );\n\n\t\t\tif ( this.keywordsInnerClone ) {\n\t\t\t\tgsap.killTweensOf( this.keywordsInnerClone );\n\t\t\t\t$( this.keywordsInnerClone ).children().each( ( i, keyword ) => {\n\t\t\t\t\tgsap.killTweensOf( keyword );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tthis.destroy();\n\n\t\t\tthis._onWindowResize();\n\n\t\t\tthis.prevWindowWidth = window.innerWidth;\n\n\t\t}\n\n\t\t_onWindowResize() {\n\n\t\t\tthis.activeKeywordIndex = 0;\n\t\t\tthis.nextKeywordIndex = 1;\n\t\t\tthis.isFirstItterate = true;\n\n\t\t\tthis.basicAnimationTimeline = null;\n\t\t\tthis.basicAnimationsResetTimeout = null;\n\n\t\t\tthis.slideInTimeout && clearTimeout( this.slideInTimeout );\n\t\t\tthis.slideOutTimeout && clearTimeout( this.slideOutTimeout );\n\n\t\t\tthis.build();\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\t$( window ).off( 'resize.lqdTextRotator' );\n\n\t\t\tthis.keywordsInnerClone && this.keywordsInnerClone.remove();\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'text-rotator-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t$( '[data-text-rotator]' ).liquidTextRotator();\n\n} );","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidParallax';\n\tlet defaults = {\n\t\tstart: 'top bottom',\n\t\tend: 'bottom top',\n\t\tease: 'linear',\n\t\tscrub: 0.55,\n\t\tparallaxBG: false,\n\t\tscaleBG: true,\n\t\toverflowHidden: false,\n\t\tstartTrigger: null,\n\t\tparallaxTargets: null,\n\t\tskipWillChange: false\n\t};\n\tlet defaultParallaxFrom = {\n\t};\n\tlet defaultParallaxTo = {\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options, parallaxFrom, parallaxTo ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $( element );\n\n\t\t\tthis.parallaxFromOptions = { ...defaultParallaxFrom, ...parallaxFrom };\n\t\t\tthis.parallaxToOptions = { ...defaultParallaxTo, ...parallaxTo };\n\n\t\t\tthis.ST = null;\n\t\t\tthis.parallaxTimeline = null;\n\n\t\t\tthis.parallaxElements = [];\n\t\t\tthis.isRowBg = this.element.getAttribute( 'data-row-bg' );\n\t\t\tthis.rect = {};\n\t\t\tthis.bgImg = null;\n\t\t\tthis.sentinel = null;\n\t\t\tthis.parallaxFigure = null;\n\t\t\tthis.parallaxMarkupExists = this.element.classList.contains( 'lqd-parallax-markup-exists' );\n\n\t\t\tconst promises = [];\n\n\t\t\tif (\n\t\t\t\tthis.$element.hasClass( 'lqd-css-sticky' ) &&\n\t\t\t\tthis.$element.data( 'plugin_liquidStickyRow' )\n\t\t\t) {\n\t\t\t\tconst data = this.$element.data( 'plugin_liquidStickyRow' );\n\t\t\t\tconst promise = data.rowStickyInitPromise;\n\t\t\t\tpromise && promises.push( promise );\n\t\t\t}\n\n\t\t\tif ( this.element.hasAttribute( 'data-split-text' ) ) {\n\t\t\t\tthis.$element.liquidSplitText( { forceApply: true } );\n\t\t\t\tconst prom = this.$element.data( 'plugin_liquidSplitText' );\n\t\t\t\tprom && promises.push( prom.splitDonePormise );\n\t\t\t}\n\n\t\t\tif ( promises.length > 0 ) {\n\t\t\t\tPromise.all( promises ).then( this.build.bind( this ) );\n\t\t\t} else {\n\t\t\t\tthis.build();\n\t\t\t}\n\n\t\t}\n\n\t\tasync build() {\n\n\t\t\tawait this.handleSentinel();\n\t\t\tawait this.buildParallaxMarkups();\n\n\t\t\tthis.parallaxElements = this.getParallaxElements();\n\n\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\tthis.init();\n\t\t\t\t}\n\t\t\t}, { rootMargin: \"50%\" } ).observe( this.element );\n\n\t\t}\n\n\t\tgetParallaxElements() {\n\n\t\t\tif ( this.options.parallaxTargets ) {\n\t\t\t\treturn [ ...this.element.querySelectorAll( this.options.parallaxTargets ) ]\n\t\t\t} else if ( this.element.classList.contains( 'vc_column_container' ) ) {\n\t\t\t\treturn [ this.element.querySelector( '.vc_column-inner' ) ];\n\t\t\t} else if ( this.options.parallaxBG ) {\n\t\t\t\treturn [ this.parallaxFigure ];\n\t\t\t} else {\n\t\t\t\treturn [ this.element ];\n\t\t\t}\n\n\t\t}\n\n\t\tmeasure() {\n\n\t\t\treturn new Promise( resolve => {\n\n\t\t\t\tnew IntersectionObserver( ( [ entry ], observer ) => {\n\n\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\tconst { boundingClientRect } = entry;\n\n\t\t\t\t\tthis.rect.width = boundingClientRect.width;\n\t\t\t\t\tthis.rect.height = boundingClientRect.height;\n\t\t\t\t\tthis.rect.top = boundingClientRect.top + window.scrollY;\n\t\t\t\t\tthis.rect.left = boundingClientRect.left;\n\n\t\t\t\t\tresolve();\n\n\t\t\t\t} ).observe( this.element );\n\n\t\t\t} )\n\n\t\t}\n\n\t\tgetBgInfo() {\n\n\t\t\treturn fastdomPromised.measure( () => {\n\n\t\t\t\tif ( !this.bgImg ) {\n\n\t\t\t\t\tif ( this.isRowBg ) {\n\t\t\t\t\t\treturn this.bgImg = `url(${ this.isRowBg })`;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst styles = getComputedStyle( this.element );\n\n\t\t\t\t\tthis.bgImg = styles.backgroundImage;\n\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t}\n\n\t\tasync handleSentinel() {\n\n\t\t\tthis.onWindowResize = liquidDebounce( this.onWindowResize, 500 );\n\n\t\t\tawait this.createSentinel();\n\t\t\tthis.handleResize();\n\n\t\t}\n\n\t\tcreateSentinel() {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tthis.sentinel = document.createElement( 'div' );\n\t\t\t\tthis.sentinel.setAttribute( 'class', 'lqd-parallax-sentinel pointer-events-none pos-abs z-index--1 invisible absolute -z-1' );\n\n\t\t\t\tdocument.body.appendChild( this.sentinel );\n\n\t\t\t} )\n\n\t\t}\n\n\t\tpositionSentinel() {\n\n\t\t\treturn fastdomPromised.mutate( () => {\n\n\t\t\t\tthis.sentinel.style.width = `${ this.rect.width }px`;\n\t\t\t\tthis.sentinel.style.height = `${ this.rect.height }px`;\n\t\t\t\tthis.sentinel.style.top = `${ this.rect.top }px`;\n\t\t\t\tthis.sentinel.style.left = `${ this.rect.left }px`;\n\n\t\t\t} )\n\n\t\t}\n\n\t\tbuildParallaxMarkups() {\n\n\t\t\treturn new Promise( async resolve => {\n\n\t\t\t\tif ( !this.options.parallaxBG ) {\n\n\t\t\t\t\tthis.initParallax();\n\n\t\t\t\t\tresolve();\n\n\t\t\t\t} else {\n\n\t\t\t\t\tawait this.getBgInfo();\n\n\t\t\t\t\tthis.initParallaxBG();\n\n\t\t\t\t\tthis.element.classList.add( 'lqd-parallax-bg' );\n\n\t\t\t\t\tresolve();\n\n\t\t\t\t}\n\n\t\t\t} )\n\n\t\t}\n\n\t\tinitParallax() {\n\n\t\t\tconst { overflowHidden } = this.options;\n\n\t\t\tif (\n\t\t\t\t!this.element.classList.contains( 'vc_column_container' ) &&\n\t\t\t\t!this.element.classList.contains( 'ld-fancy-heading' ) &&\n\t\t\t\t( overflowHidden || this.options.forceWrap )\n\t\t\t) {\n\n\t\t\t\tconst overflow = overflowHidden ? 'overflow-hidden' : '';\n\n\t\t\t\tconst wrapper = document.createElement( 'div' );\n\n\t\t\t\twrapper.setAttribute( 'class', `ld-parallax-wrap ${ overflow }` );\n\t\t\t\tthis.element.parentNode.insertBefore( wrapper, this.element );\n\t\t\t\twrapper.appendChild( this.element );\n\n\t\t\t}\n\n\t\t}\n\n\t\tinitParallaxBG() {\n\n\t\t\tconst isSlideshowBg = this.element.hasAttribute( 'data-slideshow-bg' );\n\t\t\tconst videoBg = this.element.querySelector( ':scope > .lqd-vbg-wrap' );\n\t\t\tconst slideshowBgPlugin = this.$element.data( 'plugin_liquidSlideshowBG' );\n\t\t\tconst rowBgPlugin = this.$element.data( 'plugin_liquidRowBG' );\n\n\t\t\tif (\n\t\t\t\t( ( !isSlideshowBg && !this.isRowBg ) ||\n\t\t\t\t\t( this.isRowBg && !rowBgPlugin ) ||\n\t\t\t\t\t( isSlideshowBg && !slideshowBgPlugin ) ) &&\n\t\t\t\t!videoBg\n\t\t\t) {\n\n\t\t\t\tif ( !this.parallaxMarkupExists ) {\n\t\t\t\t\tthis.createParallaxBgMarkup();\n\t\t\t\t}\n\n\t\t\t\tthis.parallaxFigure = this.element.querySelector( '.lqd-parallax-figure' );\n\n\t\t\t\tthis.updateParallaxBgOptions();\n\n\t\t\t\tthis.setParallaxBgImg();\n\n\t\t\t}\n\n\t\t\tif ( isSlideshowBg ) {\n\n\t\t\t\treturn slideshowBgPlugin.slideshowBgInitPromise.then( slideshowPlugin => {\n\t\t\t\t\tconst slideshowInner = slideshowPlugin.slideshowInner;\n\t\t\t\t\tthis.updateParallaxBgOptions();\n\t\t\t\t\treturn slideshowInner;\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\tif ( this.isRowBg ) {\n\n\t\t\t\treturn rowBgPlugin.rowBgInitPromise.then( rowBgPlugin => {\n\t\t\t\t\tconst { rowBg } = rowBgPlugin;\n\t\t\t\t\tthis.updateParallaxBgOptions();\n\t\t\t\t\treturn rowBg;\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\tif ( videoBg ) {\n\t\t\t\tthis.updateParallaxBgOptions();\n\t\t\t\treturn videoBg.children;\n\t\t\t}\n\n\t\t}\n\n\t\tcreateParallaxBgMarkup() {\n\n\t\t\tconst parallaxContainer = document.createElement( 'div' );\n\t\t\tparallaxContainer.setAttribute( 'class', 'lqd-parallax-container lqd-overlay overflow-hidden' );\n\t\t\tparallaxContainer.setAttribute( 'style', 'border-radius: inherit; background-size: inherit; background-attachment: inherit; background-repeat: inherit; background-position: inherit;' );\n\n\t\t\tconst parallaxFigure = document.createElement( 'figure' );\n\t\t\tparallaxFigure.setAttribute( 'class', 'lqd-parallax-figure lqd-overlay' );\n\t\t\tparallaxFigure.setAttribute( 'style', 'border-radius: inherit; background-size: inherit; background-attachment: inherit; background-repeat: inherit; background-position: inherit;' );\n\n\t\t\tparallaxContainer.appendChild( parallaxFigure );\n\t\t\tthis.$element.prepend( parallaxContainer );\n\n\t\t}\n\n\t\tsetParallaxBgImg() {\n\n\t\t\tif ( this.bgImg && this.bgImg !== 'none' && this.options.parallaxBG ) {\n\t\t\t\tthis.parallaxFigure.style.backgroundImage = this.bgImg;\n\t\t\t\tthis.element.classList.add( 'bg-none' );\n\t\t\t}\n\n\t\t}\n\n\t\tupdateParallaxBgOptions() {\n\n\t\t\tif ( typeof this.parallaxFromOptions.yPercent === typeof undefined ) {\n\t\t\t\tthis.parallaxFromOptions.yPercent = -15;\n\t\t\t}\n\t\t\tif ( typeof this.parallaxToOptions.yPercent === typeof undefined ) {\n\t\t\t\tthis.parallaxToOptions.yPercent = 0;\n\t\t\t}\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\tfastdomPromised.measure( async () => {\n\n\t\t\t\tawait this.measure();\n\t\t\t\tawait this.positionSentinel();\n\n\t\t\t} ).then( () => {\n\n\t\t\t\tfastdomPromised.mutate( () => {\n\n\t\t\t\t\tconst isParallaxBg = this.options.parallaxBG;\n\t\t\t\t\tlet { start, end, scrub, ease, startTrigger } = this.options;\n\t\t\t\t\tlet trigger = this.sentinel;\n\n\t\t\t\t\tif ( startTrigger ) {\n\t\t\t\t\t\tif ( typeof startTrigger === 'string' ) {\n\t\t\t\t\t\t\ttrigger = document.querySelector( startTrigger );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttrigger = startTrigger;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.parallaxTimeline = gsap.timeline();\n\n\t\t\t\t\tthis.parallaxTimeline.fromTo( this.parallaxElements,\n\t\t\t\t\t\t{ ...this.parallaxFromOptions },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tease,\n\t\t\t\t\t\t\t...this.parallaxToOptions\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.ST = ScrollTrigger.create( {\n\t\t\t\t\t\tanimation: this.parallaxTimeline,\n\t\t\t\t\t\ttrigger,\n\t\t\t\t\t\tstart: () => start,\n\t\t\t\t\t\tend: () => end,\n\t\t\t\t\t\tscrub: isParallaxBg ? 0.35 : scrub,\n\t\t\t\t\t\tonRefresh: () => {\n\t\t\t\t\t\t\tstart = this.options.start;\n\t\t\t\t\t\t\tend = this.options.end;\n\t\t\t\t\t\t\tthis.ST.update();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonUpdate: () => {\n\t\t\t\t\t\t\tgsap.set( this.parallaxElements, {\n\t\t\t\t\t\t\t\ttransition: 'none'\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonScrubComplete: () => {\n\t\t\t\t\t\t\tgsap.set( this.parallaxElements, {\n\t\t\t\t\t\t\t\ttransition: ''\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\t!this.options.skipWillChange && this.addWillChange();\n\n\t\t\t\t\tif ( isParallaxBg ) {\n\t\t\t\t\t\tgsap.to( this.parallaxElements, {\n\t\t\t\t\t\t\topacity: 1\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.element.dispatchEvent( new CustomEvent( 'lqd-parallax-initiated' ) );\n\n\t\t\t\t} )\n\n\t\t\t} )\n\n\t\t}\n\n\t\taddWillChange() {\n\n\t\t\tconst willChangeProps = [ 'transform' ];\n\n\t\t\tif (\n\t\t\t\t( this.parallaxFromOptions.opacity && this.parallaxToOptions.opacity ) &&\n\t\t\t\t( this.parallaxFromOptions.opacity !== this.parallaxToOptions.opacity )\n\t\t\t) {\n\t\t\t\twillChangeProps.push( 'opacity' );\n\t\t\t}\n\n\t\t\tconst props = willChangeProps.join( ', ' );\n\n\t\t\tnew IntersectionObserver( ( [ entry ] ) => {\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tthis.element.style.willChange = props;\n\t\t\t\t} else {\n\t\t\t\t\tthis.element.style.willChange = 'auto';\n\t\t\t\t}\n\t\t\t} ).observe( this.sentinel );\n\n\t\t}\n\n\t\thandleResize() {\n\n\t\t\t$( window ).on( 'resize.lqdParallax', this.onWindowResize.bind( this ) );\n\n\t\t}\n\n\t\tasync onWindowResize() {\n\n\t\t\tawait this.measure();\n\t\t\tthis.positionSentinel();\n\n\t\t}\n\n\t\tdestroy() {\n\n\t\t\tif ( this.sentinel ) {\n\t\t\t\tthis.sentinel.remove();\n\t\t\t}\n\n\t\t\tif ( this.parallaxTimeline ) {\n\t\t\t\tgsap.killTweensOf( this.parallaxTimeline );\n\t\t\t\tthis.parallaxTimeline.scrollTrigger.kill();\n\t\t\t\tthis.parallaxTimeline.kill();\n\t\t\t\tgsap.set( this.parallaxElements, { clearProps: 'all' } );\n\t\t\t\tthis.parallaxTimeline.clear();\n\t\t\t}\n\n\t\t\t$.data( this.element, \"plugin_\" + pluginName, null );\n\n\t\t\t$( window ).off( 'resize.lqdParallax' );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options, fromOpts, toOpts ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { disableOnMobile: true, ...$( this ).data( 'parallax-options' ), ...options };\n\t\t\tconst parallaxFrom = { ...$( this ).data( 'parallax-from' ), ...fromOpts };\n\t\t\tconst parallaxTo = { ...$( this ).data( 'parallax-to' ), ...toOpts };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\n\t\t\t\tif ( pluginOptions.disableOnMobile && liquidIsMobile() ) return;\n\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions, parallaxFrom, parallaxTo ) );\n\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\n\t$( '[data-parallax]' ).not( '[data-pin]:not(.vc_row), .rev-slidebg' ).liquidParallax();\n\n} );","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidTransitionDelay';\n\tlet defaults = {\n\t\telements: null,\n\t\tstartDelay: 0,\n\t\tdelayBetween: 250,\n\t\trandom: false,\n\t\treverse: false,\n\t\tdelayType: 'transition', // ['transition', 'animation']\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.options = $.extend({}, defaults, options);\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tconst splitTextEls = this.$element.find('[data-split-text]').get();\n\t\t\tconst promises = [];\n\n\t\t\tif ( this.element.hasAttribute('data-split-text') ) {\n\t\t\t\tsplitTextEls.push(this.element);\n\t\t\t}\n\n\t\t\tsplitTextEls.forEach(el => {\n\t\t\t\tconst elData = $(el).data('plugin_liquidSplitText');\n\t\t\t\tif ( elData ) {\n\t\t\t\t\tpromises.push(elData.splitDonePormise);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif ( promises.length ) {\n\t\t\t\tPromise.all(promises).then(this.init.bind(this));\n\t\t\t} else {\n\t\t\t\tthis.init();\n\t\t\t}\n\n\t\t}\n\t\t\t\n\t\tinit() {\n\n\t\t\tthis.addDelays();\n\t\t\t\n\t\t}\n\n\t\taddDelays() {\n\n\t\t\tconst { elements, delayBetween, startDelay, delayType, reverse } = this.options;\n\n\t\t\tif ( elements ) {\n\n\t\t\t\tconst $elements = ! reverse ? $(elements, this.element) : $(elements, this.element).get().reverse();\n\t\t\t\t\n\t\t\t\t$.each($elements, ( i, element ) => {\n\n\t\t\t\t\tconst delay = i * delayBetween + startDelay;\n\n\t\t\t\t\t$(element).css({\n\t\t\t\t\t\t[`-webkit-${delayType}-delay`]: `${(delay)}ms`,\n\t\t\t\t\t\t[`${delayType}-delay`]: `${(delay)}ms`\n\t\t\t\t\t});\n\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = $(this).data('delay-options') || options;\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('[data-transition-delay=true]').liquidTransitionDelay();\n $('.lqd-submenu-cover .main-nav > .menu-item-has-children:not(.megamenu) > .nav-item-children, .navbar-visible-ontoggle > ul').liquidTransitionDelay({\n\t\telements: '> li',\n\t\tdelayBetween: 60\n\t});\n});","(function ( $ ) {\n\t\n\t'use strict';\n\t\n\tconst pluginName = 'liquidMoveElement';\n\tlet defaults = {\n\t\ttarget: '#selector',\n\t\ttargetRelation: 'closest',\n\t\ttype: 'prependTo',\n\t\tincludeParent: false,\n\t\tclone: false\n\t};\n\t\n\tclass Plugin {\n\n\t\tconstructor(element, options) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = {...defaults, ...options};\n\n\t\t\tthis.element = element;\n\t\t\tthis.$element = $(element);\n\n\t\t\tthis.movePromise = new Promise(resolve => {\n\t\t\t\tthis.element.addEventListener('element-was-moved', resolve(this, this));\n\t\t\t})\n\n\t\t\tthis.build();\n\n\t\t}\n\n\t\tbuild() {\n\n\t\t\tconst promises = [];\n\t\t\t\n\t\t\tif ( this.element.hasAttribute('data-pin') ) {\n\t\t\t\tconst pinPlugin = this.$element.data('plugin_liquidPin');\n\t\t\t\tif ( pinPlugin ) {\n\t\t\t\t\tpromises.push(pinPlugin.pinPromise);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( promises.length > 0 ) {\n\t\t\t\tPromise.all(promises).then(this.init.bind(this));\n\t\t\t} else {\n\t\t\t\tthis.init();\n\t\t\t}\n\n\t\t}\n\t\t\t\n\t\tinit() {\n\t\t\t\n\t\t\tthis.getHiddenClasses();\n\t\t\tthis.moveElement();\n\t\t\t\n\t\t}\n\n\t\tgetHiddenClasses() {\n\n\t\t\tconst parentColumn = this.element.closest('.vc_column_container');\n\t\t\t\n\t\t\tif ( parentColumn ) {\n\n\t\t\t\tconst parentColumnClass = parentColumn.getAttribute('class');\n\t\t\t\tconst classList = parentColumnClass.split(' ').filter( cls => cls.search('vc_hidden') >= 0 );\n\n\t\t\t\tif ( classList.length > 0 ) {\n\t\t\t\t\tthis.element.classList.add([...classList]);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tmoveElement() {\n\n\t\t\tfastdom.mutate(() => {\n\n\t\t\t\tconst { target, type, targetRelation } = this.options;\n\t\t\n\t\t\t\tthis.$element[type]( this.$element[targetRelation](target) );\n\t\t\n\t\t\t\tthis.element.classList.add('element-was-moved');\n\n\t\t\t\tthis.element.dispatchEvent( new CustomEvent( 'element-was-moved', {bubbles: false} ) );\n\n\t\t\t})\n\n\t\t}\n\t\t\n\t}\n\t\n\t$.fn[ pluginName ] = function( options ) {\n\t\t\n\t\treturn this.each( function() {\n\t\t\t\n\t\t\tconst pluginOptions = $(this).data('move-element') || options;\n\t\t\t\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\t\t\t\n\t\t} );\n\t\t\n\t};\n\t\n}(jQuery));\n\njQuery(document).ready( function($) {\n $('[data-move-element]').liquidMoveElement();\n});","( function ( $ ) {\n\n\t'use strict';\n\n\tconst pluginName = 'liquidScrollIndicator';\n\tlet defaults = {\n\t\tstart: 'top top',\n\t\tend: 'bottom top',\n\t\tscrollingTarget: 'body',\n\t\tindicatorBase: '.lqd-scrl-indc-line',\n\t\tindicatorEl: '.lqd-scrl-indc-el',\n\t\tdir: \"y\", // \"x\", \"y\"\n\t\tscale: false,\n\t\torigin: 'null',\n\t\twaitForElementMove: false,\n\t};\n\n\tclass Plugin {\n\n\t\tconstructor( element, options ) {\n\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.options = { ...defaults, ...options };\n\n\t\t\tthis.DOM = {};\n\t\t\tthis.DOM.element = element;\n\t\t\tthis.DOM.scrollingTarget = this.getScrollingTarget();\n\t\t\tthis.DOM.indicatorBase = this.DOM.element.querySelector( this.options.indicatorBase );\n\t\t\tthis.DOM.indicatorEl = this.DOM.element.querySelector( this.options.indicatorEl );\n\n\t\t\tif ( this.options.waitForElementMove ) {\n\t\t\t\tconst $parentElementMove = $( this.DOM.element ).closest( '[data-move-element]' );\n\t\t\t\tif ( $parentElementMove.length ) {\n\t\t\t\t\treturn $parentElementMove.data( 'plugin_liquidMoveElement' ).movePromise.then( () => this.init() );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.init();\n\n\t\t}\n\n\t\tinit() {\n\n\t\t\t!$liquidContents[ 0 ].hasAttribute( 'data-liquid-stack' ) ? this.initialTrigger() : this.initMutationObserver();\n\n\t\t}\n\n\t\tgetScrollingTarget() {\n\n\t\t\tconst { scrollingTarget } = this.options;\n\n\t\t\tswitch ( scrollingTarget ) {\n\t\t\t\tcase 'this':\n\t\t\t\t\treturn this.DOM.element;\n\t\t\t\tcase 'parentHref':\n\t\t\t\t\treturn this.$element.closest( 'a' ).attr( 'href' )\n\t\t\t\tcase 'siblingsHref':\n\t\t\t\t\treturn this.$element.siblings( 'a' ).first().attr( 'href' )\n\t\t\t\tdefault:\n\t\t\t\t\tconst isLinkedToElement = scrollingTarget.startsWith( '#' );\n\t\t\t\t\tlet target = isLinkedToElement ? document.querySelector( scrollingTarget ) : scrollingTarget;\n\t\t\t\t\tif ( target === 'body' ) {\n\t\t\t\t\t\ttarget = document.body\n\t\t\t\t\t}\n\t\t\t\t\treturn target;\n\t\t\t}\n\n\t\t}\n\n\t\tinitialTrigger() {\n\n\t\t\tconst { dir, scale, start, end, origin } = this.options;\n\t\t\tconst { indicatorBase, scrollingTarget, indicatorEl } = this.DOM;\n\t\t\tconst initScale = `scale${ dir.toUpperCase() }`;\n\t\t\tconst otherScale = dir === 'x' ? 'scaleY' : 'scaleX';\n\t\t\tlet tween;\n\n\t\t\tif ( origin ) {\n\t\t\t\tgsap.set( indicatorEl, { transformOrigin: origin } );\n\t\t\t}\n\t\t\tif ( !scale ) {\n\t\t\t\ttween = gsap.to( indicatorEl, {\n\t\t\t\t\t[ dir ]: dir === 'y' ? indicatorBase.offsetHeight : indicatorBase.offsetWidth,\n\t\t\t\t\tforce3D: false\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\ttween = gsap.fromTo( indicatorEl,\n\t\t\t\t\t{\n\t\t\t\t\t\t[ initScale ]: 0,\n\t\t\t\t\t\t[ otherScale ]: 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tforce3D: false\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tScrollTrigger.create( {\n\t\t\t\ttrigger: scrollingTarget,\n\t\t\t\tanimation: tween,\n\t\t\t\tstart,\n\t\t\t\tend,\n\t\t\t\tscrub: 0.5\n\t\t\t} );\n\n\t\t}\n\n\t\tinitMutationObserver() {\n\n\t\t\tconst stackData = $liquidContents.data( 'plugin_liquidStack' );\n\n\t\t\tif ( !stackData || liquidIsMobile() || liquidWindowWidth() <= liquidMobileNavBreakpoint() ) return;\n\n\t\t\tstackData.stackInitPromise.then( plugin => {\n\n\t\t\t\tconst { dir } = this.options;\n\t\t\t\tconst { indicatorBase, indicatorEl } = this.DOM;\n\t\t\t\tconst totalSections = [ ...plugin.$sectionElements ].filter( section => !section.classList.contains( 'main-footer' ) ).length;\n\t\t\t\tconst indicatorBaseSize = dir === 'y' ? indicatorBase.offsetHeight : indicatorBase.offsetWidth\n\n\t\t\t\tnew MutationObserver( () => {\n\n\t\t\t\t\tconst currentStackPage = document.body.getAttribute( 'data-lqd-stack-page' );\n\t\t\t\t\tconst indicatorTrans = gsap.utils.mapRange( 1, totalSections, 0, indicatorBaseSize, currentStackPage );\n\n\t\t\t\t\tgsap.to( indicatorEl, {\n\t\t\t\t\t\t[ dir ]: indicatorTrans,\n\t\t\t\t\t\tease: 'linear',\n\t\t\t\t\t\tduration: 1\n\t\t\t\t\t} );\n\n\t\t\t\t} ).observe( document.body, { attributeFilter: [ 'data-lqd-stack-page' ] } )\n\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n\t$.fn[ pluginName ] = function ( options ) {\n\n\t\treturn this.each( function () {\n\n\t\t\tconst pluginOptions = { ...$( this ).data( 'scrl-indc-options' ), ...options };\n\n\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t$.data( this, \"plugin_\" + pluginName, new Plugin( this, pluginOptions ) );\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n}( jQuery ) );\n\njQuery( document ).ready( function ( $ ) {\n\t$( '[data-lqd-scroll-indicator]' ).liquidScrollIndicator();\n} );"]}
Upload File
Create Folder