"use strict"; (window.liquidPageLoaded = !1), (window.liquidIsElementor = window.liquidIsElementor || document.body.classList.contains("elementor-page")), (window.liquidElements = ($) => { (window.$liquidWindow = $(window)), (window.$liquidHtml = $("html")), (window.$liquidBody = $("body")), (window.$liquidSiteWrap = $("#wrap")), (window.$liquidContents = $("#lqd-site-content")), (window.$liquidContentsWrap = $("#lqd-contents-wrap")), (window.$liquidMainHeader = $(".main-header")), (window.$liquidMainFooter = $(".main-footer")), (window.$liquidSectionsWrapper = $liquidContentsWrap); const t = $liquidBody.hasClass("single-liquid-portfolio"), e = $liquidBody.hasClass("lqd-blog-post"); if (liquidIsElementor) { const t = $(".elementor-section-wrap", $liquidContentsWrap).first(); window.$liquidSectionsWrapper = t.legth ? t : $("> .elementor", $liquidContentsWrap).first(); } if (t) { window.$liquidSectionsWrapper = $(".pf-single-contents"); const t = window.$liquidSectionsWrapper.children(".elementor"); t.length && (window.$liquidSectionsWrapper = t); } if (e) { window.$liquidSectionsWrapper = $( ".lqd-single-post-content > .container" ); const t = window.$liquidSectionsWrapper.children(".elementor"); t.length && (window.$liquidSectionsWrapper = t); } const i = "\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", s = $("> .elementor", $liquidMainFooter).find(i); (window.$liquidSections = liquidIsElementor ? $liquidSectionsWrapper.find(i).add(s) : $liquidSectionsWrapper .add($liquidMainFooter) .find( ".lqd-section, > .vc_row, > .vc_section, > .vc_section > .vc_row, > .lqd-section-scroll-sections > .vc_row, > .vc_element" )), (t || e) && liquidIsElementor && (window.$liquidSections = window.$liquidSections.add( window.$liquidSectionsWrapper.find("> .elementor").find(i) )), e && liquidIsElementor && ((window.$liquidSections = $(window.$liquidSections.get()).add( ".lqd-post-cover" )), $(".lqd-single-post-content > .container").length && (window.$liquidSections = $(window.$liquidSections.get()).add( window.$liquidContents ))), window.$liquidSections.length || (window.$liquidSections = $liquidSectionsWrapper .find("> section") .add(window.$liquidMainFooter?.find("> section"))), (window.liquidBodyBg = window.$liquidBody.css("backgroundColor")), (window.liquidContentsBg = window.$liquidContents.css("backgroundColor")), (window.liquidMainFooterBg = window.$liquidMainFooter.css("backgroundColor")); }), liquidElements(jQuery), (window.liquidHeaderIsElementor = $liquidMainHeader.children( ".elementor:not(.lqd-mobile-sec)" ).length), (window.liquidLazyloadEnabled = $liquidBody.hasClass("lazyload-enabled")), (window.liquidCheckedFonts = []), (window.liquidIsMobile = function () { return ( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ) || ("MacIntel" === navigator.platform && navigator.maxTouchPoints > 0) || "iPad" === navigator.platform ); }), liquidIsMobile() && (document.documentElement.classList.add("vc_mobile"), document.body.setAttribute("data-elementor-device-mode", "mobile")), (window.liquidMobileNavBreakpoint = function () { return window.liquidParams && window.liquidParams.mobileNavBreakpoint ? window.liquidParams.mobileNavBreakpoint : $liquidBody.data("mobile-nav-breakpoint") || 1199; }), (window.liquidWindowWidth = function () { return window.innerWidth; }), (window.liquidWindowHeight = function () { return window.innerHeight; }), (window.liquidDocHeight = function () { return document.body.clientHeight; }), (window.liquidSlugify = function (t) { return String(t) .normalize("NFKD") .replace(/[\u0300-\u036f]/g, "") .trim() .toLowerCase() .replace(/[^a-z0-9 -]/g, "") .replace(/\s+/g, "-") .replace(/-+/g, "-"); }); const restArguments = function (t, e) { return ( (e = null == e ? t.length - 1 : +e), function (i, s) { for ( var n = Math.max(arguments.length - e, 0), o = Array(n), a = 0; a < n; a++ ) o[a] = arguments[a + e]; switch (e) { case 0: return t.call(this, o); case 1: return t.call(this, i, o); case 2: return t.call(this, i, s, o); } var l = Array(e + 1); for (a = 0; a < e; a++) l[a] = arguments[a]; return (l[e] = o), t.apply(this, l); } ); }, liquidDelay = restArguments(function (t, e, i) { return setTimeout(function () { return t.apply(null, i); }, e); }), liquidNow = Date.now || function () { return new Date().getTime(); }; (window.liquidThrottle = function (t, e, i) { var s, n, o, a, l = 0; i || (i = {}); var r = function () { (l = !1 === i.leading ? 0 : liquidNow()), (s = null), (a = t.apply(n, o)), s || (n = o = null); }, d = function () { var d = liquidNow(); l || !1 !== i.leading || (l = d); var h = e - (d - l); return ( (n = this), (o = arguments), h <= 0 || h > e ? (s && (clearTimeout(s), (s = null)), (l = d), (a = t.apply(n, o)), s || (n = o = null)) : s || !1 === i.trailing || (s = setTimeout(r, h)), a ); }; return ( (d.cancel = function () { clearTimeout(s), (l = 0), (s = n = o = null); }), d ); }), (window.liquidDebounce = function (t, e, i) { var s, n, o = function (e, i) { (s = null), i && (n = t.apply(e, i)); }, a = restArguments(function (a) { if ((s && clearTimeout(s), i)) { var l = !s; (s = setTimeout(o, e)), l && (n = t.apply(this, a)); } else s = liquidDelay(o, e, this, a); return n; }); return ( (a.cancel = function () { clearTimeout(s), (s = null); }), a ); }), (window.liquidGetMousePos = (t, e) => { let i = 0, s = 0; if ( (t || (t = window.event), t.pageX || t.pageY ? ((i = t.pageX), (s = t.pageY)) : (t.clientX || t.clientY) && ((i = t.clientX + document.body.scrollLeft + document.documentElement.scrollLeft), (s = t.clientY + document.body.scrollTop + document.documentElement.scrollTop)), e) ) { const e = t.currentTarget.getBoundingClientRect(); (i = i - e.left - window.scrollX), (s = s - e.top - window.scrollY); } return { x: i, y: s }; }); class LiquidIO { constructor(t, e, i = {}) { (this.el = t), (this.opts = i), this.setupIO(e); } setupIO(t) { new IntersectionObserver( ([e], i) => { e.isIntersecting && t && (this.opts.disconnect && i.disconnect(), t()); }, { ...this.opts } ).observe(this.el); } } class LiquidSectionsDetails { constructor() { (this.sections = []), (this.footerBg = 0 === tinycolor(liquidMainFooterBg).getAlpha() ? liquidBodyBg : liquidMainFooterBg); } static getInstance() { return ( this.instance || (this.instance = new LiquidSectionsDetails()), this.instance ); } static getDetails() { const t = this.getInstance(); return new Promise(async (e) => { if (t.sections.length < 1) { t.sections = []; const e = await t.getElementRect({ element: $liquidContents[0] }); await Promise.all(t.init(e, t)); const i = undefined; if (t.sections.filter((t) => t.isInMainContent).length < 1) { const i = { element: $liquidContents[0], $element: $liquidContents }; await t.createDetailsObj(e, e, i, !0).then((e) => { t.sections.unshift(e); }); } t.addParentSections(t), t.addInnerSections(t), await t.addLuminosity(t); } e(t.sections); }); } init(t, e) { const i = []; return ( $liquidSections.each((s, n) => { const o = new Promise((i) => { const o = { element: n, $element: jQuery(n), parent: n.parentElement, }; this.getElementRect(o).then((n) => { this.createDetailsObj(t, n, o, !1).then((t) => { (e.sections[s] = t), i(t); }); }); }); i.push(o); }), i ); } getElementRect(t) { return new Promise((e) => { new IntersectionObserver(([t], i) => { fastdom.measure(() => { i.disconnect(), e(t.boundingClientRect); }); }).observe(t.element); }); } createDetailsObj(t, e, i, s) { return new Promise((n) => { fastdom.measure(async () => { const { scrollY: o, scrollX: a } = window, l = getComputedStyle(i.element), r = {}; if ( ((r.el = i.element), (r.$el = i.$element), (r.rect = { initialOffset: { x: e.x + a, y: e.y + o }, width: e.width, height: e.height, x: e.x, y: e.y, }), (r.backgroundColor = l.backgroundColor), s) ) return (r.isMainContentElement = !0), n(r); const d = i.element.closest(".main-footer"), h = i.$element.parents(".e-container, .e-con"); if ( ((r.borderColor = l.borderColor), (r.isOuterSection = liquidIsElementor ? i.element.classList.contains("elementor-top-section") || !h.length : i.element.classList.contains("vc_section") || null == i.element.parentElement.closest(".lqd-section")), (r.isInnerSection = liquidIsElementor ? i.element.classList.contains("elementor-inner-section") || !!h.length : i.parent.classList.contains("vc_section") || null != i.element.parentElement.closest(".lqd-section")), (r.isInFooter = null != d), (r.isInMainContent = null != i.element.closest("#lqd-site-content")), (r.isHidden = r.rect.width < 1 && r.rect.height < 1), (r.predefinedLuminosity = null), (r.parentSection = null), (r.innerSections = []), r.el.hasAttribute("data-section-luminosity") && (r.predefinedLuminosity = r.el.getAttribute( "data-section-luminosity" )), r.isInFooter && ((r.parentFooter = d), d.hasAttribute("data-sticky-footer"))) ) { const e = t.height, i = document.body.offsetHeight - (t.y + o) - t.height, s = Math.abs(window.innerHeight - i - r.rect.y); (r.rect.initialOffset.y = e + s), (r.rect.y = e + s); } n(r); }); }); } addParentSections(t) { const e = undefined; t.sections .filter((t) => t.isInnerSection) .forEach((e) => { let i = null; (i = liquidIsElementor ? e.el.closest(".elementor-top-section") || e.$el.parents(".e-container") || e.$el.parents(".e-con") : e.el.closest(".vc_section") || e.el.parentElement.closest(".lqd-section")), t.sections.forEach((t) => { t.el === i && (e.parentSection = t); }); }); } addInnerSections(t) { const e = t.sections.filter((t) => t.isInnerSection); t.sections.forEach((i, s) => { i.isInnerSection || e.forEach((e) => { e.parentSection && e.parentSection.el === i.el && t.sections[s].innerSections.push(e); }); }); } getLuminosity(t, e) { let { backgroundColor: i } = t; return ( t.isInnerSection && t.parentSection && 0 === tinycolor(i).getAlpha() && (i = t.parentSection.backgroundColor), 0 === tinycolor(i).getAlpha() && (i = t.isInFooter ? e.footerBg : window.liquidContentsBg), tinycolor(i).isDark() ? "dark" : "light" ); } async addLuminosity(t) { t.sections.forEach(async (e) => { (e.isBgTransparent = 0 === tinycolor(e.backgroundColor).getAlpha()), (e.luminosity = e.predefinedLuminosity ? e.predefinedLuminosity : t.getLuminosity(e, t)), await fastdomPromised.mutate(() => { e.el.setAttribute("data-section-luminosity", e.luminosity); }); }); } } !(function ($) { const t = "liquidPreloader"; let e = { animationType: "fade", animationTargets: "self", dir: "x", stagger: 0, duration: 1400, }; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = $.extend({}, e, s)), (this.element = i), (this.$element = $(i)), (this.animationTargets = this.getAnimationTargets()), (this.onPreloaderHiddenEvent = new CustomEvent( "lqd-preloader-anim-done" )), this.onPageLoad(); } getAnimationTargets() { const { animationTargets: t } = this.options; return "self" === t ? this.element : document.querySelectorAll(t); } getAnimationProperties() { const { animationType: t } = this.options; return this[`${t}Properties`](); } fadeProperties() { const t = undefined, e = undefined; return { animateIn: { opacity: [0, 1] }, animateOut: { opacity: [1, 0] }, }; } slideProperties() { const { dir: t } = this.options, e = undefined, i = undefined; return { animateIn: { [t]: ["100%", "0%"] }, animateOut: { [t]: ["0%", "-100%"] }, }; } scaleProperties() { const t = undefined, e = undefined; return { animateIn: { [`scale${this.options.dir.toUpperCase()}`]: [0, 1] }, animateOut: { [`scale${this.options.dir.toUpperCase()}`]: [1, 0] }, }; } onPageLoad() { $liquidBody.addClass("lqd-page-loaded lqd-preloader-animations-started"), $liquidBody.removeClass("lqd-page-leaving lqd-page-not-loaded"), this.hidePreloader(); } hidePreloader() { const t = this.options.stagger / 1e3, e = this.options.duration / 1e3, i = gsap.timeline({ duration: e, ease: "expo.out", stagger: t, onComplete: () => { this.$element.hide(), $liquidBody.removeClass("lqd-preloader-animations-started"), $liquidBody.addClass("lqd-preloader-animations-done"), $(this.animationTargets).css("transform", ""), document.dispatchEvent(this.onPreloaderHiddenEvent); }, }); $(this.animationTargets).each((e, s) => { const n = $(s); if (s.hasAttribute("data-animations")) { const o = n.data("animations"); i.to(s, { ...o }, t * e); } else { const n = this.getAnimationProperties().animateOut; i.fromTo( s, { [Object.keys(n)[0]]: Object.values(n)[0][0] }, { [Object.keys(n)[0]]: Object.values(n)[0][1] }, t * e ); } }); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("preloader-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), // $liquidWindow.on("pageshow load", (t) => { // ("elementorFrontend" in window && elementorFrontend.isEditMode()) || // (liquidPageLoaded || jQuery(".lqd-preloader-wrap").liquidPreloader(), // (liquidPageLoaded = !0)); // }), (function ($) { const t = "liquidSubmenu"; let e = { toggleType: "fade", handler: "mouse-in-out", animationSpeed: 200, }; class i { constructor(i, s) { (this.element = i), (this.$element = $(i)), (this.options = { ...e, ...s }), (this._defaults = e), (this._name = t), (this.rects = []), (this.windowWidth = fastdom.measure(liquidWindowWidth)()), (this.itemsAreFullwidth = this.element.classList.contains( "lqd-menu-items-block" )), (this.$submenuParents = $( this.$element .find(".menu-item-has-children, .page_item_has_children") .get() .reverse() )), (this.$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"]' )), (this.reactToMegamenuEnabled = "true" === $liquidMainHeader.attr("data-react-to-megamenu")), this.init(); } init() { const { handler: t } = this.options; this.$submenuParents.each(async (e, i) => { const s = i.classList.contains("megamenu"), n = i.querySelector(".nav-item-children, .children"); n && ("click" === t ? this.element.classList.add("lqd-submenu-toggle-click") : "mouse-in-out" === t && this.element.classList.add("lqd-submenu-toggle-hover"), (liquidIsMobile() && $(i).is(":hidden")) || this.itemsAreFullwidth ? i.classList.add("position-applied") : s ? this.getMegamenuBackgroundLuminance(i) : await this.measure(e, n, i), this.eventHandlers(e, n, i)); }), $(document).on("click", this.closeActiveSubmenu.bind(this)), $(document).keyup((t) => { 27 == t.keyCode && this.closeActiveSubmenu(t); }); } async measure(t, e, i) { await this.getRects(t, e, i), await this.positioning(t, e, i); } eventHandlers(t, e, i) { const { handler: s } = this.options, n = $(i).children("a"); return ( "click" === s ? (n.off(), n.on("click", this.handleToggle.bind(this, "toggle"))) : ($(i).off(), $(i).on("mouseenter", this.handleToggle.bind(this, "show")), $(i).on("mouseleave", this.handleToggle.bind(this, "hide"))), document.addEventListener("lqd-header-sticky-change", async () => { await this.measure(t, e, i); }), this ); } handleToggle(t, e) { const { toggleType: i, handler: s } = this.options, n = undefined, o = $(e.currentTarget).closest("li"), a = o.children(".nav-item-children, .children"), l = o.hasClass("megamenu"), r = l && o.attr("data-bg-color"), d = l && o.attr("data-megamenu-bg-scheme"); if (!a.length) return; e.preventDefault(); const h = "show" === t || !o.hasClass("is-active"); "fade" === i && ("show" === t ? this.fadeIn(a, l, d, r) : "hide" === t ? this.fadeOut(a, l) : "toggle" === t && this.fadeToggle(a, l, d, r)), "slide" === i && ("show" === t ? this.slideDown(a, l, d, r) : "hide" === t ? this.slideUp(a, l) : "toggle" === t && this.slideToggle(a, l, d, r)), o .toggleClass( "is-active " + ("mouse-in-out" === s ? "is-hovered" : ""), h ) .siblings() .removeClass( "is-active " + ("mouse-in-out" === s ? "is-hovered" : "") ), document.dispatchEvent( new CustomEvent("lqd-submenu-change", { bubbles: !1, detail: { state: h ? "show" : "hide", $submenu: a }, }) ); } fadeToggle(t, e, i, s) { const { handler: n } = this.options, o = t.closest("li"); "click" === n && (t.css({ visibility: "visible", opacity: o.hasClass("is-active") ? 0 : 1, }), t[o.hasClass("is-active") ? "show" : "hide"](), o .siblings() .find(".nav-item-children, .children") .stop() .fadeOut(this.options.animationSpeed), t.stop().fadeToggle(this.options.animationSpeed)), this.reactToMegamenuEnabled && ($liquidMainHeader.removeClass( "megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent" ), $liquidMainHeader.toggleClass(`megamenu-scheme-${i}`, e), this.$elementorHeaderWidgets && "transparent" !== i && !$liquidMainHeader.hasClass("is-stuck") && (this.$elementorHeaderWidgets.removeClass( "lqd-active-row-dark lqd-active-row-light" ), this.$elementorHeaderWidgets.addClass(`lqd-active-row-${i}`))), $liquidMainHeader.toggleClass("megamenu-item-active", e), e && $liquidMainHeader[0].style.setProperty( "--lqd-megamenu-background-color", s ); } fadeIn(t, e, i, s) { const { handler: n } = this.options, o = t.closest("li"); "click" === n && (t.css({ visibility: "visible", display: "none", opacity: 0 }), o .siblings() .find(".nav-item-children, .children") .stop() .fadeOut(this.options.animationSpeed), t.stop().fadeIn(this.options.animationSpeed)), e && (this.reactToMegamenuEnabled && (this.$elementorHeaderWidgets && "transparent" !== i && !$liquidMainHeader.hasClass("is-stuck") && (this.$elementorHeaderWidgets.removeClass( "lqd-active-row-dark lqd-active-row-light" ), this.$elementorHeaderWidgets.addClass(`lqd-active-row-${i}`)), $liquidMainHeader.removeClass( "megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent" ), $liquidMainHeader.addClass(`megamenu-scheme-${i}`)), $liquidMainHeader.addClass("megamenu-item-active"), $liquidMainHeader[0].style.setProperty( "--lqd-megamenu-background-color", s )), t.find("[data-lqd-flickity]").length && t.find("[data-lqd-flickity]").flickity("resize"); } fadeOut(t, e) { const { handler: i } = this.options, s = t.closest("li"); "click" === i && (t.css({ visibility: "visible", display: "block", opacity: s.hasClass("is-active") ? 1 : 0, }), s .siblings() .find(".nav-item-children, .children") .stop() .fadeOut(this.options.animationSpeed), t.stop().fadeOut(this.options.animationSpeed)), e && (this.reactToMegamenuEnabled && (this.$elementorHeaderWidgets && this.$elementorHeaderWidgets.removeClass( "lqd-active-row-dark lqd-active-row-light" ), $liquidMainHeader.removeClass( "megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent" )), $liquidMainHeader.removeClass("megamenu-item-active")); } slideToggle(t, e, i, s) { t .closest("li") .siblings() .find(".nav-item-children, .children") .stop() .slideUp(this.options.animationSpeed), t.stop().slideToggle(this.options.animationSpeed), e && (this.reactToMegamenuEnabled && (this.$elementorHeaderWidgets && "transparent" !== i && !$liquidMainHeader.hasClass("is-stuck") && (this.$elementorHeaderWidgets.removeClass( "lqd-active-row-dark lqd-active-row-light" ), this.$elementorHeaderWidgets.addClass(`lqd-active-row-${i}`)), $liquidMainHeader[0].style.setProperty( "--lqd-megamenu-background-color", s ), $liquidMainHeader.removeClass( "megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent" ), $liquidMainHeader.toggleClass(`megamenu-scheme-${i}`)), $liquidMainHeader.toggleClass("megamenu-item-active")); } slideDown(t, e, i, s) { t .closest("li") .siblings() .find(".nav-item-children, .children") .stop() .slideUp(this.options.animationSpeed), t.stop().slideDown(this.options.animationSpeed), e && (this.reactToMegamenuEnabled && (this.$elementorHeaderWidgets && "transparent" !== i && !$liquidMainHeader.hasClass("is-stuck") && (this.$elementorHeaderWidgets.removeClass( "lqd-active-row-dark lqd-active-row-light" ), this.$elementorHeaderWidgets.addClass(`lqd-active-row-${i}`)), $liquidMainHeader[0].style.setProperty( "--lqd-megamenu-background-color", s ), $liquidMainHeader.removeClass( "megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent" ), $liquidMainHeader.addClass(`megamenu-scheme-${i}`)), $liquidMainHeader.addClass("megamenu-item-active")); } slideUp(t, e) { t.stop().slideUp(this.options.animationSpeed), e && (this.reactToMegamenuEnabled && (this.$elementorHeaderWidgets && this.$elementorHeaderWidgets.removeClass( "lqd-active-row-dark lqd-active-row-light" ), $liquidMainHeader.removeClass( "megamenu-scheme-dark megamenu-scheme-light megamenu-scheme-transparent" )), $liquidMainHeader.removeClass("megamenu-item-active")); } getMegamenuBackgroundLuminance(t) { const e = t.querySelector(".lqd-megamenu-rows-wrap"); let i; fastdom.measure(() => { const t = getComputedStyle(e); i = tinycolor(t.backgroundColor); }), fastdom.mutate( () => ( t.setAttribute("data-bg-color", i), 0 === i.getAlpha() ? t.setAttribute("data-megamenu-bg-scheme", "transparent") : i.isLight() ? t.setAttribute("data-megamenu-bg-scheme", "light") : i.isDark() ? t.setAttribute("data-megamenu-bg-scheme", "dark") : void 0 ) ); } closeActiveSubmenu(t) { const { toggleType: e } = this.options; t.keyCode ? (this.$submenuParents.each((t, i) => { const s = $(i); s.removeClass("active, is-active"), this["fade" === e ? "fadeOut" : "slideUp"]( s.children(".nav-item-children, .children"), s.hasClass("megamenu") ); }), document.dispatchEvent( new CustomEvent("lqd-submenu-change", { bubbles: !1, detail: { state: "hide", $submenu: null }, }) )) : this.$submenuParents.each(async (i, s) => { const n = $(s), o = n.children("a"); n.hasClass("is-active") && (o.is(t.target) || n.is(t.target) || n.has(t.target).length || (n.removeClass("active, is-active"), this["fade" === e ? "fadeOut" : "slideUp"]( n.children(".nav-item-children, .children"), n.hasClass("megamenu") ), document.dispatchEvent( new CustomEvent("lqd-submenu-change", { bubbles: !1, detail: { state: "hide", $submenu: null }, }) ))); }); } async getRects(t, e, i) { return ( (this.rects[t] = { submenuRect: {}, subParentRect: {} }), fastdomPromised .measure( () => new Promise((t) => { new IntersectionObserver(([e], i) => { const { boundingClientRect: s } = e; i.disconnect(), t(s); }).observe(e); }) ) .then( (e) => ( (this.rects[t].submenuRect = e), new Promise((t) => { new IntersectionObserver(([e], i) => { const { boundingClientRect: s } = e; i.disconnect(), t(s); }).observe(i); }) ) ) .then((e) => { this.rects[t].subParentRect = e; }) ); } positioning(t, e, i) { return fastdomPromised.mutate(() => { const s = this.rects[t].submenuRect, n = this.rects[t].subParentRect; s.left + s.width >= this.windowWidth && e.classList.add("to-left"), i.style.setProperty("--item-height", `${n.height}px`), i.classList.add("position-applied"); }); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("submenu-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { $(".main-nav, .lqd-custom-menu").liquidSubmenu(); }), (function ($) { const t = "liquidMobileNav"; let e = {}; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = { ...e, ...s }), (this.element = i), (this.$element = $(i)), (this.$mobileSec = $(".lqd-mobile-sec", $liquidMainHeader)), (this.$mobileSecInner = $(".lqd-mobile-sec-inner", this.$mobileSec)), (this.$mobileNavCollapse = $( ".mobile-navbar-collapse", this.$mobileSec )), (this.$submenuExpanders = $(".submenu-expander")), (this.isModernMobileNav = document.body.hasAttribute("data-mobile-nav-style") && "modern" === document.body.getAttribute("data-mobile-nav-style")), (this.$navItems = []), this.init(); } init() { this.mobileExpander(), this.eventHandlers(), document.body.hasAttribute("data-mobile-header-builder") || (this.removeStyleTags(), this.addHeightVar(), this.mobileModules(), "elementorFrontend" in window && !elementorFrontend.isEditMode() && this.$mobileSec.addClass("elementor")); } mobileExpander() { this.$submenuExpanders.attr("role", "button"), this.$submenuExpanders.attr("tabindex", 0), this.$mobileNavCollapse .add(".nav-item-children", this.$mobileNavCollapse) .add(".nav-item-children", $(".ld-sd-inner")) .css({ display: "block", visibility: "hidden" }), this.$submenuExpanders.each((t, e) => { const i = $(e), s = i.parent(), n = s.css("paddingTop"), o = undefined; "absolute" === i.css("position") && i.css({ top: (s.height() + parseInt(n, 10)) / 2 - 18 }), i.insertAfter(s); }), this.$mobileNavCollapse .add(".nav-item-children", this.$mobileNavCollapse) .add(".nav-item-children", $(".ld-sd-inner")) .css({ display: "", visibility: "" }); } eventHandlers() { this.$submenuExpanders.off().on("click keypress", (t) => { if ( t.code && "Enter" !== t.code && "Space" !== t.code && "NumpadEnter" !== t.code ) return; t.preventDefault(); const e = $(t.currentTarget).closest("li"), i = e.children(".nav-item-children, .children"), s = e.closest(".navbar-collapse-inner"), n = e.hasClass("is-active"); e.toggleClass("is-active"), e .siblings() .removeClass("is-active") .find(".nav-item-children, .children") .stop() .slideUp(200), i.stop().slideToggle(300, () => { this.isModernMobileNav && !n && s.length && s.animate({ scrollTop: s.scrollTop() + (e.offset().top - s.offset().top), }); }); }); } removeStyleTags() { fastdom.mutate(() => { this.$mobileSec .find(".navbar-collapse style[data-type=vc_shortcodes-custom-css]") .remove(); }); } addHeightVar() { fastdom.mutate(() => { this.$mobileSecInner.length && document.documentElement.style.setProperty( "--lqd-mobile-sec-height", `${this.$mobileSecInner[0].offsetHeight}px` ); }); } mobileModules() { const t = $(".lqd-show-on-mobile", this.element); if (!t.length) return; const e = $(".lqd-mobile-modules-container", this.$mobileSec); fastdom.mutate(() => { e.removeClass("empty"), t.each((t, i) => { const s = $(i); if (!s.children().length) return !1; const n = s.clone(!0), o = $("[data-target]", n); if (o.length) { const t = o.attr("data-target"), e = $(t, n); e.attr({ id: `${t.replace("#", "")}-cloned` }), o.attr({ "data-target": `${t}-cloned`, "aria-controls": `${t.replace("#", "")}-cloned`, }), o.attr({ "data-bs-target": `${t}-cloned`, "aria-controls": `${t.replace("#", "")}-cloned`, }), e.on("show.bs.collapse", () => { e.add(o).addClass("is-active"); }), e.on("hide.bs.collapse", () => { e.add(o).removeClass("is-active"); }); } n.appendTo(e), n.hasClass("header-module") || n.wrap('
'); }); }); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("mobilenav-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function () { $liquidMainHeader.liquidMobileNav(); }), (function ($) { const t = "liquidButton"; let e = {}; class i { constructor(i, s) { (this.element = i), (this.options = $.extend({}, e, s)), (this._defaults = e), (this._name = t), this.init(); } init() { this.gradientBorderRoundness(); } gradientBorderRoundness() { const t = undefined, e = $(this.element); if ( e.find(".btn-gradient-border").length && e.hasClass("circle") && e.is(":visible") ) { const t = e.find(".btn-gradient-border").children("rect"), i = e.height(); t.attr({ rx: i / 2, ry: i / 2 }); } } } $.fn[t] = function (e) { return this.each(function () { const s = $(this).data("plugin-options") || e; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) {}), (function ($) { function t(t, s) { (this.element = t), (this.options = $.extend({}, i, s)), (this._defaults = i), (this._name = e), this.init(); } const e = "liquidFitText"; let i = { compressor: 1, minFontSize: Number.NEGATIVE_INFINITY, maxFontSize: Number.POSITIVE_INFINITY, }; (t.prototype = { init() { this.setMinFontSize(), this.setMaxFontSize(), this.resizer(), this.onWindowResize(); }, setMinFontSize() { const t = this.options.minFontSize, e = $(this.element).css("fontSize"); "currentFontSize" == t && (this.options.minFontSize = e); }, setMaxFontSize() { const t = this.options.maxFontSize, e = $(this.element).css("fontSize"); "currentFontSize" == t && (this.options.maxFontSize = e); }, resizer() { const t = this.options, e = t.compressor, i = t.maxFontSize, s = t.minFontSize, n = $(this.element), o = n.parent(".ld-fancy-heading").length ? n.parent().width() : n.width(); n.css( "font-size", Math.max(Math.min(o / (10 * e), parseFloat(i)), parseFloat(s)) ); }, onWindowResize() { $(window).on( "resize.fittext orientationchange.fittext", this.resizer.bind(this) ); }, }), ($.fn[e] = function (i) { return this.each(function () { const s = $(this).data("fittext-options") || i; $.data(this, "plugin_" + e) || $.data(this, "plugin_" + e, new t(this, s)); }); }); })(jQuery), jQuery(document).ready(function ($) { $("[data-fittext]").liquidFitText(); }), jQuery(document).ready(function ($) { if (liquidLazyloadEnabled) { const t = liquidParams?.lazyLoadOffset, e = t >= 0 ? t : 500; window.liquidLazyload = new LazyLoad({ elements_selector: ".ld-lazyload", threshold: e, callback_loaded: (t) => { const e = $(t), i = e.closest("[data-liquid-masonry=true]"), s = e.closest(".flex-viewport"), n = e.closest("[data-webglhover]"), o = e.closest("[data-reveal]"); e.parent().not("#wrap, #lqd-site-content").addClass("loaded"), e.closest("[data-responsive-bg=true]").liquidResponsiveBG(), i.length && i.data("isotope") && i.isotope("layout"), s.length && s.parent().data("flexslider") && s.height(e.height()), n.length && !liquidIsMobile() && n.liquidWebGLHover(), o.length && o.liquidReveal(); }, }); } }), (function ($) { const t = "liquidInView"; let e = { delayTime: 0, onImagesLoaded: !1, toggleBehavior: "stay" }; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = $.extend({}, e, s)), (this.element = i), (this.$element = $(i)), (this.$sentinel = null), (this.isVisible = !1), (this.imagesAlreadyLoaded = !1), (this.isFixedPos = fastdom.measure( () => "fixed" === this.$element.css("position") )()), (this.windowWidth = fastdom.measure(liquidWindowWidth)()), (this.windowHeight = fastdom.measure(liquidWindowHeight)()), this.initIO(); } initIO() { const { toggleBehavior: t } = this.options; new IntersectionObserver( ([e], i) => { fastdomPromised .measure(() => ({ boundingClientRect: e.boundingClientRect, scrollY: window.scrollY, })) .then(({ boundingClientRect: s, scrollY: n }) => { fastdom.mutate(() => { "toggleInView" === t && (n + this.windowHeight >= s.top + n ? ((this.isVisible = !0), this.callFns()) : n <= s.bottom + n && ((this.isVisible = !1), this.callFns())), e.isIntersecting && "stay" === t ? (i.disconnect(), (this.isVisible = !0), this.callFns()) : e.isIntersecting || "toggleOutOfView" !== t || this.onOutOfView(); }); }); }, { threshold: "toggleInView" === t ? [0, 0.25, 0.5, 0.75, 1] : [0] } ).observe(this.isFixedPos ? this.$element.parent()[0] : this.element); } callFns() { this.options.onImagesLoaded || this.imagesAlreadyLoaded ? imagesLoaded(this.element, () => { (this.imagesAlreadyLoaded = !0), this.run(); }) : this.run(); } run() { const { delayTime: t } = this.options; t <= 0 ? this.onInView() : (this.timeoutId = setTimeout(this.onInView.bind(this), t)); } onInView() { this.$element.toggleClass("is-in-view", this.isVisible), clearTimeout(this.timeoutId); } onOutOfView() { const { toggleBehavior: t } = this.options; "toggleOutOfView" === t && (this.isVisible = !1), this.isVisible || this.$element.removeClass("is-in-view"); } } $.fn[t] = function (e) { return this.each(function () { const s = $(this).data("inview-options") || e; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { if (!$liquidContents.length) return $("[data-inview]").liquidInView(); const t = () => { $liquidBody.hasClass("lqd-preloader-activated") ? document.addEventListener("lqd-preloader-anim-done", () => { $("[data-inview]").liquidInView(); }) : $("[data-inview]").liquidInView(); }; if ($liquidContents[0].hasAttribute("data-liquid-stack")) { const e = $liquidContents.attr("data-stack-options"); if (e) { const i = JSON.parse(e), { disableOnMobile: s } = i; s && (liquidIsMobile() || liquidWindowWidth() <= liquidMobileNavBreakpoint()) && t(); } } else t(); }), (function ($) { const t = "liquidFullscreenNav"; let e = {}; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = { ...e, ...s }), (this.DOM = {}), (this.DOM.element = i), (this.DOM.$element = $(i)), this.init(); } init() { this.DOM.$element .children(".header-modules-container") .find(".lqd-head-col") .removeClass("lqd-head-col"); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("fullscreen-nav-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { $(".navbar-fullscreen").liquidFullscreenNav(); }), (function ($) { const t = $("body"), e = "liquidToggle"; let i = { type: "click", cloneTriggerInTarget: !1, closeOnOutsideClick: !0, toggleDelay: 300, }; class s { constructor(t, s) { (this.element = t), (this.$element = $(t)), (this.options = { ...i, ...s }), (this._defaults = i), (this._name = e), (this.$targetElement = $( this.$element.attr("data-target") || this.$element.attr("data-bs-target") )), (this.$parentElement = this.$element.parent()), (this.isInVerticalBar = this.$element.closest( ".lqd-stickybar-wrap" ).length), (this.isSearchModule = this.$parentElement.hasClass("ld-module-search")), (this.isCartModule = this.$parentElement.hasClass("ld-module-cart")), (this.$clonedTrigger = null), (this.isOpened = !1), (this.isInHeader = $liquidMainHeader.has(this.element).length), (this.windowWidth = fastdom.measure(liquidWindowWidth)()), (this.targetRect = {}), (this.isBS5 = "undefined" != typeof bootstrap), this.$element.hasClass("lqd-custom-menu-dropdown-btn") && this.$element.parents(".header-module").length && (this.options.type = "hoverFade"), this.init(); } async init() { const t = this.$targetElement.not(".navbar-collapse"); this.isInVerticalBar || !t.length || liquidIsMobile() || (t[0].classList.add("positioning"), await this.measure(t[0]), await this.positioning(t[0])), this.addBodyClassnames(), this.eventHandlers(), this.cloneTriggerInTarget(), this.cloneTargetInBody(); } measure(t) { return fastdomPromised .measure( () => new Promise((e) => { new IntersectionObserver(([t], i) => { i.disconnect(), e(t.boundingClientRect); }).observe(t); }) ) .then((t) => { this.targetRect = t; }); } positioning(t) { return fastdomPromised.mutate(() => { this.targetRect.width + this.targetRect.left >= this.windowWidth && (t.classList.remove("left"), t.classList.add("right")), this.targetRect.left < 0 && (t.classList.remove("right"), t.classList.add("left")), t.classList.remove("positioning"); }); } addBodyClassnames() { this.$parentElement[0].hasAttribute("data-module-style") && t.addClass(this.$parentElement.attr("data-module-style")); } eventHandlers() { const { type: t } = this.options; "hover" === t ? (this.$element.on("mouseenter", () => { this.$targetElement.collapse("show"); }), this.$element.add(this.$targetElement).on("mouseleave", () => { this.$targetElement.collapse("hide"); })) : "hoverFade" !== t || liquidIsMobile() || fastdom.mutate(() => { let t = !1; this.$targetElement.addClass("lqd-dropdown-fade-onhover"), this.$element.add(this.$targetElement).on("mouseenter", () => { this.$targetElement.addClass("is-active"), this.$targetElement.trigger("shown.bs.collapse"), t && clearTimeout(t); }), this.$element.add(this.$targetElement).on("mouseleave", () => { t = setTimeout(() => { this.$targetElement.removeClass("is-active"), this.$targetElement.trigger("hidden.bs.collapse"), t && clearTimeout(t); }, this.options.toggleDelay); }); }), this.isBS5 ? this.$targetElement.each((t, e) => { e.addEventListener("show.bs.collapse", this.onShow.bind(this)), e.addEventListener( "shown.bs.collapse", this.onShown.bind(this) ), e.addEventListener( "hide.bs.collapse", this.onHide.bind(this) ), e.addEventListener( "hidden.bs.collapse", this.onHidden.bind(this) ); }) : (this.$targetElement.on( "show.bs.collapse", this.onShow.bind(this) ), this.$targetElement.on( "shown.bs.collapse", this.onShown.bind(this) ), this.$targetElement.on( "hide.bs.collapse", this.onHide.bind(this) ), this.$targetElement.on( "hidden.bs.collapse", this.onHidden.bind(this) )), $(document).on("click", (t) => { this.closeAll.call(this, t); }), $(document).on("keyup", (t) => { "Escape" === t.key && this.closeAll.call(this, t); }), this.isInHeader && document.addEventListener( "lqd-header-sticky-visibility-change", (t) => { this.isOpened && "hide" === t.detail.state && this.$targetElement.collapse("hide"); } ); } onShow(t) { const e = this.$element.attr("data-target") || this.$element.attr("data-bs-target"); $("html").addClass("module-expanding"), this.isSearchModule ? $("html").addClass("lqd-module-search-expanded") : this.isCartModule && $("html").addClass("lqd-module-cart-expanded"), this.$targetElement .add(this.element) .add(this.$clonedTrigger) .addClass("is-active"), e.replace("#", "") === $(t.target).attr("id") && (this.toggleClassnames(), this.focusOnSearch()), (this.isOpened = !0); const i = setTimeout(() => { this.$targetElement .add(this.element) .add(this.$clonedTrigger) .removeClass("collapsed"), this.$targetElement.removeClass("collapse"), !this.options.changeClassnames && this.$targetElement.hasClass("navbar-fullscreen") && $liquidHtml.addClass("overflow-hidden"), i && clearTimeout(i); }, 10); } onShown() { $("html").removeClass("module-expanding"), window.liquidLazyload && window.liquidLazyload.update(); } onHide(t) { const e = this.$element.attr("data-target") || this.$element.attr("data-bs-target"); $("html").addClass("module-collapsing"), this.$targetElement .add(this.element) .add(this.$clonedTrigger) .removeClass("is-active"), e.replace("#", "") === $(t.target).attr("id") && this.toggleClassnames(), (this.isOpened = !1); const i = setTimeout(() => { this.$targetElement .add(this.element) .add(this.$clonedTrigger) .addClass("collapsed"), this.$targetElement.addClass("collapse"), !this.options.changeClassnames && this.$targetElement.hasClass("navbar-fullscreen") && $liquidHtml.removeClass("overflow-hidden"), i && clearTimeout(i); }, 10); } onHidden() { $("html").removeClass( "module-collapsing lqd-module-search-expanded lqd-module-cart-expanded" ); } toggleClassnames() { $.each(this.options.changeClassnames, (t, e) => { $(t).toggleClass(e, !this.isOpened); }); } focusOnSearch() { const t = this; t.$targetElement.find("input[type=search]").length && setTimeout(function () { t.$targetElement.find("input[type=search]").focus().select(); }, 150); } shouldIGetClosed(t) { const { closeOnOutsideClick: e } = this.options; if ("boolean" == typeof e) return e; { const { ifNotIn: i } = e, s = undefined; return !$(i).has(t).length; } } closeAll(t) { const { closeOnOutsideClick: e } = this.options, i = this.shouldIGetClosed(this.$targetElement); (t.keyCode || (!this.$targetElement.is(t.target) && !this.$targetElement.has(t.target).length)) && ((e && i) || ("boolean" == typeof e && e)) && (this.isBS5 && this.$targetElement.length && new bootstrap.Collapse(this.$targetElement[0], { toggle: !1, show: !1, hide: !0, }), this.$targetElement.collapse("hide")); } cloneTriggerInTarget() { (("lqd-mobile-sec-nav" === this.$targetElement.attr("id") && "modern" === t.attr("data-mobile-nav-style")) || this.options.cloneTriggerInTarget || this.$targetElement.hasClass("navbar-fullscreen")) && (this.$clonedTrigger = this.$element .clone(!0) .prependTo(this.$targetElement)); } cloneTargetInBody() { "lqd-mobile-sec-nav" === this.$targetElement.attr("id") && "modern" === t.attr("data-mobile-nav-style") && this.$targetElement .children(".main-nav, .header-module") .wrapAll(''); } } $.fn[e] = function (t) { return this.each(function () { const i = { ...$(this).data("toggle-options"), ...t }; $.data(this, "plugin_" + e) || $.data(this, "plugin_" + e, new s(this, i)); }); }; })(jQuery), jQuery(document).ready(function ($) { $("[data-ld-toggle]").liquidToggle(); }), (function ($) { const t = "liquidResponsiveBG"; let e = {}; class i { constructor(i, s) { (this.element = i), (this.$element = $(i)), (this.options = $.extend({}, e, s)), (this._defaults = e), (this._name = t), (this.targetImage = null), (this.targetImage = this.element.querySelector("img")), this.init(); } init() { if (void 0 === this.targetImage || null === this.targetImage) return ( console.error( "There should be an image to get the source from it." ), !1 ); this.setBgImage(), imagesLoaded(this.targetImage).on("done", this.onLoad.bind(this)); } getCurrentSrc() { let t = this.targetImage.currentSrc ? this.targetImage.currentSrc : this.targetImage.src; return ( /data:image\/svg\+xml/.test(t) && (t = this.targetImage.dataset.src), t ); } setBgImage() { this.$element.css({ backgroundImage: `url( ${this.getCurrentSrc()} )`, }); } reInitparallaxBG() { const t = this.$element .children(".lqd-parallax-container") .find(".lqd-parallax-figure"); t.length && t.css({ backgroundImage: `url( ${this.getCurrentSrc()} )` }); } onLoad() { this.reInitparallaxBG(), this.$element.addClass("loaded"); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("responsive-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { $("[data-responsive-bg=true]") .filter((t, e) => !e.querySelector(".ld-lazyload")) .liquidResponsiveBG(); }), (function ($) { const t = $liquidContents.length && $liquidContents[0].getAttribute("data-liquid-bg-options"), e = t && (!0 === JSON.parse(t).interactWithHeader || "true" === JSON.parse(t).interactWithHeader), i = "liquidStickyHeader"; let s = { stickyTrigger: "this", dynamicColors: !1, disableOnMobile: !1, smartSticky: !1, }; class n { constructor(t, e) { (this._defaults = s), (this._name = i), (this.options = { ...s, ...e }), (this.DOM = { element: t, $element: $(t), $stickySections: null, sentinel: null, placeholder: null, $stickyElements: null, }), (this.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", t).not(".lqd-hide-onstuck")), (this.isInTitlebar = this.DOM.element.parentElement.classList.contains("titlebar")), (this.isOverlay = "absolute" === this.DOM.$element.css("position")), (this.DOM.sentinel = null), (this.DOM.placeholder = this.DOM.$element.prev( ".lqd-sticky-placeholder" )[0]), (this.DOM.$stickyElements = this.getStickyElements()), (this.firstRow = document.body.classList.contains("single-post") ? document.querySelector(".lqd-post-cover") : $liquidSections.filter(":visible").first()[0]), (this.firstRowIsSticky = !!this.firstRow && "sticky" === getComputedStyle(this.firstRow).position), (this.stickyElsDetails = null), (this.stickySectionsHeight = 0), (this.smartStickyStuff = { state: null, prevScrollY: 0, scrolledDistance: 0, tolerance: { up: 25, down: 3 }, toleranceExceeded: !1, }), (this.wasStuck = !1), (this.isStuck = !1), this.init(); } async init() { await this.addSentinel(), !this.DOM.placeholder && (await this.addPlaceholder()), await this.getStickySectionsHeight(), await this.getStickyElsDetails(), this.DOM.element.setAttribute("data-sticky-values-measured", "true"), this.sentinelIO(), this.headerIO(), this.addStickySectionsHeight(), this.initDynamicColors(), this.handleResizeEvents(), this.eventListeners(); } eventListeners() { document.addEventListener("lqd-header-sticky-change", (t) => { const e = t.detail.stuck; this.updateStickyStates(e), this.isStuck && this.addStickySectionsHeight(); }), this.options.smartSticky && $liquidWindow.on( "scroll.lqdSmartStickyHeader", this.handleSmartSticky.bind(this) ); } updateStickyStates(t) { fastdom.mutate(() => { (this.wasStuck = this.isStuck), (this.isStuck = t), this.DOM.element.classList.toggle("is-stuck", this.isStuck), this.DOM.element.classList.toggle("is-not-stuck", !this.isStuck), (this.isOverlay && !this.isInTitlebar) || (this.DOM.placeholder.classList.toggle("d-none", !this.isStuck), this.DOM.placeholder.classList.toggle("hidden", !this.isStuck)), this.options.smartSticky && (this.isStuck ? (this.DOM.element.classList.add("lqd-smart-sticky-hide"), this.wasStuck || this.DOM.element.classList.add("lqd-just-stuck")) : ((this.smartStickyStuff.state = null), this.DOM.element.classList.remove( "lqd-smart-sticky-show", "lqd-smart-sticky-hide", "lqd-just-stuck" ))); }); } async getStickySectionsHeight() { const t = []; this.DOM.$stickySections.each((e, i) => { const s = new Promise((t) => { fastdom.measure(() => { new IntersectionObserver(([e], i) => { i.disconnect(), t(e.boundingClientRect); }).observe(i); }); }); t.push(s); }); const e = undefined; (await Promise.all(t)).forEach( (t) => (this.stickySectionsHeight += t.height) ); } addStickySectionsHeight() { const t = liquidIsElementor ? document.body : document.documentElement; fastdomPromised.mutate(() => { t.style.setProperty( "--lqd-sticky-header-height", `${this.stickySectionsHeight}px` ); }); } addPlaceholder() { return fastdomPromised.mutate(() => { const t = document.createElement("div"); t.setAttribute("class", "lqd-sticky-placeholder d-none"), (this.DOM.placeholder = t), this.DOM.element.before(t); }); } addSentinel() { return fastdomPromised.mutate(() => { const t = undefined, e = document .querySelector("#lqd-temp-sticky-header-sentinel") .content.firstElementChild.cloneNode(!0), { stickyTrigger: i } = this.options; let s = document.body; if ("first-section" === i) { const t = document.querySelector(".titlebar"); t ? (s = t) : this.firstRow && !this.firstRow.closest(".main-footer") ? this.firstRowIsSticky || (s = this.firstRow) : (this.options.stickyTrigger = "this"); } s.appendChild(e), (this.DOM.sentinel = e); }); } sentinelIO() { new IntersectionObserver(([t]) => { fastdom.measure(() => { let e = t.boundingClientRect, i = t.rootBounds; i || (i = { top: 0, bottom: window.innerHeight }), !this.isStuck && i && e.bottom < i.top ? this.fireEvent("stickyChange", !0) : this.isStuck && i && e.bottom >= i.top && e.bottom < i.bottom && this.fireEvent("stickyChange", !1); }); }).observe(this.DOM.sentinel); } headerIO() { const { stickyTrigger: t } = this.options, e = liquidIsElementor ? document.body : document.documentElement; fastdomPromised .measure(() => { const t = undefined; return { height: this.DOM.element.offsetHeight }; }) .then(({ height: i }) => { fastdom.mutate(() => { e.style.setProperty( "--lqd-sticky-header-placeholder-height", `${i}px` ), "this" === t ? e.style.setProperty( "--lqd-sticky-header-sentinel-top", "var(--lqd-sticky-header-placeholder-height)" ) : this.firstRowIsSticky && e.style.setProperty( "--lqd-sticky-header-sentinel-top", `${$(this.firstRow).outerHeight()}px` ); }); }); } stickyVisibilityChange(t) { let e = ["lqd-smart-sticky-hide", "lqd-just-stuck"], i = ["lqd-smart-sticky-show"]; "hide" === t && ((e = ["lqd-smart-sticky-show"]), (i = ["lqd-smart-sticky-hide"])), (this.smartStickyStuff.state = t), this.DOM.element.classList.remove(...e), this.DOM.element.classList.add(...i), this.fireEvent("stickyVisibility", t); } handleSmartSticky() { fastdomPromised .measure(() => { const { scrollY: t } = window, e = undefined; return { scrollY: t, scrollDirection: t > this.smartStickyStuff.prevScrollY ? "down" : "up", }; }) .then(({ scrollY: t, scrollDirection: e }) => { (this.smartStickyStuff.scrolledDistance = Math.abs( t - this.smartStickyStuff.prevScrollY )), fastdom.mutate(() => { this.isStuck && this.smartStickyStuff.toleranceExceeded && ("up" === e && "show" !== this.smartStickyStuff.state ? this.stickyVisibilityChange("show") : "down" === e && "hide" !== this.smartStickyStuff.state && this.stickyVisibilityChange("hide")), (this.smartStickyStuff.prevScrollY = t), (this.smartStickyStuff.toleranceExceeded = this.smartStickyStuff.scrolledDistance > this.smartStickyStuff.tolerance[e]); }); }); } fireEvent(t = "stickyChange", e) { fastdom.mutate(() => { "stickyChange" === t && document.dispatchEvent( new CustomEvent("lqd-header-sticky-change", { bubbles: !1, detail: { stuck: e, target: this.DOM.element }, }) ), "stickyVisibility" === t && document.dispatchEvent( new CustomEvent("lqd-header-sticky-visibility-change", { bubbles: !1, detail: { state: e, target: this.DOM.element }, }) ); }); } getStickyElements() { const t = liquidIsElementor ? this.DOM.$element .find("> .elementor:not(.lqd-mobile-sec)") .find('[data-element_type="widget"]') .filter( (t, e) => !( e.classList.contains( "elementor-widget-ld_modal_window" ) || e.closest(".ld-module-sd") || e.closest(".navbar-fullscreen") || e.closest(".lqd-modal") ) ) : this.DOM.$element .find(".lqd-head-sec-wrap, .lqd-stickybar-wrap") .find( ".lqd-head-col > .header-module, [data-lqd-interactive-color=true]" ), e = undefined; return this.DOM.element.hasAttribute("data-liquid-bg") ? t.add(this.DOM.$element).not(".navbar-brand-solid") : t.add(this.DOM.$element); } async getStickyElsDetails() { const t = [], e = liquidWindowWidth(); this.DOM.$stickyElements.each((i, s) => { const n = new Promise((t) => { new IntersectionObserver(([i], n) => { fastdom.measure(() => { n.disconnect(); let { boundingClientRect: o } = i, a = {}; (a.el = i.target), (a.moduleEl = s); let { x: l, y: r, width: d, height: h } = o; l < 0 ? (l = 0) : l >= e && (l = e - d - i.target.parentElement.offsetWidth), r < 0 && (r += window.scrollY), (a.rect = { width: d, height: h, x: l, y: r }), (a.currentColor = "default"), t(a); }); }).observe(s === this.DOM.element ? this.DOM.element : s); }); t.push(n); }); const i = await Promise.all(t); this.stickyElsDetails = i; } getSections(t) { let e = []; return ( t.forEach((t) => { let i = t; if (t.isInnerSection) { if (((i = t.parentSection), !i)) return; const s = t.backgroundColor.replace(/, /g, ",").split(" ")[0], n = i.backgroundColor.replace(/, /g, ",").split(" ")[0], o = tinycolor(s).getAlpha(), a = tinycolor(n).getAlpha(); (0 === o && !t.predefinedLuminosity) || 0 !== a || ((i = t), (e = e.filter((t) => t.el !== i.parentSection.el))); } const s = undefined; !e.some((t) => t.el === i.el) && e.push(i); }), e ); } initDynamicColors() { this.options.dynamicColors && !e && LiquidSectionsDetails.getDetails().then((t) => { const e = t.filter((t) => !t.isHidden), i = this.getSections(e), s = liquidThrottle(this.onScroll.bind(this, i), 150, { leading: !0, }); this.onScroll(i), $liquidWindow.off("scroll.lqdStickyHeader"), $liquidWindow.on("scroll.lqdStickyHeader", s); }); } onScroll(t) { for (let e = 0; e < t.length; e++) fastdomPromised.measure(() => { const i = t[e], s = { ...i.rect }; (s.y = s.initialOffset.y - window.scrollY), (s.x = s.initialOffset.x - window.scrollX); for (let t = 0; t < this.stickyElsDetails.length; t++) this.isCollide(this.stickyElsDetails[t].rect, s) && this.changeAttrs(i, this.stickyElsDetails[t]); }); } changeAttrs(t, e) { const { luminosity: i } = t, { moduleEl: s } = e; fastdom.mutate(() => { "light" === i && "dark" !== e.currentColor ? ((e.currentColor = "dark"), s.classList.add("lqd-active-row-light"), s.classList.remove("lqd-active-row-dark")) : "dark" === i && "light" !== e.currentColor && ((e.currentColor = "light"), s.classList.add("lqd-active-row-dark"), s.classList.remove("lqd-active-row-light")); }); } isCollide(t, e) { return !( t.y + t.height < e.y || t.y > e.y + e.height || t.x + t.width < e.x || t.x + t.width / 2 > e.x + e.width ); } handleResizeEvents() { $liquidWindow.on("resize", this.onResize.bind(this)), $(document).on("lqd-masonry-layout-init", this.onResize.bind(this)); } onResize() { this.headerIO(), this.initDynamicColors(); } drawIndicators(t) { const e = undefined; $( `
${t.luminosity}
` ).appendTo($liquidBody); } } $.fn[i] = function (t) { return this.each(function () { const e = { ...$(this).data("sticky-options"), ...t }; (e.disableOnMobile && liquidIsMobile()) || $.data(this, "plugin_" + i) || $.data(this, "plugin_" + i, new n(this, e)); }); }; })(jQuery), jQuery(document).ready(function ($) { const t = $("[data-sticky-header]"); if ($liquidContents.length) { const e = $liquidContents[0].hasAttribute("data-liquid-stack"), i = e && $liquidContents[0].hasAttribute("data-stack-options") && !0 === JSON.parse($liquidContents[0].getAttribute("data-stack-options")) .disableOnMobile; $liquidBody.hasClass("header-style-side") || (e && !(e && liquidIsMobile() && i)) ? e && t.attr("data-sticky-values-measured", "true") : t.liquidStickyHeader(); } }), (function ($) { const t = "liquidStickyFooter"; let e = { shadow: 0, parallax: !1 }; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = { ...e, ...s }), (this.element = i), (this.$element = $(i)), (this.footerHeight = 0), (this.windowWidth = fastdom.measure(() => window.innerWidth)()), (this.windowHeight = fastdom.measure(() => window.innerHeight)()), this.init(); } measure() { return fastdomPromised.measure(() => { this.windowWidth < 768 ? (this.footerHeight = 0) : ((this.footerHeight = this.element.offsetHeight - 2), (this.windowWidth = window.innerWidth), (this.windowHeight = window.innerHeight)); }); } init() { imagesLoaded(this.element, async () => { await this.measure(), this.addMargin(), this._addShadow(), this._handleResize(); }); } addMargin() { fastdomPromised.mutate(() => { if (this.footerHeight >= this.windowHeight) return this.$element.addClass("lqd-footer-cant-stick"); }); } _addShadow() { const { shadow: t } = this.options; t > 0 && document.body.classList.add(`lqd-sticky-footer-shadow-${t}`); } _handleResize() { const t = liquidDebounce(this._onResize.bind(this), 400); $liquidWindow.on("resize", t); } async _onResize() { await this.measure(), this.addMargin(); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("sticky-footer-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { liquidIsMobile() || $("[data-sticky-footer=true]").liquidStickyFooter(); }), (function ($) { const t = "liquidCustomCursor"; let e = { outerCursorSpeed: 0.2, outerCursorHide: !1 }; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = { ...e, ...s }), (this.clientX = -100), (this.clientY = -100), (this.magneticCords = { x: 0, y: 0 }), (this.element = i), (this.$element = $(i)), (this.initiated = !1), (this.innerCursor = document.querySelector(".lqd-cc--inner")), (this.outerCursor = document.querySelector(".lqd-cc--outer")), (this.dragCursor = document.querySelector(".lqd-cc-drag")), (this.exploreCursor = document.querySelector(".lqd-cc-explore")), (this.arrowCursor = document.querySelector(".lqd-cc-arrow")), (this.iconCursor = document.querySelector(".lqd-cc-custom-icon")), (this.cursorEls = document.querySelectorAll(".lqd-cc--el")), (this.extraCursors = document.querySelectorAll(".lqd-extra-cursor")), (this.lastMovedOtherEl = null), (this.lastMovedOtherInnerEl = null), (this.scaleOuterCursor = null), (this.scaleOuterCursorX = null), (this.scaleOuterCursorY = null), (this.activeEl = null); const n = liquidIsElementor ? document.body : document.documentElement, o = window.liquidParams?.ccOuterSize || getComputedStyle(n).getPropertyValue("--lqd-cc-size-outer"); (this.outerCursorSize = parseInt(o || 0, 10)), (this.activeCircleBg = window.liquidParams?.ccActiveCircleBg || getComputedStyle(document.body).getPropertyValue( "--lqd-cc-active-bg" )), (this.activeCircleBc = window.liquidParams?.ccActiveCircleBc || getComputedStyle(document.body).getPropertyValue( "--lqd-cc-active-bc" )), (this.innerQuickSetX = gsap.quickSetter(this.innerCursor, "x", "px")), (this.innerQuickSetY = gsap.quickSetter(this.innerCursor, "y", "px")), (this.outerQuickToX = gsap.quickTo(this.outerCursor, "x", { duration: this.options.outerCursorSpeed, })), (this.outerQuickToY = gsap.quickTo(this.outerCursor, "y", { duration: this.options.outerCursorSpeed, })), (this.extrasQuickToX = gsap.quickTo( [...this.cursorEls, ...this.extraCursors], "x", { duration: 0.1 } )), (this.extrasQuickToY = gsap.quickTo( [...this.cursorEls, ...this.extraCursors], "y", { duration: 0.1 } )), this.init(); } init() { this.options.outerCursorHide && $liquidBody.addClass("lqd-cc-outer-hidden"), this.initCursor(), this.initHovers(), document.body.classList.add("lqd-cc-init"); } initCursor() { const t = { x: window.innerWidth / 2, y: window.innerHeight / 2 }; document.addEventListener("mousemove", (t) => { (this.clientX = t.clientX), (this.clientY = t.clientY); }), gsap.ticker.add(() => { this.initiated || ((this.initiated = !0), (this.fadeOutInnerCursor = !1), (this.fadeOutInnerCursor = !1)); const e = 1 - Math.pow(0.6, gsap.ticker.deltaRatio()); if ( ((t.x += (this.clientX - t.x) * e), (t.y += (this.clientY - t.y) * e), this.innerQuickSetX(t.x), this.innerQuickSetY(t.y), this.extrasQuickToX(this.clientX), this.extrasQuickToY(this.clientY), this.isStuck || this.isMagnetic || (this.outerQuickToX(this.clientX - this.outerCursorSize / 2), this.outerQuickToY(this.clientY - this.outerCursorSize / 2)), this.isStuck && this.activeEl) ) { const t = this.activeEl.getBoundingClientRect(); let { left: e, top: i, width: s, height: n } = t; (e += s / 2 - this.outerCursorSize / 2), (i += n / 2 - this.outerCursorSize / 2), this.outerQuickToX(e), this.outerQuickToY(i); } this.isMagnetic && (this.outerQuickToX(this.magneticCords.x), this.outerQuickToY(this.magneticCords.y)), this.scaleOuterCursor && gsap.to(this.outerCursor, { scaleX: () => this.scaleOuterCursorX || 1, scaleY: () => this.scaleOuterCursorY || 1, }), this.fadeOutInnerCursor ? gsap.to(this.innerCursor, { opacity: 0 }) : gsap.to(this.innerCursor, { opacity: 1 }), this.fadeOutOuterCursor ? gsap.to(this.outerCursor, { opacity: 0 }) : gsap.to(this.outerCursor, { opacity: 1 }); }); } initHovers() { document.addEventListener("lqd-carousel-initialized", (t) => { const { carouselData: e } = t.detail, i = e.flickityData; i.nextButton && this.initCarouselNavCursor([ i.nextButton.element, i.prevButton.element, ]), i.options.draggable && (i.on("dragMove", (t) => { (this.clientX = t.clientX), (this.clientY = t.clientY); }), i.on("pointerDown", () => { this.cursorEls.forEach((t) => t.classList.add("lqd-carousel-pointer-down") ); }), i.on("pointerUp", () => { this.cursorEls.forEach((t) => t.classList.remove("lqd-carousel-pointer-down") ); }), this.initSolidCircles(i.viewport, this.dragCursor)); }), this.initPageLinksCursor(), this.initExtraCursor(), this.initSolidCircles(".lqd-cc-label-trigger", this.exploreCursor), this.initArrowCursor( ".lqd-dist-gal-menu a, .lqd-imgtxt-slider-link, .lqd-af-slide__link ~ a" ), this.initCustomIconCursor( ".lqd-cc-icon-trigger", "lqd-cc__active-icon" ), this.initButtonShapeCursors(), this.initNavTriggerCursor(), this.initMenuItemsCursor(); } initPageLinksCursor() { const t = () => { gsap.to(this.innerCursor, { scale: 2.25, backgroundColor: this.activeCircleBg, ease: "power2.out", }), gsap.to(this.outerCursor, { scale: 1.2, borderColor: this.activeCircleBc, ease: "power2.out", }); }, e = () => { gsap.to(this.innerCursor, { scale: 1, backgroundColor: "", ease: "power2.out", }), gsap.to(this.outerCursor, { scale: 1, borderColor: "", ease: "power2.out", }); }, i = undefined; [...document.querySelectorAll("a")] .filter( (t) => !( t.classList.contains("lqd-cc-icon-trigger") || t.classList.contains("lqd-cc-label-trigger") || t.classList.contains("lqd-imgtxt-slider-link") || t.closest(".carousel-items") || t.closest(".lqd-slsh-alt") || t.closest(".lqd-dist-gal-menu") || $(t).siblings(".lqd-af-slide__link").length ) ) .forEach((i) => { i.addEventListener("mouseenter", t), i.addEventListener("mouseleave", e); }); } initCarouselNavCursor(t) { const e = (t, e) => { (this.activeEl = t), (this.isStuck = !0), (this.scaleOuterCursor = !0), (this.fadeOutInnerCursor = !0), gsap.to(this.outerCursor, { borderColor: e.borderColor, borderRadius: e.borderRadius, }), this.moveOtherElements( t, [...t.querySelectorAll("i"), ...t.querySelectorAll("svg")], !0 ); }, i = () => { (this.activeEl = null), (this.isStuck = !1), (this.fadeOutInnerCursor = !1), gsap.to(this.outerCursor, { borderColor: "", borderRadius: "" }), this.moveOtherElements(); }; t.forEach((t) => { fastdomPromised .measure(() => { const e = undefined; return { navElStyle: getComputedStyle(t) }; }) .then(({ navElStyle: s }) => { t.addEventListener("mouseenter", e.bind(this, t, s)), t.addEventListener("mouseleave", i.bind(this)), t.addEventListener("click", (e) => { const s = setTimeout(() => { t.disabled && i(), clearTimeout(s); }, 10); }); }); }); } initExtraCursor() { const t = (t) => { (this.fadeOutInnerCursor = !0), (this.fadeOutOuterCursor = !0), t.classList.add("lqd-is-active"), gsap.to(t, { scale: 1, opacity: 1, duration: 0.65, ease: "expo.out", }); }, e = (t) => { (this.fadeOutInnerCursor = !1), (this.fadeOutOuterCursor = !1), t.classList.remove("lqd-is-active"), gsap.to(t, { scale: 0.15, opacity: 0, duration: 0.65, ease: "expo.out", }); }; this.extraCursors.forEach((i) => { const s = i.parentElement; s.addEventListener("mousemove", t.bind(this, i)), s.addEventListener("mouseleave", e.bind(this, i)); }); } initSolidCircles(t, e) { if (!t) return; const i = () => { (this.fadeOutInnerCursor = !0), (this.fadeOutOuterCursor = !0), e.classList.add("lqd-is-active"); }, s = () => { (this.fadeOutInnerCursor = !1), (this.fadeOutOuterCursor = !1), e.classList.remove("lqd-is-active"); }, n = (t) => { t.addEventListener("mouseenter", i), t.addEventListener("mouseleave", s); }; "string" == typeof t ? document.querySelectorAll(t).forEach((t) => n(t)) : n(t); } initArrowCursor(t) { const e = () => { (this.fadeOutInnerCursor = !0), (this.fadeOutOuterCursor = !0), this.arrowCursor.classList.add("lqd-is-active"); }, i = () => { (this.fadeOutInnerCursor = !1), (this.fadeOutOuterCursor = !1), this.arrowCursor.classList.remove("lqd-is-active"); }, s = (t) => { t.addEventListener("mouseenter", e), t.addEventListener("mouseleave", i); }; "string" == typeof t ? document.querySelectorAll(t).forEach((t) => s(t)) : s(t); } initCustomIconCursor(t) { const e = (t) => { (this.fadeOutInnerCursor = !0), (this.fadeOutOuterCursor = !0), t && this.iconCursor.style.setProperty("--cc-icon-color", t), this.iconCursor.classList.add("lqd-is-active"); }, i = () => { (this.fadeOutInnerCursor = !1), (this.fadeOutOuterCursor = !1), this.iconCursor.style.removeProperty("--cc-icon-color"), this.iconCursor.classList.remove("lqd-is-active"); }; document.querySelectorAll(t).forEach((t) => { const s = t.getAttribute("data-cc-icon-color"); t.addEventListener("mouseenter", e.bind(this, s)), t.addEventListener("mouseleave", i); }); } initButtonShapeCursors() { const t = (t, e) => { (this.isMagnetic = !0), (this.scaleOuterCursor = !0), (this.fadeOutInnerCursor = !0), gsap.to(this.outerCursor, { borderColor: e.borderColor, borderRadius: e.borderRadius, }), this.moveOtherElements(t, [ ...t.querySelectorAll("i"), ...t.querySelectorAll("svg"), ]); }, e = () => { (this.isMagnetic = !1), (this.fadeOutInnerCursor = !1), gsap.to(this.outerCursor, { borderColor: "", borderRadius: "" }), this.moveOtherElements(); }, i = undefined; document .querySelectorAll(".btn-icon-bordered, .btn-icon-solid") .forEach((i) => { const s = i.querySelector(".btn-icon"); s && fastdomPromised .measure(() => { const t = undefined; return { iconStyles: getComputedStyle(s) }; }) .then(({ iconStyles: n }) => { i.addEventListener("mouseenter", t.bind(this, s, n)), i.addEventListener("mouseleave", e.bind(this)); }); }); } initNavTriggerCursor() { const t = (t, e, i) => { (this.isMagnetic = !0), i && (this.scaleOuterCursor = !0), (this.fadeOutInnerCursor = !0), (this.fadeOutOuterCursor = !0), this.moveOtherElements(t, e); }, e = () => { (this.isMagnetic = !1), (this.fadeOutInnerCursor = !1), (this.fadeOutOuterCursor = !1), this.moveOtherElements(); }, i = document.querySelectorAll(".nav-trigger"), s = document.querySelectorAll(".ld-module-trigger"); i.forEach((i) => { const s = $(i), n = i.querySelector(".bars"), o = i.querySelector(".bars-inner"), a = s.data("plugin_liquidToggle"); a && "hover" !== a.options.type && (i.addEventListener("mouseenter", t.bind(this, n, o, !0)), i.addEventListener("mouseleave", e)); }), s.forEach((i) => { const s = $(i), n = i.querySelector(".ld-module-trigger-txt"), o = i.querySelector(".ld-module-trigger-icon"), a = s.data("plugin_liquidToggle"); a && "hover" !== a.options.type && (i.addEventListener("mouseenter", () => { const e = !i.classList.contains("lqd-module-icon-plain") && !i.parentElement.classList.contains("ld-dropdown-menu"); t(i, n, e), t(i, o, e); }), i.addEventListener("mouseleave", e)); }); } initMenuItemsCursor() { const t = (t) => { this.moveOtherElements(t); }, e = () => { this.moveOtherElements(); }, i = undefined; document.querySelectorAll(".lqd-magnetic-items").forEach((i) => { const s = undefined, n = undefined; i.querySelector("ul") .querySelectorAll(":scope > li > a") .forEach((i) => { i.addEventListener("mouseenter", t.bind(this, i)), i.addEventListener("mouseleave", e.bind(this)); }); }); } moveOtherElements(t, e, i) { let s = null; if (!t) return ( this.lastMovedOtherEl && gsap.to(this.lastMovedOtherEl, { duration: 0.4, x: 0, y: 0, clearProps: "all", }), this.lastMovedOtherInnerEl && gsap.to(this.lastMovedOtherInnerEl, { duration: 0.35, x: 0, y: 0, clearProps: "all", }), (this.scaleOuterCursor = null), (this.scaleOuterCursorX = null), (this.scaleOuterCursorY = null), void $liquidWindow.off("mousemove.lqdCCMoveOthers") ); (this.lastMovedOtherEl = t), (this.lastMovedOtherInnerEl = e), $liquidWindow.on("mousemove.lqdCCMoveOthers", (n) => { !s && (s = t.getBoundingClientRect()); const o = { x: s.left + s.width / 2 - this.clientX, y: s.top + s.height / 2 - this.clientY, }, a = Math.atan2(o.x, o.y), l = Math.sqrt(o.x * o.x + o.y * o.y); (this.magneticCords = { x: s.left + s.width / 2 - this.outerCursorSize / 2 - (Math.sin(a) * l) / 3, y: s.top + s.height / 2 - this.outerCursorSize / 2 - (Math.cos(a) * l) / 3, }), !i && gsap.to(t, { duration: 0.4, x: (-Math.sin(a) * l) / 8, y: (-Math.cos(a) * l) / 8, }), e && gsap.to(e, { duration: 0.35, x: (-Math.sin(a) * l) / 8, y: (-Math.cos(a) * l) / 8, }), this.scaleOuterCursor && ((this.scaleOuterCursorX = s.width / this.outerCursorSize), (this.scaleOuterCursorY = s.height / this.outerCursorSize)); }); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("cc-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { if ( liquidIsMobile() || window.vc_iframe || ("elementorFrontend" in window && elementorFrontend.isEditMode()) ) return; const t = undefined; (() => { const t = undefined; $("[data-lqd-custom-cursor]").each((t, e) => { const i = $( '' ); $(e).prepend(i); }); })(), $("[data-lqd-cc]").liquidCustomCursor(); }), (function ($) { function t(t, s) { (this.element = t), (this.$element = $(t)), (this.isBS5 = "undefined" != typeof bootstrap), (this.options = $.extend({}, i, s)), (this.$contents = $(".accordion-collapse", this.element)), (this.$triggers = $("[data-toggle=collapse]", this.element)), (this._defaults = i), (this._name = e), this.init(); } const e = "liquidAccordion"; let i = {}; (t.prototype = { init() { this.setHashOnLoad(), this.eventHandlers(); }, setHashOnLoad() { const t = $(this.element); if ("" !== location.hash && t.find(location.hash).length) { const e = t.find(location.hash).closest(".accordion-item"); e.find(location.hash).addClass("in"), e .find(".accordion-heading") .find("a") .attr("aria-expanded", "true") .removeClass("collapsed"), e.siblings().find(".in").removeClass("in"), e .siblings() .find(".accordion-heading") .find("a") .attr("aria-expanded", "false") .addClass("collapsed"); } }, eventHandlers() { this.isBS5 ? this.$contents.each((t, e) => { e.addEventListener("show.bs.collapse", this.onShow.bind(this)), e.addEventListener( "shown.bs.collapse", this.onShown.bind(this) ), e.addEventListener("hide.bs.collapse", this.onHide.bind(this)); }) : (this.$contents.on("show.bs.collapse", this.onShow.bind(this)), this.$contents.on("shown.bs.collapse", this.onShown.bind(this)), this.$contents.on("hide.bs.collapse", this.onHide.bind(this))); }, onShow(t) { this.toggleActiveClass(t, "show"), this.setHashOnLoad(t); const e = $(t.target); e.closest(".vc_vc_accordion_tab").length && e .closest(".vc_vc_accordion_tab") .siblings() .find(".accordion-collapse") .collapse("hide"); }, onHide(t) { this.toggleActiveClass(t, "hide"); }, toggleActiveClass(t, e) { const i = $(t.target).closest(".accordion-item"); "show" === e && i.addClass("active").siblings().removeClass("active"), "hide" === e && i.removeClass("active"); }, setHashOnShow(t) { history.pushState ? history.pushState(null, null, "#" + $(t.target).attr("id")) : (location.hash = "#" + $(t.target).attr("id")); }, onShown(t) { const e = undefined, i = $(t.target).closest(".accordion-item"), s = $(window), n = i.offset().top; this.initPlugins(i), n <= s.scrollTop() - 15 && $("html, body").animate({ scrollTop: n - 45 }, 800); }, initPlugins(t) { $("[data-split-text]", t).liquidSplitText(); }, destroy() { this.$contents.off( "show.bs.collapse shown.bs.collapse hide.bs.collapse" ); }, }), ($.fn[e] = function (i) { return this.each(function () { const s = { ...$(this).data("accordion-options"), ...i }; $.data(this, "plugin_" + e) || $.data(this, "plugin_" + e, new t(this, s)); }); }); })(jQuery), jQuery(document).ready(function ($) { $(".accordion").liquidAccordion(); }), (function ($) { const t = "liquidAjaxLoadMore"; let e = { trigger: "inview" }; class i { constructor(i, s) { (this.element = i), (this.$element = $(i)), (this.options = $.extend({}, e, s)), (this._defaults = e), (this._name = t), (this.observer = null), this.init(); } init() { const { trigger: t } = this.options; "inview" == t && this.setupIntersectionObserver(), "click" == t && this.onClick(); } onClick() { this.$element.on("click", this.loadItems.bind(this)); } setupIntersectionObserver() { (this.observer = new IntersectionObserver( (t) => { t.forEach((t) => { t.isIntersecting && this.loadItems(); }); }, { threshold: [1] } )), this.observer.observe(this.element); } loadItems(t) { t && t.preventDefault(); const e = this, i = e.options, s = $(i.wrapper), n = e.$element.attr("href"), o = parseInt(n.split("page/")[1].split("/")[0], 10); e.$element.addClass("items-loading"), $.ajax({ type: "GET", url: n, error: function (t, e, i) { alert(i); }, success: function (t) { const a = undefined, l = $(t).find(i.wrapper), r = l.find(i.items); let d = l.find("[data-ajaxify=true]"); d.length || (d = l.siblings(".ld-pf-nav-ajax").find("[data-ajaxify=true]")); let h = d.attr("href"); const c = undefined; (h && parseInt(h.split("page/")[1].split("/")[0], 10)) <= o && (h = n.replace(`page/${o}`, `page/${o + 1}`)), imagesLoaded(r.get(), function () { if ( (h && n != h ? e.$element.attr("href", h) : (e.observer && e.observer.unobserve(e.element), e.$element .removeClass("items-loading") .addClass("all-items-loaded")), r.appendTo(s), s.get(0).hasAttribute("data-liquid-masonry")) ) { const t = s.data("plugin_liquidMasonry"), e = t && t.isoData; e && e.appended(r); } e.onSuccess(s); }); }, }); } onSuccess(t) { $("body").hasClass("lazyload-enabled") || $("[data-responsive-bg=true]", t).liquidResponsiveBG(), $("body").hasClass("lazyload-enabled") && (window.liquidLazyload = new LazyLoad({ elements_selector: ".ld-lazyload", callback_loaded: (t) => { $(t).closest("[data-responsive-bg=true]").liquidResponsiveBG(), $(t) .parent() .not("#wrap, #lqd-site-content") .addClass("loaded"); }, })), $("[data-split-text]", t) .filter( (t, e) => !$(e).parents("[data-custom-animations]").length && !e.hasAttribute("data-custom-animations") ) .liquidSplitText(), $("[data-fittext]", t).liquidFitText(), $("[data-custom-animations]", t).map((t, e) => { const i = $(e), s = undefined; i.parents(".wpb_wrapper[data-custom-animations]").length && (i.removeAttr("data-custom-animations"), i.removeAttr("data-ca-options")); }), $("[data-custom-animations]", t) .filter((t, e) => { const i = $(e), s = i.closest(".vc_row[data-row-bg]"), n = i.closest(".vc_row[data-slideshow-bg]"); return !s.length && !n.length; }) .liquidCustomAnimations(), $("[data-lqd-flickity]", t).liquidCarousel(), $("[data-parallax]", t).liquidParallax(), $("[data-hover3d=true]", t).liquidHover3d(), this.$element.removeClass("items-loading"), ScrollTrigger?.refresh(); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("ajaxify-options"), options: e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { if ($("body").hasClass("compose-mode")) return !1; $("[data-ajaxify=true]").liquidAjaxLoadMore(); }), (function ($) { const t = "liquidAnimatedFrames"; let e = { current: 0, scrollable: !1, forceDisablingWindowScroll: !1, autoplay: !1, autoplayTimeout: 4e3, }; class i { constructor(i, s) { (this.element = i), (this.$element = $(i)), (this.options = $.extend({}, e, s)), (this._defaults = e), (this._name = t), (this.DOM = {}), (this.DOM.el = i), (this.DOM.slides = Array.from( this.DOM.el.querySelectorAll(".lqd-af-slides > div") )), (this.DOM.nav = this.DOM.el.querySelector(".lqd-af-slidenav")), (this.DOM.nums = this.DOM.el.querySelector(".lqd-af-slidenum")), (this.DOM.numsCurrent = this.DOM.el.querySelector( ".lqd-af-slidenum__current" )), (this.DOM.numsTotal = this.DOM.el.querySelector( ".lqd-af-slidenum__total" )), (this.DOM.nextCtrl = this.DOM.nav.querySelector( ".lqd-af-slidenav__item--next" )), (this.DOM.prevCtrl = this.DOM.nav.querySelector( ".lqd-af-slidenav__item--prev" )), (this.slidesTotal = this.DOM.slides.length), (this.current = this.options.current), (this.startY = 0), (this.currentY = 0), (this.dragY = 0), (this.userInteracted = !1), (this.autoplayTimeout = null), this.initNumbers(), this.init(), this.animateNumbers(), this.initEvents(), this.autoplay(); } init() { const t = this.DOM.slides[this.current]; t.classList.add("lqd-af-slide--current"), this.DOM.el.classList.add("lqd-af--initial"), this.onSlideLoaded(t); } initNumbers() { if (liquidIsElementor) return; const t = $(''); this.DOM.numsTotal.innerText = this.slidesTotal; for (let e = 1; e <= this.slidesTotal; e++) { const i = undefined; $( `${e}` ).appendTo(t); } t.appendTo(this.DOM.numsCurrent); } animateNumbers(t = 0) { const e = this.DOM.numsCurrent.querySelector("span"); e && (e.style.transform = `translateY(${100 * t * -1}%)`); } initEvents() { if (this.slidesTotal <= 1) return; if ( ($(this.DOM.nextCtrl).off("click.lqdAnimateFrames", this.navigate), $(this.DOM.prevCtrl).off("click.lqdAnimateFrames", this.navigate), $(this.DOM.nextCtrl).on( "click.lqdAnimateFrames", this.navigate.bind(this, "next", !0) ), $(this.DOM.prevCtrl).on( "click.lqdAnimateFrames", this.navigate.bind(this, "prev", !0) ), $(document).on("keydown.lqdAnimateFrames", (t) => { const e = t.originalEvent.key; "ArrowUp" === e ? this.navigate("prev", !0) : "ArrowDown" === e && this.navigate("next", !0); }), !this.options.scrollable) ) return !1; this.initDrag(), this.options.forceDisablingWindowScroll && "elementorFrontend" in window && !elementorFrontend.isEditMode() && document.documentElement.classList.add("overflow-hidden"); const t = liquidThrottle( (t) => { const e = Math.sign(t.originalEvent.deltaY); e < 0 ? this.navigate("prev", !0) : e > 0 && this.navigate("next", !0); }, 800, !0 ); this.$element.on("mouseenter.lqdAnimateFrames", () => { $liquidWindow.on("wheel.lqdAnimateFrames", t); }), this.$element.on("mouseleave.lqdAnimateFrames", () => { $liquidWindow.on("wheel.lqdAnimateFrames", t); }); } initDrag() { this.$element.on("mousedown touchstart", this.pointerStart.bind(this)), this.$element.on("mousemove touchmove", this.pointerMove.bind(this)), this.$element.on("mouseup touchend", this.pointerEnd.bind(this)); } pointerStart(t) { this.options.forceDisablingWindowScroll && "elementorFrontend" in window && !elementorFrontend.isEditMode() && document.documentElement.classList.add("overflow-hidden"), (this.startY = t.pageY || t.originalEvent.changedTouches[0].pageY), (this.currentY = this.startY), this.$element.addClass("pointer-down"); } pointerMove(t) { this.options.forceDisablingWindowScroll && "elementorFrontend" in window && !elementorFrontend.isEditMode() && document.documentElement.classList.add("overflow-hidden"), (this.currentY = t.pageY || t.originalEvent.changedTouches[0].pageY), (this.dragY = parseInt(this.startY - this.currentY, 10)); } pointerEnd() { (this.dragY = parseInt(this.startY - this.currentY, 10)), this.dragY >= 20 ? this.navigate("next") : this.dragY <= -20 && this.navigate("prev"), this.element.classList.remove("pointer-down"); } navigate(t = "next", e) { if (this.isAnimating) return !1; e && (this.userInteracted = !0), (this.isAnimating = !0), this.autoplayTimeout && clearTimeout(this.autoplayTimeout), this.options.forceDisablingWindowScroll && "elementorFrontend" in window && !elementorFrontend.isEditMode() && document.documentElement.classList.add("overflow-hidden"), this.element.classList.add( "lqd-af--navigating", "lqd-af--navigation-init" ), "next" === t && this.element.classList.add("lqd-af--moving-up"), "prev" === t && this.element.classList.add("lqd-af--moving-down"); const i = this.DOM.slides[this.current], s = i.querySelector(".lqd-af-slide__img"), n = s.querySelector(".lqd-af-slide__img__inner"), o = s.querySelector("figure"), a = i.querySelectorAll(".lqd-af-slide__title .split-inner"), l = i.querySelectorAll(".lqd-af-slide__desc .split-inner"), r = i.querySelector(".lqd-af-slide__link"), d = gsap.timeline({ duration: 1.2, onComplete: () => { i.classList.remove("lqd-af-slide--movin-out"); }, }); d.fromTo( o, { scale: 1 }, { scale: 1.25, ease: CustomEase.create("custom", "M0,0,C0.4,0,0.2,1,1,1"), }, 0 ), d.fromTo( n, { scale: 1 }, { scale: 0.5, ease: CustomEase.create("custom", "M0,0,C0.4,0,0.2,1,1,1"), }, 0.015 ), d.to( s, { duration: 0.85, ease: CustomEase.create("custom", "M0,0,C0.395,0,0.1,1,1,1"), y: "next" === t ? "-100%" : "100%", }, 0.35 ), i.classList.add("lqd-af-slide--movin-out"); const h = gsap.timeline({ duration: 1.2, delay: 0.5, ease: CustomEase.create("custom", "M0,0,C0.4,0,0.1,1,1,1"), onComplete: () => { i.classList.remove("lqd-af-slide--current"), this.DOM.el.classList.add("lqd-af--initial"); }, }); a?.length && h.fromTo( a, { y: "0%" }, { y: "next" === t ? "-105%" : "105%" }, "next" === t ? 0 : 0.35 ), l?.length && h.fromTo( l, { opacity: 1, y: "0%" }, { opacity: 0, y: "next" === t ? "-100%" : "100%" }, 0.25 ), r && h.fromTo( r, { opacity: 1, y: "0%" }, { opacity: 0, y: "next" === t ? "-75%" : "75%" }, "next" === t ? 0.35 : 0 ), (this.current = "next" === t ? this.current < this.slidesTotal - 1 ? this.current + 1 : 0 : this.current > 0 ? this.current - 1 : this.slidesTotal - 1), this.animateNumbers(this.current); const c = this.DOM.slides[this.current]; c.classList.add("lqd-af-slide--current", "lqd-af-slide--movin-in"), this.DOM.el.classList.add("lqd-af--initial"), this.onSlideLoaded(c); const u = c.querySelector(".lqd-af-slide__img"), m = c.querySelectorAll(".lqd-af-slide__title .split-inner"), p = c.querySelectorAll(".lqd-af-slide__desc .split-inner"), g = c.querySelector(".lqd-af-slide__link"), f = gsap.timeline({ duration: 1.2, delay: 0.35, ease: CustomEase.create("custom", "M0,0,C0.4,0,0.1,1,1,1"), onComplete: () => { c.classList.remove("lqd-af-slide--movin-in"); }, }); f.fromTo( u, { y: "next" === t ? "100%" : "-100%" }, { y: 0, duration: 0.85, ease: CustomEase.create("custom", "M0,0,C0.395,0,0.1,1,1,1"), }, 0 ), m?.length && f.fromTo( m, { y: "next" === t ? "105%" : "-105%" }, { y: "0%" }, "next" === t ? 0.3 : 0.5 ), p?.length && f.fromTo( p, { opacity: 0, y: "next" === t ? "100%" : "-100%" }, { opacity: 1, y: "0%" }, 0.4 ), g && f.fromTo( g, { opacity: 0, y: "next" === t ? "75%" : "-75%" }, { opacity: 1, y: "0%" }, "next" === t ? 0.5 : 0.3 ), d.then(this.animateShapeOut.bind(this, t)); } animateShapeOut() { const t = undefined, e = this.DOM.slides[this.current].querySelector(".lqd-af-slide__img"), i = e.querySelector(".lqd-af-slide__img__inner"), s = e.querySelector("figure"); gsap.to([i, s], { scale: 1, duration: 0.8, ease: CustomEase.create("custom", "M0,0,C0.4,0,0.2,1,1,1"), onComplete: () => { (this.isAnimating = !1), this.element.classList.remove( "lqd-af--navigating", "lqd-af--moving-up", "lqd-af--moving-down" ), !this.options.forceDisablingWindowScroll && document.documentElement.classList.remove("overflow-hidden"), this.autoplay(); }, }); } autoplay() { !this.options.autoplay || this.userInteracted || this.slidesTotal <= 1 || (this.autoplayTimeout = setTimeout(() => { this.navigate(); }, this.options.autoplayTimeout)); } onSlideLoaded(t) { const e = undefined, i = undefined; $(t) .find("video") .each(function () { const t = $(this); t.find("source").each(function () { const t = $(this); t.attr("src", t.attr("data-src")); }), t[0].load(), t[0].play(); }); } destroy() { $(this.DOM.nextCtrl).off("click.lqdAnimateFrames"), $(this.DOM.prevCtrl).off("click.lqdAnimateFrames"), $(document).off("keydown.lqdAnimateFrames"), this.$element.off("mouseenter.lqdAnimateFrames"), $liquidWindow.off("wheel.lqdAnimateFrames"), this.$element.off("mouseleave.lqdAnimateFrames"); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("af-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { $("[data-liquid-animatedframes=true]").liquidAnimatedFrames(); }), (function ($) { const t = "liquidAsymmetricSlider"; let e = { autoplay: !1 }; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = { ...e, ...s }), (this.element = i), (this.$element = $(i)), (this.isRTL = "rtl" === $("html").attr("dir")), (this.DOM = { titlesWrap: this.element.querySelector( ".lqd-asym-slider-title-wrap" ), infosWrap: this.element.querySelector(".lqd-asym-slider-info-wrap"), imagesWrap: this.element.querySelector(".lqd-asym-slider-img-wrap"), titles: [ ...this.element.querySelectorAll(".lqd-asym-slider-title"), ], infos: [...this.element.querySelectorAll(".lqd-asym-slider-info")], images: [...this.element.querySelectorAll(".lqd-asym-slider-img")], prevBtn: this.element.querySelector(".lqd-asym-slider-prev"), nextBtn: this.element.querySelector(".lqd-asym-slider-next"), }), (this.isPlaying = !1), (this.currentSlide = 0), (this.nextSlide = null), (this.prevSlide = null), (this.totalSlides = this.DOM.images.length - 1); const n = [], o = $(this.DOM.titlesWrap) .find(".lqd-asym-slider-title-element") .first(), a = o .css("font-family") .replace(/"/g, "") .replace(/'/g, "") .split(",")[0], l = o.css("font-weight"), r = o.css("font-style"), d = window.liquidSlugify(a); if ( (n.push(new Promise((t) => imagesLoaded(this.element, t))), !window.liquidCheckedFonts.find((t) => t === d)) ) { const t = new FontFaceObserver(a, { weight: l, style: r }); n.push(t.load()); } Promise.all(n).finally(() => { new IntersectionObserver(([t], e) => { t.isIntersecting && (e.disconnect(), this.init()); }).observe(this.element); }); } init() { const { autoplay: t } = this.options; this.updateHeights(), this.events(), this.playInitial(), this.element.classList.add("lqd-asym-slider-ready"), t && t > 0 && (this.autoplayInitCall = gsap.delayedCall( 1.5, this.autoplay.bind(this) )); } autoplay() { const { autoplay: t } = this.options; !t || t <= 0 || (this.autoplayInitCall && this.autoplayInitCall.kill(), (this.autoplayCall = gsap.delayedCall(t, this.next.bind(this)))); } events() { this.DOM.prevBtn.addEventListener("click", this.prev.bind(this)), this.DOM.nextBtn.addEventListener("click", this.next.bind(this)), window.addEventListener( "resize", liquidDebounce(this.updateHeights.bind(this), 1e3) ); } updateHeights() { (this.DOM.imagesWrap.style.transition = "height 0.3s 1s"), (this.DOM.titlesWrap.style.transition = "height 0.3s 1s"), (this.DOM.infosWrap.style.transition = "height 0.3s 1s"), (this.DOM.imagesWrap.style.height = `${ this.DOM.images[this.currentSlide].offsetHeight }px`), (this.DOM.titlesWrap.style.height = `${ this.DOM.titles[this.currentSlide].offsetHeight }px`), (this.DOM.infosWrap.style.height = `${ this.DOM.infos[this.currentSlide].offsetHeight }px`); } beforePlay() { this.element.classList.add("lqd-asym-slider-changing"), this.DOM.titles[this.nextSlide].classList.add("is-next"), this.DOM.titles[this.nextSlide].classList.remove("active"), this.DOM.images[this.nextSlide].classList.add("is-next"), this.DOM.images[this.nextSlide].classList.remove("active"), this.DOM.infos[this.nextSlide].classList.add("is-next"), this.DOM.infos[this.nextSlide].classList.remove("active"), (this.isPlaying = !0); } afterPlay() { this.element.classList.remove("lqd-asym-slider-changing"), this.DOM.titles[this.nextSlide].classList.remove("is-next"), this.DOM.titles[this.nextSlide].classList.add("active"), this.DOM.titles[this.prevSlide].classList.remove("active"), this.DOM.images[this.nextSlide].classList.remove("is-next"), this.DOM.images[this.nextSlide].classList.add("active"), this.DOM.images[this.prevSlide].classList.remove("active"), this.DOM.infos[this.nextSlide].classList.remove("is-next"), this.DOM.infos[this.nextSlide].classList.add("active"), this.DOM.infos[this.prevSlide].classList.remove("active"), (this.isPlaying = !1), this.autoplayCall && this.autoplayCall.kill(), this.autoplay(); } playInitial() { (this.prevSlide = this.currentSlide), (this.nextSlide = this.currentSlide), this.playTitle("init"), this.playInfo("init"), this.playImages("init"); } prev() { this.isPlaying || ((this.prevSlide = this.currentSlide), (this.nextSlide = 0 === this.currentSlide ? this.totalSlides : this.currentSlide - 1), (this.currentSlide = this.nextSlide), this.beforePlay(), this.updateHeights(), this.playTitle("prev"), this.playInfo("prev"), this.playImages("prev").then(() => { this.afterPlay(); })); } next() { this.isPlaying || ((this.prevSlide = this.currentSlide), (this.nextSlide = this.currentSlide === this.totalSlides ? 0 : this.currentSlide + 1), (this.currentSlide = this.nextSlide), this.beforePlay(), this.updateHeights(), this.playTitle("next"), this.playInfo("next"), this.playImages("next").then(() => { this.afterPlay(); })); } playTitle(t) { const e = this.DOM.titles[this.prevSlide], i = this.DOM.titles[this.nextSlide], s = this.isRTL ? e.querySelectorAll(".lqd-words") : e.querySelectorAll(".lqd-chars"), n = this.isRTL ? i.querySelectorAll(".lqd-words") : i.querySelectorAll(".lqd-chars"), o = gsap.timeline({ defaults: { duration: 1 }, delay: "next" === t ? 0.15 : 0, }); "prev" === t ? o .fromTo( [...s].reverse(), { y: "0%", rotation: 0, opacity: 1 }, { y: "100%", rotation: 15, opacity: 0, ease: "expo.inOut", stagger: 0.025, } ) .fromTo( [...n].reverse(), { y: "-100%", rotation: 15, opacity: 0 }, { y: "0%", rotation: 0, opacity: 1, ease: "expo.out", stagger: 0.025, }, 0.75 ) : "next" === t ? o .fromTo( s, { y: "0%", rotation: 0, opacity: 1 }, { y: "-100%", rotation: 15, opacity: 0, ease: "expo.inOut", stagger: 0.025, } ) .fromTo( n, { y: "100%", rotation: 15, opacity: 0 }, { y: "0%", rotation: 0, opacity: 1, ease: "expo.out", stagger: 0.025, }, 0.75 ) : o.fromTo( s, { x: 35, opacity: 0 }, { x: 0, opacity: 1, ease: "expo.inOut", stagger: 0.045 } ); } playInfo(t) { const e = this.DOM.infos[this.prevSlide], i = e.querySelector(".lqd-asym-slider-subtitle-element"), s = e.querySelector(".lqd-asym-slider-description-element"), n = e.querySelector("hr"), o = this.DOM.infos[this.nextSlide], a = o.querySelector(".lqd-asym-slider-subtitle-element"), l = o.querySelector(".lqd-asym-slider-description-element"), r = gsap.timeline({ defaults: { ease: "expo.inOut", duration: 1.5 }, delay: "prev" === t ? 0.3 : 0.15, }); "prev" === t ? r .fromTo(i, { x: 0, opacity: 1 }, { x: 15, opacity: 0 }, 0) .fromTo(s, { x: 0, opacity: 1 }, { x: 15, opacity: 0 }, 0.15) .fromTo(a, { x: -15, opacity: 0 }, { x: 0, opacity: 1 }, 0.15) .fromTo(l, { x: -15, opacity: 0 }, { x: 0, opacity: 1 }, 0.3) : "next" === t ? r .fromTo(i, { x: 0, opacity: 1 }, { x: -15, opacity: 0 }, 0) .fromTo(s, { x: 0, opacity: 1 }, { x: -15, opacity: 0 }, 0.15) .fromTo(a, { x: 15, opacity: 0 }, { x: 0, opacity: 1 }, 0.15) .fromTo(l, { x: 15, opacity: 0 }, { x: 0, opacity: 1 }, 0.3) : r .fromTo(i, { x: 30, opacity: 0 }, { x: 0, opacity: 1 }, 0) .fromTo( n, { scaleX: 0.6, opacity: 0 }, { scaleX: 1, opacity: 1 }, 0 ) .fromTo(s, { x: 30, opacity: 0 }, { x: 0, opacity: 1 }, 0.15); } playImages(t) { const e = this.DOM.images[this.prevSlide], i = e.querySelector(".lqd-asym-slider-img-inner"), s = this.DOM.images[this.nextSlide], n = s.querySelector(".lqd-asym-slider-img-inner"), o = gsap.timeline({ defaults: { ease: "expo.inOut", duration: 1.5 }, delay: "prev" === t ? 0.15 : 0, }); return ( "prev" === t ? o .fromTo(i, { x: "0%", scale: 1 }, { x: "-100%", scale: 1.2 }, 0) .fromTo(e, { x: "0%" }, { x: "100%" }, 0) .fromTo(s, { x: "-100%" }, { x: "0%" }, 0) .fromTo(n, { x: "100%", scale: 1.2 }, { x: "0%", scale: 1 }, 0) : "next" === t ? o .fromTo(i, { x: "0%", scale: 1 }, { x: "100%", scale: 1.2 }, 0) .fromTo(e, { x: "0%" }, { x: "-100%" }, 0) .fromTo(s, { x: "100%" }, { x: "0%" }, 0) .fromTo(n, { x: "-100%", scale: 1.2 }, { x: "0%", scale: 1 }, 0) : o .fromTo(i, { x: "100%", scale: 1.2 }, { x: "0%", scale: 1 }, 0) .fromTo(e, { x: "-100%" }, { x: "0%" }, 0), o ); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("asym-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { $("[data-asym-slider]").liquidAsymmetricSlider(); }), (function ($) { const t = "liquidBackToTop"; let e = {}; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = { ...e, ...s }), (this.element = i), (this.$element = $(i)), this.init(); } init() { this.checkforWPBottomMenu(), this.firstSectionIO(); } checkforWPBottomMenu() { const t = document.getElementById("wp-bottom-menu"); if (!t) return; const e = t.clientHeight; this.element.style.bottom = `${e + 30}px`; } firstSectionIO() { let t = $liquidSectionsWrapper.children().not("style, p").first(); t.hasClass("lqd-contents") && (t = t.children().first()); const e = "sticky" === t.css("position"), i = t.is(":only-child"); if ( ((t.is(":hidden") || e) && (t = t.siblings().not("style, p").first()), !t.length) ) return; let s = [0, 0.25, 0.5, 0.75, 1]; e && (s = [0]), i && (s = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]), new IntersectionObserver( ([t]) => { const { boundingClientRect: s, rootBounds: n } = t; let o = n && n.top >= s.bottom - s.height / 2; e && (o = n && n.bottom >= s.top), i && (o = n && n.bottom - n.height / 2 >= s.top + 250), o ? this.$element.addClass("is-visible") : this.$element.removeClass("is-visible"); }, { threshold: s } ).observe(t.get(0)); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("back-to-top-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { $("html").hasClass("pp-enabled") || $("[data-back-to-top]").liquidBackToTop(); }), (function ($) { const t = "liquidBgColor"; let e = { getBgFromSelector: "backgroundColor", setBgTo: "self", manipulateColor: null, changeBorderColor: !1, interactWithHeader: !1, makeGradient: !1, }; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = { ...e, ...s }), (this.element = i), (this.$element = $(i)), (this.$stickyModules = this._getStickyModules()), (this.setBgToEls = "self" === this.options.setBgTo ? [this.element] : $(this.options.setBgTo, this.element).get()), (this.$bgEl = !1), (this.rowsRect = []), (this.colors = []), (this.direction = 0), this.$element.is($liquidContents) && this._addBgElement(), (this.liquidBgColorInitPromise = new Promise((t) => { this.$element.on("lqd-bg-color-init", t.bind(this, this)); })), LiquidSectionsDetails.getDetails().then((t) => { $(t).imagesLoaded(this._init(t)); }); } _init(t) { const e = undefined; t .filter((t) => !t.isHidden && !t.isInFooter) .filter((t) => !t.isInnerSection) .forEach(async (t, e) => { await this._getColors(t), Promise.all(this._getRects(t, e)).then(() => { this._setupIO(t, e), this.$bgEl && (this.element.classList.add("bg-transparent"), t.el.classList.add("bg-transparent"), t.isInnerSection && t.parentSection && t.parentSection.el.classList.add("bg-transparent")); }); }), this.$element.trigger("lqd-bg-color-init", this.element); } _getStickyModules() { let t = !1; return ( $liquidMainHeader.length && $liquidMainHeader[0].hasAttribute("data-sticky-header") && (t = liquidIsElementor ? $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"]') : $liquidMainHeader .find(".lqd-head-sec-wrap, .lqd-stickybar-wrap") .not(".lqd-hide-onstuck") .find(".header-module")), t ); } _addBgElement() { if (this.$bgEl) return; const t = liquidIsMobile() ? "overflow-hidden" : "", e = liquidIsMobile() ? "pos-fix fixed" : "pos-sticky sticky", i = liquidIsMobile() ? "h-100 h-full" : "h-vh-100 h-100vh"; (this.$bgEl = $( `
` )), this.$bgEl.prependTo(this.$element), (this.setBgToEls = [this.$bgEl.children()[0]]), (($liquidMainFooter.length && !$liquidMainFooter[0].hasAttribute("data-sticky-footer")) || liquidIsMobile()) && $liquidMainFooter.css({ position: "relative", zIndex: 2 }); } _getColors(t) { return fastdomPromised.measure(() => { const { getBgFromSelector: e, manipulateColor: i } = this.options, s = {}; let n = t[e].replace(/, /g, ",").split(" ")[0], o = t.$el.attr("data-section-luminosity"); if ( (t.isInnerSection && t.parentSection && t.isBgTransparent && !t.parentSection.isBgTransparent && (n = t.parentSection[e].replace(/, /g, ",").split(" ")[0]), t.isBgTransparent && (n = $liquidContents.css("backgroundColor")), i && i.length > 0) ) for (let t = 0; t < i.length; t++) n = tinycolor(n) [Object.keys(i[t])[0]](Object.values(i[t])[0]) .toString(); (s.color = n), (s.luminosity = null == o || i ? tinycolor(n).getLuminance() <= 0.4 ? "dark" : "light" : o), this.colors.push(s); }); } _interactWithHeader(t) { const e = $liquidMainHeader.add(this.$stickyModules).filter((t, e) => { const i = $(e); return ( !i.children(".navbar-brand-solid").length && !i.hasClass("navbar-brand-solid") && !i.find("> .elementor-widget-container > .navbar-brand-solid") .length ); }); "dark" === t ? e .addClass("lqd-active-row-dark") .removeClass("lqd-active-row-light") : e .addClass("lqd-active-row-light") .removeClass("lqd-active-row-dark"); } _interactWithColors(t, e) { const i = $(t); if (i.hasClass("btn-icon") || i.hasClass("btn-solid")) { const t = "dark" === e ? "#fff" : "#000"; i.css({ transition: "box-shadow 0.3s, transform 0.3s, color 0.3s", color: t, }); } if (i.hasClass("navbar-brand-inner")) { const t = liquidIsElementor ? i.closest(".elementor-element") : i.closest(".header-module"); "dark" === e ? t .addClass("lqd-active-row-dark") .removeClass("lqd-active-row-light") : t .addClass("lqd-active-row-light") .removeClass("lqd-active-row-dark"); } } _getRects(t, e) { const i = []; let s = t.el.querySelector(".ld-row"); liquidIsElementor && (s = t.el.classList.contains("e-container") || t.el.classList.contains("e-con") ? t.el : t.el.querySelector(".elementor-container")); const n = new Promise((i) => { new IntersectionObserver(([t], s) => { s.disconnect(), (this.rowsRect[e] = t.boundingClientRect), i(); }).observe(s || t.el); }); return i.push(n), i; } _setupIO(t, e) { const i = gsap.timeline(); this.setBgToEls.forEach((t) => { const s = () => { const i = this.direction < 1 && e > 0 ? e - 1 : e; this.options.interactWithHeader && this.$stickyModules && this._interactWithHeader(this.colors[i].luminosity), this._interactWithColors(t, this.colors[i].luminosity); }; i.fromTo( t, { backgroundColor: 0 === e ? this.colors[e].color : this.colors[e - 1].color, }, { backgroundColor: this.colors[e].color, onUpdate: s, onComplete: () => { t.style.transition = ""; }, }, 0 ); }), ScrollTrigger.create({ animation: i, trigger: t.el, start: () => 0 === e ? "top bottom" : `top+=${this.rowsRect[e].y - t.rect.y} bottom`, end: () => `+=${t.el.offsetHeight}`, scrub: 0.1, onUpdate: (t) => { this.direction = t.direction; }, }); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("liquid-bg-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { const t = $("[data-liquid-bg]"); t.liquidBgColor(), liquidIsElementor && t.each((t, e) => { const i = undefined; $(e).is($liquidContents) && $liquidMainHeader.length && !$liquidMainHeader.attr("data-liquid-bg") && $liquidMainHeader.liquidBgColor({ setBgTo: "\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", manipulateColor: [ { darken: 30 }, { brighten: 15 }, { saturate: 20 }, ], }); }); }), (function ($) { const t = "liquidAnimatedIcon"; let e = { objContainer: ".iconbox-icon-container", color: "#f42958", hoverColor: null, type: "delayed", delay: 0, duration: 100, resetOnHover: !1, file: null, }; class i { constructor(i, s) { (this._defaults = e), (this._name = t), (this.options = $.extend({}, e, s)), (this.element = i), (this.$element = $(i)), this.options.file && this.init(); } init() { return this.animateIcon(), this; } animateIcon() { const { type: t, duration: e, file: i, objContainer: s } = this.options, n = this.$element.attr("id") || Math.round(1e6 * Math.random()), o = this.$element .find(s) .attr("id", `${n.replace(/ld_icon_box/, "ld_icon_container")}`); new Vivus(o.attr("id"), { file: i, type: t, duration: e, start: "manual", onReady: (t) => { this.onReady.call(this, t); }, }).setFrameProgress(1); } onReady(t) { const e = this.$element.closest(".carousel-items"), i = e.data("plugin_liquidCarousel"); this.addColors(t), this.animate(t), e.length && null != i && null != i.flickityData && i.flickityData.resize(); } addColors(t) { const e = $(t.el), { color: i, hoverColor: s } = this.options, n = Math.round(1e6 * Math.random()); let o = s, a = document.createElementNS("http://www.w3.org/2000/svg", "style"), l = null != i ? i.split(":") : "#000", r = null; void 0 === l[1] && (l[1] = l[0]), (r = ''); const d = new DOMParser().parseFromString(r, "text/xml"); return ( e.prepend(d.documentElement), null != o && ((o = o.split(":")), void 0 === o[1] && (o[1] = o[0]), (a.innerHTML = "#" + this.$element.attr("id") + ":hover .iconbox-icon-container defs stop:first-child{stop-color:" + o[0] + ";}#" + this.$element.attr("id") + ":hover .iconbox-icon-container defs stop:last-child{stop-color:" + o[1] + ";}"), e.prepend(a)), e .find("path, rect, ellipse, circle, polygon, polyline, line") .attr({ stroke: "url(#grad" + n + ")", fill: "none" }), this.$element.addClass("iconbox-icon-animating"), this ); } animate(t) { const e = this.options, i = parseInt(e.delay, 10), { duration: s } = e; return ( t.reset().stop(), new IntersectionObserver(([e], n) => { const o = t.getStatus(); e.isIntersecting && "start" === o && "progress" !== o && (n.disconnect(), this.resetAnimate(t, i, s), this.eventHandlers(t, i, s)); }).observe(this.element), this ); } eventHandlers(t, e, i) { const { options: s } = this; $(document).on("shown.bs.tab", 'a[data-toggle="tab"]', (s) => { const n = undefined; $($(s.currentTarget).attr("href")).find(this.element).length && this.resetAnimate.call(this, t, e, i); }), s.resetOnHover && this.$element.on("mouseenter.lqdIconbox", () => { "end" === t.getStatus() && this.resetAnimate(t, 0, i); }); } resetAnimate(t, e, i) { t.stop().reset(); const s = setTimeout(() => { t.play(i / 100), clearTimeout(s); }, e); } destroy() { this.$element.off("mouseenter.lqdIconbox"); } } $.fn[t] = function (e) { return this.each(function () { const s = { ...$(this).data("plugin-options"), ...e }; $.data(this, "plugin_" + t) || $.data(this, "plugin_" + t, new i(this, s)); }); }; })(jQuery), jQuery(document).ready(function ($) { $("[data-animate-icon]").liquidAnimatedIcon(); }), (function ($) { function t(t, s) { (this._defaults = i), (this._name = e), (this.options = { ...i, ...s }), (this.flickityData = null), (this.isRTL = "rtl" === $("html").attr("dir")), liquidIsMobile() && (this.options.dragThreshold = 5), (this.element = t), (this.$element = $(t)), (this.$carouselContainer = this.$element.closest(".carousel-container") .length ? this.$element.closest(".carousel-container") : this.$element.parent()), (this.carouselNavElement = null), (this.carouselDotsElement = null), (this.carouselMobileDotsElement = null), (this.$carouselCurrentSlide = null), (this.$carouselCurrentSlideInner = null), (this.$carouselTotalSlides = null), (this.$carouselSlidesShape = null), (this.carouselSlidesPathLength = "circle" === this.options.numbersStyle ? 471 : 200), (this.windowWidth = liquidWindowWidth()), (this.$carouselEl = this.options.carouselEl ? $(this.options.carouselEl, this.element) : this.$element), (this.carouselEl = this.$carouselEl[0]), (this.carouselInitPromise = new Promise((t) => { this.$element.on("lqd-carousel-initialized", t.bind(this, this)); })), this.options.marquee && (this.options.wrapAround = !0), this.init(); } const e = "liquidCarousel"; let i = { bypassCheck: !1, carouselEl: null, contain: !1, imagesLoaded: !0, percentPosition: !0, prevNextButtons: !1, pageDots: !0, adaptiveHeight: !1, cellAlign: "left", groupCells: !0, dragThreshold: 0, wrapAround: !1, autoplay: !1, fullwidthSide: !1, navArrow: 1, filters: !1, filtersCounter: !1, doSomethingCrazyWithFilters: !1, equalHeightCells: !1, middleAlignContent: !1, randomVerOffset: !1, parallax: !1, parallaxEl: "img", dotsIndicator: "classic", numbersStyle: "circle", addSlideNumbersToArrows: !1, marquee: !1, marqueeTickerSpeed: 1, fade: !1, prevNextButtonsOnlyOnMobile: !1, columnsAutoWidth: !1, watchCSS: !1, forceApply: !1, skipWrapItems: !1, forceEnableOnMobile: !1, }; (t.prototype = { init() { if (this.options.asNavFor) { const t = $(this.options.asNavFor); t.length && (t.liquidCarousel({ forceApply: !0 }), t.data("plugin_liquidCarousel").carouselInitPromise.then(() => { this.initFlicky(); })); } else this.options.forceApply ? this.initFlicky() : this.setIO(); }, setIO() { new IntersectionObserver( ([t], e) => { t.isIntersecting && (this.initFlicky(), e.unobserve(t.target)); }, { rootMargin: "35%" } ).observe(this.element); }, initFlicky() { const t = { ...this.options, rightToLeft: this.isRTL || this.options.rightToLeft, }, { equalHeightCells: e } = this.options; imagesLoaded(this.element, () => { this.columnsAutoWidth(), this.wrapItems(), this.setEqualHeightCells(), this.$carouselEl.flickity(t), (this.flickityData = this.$carouselEl.data("flickity")), t.adaptiveHeight && $(".flickity-viewport", this.element).css( "transition", "height 0.3s" ), this.onImagesLoaded(), this.$element.addClass("lqd-carousel-ready"); const i = this.flickityData.resize, s = this, { carouselEl: n } = this; this.flickityData.resize = function () { s.windowWidth !== liquidWindowWidth() && (e && n.classList.remove("flickity-equal-cells"), i.call(this), e && n.classList.add("flickity-equal-cells"), (s.windowWidth = liquidWindowWidth())); }; }); }, onImagesLoaded() { this.flickityData && ((this.sliderElement = this.element.querySelector(".flickity-slider")), this.initPlugins(), this.setElementNavArrow(), this.carouselNav(), this.navOffsets(), this.carouselDots(), this.carouselMobileDots(), this.carouselDotsNumbers(), this.addSlideNumbersToArrows(), this.addSlidesCurrentNumbers(), this.randomVerOffset(), this.fullwidthSide(), this.controllingCarousels(), this.marquee(), this.filtersInit(), this.windowResize(), this.events(), this.dispatchEvents(), this.options.columnsAutoWidth && (this.$element.find(".carousel-item-content").css("width", ""), this.flickityData.reposition())); }, initPlugins() { this.element.hasAttribute("data-custom-animations") && this.$element.liquidCustomAnimations(); }, dispatchEvents() { const t = new CustomEvent("lqd-carousel-initialized", { detail: { carouselData: this }, }); document.dispatchEvent(t), this.$element.trigger("lqd-carousel-initialized", this.element); }, windowResize() { const t = liquidDebounce(this.doOnWindowResize.bind(this), 200); $(window).on("resize.lqdCarousel", t); }, doOnWindowResize() { this.windowWidth !== window.innerWidth && ((this.windowWidth = window.innerWidth), this.fullwidthSide(), this.columnsAutoWidth(), this.options.columnsAutoWidth && (this.$element.find(".carousel-item-content").css("width", ""), this.flickityData.reposition())); }, events() { this.flickityData.on("pointerDown", () => { $liquidHtml.addClass("lqd-carousel-pointer-down"); }), this.flickityData.on("pointerUp", () => { $liquidHtml.removeClass("lqd-carousel-pointer-down"); }), this.flickityData.on("dragStart", () => { $("[data-column-clickable]", this.element).css( "pointer-events", "none" ); }), this.flickityData.on("dragEnd", () => { $("[data-column-clickable]", this.element).css( "pointer-events", "" ); }), this.options.marquee || (this.flickityData.on("settle", () => { this.sliderElement.style.willChange = "auto"; }), this.flickityData.on("scroll", () => { (this.sliderElement.style.willChange = "transform"), this.doSomethingCrazyWithFilter(), this.parallax(), this.changeSlidesShape(); }), this.flickityData.on("change", () => { this.changeSlidesNumbers(); }), $(document).on("added_to_cart", (t, e, i, s) => { this.$carouselEl.has(s) && this.flickityData.resize(); }), $("[data-toggle=tab]").on("hidden.bs.tab shown.bs.tab", (t) => { const e = $(t.target), i = undefined, s = $( $(e.attr("href")), e.parent().next(".lqd-tabs-content") ).find("[data-lqd-flickity]"); let n = s.data("plugin_liquidCarousel"); if ( "shown" === t.type && (s.on("lqd-carousel-initialized", () => { n = s.data("plugin_liquidCarousel"); const t = $(n.carouselNavElement); t .siblings(".carousel-nav") .addClass("screen-reader-text") .stop() .fadeOut(300), t.removeClass("screen-reader-text").stop().fadeIn(300); }), n) ) { const t = $(n.carouselNavElement); t .siblings(".carousel-nav") .addClass("screen-reader-text") .stop() .fadeOut(300), t.removeClass("screen-reader-text").stop().fadeIn(300); } })); }, wrapItems() { const { middleAlignContent: t, equalHeightCells: e, randomVerOffset: i, skipWrapItems: s, } = this.options; if (s) return; const n = this.$carouselEl.children().first(); if ( n.hasClass("flickity-viewport") || n.hasClass("flickity-viewport-wrap") ) { const t = undefined; return void n .find(".flickity-slider") .children() .each((t, e) => { const i = $(e), s = undefined, n = undefined; 1 === i.find(".carousel-item-content").first().children().not("style") .length && i.addClass("has-one-child"); }); } this.$carouselEl.children("p, style").insertBefore(this.$carouselEl); const o = undefined; this.$carouselEl.children().each((s, n) => { const o = $(n); if ( o.hasClass("vc_ld_carousel_section") || o.hasClass("vc_ld_carousel_marquee_section") || o.hasClass("vc_container-anchor") || o.hasClass("lqd-sticky-stack-nav") || o.is("pre") ) return; const a = undefined, l = undefined, r = 1 === (o.children().hasClass("carousel-item-inner") ? o.find(".carousel-item-content") : o ) .children() .not("style, .vc_controls-container").length; let d; o.attr("class") && (d = o.hasClass("lqd-prod-item") ? o .attr("class") .split(" ") .filter((t) => "lqd-prod-item" !== t && "product" !== t) : o .attr("class") .split(" ") .filter( (t) => t.includes("vc_hidden-") || t.includes("hidden-") || t.includes("col-") || t.includes("vc_col-") )), o.hasClass("carousel-item") ? (t && e && !i && o.addClass("align-items-center"), r && o.addClass("has-one-child"), o.children(".carousel-item-inner").length || o.wrapInner('