class VamtamNavMenu extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{navLinks:"nav.e--pointer-theme-underline a.elementor-item",toggle:".elementor-menu-toggle",dropdownMenu:".elementor-nav-menu__container.elementor-nav-menu--dropdown"}}}getDefaultElements(){const selectors=this.getSettings("selectors");return{$navLinks:this.$element.find(selectors.navLinks),$toggle:this.$element.find(selectors.toggle),$dropdownMenu:this.$element.find(selectors.dropdownMenu)}}onInit(...args){super.onInit(...args),this.handleNavMenuUnderlineAnimation(),this.handleMobileDisableScroll(),this.submenuIconFix()}submenuIconFix(){const elementSettings=this.getElementSettings(),iconValue=elementSettings.submenu_icon.value;iconValue&&''!==iconValue&&this.$element.addClass("vamtam-has-submenu-icon")}handleNavMenuUnderlineAnimation(){this.$element.find("nav.e--pointer-theme-underline").length&&(jQuery(this.elements.$navLinks).each((function(index,navLink){const $navLink=jQuery(navLink),navText=$navLink.text();$navLink.text(""),$navLink.append(''+navText+"")})),jQuery(this.$element).on("mouseenter",".vamtam-nav-text",e=>{const $el=jQuery(e.target),$navItem=$el.closest("a.elementor-item");$navItem.hasClass("hovered")||($navItem.addClass("hovered"),setTimeout(()=>{$navItem.removeClass("hovered")},600))}))}handleMobileDisableScroll(){const $el=this.$element,_this=this;let lockedScroll=!1,prevIsBelowMax=window.VAMTAM.isBelowMaxDeviceWidth();const disableScroll=function(implicit=!1){jQuery("html, body").addClass("vamtam-disable-scroll"),implicit||(lockedScroll=!0)},enableScroll=function(implicit=!1){jQuery("html, body").removeClass("vamtam-disable-scroll"),implicit||(lockedScroll=!1)},toggleHandler=function(e){setTimeout(()=>{e.target.closest(".vamtam-has-mobile-disable-scroll")&&(_this.elements.$toggle.hasClass("elementor-active")?disableScroll():enableScroll())},50)};var resizeHandler=function(){var isBelowMax=window.VAMTAM.isBelowMaxDeviceWidth();prevIsBelowMax!==isBelowMax&&lockedScroll&&(isBelowMax?disableScroll(!0):enableScroll(!0),prevIsBelowMax=isBelowMax)};const bfcacheHandler=function(e){setTimeout(()=>{e.persisted&&(enableScroll(),jQuery("body").click())},0)};$el.hasClass("vamtam-has-mobile-disable-scroll")&&(this.elements.$toggle.on("click",toggleHandler),window.addEventListener("pageshow",bfcacheHandler),window.addEventListener("resize",window.VAMTAM.debounce(resizeHandler,200),!1))}}jQuery(window).on("elementor/frontend/init",()=>{if(elementorFrontend.elementsHandler&&elementorFrontend.elementsHandler.attachHandler)elementorFrontend.elementsHandler.attachHandler("nav-menu",VamtamNavMenu);else{const addHandler=$element=>{elementorFrontend.elementsHandler.addHandler(VamtamNavMenu,{$element:$element})};elementorFrontend.hooks.addAction("frontend/element_ready/nav-menu.default",addHandler,100)}});; class VamtamButton extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{btnText:".elementor-button-text"}}}getDefaultElements(){const selectors=this.getSettings("selectors");return{$btnText:this.$element.find(selectors.btnText)}}onInit(...args){super.onInit(...args),this.handleBtnUnderlineAnimation()}handleBtnUnderlineAnimation(){if(!this.$element.hasClass("vamtam-has-underline-anim"))return;const btnText=this.elements.$btnText.text();this.elements.$btnText.text(""),this.elements.$btnText.append(''+btnText+""),jQuery(this.$element).on("mouseenter",".elementor-button",e=>{const $el=jQuery(e.target);$el.hasClass("hovered")||($el.addClass("hovered"),setTimeout(()=>{$el.removeClass("hovered")},600))})}}jQuery(window).on("elementor/frontend/init",()=>{if(elementorFrontend.elementsHandler&&elementorFrontend.elementsHandler.attachHandler)elementorFrontend.elementsHandler.attachHandler("button",VamtamButton);else{const addHandler=$element=>{elementorFrontend.elementsHandler.addHandler(VamtamButton,{$element:$element})};elementorFrontend.hooks.addAction("frontend/element_ready/button.default",addHandler,100)}});; /*! This file is auto-generated */ /*! * imagesLoaded PACKAGED v5.0.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ !function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})), /*! * imagesLoaded v5.0.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));; var defaultPosts=elementorModules.frontend.handlers.Base.extend({getSkinPrefix:()=>"vamtam_classic_",bindEvents(){var e=this.getModelCID();elementorFrontend.addListenerOnce(e,"resize",this.onWindowResize)},getClosureMethodsNames(){return elementorModules.frontend.handlers.Base.prototype.getClosureMethodsNames.apply(this,arguments).concat(["fitImages","onWindowResize","runMasonry"])},getDefaultSettings:()=>({classes:{fitHeight:"elementor-fit-height",hasItemRatio:"elementor-has-item-ratio"},selectors:{postsContainer:".elementor-posts-container",post:".elementor-post",postThumbnail:".elementor-post__thumbnail",postThumbnailImage:".elementor-post__thumbnail img"}}),getDefaultElements(){var e=this.getSettings("selectors");return{$postsContainer:this.$element.find(e.postsContainer),$posts:this.$element.find(e.post)}},fitImage(e){var t=this.getSettings(),s=e.find(t.selectors.postThumbnail),n=s.find("img")[0];if(n){var i=s.outerHeight()/s.outerWidth(),a=n.naturalHeight/n.naturalWidth;s.toggleClass(t.classes.fitHeight,a=2;if(e.$postsContainer.toggleClass("elementor-posts-masonry",s),!s){e.$postsContainer.height("");return}var n=this.getElementSettings(this.getSkinPrefix()+"row_gap.size");""===this.getSkinPrefix()&&""===n&&(n=this.getElementSettings(this.getSkinPrefix()+"item_gap.size")),new elementorModules.utils.Masonry({container:e.$postsContainer,items:e.$posts.filter(":visible"),columnsCount:this.getSettings("colsCount"),verticalSpaceBetween:n}).run()},run(){setTimeout(this.fitImages,0),this.initMasonry()},onInit(){elementorModules.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.bindEvents(),this.run()},onWindowResize(){this.fitImages(),this.runMasonry()},onElementChange(){this.fitImages(),setTimeout(this.runMasonry)}});class VamtamLoadMore extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{postsContainer:".elementor-posts-container",loadMoreButton:".elementor-button",loadMoreSpinnerWrapper:".e-load-more-spinner",loadMoreSpinner:".e-load-more-spinner i, .e-load-more-spinner svg",loadMoreAnchor:".e-load-more-anchor"},classes:{loadMoreSpin:"eicon-animation-spin",loadMoreIsLoading:"e-load-more-pagination-loading",loadMorePaginationEnd:"e-load-more-pagination-end",loadMoreNoSpinner:"e-load-more-no-spinner"}}}getDefaultElements(){let e=this.getSettings("selectors");return{postsWidgetWrapper:this.$element[0],postsContainer:this.$element[0].querySelector(e.postsContainer),loadMoreButton:this.$element[0].querySelector(e.loadMoreButton),loadMoreSpinnerWrapper:this.$element[0].querySelector(e.loadMoreSpinnerWrapper),loadMoreSpinner:this.$element[0].querySelector(e.loadMoreSpinner),loadMoreAnchor:this.$element[0].querySelector(e.loadMoreAnchor)}}bindEvents(){super.bindEvents(),this.elements.loadMoreButton&&this.elements.loadMoreButton.addEventListener("click",e=>{!this.isLoading&&(e.preventDefault(),this.handlePostsQuery())})}onInit(){super.onInit(),this.classes=this.getSettings("classes"),this.isLoading=!1;let e=this.getElementSettings("pagination_type");("load_more_on_click"===e||"load_more_infinite_scroll"===e)&&(this.isInfinteScroll="load_more_infinite_scroll"===e,this.isSpinnerAvailable=this.getElementSettings("load_more_spinner").value,this.isSpinnerAvailable||this.elements.postsWidgetWrapper.classList.add(this.classes.loadMoreNoSpinner),this.isInfinteScroll?this.handleInfiniteScroll():this.elements.loadMoreSpinnerWrapper&&this.elements.loadMoreButton&&this.elements.loadMoreButton.insertAdjacentElement("beforeEnd",this.elements.loadMoreSpinnerWrapper),this.elementId=this.getID(),this.postId=elementorFrontendConfig.post.id,this.elements.loadMoreAnchor&&(this.currentPage=parseInt(this.elements.loadMoreAnchor.getAttribute("data-page")),this.maxPage=parseInt(this.elements.loadMoreAnchor.getAttribute("data-max-page")),this.currentPage!==this.maxPage&&this.currentPage||this.handleUiWhenNoPosts()))}handleInfiniteScroll(){!this.isEdit&&(this.observer=elementorModules.utils.Scroll.scrollObserver({callback:e=>{e.isInViewport&&!this.isLoading&&(this.observer.unobserve(this.elements.loadMoreAnchor),this.handlePostsQuery().then(()=>{this.currentPage!==this.maxPage&&this.observer.observe(this.elements.loadMoreAnchor)}))}}),this.observer.observe(this.elements.loadMoreAnchor))}handleUiBeforeLoading(){this.isLoading=!0,this.elements.loadMoreSpinner&&this.elements.loadMoreSpinner.classList.add(this.classes.loadMoreSpin),this.elements.postsWidgetWrapper.classList.add(this.classes.loadMoreIsLoading)}handleUiAfterLoading(){this.isLoading=!1,this.elements.loadMoreSpinner&&this.elements.loadMoreSpinner.classList.remove(this.classes.loadMoreSpin),this.isInfinteScroll&&this.elements.loadMoreSpinnerWrapper&&this.elements.loadMoreAnchor&&this.elements.loadMoreAnchor.insertAdjacentElement("afterend",this.elements.loadMoreSpinnerWrapper),this.elements.postsWidgetWrapper.classList.remove(this.classes.loadMoreIsLoading)}handleUiWhenNoPosts(){this.elements.postsWidgetWrapper.classList.add(this.classes.loadMorePaginationEnd)}handleSuccessFetch(e){this.handleUiAfterLoading();let t=e.querySelectorAll(`[data-id="${this.elementId}"] .elementor-posts-container > article`),s=e.querySelector(".e-load-more-anchor").getAttribute("data-next-page"),n=[...t].reduce((e,t)=>e+t.outerHTML,"");this.elements.postsContainer.insertAdjacentHTML("beforeend",n),this.elements.loadMoreAnchor.setAttribute("data-page",this.currentPage),this.elements.loadMoreAnchor.setAttribute("data-next-page",s),this.currentPage===this.maxPage&&this.handleUiWhenNoPosts(),setTimeout(()=>{jQuery(window).trigger("resize")},10)}handlePostsQuery(){this.handleUiBeforeLoading(),this.currentPage++;let e=new URL(this.elements.loadMoreAnchor.getAttribute("data-next-page"));return e.searchParams.set("vamtam_posts_fetch",1),fetch(e.toString()).then(e=>e.text()).then(e=>{let t=new DOMParser,s=t.parseFromString(e,"text/html");this.handleSuccessFetch(s)}).catch(e=>{console.warn("Something went wrong.",e)})}}class VamtamTitleUnderlineAnimation extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{postsContainer:".elementor-posts-container"}}}getDefaultElements(){let e=this.getSettings("selectors");return{postsContainer:this.$element[0].querySelector(e.postsContainer)}}onInit(){super.onInit(),this.handleTitleUnderlineAnimation()}handleTitleUnderlineAnimation(){let e=window.VAMTAM.CUSTOM_ANIMATIONS.VamtamCustomAnimations.utils.isTouchDevice();!e&&this.$element.hasClass("vamtam-has-title-underline-anim")&&jQuery(this.$element).on("mouseenter",".elementor-post__title a",e=>{let t=jQuery(e.target);!t.hasClass("hovered")&&(t.addClass("hovered"),setTimeout(()=>{t.removeClass("hovered")},600))})}}class VamtamMasonry extends elementorModules.frontend.handlers.Base{onInit(){elementorModules.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.bindEvents(),this.loadMoreMasonryFix(),this.checkApplySafariFix()}checkApplySafariFix(){let e=this;jQuery(window).on("load",()=>{jQuery("html").hasClass("safari")&&setTimeout(()=>{e.onWindowResize()},10)})}recalculateMasonry(){this.elements=this.getDefaultElements(),this.onWindowResize()}checkDiscardDuplicates(){let e=this.$element,t=e.find(".elementor-posts-container"),s=t.find(".elementor-post:visible"),n=jQuery(".vamtam-blog-featured-post .elementor-post:visible"),i=[],a=[],o=0;if(s.length){if(jQuery.each(s,(e,t)=>{let n=parseInt(s[e].classList[2].match(/\d+/)[0]);n&&!isNaN(n)&&(-1===i.indexOf(n)?i.push(n):(jQuery(t).remove(),o++))}),n.length){jQuery.each(n,e=>{let t=parseInt(n[e].classList[2].match(/\d+/)[0]);t&&!isNaN(t)&&-1===a.indexOf(t)&&a.push(t)});let r=t.find(".elementor-post:visible");jQuery.each(r,(e,t)=>{let s=parseInt(r[e].classList[2].match(/\d+/)[0]);s&&!isNaN(s)&&-1!==a.indexOf(s)&&(jQuery(t).remove(),o++)})}return o}}loadMoreMasonryFix(){let e=this.getElementSettings().pagination_type;if("load_more_on_click"!==e&&"load_more_infinite_scroll"!==e)return;var t=this.$element,s=t.find(".elementor-posts-container"),n=t.find(".elementor-button"),i=t.find(".e-load-more-anchor"),a=null,o=null,r=null,l=this;let h=()=>{"load_more_on_click"===e?jQuery(n).off("click",d):r.disconnect()},d=()=>{a=s.find(".elementor-post:visible").length;let e=!1,n=setInterval(()=>{if(a!==(o=s.find(".elementor-post:visible").length)){let d=l.checkDiscardDuplicates();l.recalculateMasonry(),a=o-d,clearInterval(n),e=!0,r&&r.observe(i[0])}t.hasClass("e-load-more-pagination-end")&&h()},50);e||setTimeout(()=>{clearInterval(n)},1e4)};"load_more_on_click"===e?jQuery(n).on("click",d):(()=>{!this.isEdit&&(r=elementorModules.utils.Scroll.scrollObserver({callback(e){e.isInViewport&&(r.unobserve(i[0]),d())}})).observe(i[0])})()}getSkinPrefix(){if(this.skinPrefix)return this.skinPrefix;let e=this.getSettings()?.elementName?.split(".")[1];return e?(this.skinPrefix=e+"_",this.skinPrefix):"vamtam_classic_"}bindEvents(){var e=this.getModelCID();elementorFrontend.addListenerOnce(e,"resize",this.onWindowResize.bind(this))}getClosureMethodsNames(){return elementorModules.frontend.handlers.Base.prototype.getClosureMethodsNames.apply(this,arguments).concat(["fitImages","onWindowResize","runMasonry"])}getDefaultSettings(){return{classes:{fitHeight:"elementor-fit-height",hasItemRatio:"elementor-has-item-ratio"},selectors:{postsContainer:".elementor-posts-container",post:".elementor-post",postThumbnail:".elementor-post__thumbnail",postThumbnailImage:".elementor-post__thumbnail img"}}}getDefaultElements(){var e=this.getSettings("selectors");return{$postsContainer:this.$element.find(e.postsContainer),$posts:this.$element.find(e.post)}}fitImage(e){var t=this.getSettings(),s=e.find(t.selectors.postThumbnail),n=s.find("img")[0];if(n){var i=s.outerHeight()/s.outerWidth(),a=n.naturalHeight/n.naturalWidth;s.toggleClass(t.classes.fitHeight,a=2;if(e.$postsContainer.toggleClass("elementor-posts-masonry",s),!s){e.$postsContainer.height("");return}var n=this.getElementSettings(this.getSkinPrefix()+"row_gap.size");""===this.getSkinPrefix()&&""===n&&(n=this.getElementSettings(this.getSkinPrefix()+"item_gap.size")),new elementorModules.utils.Masonry({container:e.$postsContainer,items:e.$posts.filter(":visible"),columnsCount:this.getSettings("colsCount"),verticalSpaceBetween:n}).run()}onWindowResize(){this.fitImages(),this.runMasonry()}}jQuery(window).on("elementor/frontend/init",()=>{if(elementorFrontend.elementsHandler&&elementorFrontend.elementsHandler.attachHandler)VAMTAM_FRONT.elementor.widgets.isWidgetModActive("posts")&&(elementorFrontend.elementsHandler.attachHandler("posts",defaultPosts,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("posts",VamtamLoadMore,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("posts",VamtamTitleUnderlineAnimation,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("posts",VamtamMasonry,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("posts",VamtamMasonry,"classic")),VAMTAM_FRONT.elementor.widgets.isWidgetModActive("archive-posts")&&(elementorFrontend.elementsHandler.attachHandler("archive-posts",defaultPosts,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("archive-posts",VamtamLoadMore,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("archive-posts",VamtamTitleUnderlineAnimation,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("archive-posts",VamtamMasonry,"vamtam_classic"),elementorFrontend.elementsHandler.attachHandler("archive-posts",VamtamMasonry,"archive_classic"));else{let e=e=>{elementorFrontend.elementsHandler.addHandler(defaultPosts,{$element:e})},t=e=>{elementorFrontend.elementsHandler.addHandler(VamtamLoadMore,{$element:e})},s=e=>{elementorFrontend.elementsHandler.addHandler(VamtamTitleUnderlineAnimation,{$element:e})},n=e=>{elementorFrontend.elementsHandler.addHandler(VamtamMasonry,{$element:e})};VAMTAM_FRONT.elementor.widgets.isWidgetModActive("posts")&&(elementorFrontend.hooks.addAction("frontend/element_ready/posts.vamtam_classic",e,100),elementorFrontend.hooks.addAction("frontend/element_ready/posts.vamtam_classic",t,100),elementorFrontend.hooks.addAction("frontend/element_ready/posts.vamtam_classic",s,100),elementorFrontend.hooks.addAction("frontend/element_ready/posts.vamtam_classic",n,100),elementorFrontend.hooks.addAction("frontend/element_ready/posts.classic",n,100)),VAMTAM_FRONT.elementor.widgets.isWidgetModActive("archive-posts")&&(elementorFrontend.hooks.addAction("frontend/element_ready/archive-posts.vamtam_classic",e,100),elementorFrontend.hooks.addAction("frontend/element_ready/archive-posts.vamtam_classic",t,100),elementorFrontend.hooks.addAction("frontend/element_ready/archive-posts.vamtam_classic",s,100),elementorFrontend.hooks.addAction("frontend/element_ready/archive-posts.vamtam_classic",n,100),elementorFrontend.hooks.addAction("frontend/element_ready/archive-posts.classic",n,100))}}); ; class VamtamHrScrolling extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{container:".elementor-widget-container",items:".products.elementor-grid, .elementor-posts-container"}}}getDefaultElements(){const selectors=this.getSettings("selectors");return{$container:this.$element.find(selectors.container),$items:this.$element.find(selectors.items)}}onInit(...args){super.onInit(...args),this.checkHandleHrLayout()}checkHandleHrLayout(){const hasHrLayout=this.$element.hasClass("vamtam-has-hr-layout"),hasNav=this.$element.hasClass("vamtam-has-nav");hasHrLayout&&hasNav&&this.handleHrLayoutNavigation()}handleHrLayoutNavigation(){const addNavElements=()=>{const $navigation=jQuery('
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
');this.elements.$items.after($navigation)},bindNavEvents=()=>{const colGapPropName=this.getWidgetType().includes("posts")?"--grid-column-gap":"--vamtam-col-gap",onNavBtnClick=e=>{e.preventDefault();const $items=this.elements.$items,visibleWidth=$items.width(),isNext=jQuery(e.target).hasClass("vamtam-nav-btn-next");let colGap=parseFloat(this.getCachedCSSPropForDevice(colGapPropName))||0,colHint=this.normalizeMultiUnitValue(this.getCachedCSSPropForDevice("--vamtam-col-hint"));colHint<0?colHint=0:colGap=0,isNext?$items.scrollLeft($items.scrollLeft()+visibleWidth+colGap-colHint):$items.scrollLeft($items.scrollLeft()-visibleWidth-colGap+colHint)};jQuery(this.$element.find(".vamtam-nav-btn")).off("click").on("click",onNavBtnClick);const onItemsScroll=e=>{const items=this.elements.$items[0],$items=this.elements.$items;0===items.scrollLeft?(this.$element.find(".vamtam-nav-btn-prev").addClass("disabled"),this.$element.find(".vamtam-nav-btn-next").removeClass("disabled")):items.scrollLeft===items.scrollWidth-$items.width()?(this.$element.find(".vamtam-nav-btn-prev").removeClass("disabled"),this.$element.find(".vamtam-nav-btn-next").addClass("disabled")):(this.$element.find(".vamtam-nav-btn-prev").removeClass("disabled"),this.$element.find(".vamtam-nav-btn-next").removeClass("disabled"))},onItemsScrollDebounced200=window.VAMTAM.debounce(onItemsScroll,200),onItemsScrollDebounced500=window.VAMTAM.debounce(onItemsScroll,500);this.elements.$items.off("scroll",onItemsScrollDebounced200),this.elements.$items.on("scroll",onItemsScrollDebounced200),jQuery(window).off("resize",onItemsScrollDebounced500),jQuery(window).on("resize",onItemsScrollDebounced500),this.elements.$items.trigger("scroll")};addNavElements(),bindNavEvents()}normalizeMultiUnitValue(valWithUnit){let normalizedVal=0;if(valWithUnit.includes("px"))return normalizedVal=parseFloat(valWithUnit)||0,normalizedVal;if(valWithUnit.includes("%")){const width=this.$element.width();return normalizedVal=parseFloat(valWithUnit)/100*width,normalizedVal}if(valWithUnit.includes("em")){const fontSize=parseFloat(this.$element.parent().css("font-size"));return normalizedVal=parseFloat(fontSize)*parseFloat(valWithUnit),normalizedVal}return 0}getCachedCSSPropForDevice(propName){if(!propName)return"";const curDevice=jQuery("body").attr("data-elementor-device-mode");return this.cachedProps||(this.cachedProps={}),this.cachedProps[curDevice]||(this.cachedProps[curDevice]={}),this.cachedProps[curDevice][propName]||(this.cachedProps[curDevice][propName]=getComputedStyle(this.$element[0]).getPropertyValue(propName)),this.cachedProps[curDevice][propName]}}jQuery(window).on("elementor/frontend/init",()=>{const attachTo=[{name:"woocommerce-products",skin:"default"},{name:"woocommerce-product-related",skin:"default"},{name:"woocommerce-product-upsell",skin:"default"},{name:"posts",skin:"classic"},{name:"posts",skin:"vamtam_classic"},{name:"archive-posts",skin:"archive_classic"},{name:"archive-posts",skin:"vamtam_classic"}];if(elementorFrontend.elementsHandler&&elementorFrontend.elementsHandler.attachHandler)attachTo.forEach(widget=>{elementorFrontend.elementsHandler.attachHandler(widget.name,VamtamHrScrolling,widget.skin)});else{const addHandler=$element=>{elementorFrontend.elementsHandler.addHandler(VamtamHrScrolling,{$element:$element})};attachTo.forEach(widget=>{elementorFrontend.hooks.addAction(`frontend/element_ready/${widget.name}.${widget.skin}`,addHandler,100)})}});; /*! elementor-pro - v3.20.0 - 11-03-2024 */ (()=>{"use strict";var e,r,a,n={},c={};function __webpack_require__(e){var r=c[e];if(void 0!==r)return r.exports;var a=c[e]={exports:{}};return n[e].call(a.exports,a,a.exports,__webpack_require__),a.exports}__webpack_require__.m=n,e=[],__webpack_require__.O=(r,a,n,c)=>{if(!a){var i=1/0;for(o=0;o=c)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](a[t])))?a.splice(t--,1):(_=!1,c0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[a,n,c]},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,a)=>(__webpack_require__.f[a](e,r),r)),[])),__webpack_require__.u=e=>714===e?"code-highlight.28a979661569ddbbf60d.bundle.min.js":721===e?"video-playlist.74fca1f2470fa6474595.bundle.min.js":256===e?"paypal-button.3d0d5af7df85963df32c.bundle.min.js":699===e?"60745ddf42fde6647dbc.bundle.min.js":156===e?"stripe-button.2acbca466dfeb9585680.bundle.min.js":241===e?"progress-tracker.53951a08af7543da98e6.bundle.min.js":26===e?"animated-headline.3efc6517c2a055f6c242.bundle.min.js":534===e?"media-carousel.aca2224ef13e6f999011.bundle.min.js":369===e?"carousel.9b02b45d7826c1c48f33.bundle.min.js":804===e?"countdown.be941c879efa861dbbfa.bundle.min.js":888===e?"hotspot.6ab1751404c381bfe390.bundle.min.js":680===e?"form.10bf1a6475f0741920ff.bundle.min.js":121===e?"gallery.8ca9a354ce039d1ba641.bundle.min.js":288===e?"lottie.565b778d23c04461c4ea.bundle.min.js":42===e?"nav-menu.d43af66e5000fd109c04.bundle.min.js":50===e?"popup.085c1727e36940b18f29.bundle.min.js":985===e?"load-more.bc9573b5d1f73abd80b9.bundle.min.js":287===e?"posts.caaf3e27e57db8207afc.bundle.min.js":824===e?"portfolio.b5c5e89624dc6b81a11a.bundle.min.js":58===e?"share-buttons.08f4daf4a4285a8632b8.bundle.min.js":114===e?"slides.fb6b9afd278bb9c5e75b.bundle.min.js":443===e?"social.2d2e44e8608690943f29.bundle.min.js":838===e?"table-of-contents.82ad797536446d523057.bundle.min.js":685===e?"archive-posts.d30c917134774f65dd6d.bundle.min.js":858===e?"search-form.a25a87283d08dad12f18.bundle.min.js":102===e?"woocommerce-menu-cart.faa7b80e9ba9e5072070.bundle.min.js":1===e?"woocommerce-purchase-summary.46445ab1120a8c28c05c.bundle.min.js":124===e?"woocommerce-checkout-page.b18af78282979b6f74e4.bundle.min.js":859===e?"woocommerce-cart.fc30c6cb753d4098eff5.bundle.min.js":979===e?"woocommerce-my-account.3ee10d01e625dad87f73.bundle.min.js":497===e?"woocommerce-notices.aaa7a3d06f24f7ea6951.bundle.min.js":800===e?"product-add-to-cart.023d7d31fbf96c3dbdfc.bundle.min.js":149===e?"loop.e45e73509acb0a350776.bundle.min.js":153===e?"loop-carousel.4e8fd6593adbba21698e.bundle.min.js":356===e?"ajax-pagination.a8dae0f5699fe9733e7d.bundle.min.js":495===e?"mega-menu.ff65163e28a043660c7b.bundle.min.js":157===e?"mega-menu-stretch-content.60ca9e1e97c52ac3bf8c.bundle.min.js":244===e?"menu-title-keyboard-handler.80c53fcbf2fdb487c91d.bundle.min.js":209===e?"nested-carousel.9145d6891784d5818672.bundle.min.js":188===e?"taxonomy-filter.b42e9c10a9d0abc3454e.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},a="elementor-pro:",__webpack_require__.l=(e,n,c,i)=>{if(r[e])r[e].push(n);else{var _,t;if(void 0!==c)for(var b=document.getElementsByTagName("script"),o=0;o{_.onerror=_.onload=null,clearTimeout(d);var c=r[e];if(delete r[e],_.parentNode&&_.parentNode.removeChild(_),c&&c.forEach((e=>e(n))),a)return a(n)},d=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:_}),12e4);_.onerror=onScriptComplete.bind(null,_.onerror),_.onload=onScriptComplete.bind(null,_.onload),t&&document.head.appendChild(_)}},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var a=r.getElementsByTagName("script");if(a.length)for(var n=a.length-1;n>-1&&!e;)e=a[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={396:0};__webpack_require__.f.j=(r,a)=>{var n=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==n)if(n)a.push(n[2]);else if(396!=r){var c=new Promise(((a,c)=>n=e[r]=[a,c]));a.push(n[2]=c);var i=__webpack_require__.p+__webpack_require__.u(r),_=new Error;__webpack_require__.l(i,(a=>{if(__webpack_require__.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var c=a&&("load"===a.type?"missing":a.type),i=a&&a.target&&a.target.src;_.message="Loading chunk "+r+" failed.\n("+c+": "+i+")",_.name="ChunkLoadError",_.type=c,_.request=i,n[1](_)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,a)=>{var n,c,[i,_,t]=a,b=0;if(i.some((r=>0!==e[r]))){for(n in _)__webpack_require__.o(_,n)&&(__webpack_require__.m[n]=_[n]);if(t)var o=t(__webpack_require__)}for(r&&r(a);b{"use strict";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{actions:()=>P,addAction:()=>A,addFilter:()=>m,applyFilters:()=>w,applyFiltersAsync:()=>I,createHooks:()=>h,currentAction:()=>x,currentFilter:()=>T,defaultHooks:()=>f,didAction:()=>j,didFilter:()=>z,doAction:()=>g,doActionAsync:()=>k,doingAction:()=>O,doingFilter:()=>S,filters:()=>Z,hasAction:()=>_,hasFilter:()=>v,removeAction:()=>p,removeAllActions:()=>F,removeAllFilters:()=>b,removeFilter:()=>y});const n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)},r=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)},i=function(t,e){return function(i,o,s,c=10){const l=t[e];if(!r(i))return;if(!n(o))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:o};if(l[i]){const t=l[i].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=a:t.splice(e,0,a),l.__current.forEach((t=>{t.name===i&&t.currentIndex>=e&&t.currentIndex++}))}else l[i]={handlers:[a],runs:0};"hookAdded"!==i&&t.doAction("hookAdded",i,o,s,c)}},o=function(t,e,i=!1){return function(o,s){const c=t[e];if(!r(o))return;if(!i&&!n(s))return;if(!c[o])return 0;let l=0;if(i)l=c[o].handlers.length,c[o]={runs:c[o].runs,handlers:[]};else{const t=c[o].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==o&&t.doAction("hookRemoved",o,s),l}},s=function(t,e){return function(n,r){const i=t[e];return void 0!==r?n in i&&i[n].handlers.some((t=>t.namespace===r)):n in i}},c=function(t,e,n,r){return function(i,...o){const s=t[e];s[i]||(s[i]={handlers:[],runs:0}),s[i].runs++;const c=s[i].handlers;if(!c||!c.length)return n?o[0]:void 0;const l={name:i,currentIndex:0};return(r?async function(){try{s.__current.add(l);let t=n?o[0]:void 0;for(;l.currentIndex0:Array.from(r.__current).some((t=>t.name===n))}},u=function(t,e){return function(n){const i=t[e];if(r(n))return i[n]&&i[n].runs?i[n].runs:0}};class d{constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=i(this,"actions"),this.addFilter=i(this,"filters"),this.removeAction=o(this,"actions"),this.removeFilter=o(this,"filters"),this.hasAction=s(this,"actions"),this.hasFilter=s(this,"filters"),this.removeAllActions=o(this,"actions",!0),this.removeAllFilters=o(this,"filters",!0),this.doAction=c(this,"actions",!1,!1),this.doActionAsync=c(this,"actions",!1,!0),this.applyFilters=c(this,"filters",!0,!1),this.applyFiltersAsync=c(this,"filters",!0,!0),this.currentAction=l(this,"actions"),this.currentFilter=l(this,"filters"),this.doingAction=a(this,"actions"),this.doingFilter=a(this,"filters"),this.didAction=u(this,"actions"),this.didFilter=u(this,"filters")}}const h=function(){return new d},f=h(),{addAction:A,addFilter:m,removeAction:p,removeFilter:y,hasAction:_,hasFilter:v,removeAllActions:F,removeAllFilters:b,doAction:g,doActionAsync:k,applyFilters:w,applyFiltersAsync:I,currentAction:x,currentFilter:T,doingAction:O,doingFilter:S,didAction:j,didFilter:z,actions:P,filters:Z}=f;(window.wp=window.wp||{}).hooks=e})(); //# sourceMappingURL=index.min.js.map;