!function(e){"use strict";let t={init:function(){window.elementorFrontend&&window.elementorFrontend.hooks&&(window.elementorFrontend.hooks.addAction("frontend/element_ready/jet-single-images.default",function(e){e.find(".jet-single-images__loading").remove()}),window.elementorFrontend.hooks.addAction("frontend/element_ready/jet-single-tabs.default",function(e){e.find(".jet-single-tabs__loading").remove()}),window.elementorFrontend.hooks.addFilter("jet-popup/widget-extensions/popup-data",t.prepareJetPopup),e(window).on("jet-popup/render-content/ajax/success",t.jetPopupLoaded),e(window).on("jet-popup/ajax/frontend-init/before",t.prepareQuickViewGalleryData),e(window).on("jet-popup/ajax/frontend-init/after",t.initQuickViewGallery),e(document).on("wc_update_cart added_to_cart",t.handleJetPopupWithWCEvents).on("jet-filter-content-rendered",function(e,o){t.initFilteredContentWidgets(o)}).on("click.JetWooBuilder",".jet-woo-item-overlay-wrap",t.handleListingItemClick),e(document.body).on("wc_cart_emptied",function(){t.restoreMovedDefaultEmptyCartMessage(),t.restoreMovedDefaultEmptyCartUndoNotice(),setTimeout(function(){t.restoreMovedDefaultEmptyCartMessage(),t.restoreMovedDefaultEmptyCartUndoNotice()},0),e(".jet-woo-builder-woocommerce-empty-cart").length&&(t.captureElementorProEmptyCartNotices(),t.elementorFrontendInit(e(".jet-woo-builder-woocommerce-empty-cart")),t.handleElementorProEmptyCartNotices())}),e(document.body).on("updated_wc_div updated_cart_totals",t.handleElementorProEmptyCartNotices),window.elementorFrontend.hooks.addAction("frontend/element_ready/woocommerce-notices.default",t.handleElementorProCheckoutForms),e(document.body).on("updated_checkout checkout_error applied_coupon_in_checkout removed_coupon_in_checkout",t.handleElementorProCheckoutForms),e(document).on("jet-ajax-search/show-results/listing",function(){e(".jet-woo-builder-archive-add-to-cart .add_to_cart_button.ajax_add_to_cart").on("click",function(t){t.preventDefault();let o=e(this);if(o.attr("data-product_id")){let t={};e.each(o[0].dataset,function(e,o){t[e]=o}),o.prop("disabled",!0),e.ajax({type:"POST",url:wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%","add_to_cart"),dataType:"json",data:t,success:function(t){e(document.body).trigger("wc_fragment_refresh"),e(document.body).trigger("added_to_cart"),o.prop("disabled",!1)},error:function(e,t,n){o.prop("disabled",!1)}})}})}))},registerWidgetHandler:function(t,o){window.elementorFrontend&&window.elementorFrontend.hooks?window.elementorFrontend.hooks.addAction("frontend/element_ready/"+t,o):e(window).on("elementor/frontend/init",function(){window.elementorFrontend&&window.elementorFrontend.hooks&&window.elementorFrontend.hooks.addAction("frontend/element_ready/"+t,o)})},commonInit:function(){if(window.jetWooBuilderData&&window.jetWooBuilderData.single_ajax_add_to_cart){e(".woocommerce div.product").hasClass("product-type-external")||e(document).on("click.JetWooBuilder",".single_add_to_cart_button:not(.disabled)",t.singleProductAjaxAddToCart)}-1!==navigator.userAgent.indexOf("Safari")&&-1===navigator.userAgent.indexOf("Chrome")&&document.addEventListener("click",function(e){e.target.matches(".add_to_cart_button .button-text")&&e.target.parentNode.focus(),(e.target.matches(".add_to_cart_button")||e.target.matches(".single_add_to_cart_button"))&&e.target.focus()}),e(document.body).bind("country_to_state_changing",function(e,o,n){setTimeout(function(){t.setAddressFieldsRequiredValidation(n)},500)})},setAddressFieldsRequiredValidation:function(o){let n=o.closest(".elementor-element"),r=t.getElementorElementSettings(n);if(r&&r.modify_field){let n=e.parseJSON(wc_address_i18n_params.locale_fields);n&&e.each(n,function(n,r){let i=r.split(",");e.each(i,function(e,n){let r=o.find(n.trim());r.length&&(r.hasClass("jwb-field-required")?t.fieldIsRequired(r,!0):r.hasClass("jwb-field-optional")&&t.fieldIsRequired(r,!1))})})}},fieldIsRequired:function(e,o){t.modifyFieldLabelWhitespace(e),o?(e.find("label .optional").remove(),e.addClass("validate-required"),0===e.find("label .required").length&&e.find("label").append('&nbsp;<abbr class="required" title="'+wc_address_i18n_params.i18n_required_text+'">*</abbr>')):(e.find("label .required").remove(),e.removeClass("validate-required woocommerce-invalid woocommerce-invalid-required-field"),0===e.find("label .optional").length&&e.find("label").append('&nbsp;<span class="optional">('+wc_address_i18n_params.i18n_optional_text+")</span>"))},modifyFieldLabelWhitespace:function(e){let t=e.find("label").html();t&&e.find("label").html(t.replace(/&nbsp;/g,"").trim())},restoreMovedDefaultEmptyCartMessage:function(){let o=e(".wc-empty-cart-message").first();if(!o.length)return;let n=e(".cart-empty.woocommerce-info").first();if(n.length&&(t.defaultEmptyCartNoticeHtml=n.prop("outerHTML")),o.find(".cart-empty.woocommerce-info").length)return void o.add(o.find(".cart-empty.woocommerce-info")).css("display","block");if(!n.length&&t.defaultEmptyCartNoticeHtml&&(n=e(t.defaultEmptyCartNoticeHtml)),!n.length)return;let r=n.parent();o.append(n),o.add(n).css("display","block"),r.hasClass("woocommerce-notices-wrapper")&&!e.trim(r.html())&&r.remove()},restoreMovedDefaultEmptyCartUndoNotice:function(){let o=e(".wc-empty-cart-message").first(),n=".woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner";if(!o.length)return;let r=o.closest(".woocommerce").find("> .woocommerce-notices-wrapper").first(),i=r.find(".restore-item").first().closest(n);if(i.length)return t.defaultEmptyCartUndoNoticeHtml=i.prop("outerHTML"),void r.add(i).css("display","block");(i=e(".restore-item").first().closest(n)).length?t.defaultEmptyCartUndoNoticeHtml=i.prop("outerHTML"):t.defaultEmptyCartUndoNoticeHtml&&(r.length||(r=e('<div class="woocommerce-notices-wrapper"></div>'),o.before(r)),r.find(".restore-item").length||(r.prepend(t.defaultEmptyCartUndoNoticeHtml),r.add(r.find(n)).css("display","block")))},captureElementorProEmptyCartNotices:function(){let o=e(".woocommerce-NoticeGroup, .woocommerce-error, .woocommerce-message, .woocommerce-info:not(.cart-empty), .wc-block-components-notice-banner");t.emptyCartNoticesHtml="",o.length&&o.each(function(){t.emptyCartNoticesHtml+=e(this).prop("outerHTML")})},handleElementorProEmptyCartNotices:function(){setTimeout(function(){let o=e(".jet-woo-builder-woocommerce-empty-cart .elementor-widget-woocommerce-notices").first();if(!o.length)return;let n=o.find(".e-woocommerce-notices-wrapper").first();if(!n.length)return;let r=".woocommerce-NoticeGroup, .woocommerce-error, .woocommerce-message, .woocommerce-info:not(.cart-empty), .wc-block-components-notice-banner";n.find("> .woocommerce-notices-wrapper").each(function(){let t=e(this),o=t.children(r);o.length&&n.prepend(o),e.trim(t.html())||t.remove()});let i=e(r).filter(function(){return!e(this).closest(n).length&&!e(this).hasClass("cart-empty")});i.length?i.prependTo(n):t.emptyCartNoticesHtml&&!n.children(r).length&&n.prepend(t.emptyCartNoticesHtml),n.removeClass("e-woocommerce-notices-wrapper-loading"),n.find(".woocommerce-notices-wrapper, .woocommerce-error, .woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner").css("display","block")},0)},handleElementorProCheckoutForms:function(){setTimeout(function(){if(!e(".jet-woo-builder-woocommerce-checkout, .elementor-widget-jet-checkout-login-form, .elementor-widget-jet-checkout-coupon-form").length)return;let t=e(".elementor-widget-woocommerce-notices .e-woocommerce-notices-wrapper").first();if(!t.length)return;let o=t.find("a.showlogin").closest(".woocommerce-info").first(),n=e("form.login, form.woocommerce-form--login").first();o.length&&n.length&&!n.prev().is(o)&&n.insertAfter(o);let r=t.find("a.showcoupon").closest(".woocommerce-info").first(),i=e("form.checkout_coupon").first();r.length&&i.length&&!i.prev().is(r)&&i.insertAfter(r)},0)},handleInputQuantityValue:function(o){let n=o.closest(".elementor-widget"),r=t.getElementorElementSettings(n);if(r&&"yes"===r.show_quantity){o.find("form.cart").on("change","input.qty",function(){"0"!==this.value||e(this.form).hasClass("grouped_form")||(this.value="1");let t=e(this.form).find("button[data-quantity]");t.attr("data-quantity",this.value),this.max&&(+this.value>+this.max?t.removeClass("ajax_add_to_cart"):t.hasClass("ajax_add_to_cart")||t.addClass("ajax_add_to_cart"))})}},jetPopupLoaded:function(t,o){if(!o.data.isJetWooBuilder)return;const n=e("#"+o.data.popupId);n.addClass("woocommerce product single-product quick-view-product"),n.find(".jet-popup__container-content").addClass("product"),setTimeout(function(){e(window).trigger("resize"),e(".jet-popup .variations_form").each(function(){e(this).wc_variation_form()}),e(".jet-popup .woocommerce-product-gallery.images").each(function(){e(this).wc_product_gallery()})},300)},prepareQuickViewGalleryData:function(t,o){if(!o||!o.$container||!o.$container.find(".jet-woo-product-gallery").length)return;let n=window.jetWooBuilderData&&window.jetWooBuilderData.quick_view_gallery_assets;n&&n.data&&(window.jetWooProductGalleryData?window.jetWooProductGalleryData=e.extend({},n.data,window.jetWooProductGalleryData):window.jetWooProductGalleryData=n.data)},initQuickViewGallery:function(e,o){if(!o||!o.$container||!o.$container.find(".jet-woo-product-gallery").length)return;let n=window.jetWooBuilderData&&window.jetWooBuilderData.quick_view_gallery_assets;if(!n)return;let r=!!window.JetGallery;t.loadQuickViewGalleryAssets(n).then(function(){window.JetGallery&&!r&&(window.JetGallery.init(),t.initQuickViewGalleryWidgets(o.$container))})},loadQuickViewGalleryAssets:function(o){let n=[];return o.data&&!window.jetWooProductGalleryData&&(window.jetWooProductGalleryData=o.data),e.each(o.styles||{},function(e,o){n.push(t.loadStyle(e,o))}),e.each(o.scripts||{},function(e,o){n.push(t.loadScript(e,o))}),Promise.all(n)},loadStyle:function(e,t){return new Promise(function(o){let n=e+"-css";if(document.getElementById(n))return void o();let r=document.createElement("link");r.id=n,r.rel="stylesheet",r.href=t,r.onload=o,document.head.appendChild(r)})},loadScript:function(e,t){return new Promise(function(o,n){let r=e+"-js",i=document.getElementById(r);if(i&&(i.dataset.loaded||"jet-woo-product-gallery"===e&&window.JetGallery))o();else{if(i)return i.addEventListener("load",o),void i.addEventListener("error",n);(i=document.createElement("script")).id=r,i.src=t,i.onload=function(){i.dataset.loaded="true",o()},i.onerror=n,document.body.appendChild(i)}})},initQuickViewGalleryWidgets:function(t){if(!window.elementorFrontend||!window.elementorFrontend.hooks)return;["jet-woo-product-gallery-anchor-nav.default","jet-woo-product-gallery-grid.default","jet-woo-product-gallery-modern.default","jet-woo-product-gallery-slider.default"].forEach(function(o){t.find('[data-widget_type="'+o+'"]').each(function(){window.elementorFrontend.hooks.doAction("frontend/element_ready/"+o,e(this),e)})})},prepareJetPopup:function(t,o,n,r){if(o["is-jet-woo-builder"]){let i;t.isJetWooBuilder=!0,t.templateId=o["jet-woo-builder-qv-template"],(i=n.hasClass("elementor-widget-jet-woo-products")||n.hasClass("elementor-widget-jet-woo-products-list")?e(r.target).parents(".jet-woo-builder-product"):n.parents(".jet-woo-builder-product")).length&&(t.productId=i.data("product-id"))}return t},mobileHoverOnTouch:function(o,n){void 0!==window.ontouchstart&&o.each(function(){let o=e(this),r=o.find(n+" a"),i=o.siblings();if(o.hasClass("jet-woo-products__item")){o.not(n).each(function(){let n=e(this);t.mobileTouchEvent(o,n,i)})}t.mobileTouchEvent(o,r,i)})},mobileTouchEvent:function(t,o,n){o.on("click",function(o){t.hasClass("mobile-hover")||(o.preventDefault(),n.each(function(){e(this).hasClass("mobile-hover")&&e(this).removeClass("mobile-hover")}),t.addClass("mobile-hover"))})},initCarousel:function(o,n){let r=o.closest(".elementor-widget"),i=o.find(".swiper-slide").length,a=t.getElementorElementSettings(r),d=window.elementorFrontend.config.responsive.activeBreakpoints,l={},c=+a.columns||4,s=a.slides_overflow_enabled&&a.slides_overflow?+a.slides_overflow:0,u=void 0!==a.space_between_slides?+a.space_between_slides:10,m={mobile:1,tablet:2};(l={slidesPerView:c+s,spaceBetween:u,crossFade:"fade"===n.effect,handleElementorBreakpoints:!0}).breakpoints={};let p=c;if(Object.keys(d).reverse().forEach(e=>{const t=m[e]?m[e]:p,o=+a["columns_"+e]||t,r=a.slides_overflow_enabled&&a["slides_overflow_"+e]?+a["slides_overflow_"+e]:s;l.breakpoints[d[e].value]={slidesPerView:o+r,slidesPerGroup:+a["slides_to_scroll_"+e]||n.slidesPerGroup,spaceBetween:void 0!==a["space_between_slides_"+e]?+a["space_between_slides_"+e]:u},p=+a["columns_"+e]||t}),n.paginationEnable&&(l.pagination={el:".swiper-pagination",clickable:!0,dynamicBullets:n.dynamicBullets}),n.navigationEnable&&(l.navigation={nextEl:".jet-swiper-button-next",prevEl:".jet-swiper-button-prev"}),i>(+a["columns_"+elementorFrontend.getCurrentDeviceMode()]||+a.columns)){new(0,elementorFrontend.utils.swiper)(o,e.extend({},l,n)).then(t=>{e(document).trigger("jet-woo-builder-swiper-initialized",t),"vertical"===n.direction&&n.paginationEnable&&n.dynamicBullets&&o.find(".swiper-pagination").css("width",o.find(".swiper-pagination-bullet-active").width())}),o.find(".jet-arrow").show()}else"vertical"===n.direction?(o.addClass("swiper-container-vertical"),o.find(".jet-arrow").hide()):o.find(".jet-arrow").hide()},handleJetPopupWithWCEvents:function(t,o,n,r){let i=e(r).closest(".jet-popup");i.length&&i.hasClass("quick-view-product")&&e(window).trigger({type:"jet-popup-close-trigger",popupData:{popupId:i.attr("id"),constantly:!1}});let a=e(r).closest("[data-purchase-popup-id]");if(a.length){let i=a.data("purchase-popup-id");i&&e(window).trigger({type:"jet-popup-open-trigger",popupData:window.JetPlugins.hooks.applyFilters("jet-woo-builder.purchase-popup.data",{popupId:"jet-popup-"+i},t,o,n,r)})}},singleProductAjaxAddToCart:function(t){t&&t.preventDefault();let o=e(this).closest("form");if(!o[0].checkValidity())return o[0].reportValidity(),!1;let n=e(this),r=n.val()||"",i=o.serialize();return e.ajax({type:"POST",url:window.jetWooBuilderData.ajax_url,data:"action=jet_woo_builder_add_cart_single_product&add-to-cart="+r+"&"+i,beforeSend:function(){n.removeClass("added").addClass("loading")},complete:function(){n.addClass("added").removeClass("loading")},success:function(t){t&&(t.error&&t.product_url?window.location=t.product_url:"undefined"!=typeof wc_add_to_cart_params&&(e(document.body).trigger("wc_fragment_refresh"),e(document.body).trigger("added_to_cart",[t.fragments,t.cart_hash,n]),e(".woocommerce-notices-wrapper").html(t.fragments.notices_html)))}}),!1},handleListingItemClick:function(t){let o=e(this).data("url"),n=e(this).data("target")||!1;if(o){if(t.preventDefault(),window.elementorFrontend&&window.elementorFrontend.isEditMode()||e(t.target).parents(".jet-compare-button__link").length||e(t.target).parents(".jet-wishlist-button__link").length||e(t.target).parents(".jet-quickview-button__link").length)return;if("_blank"===n)return void window.open(o);window.location=o}},getElementorElementSettings:function(e){return window.elementorFrontend&&window.elementorFrontend.isEditMode()&&e.hasClass("elementor-element-edit-mode")?t.getEditorElementSettings(e):e.data("settings")||{}},getEditorElementSettings:function(e){let t,o=e.data("model-cid");return o&&window.elementorFrontend.hasOwnProperty("config")&&window.elementorFrontend.config.hasOwnProperty("elements")&&window.elementorFrontend.config.elements.hasOwnProperty("data")&&(t=window.elementorFrontend.config.elements.data[o])?t.toJSON():{}},initFilteredContentWidgets:function(t){if(!window.elementorFrontend||!window.elementorFrontend.hooks)return;["jet-woo-products.default","jet-woo-products-list.default","jet-woo-builder-archive-add-to-cart.default","jet-woo-categories.default","jet-cart-table.default","jet-woo-builder-products-loop.default"].forEach(function(o){t.find('[data-widget_type="'+o+'"]').addBack('[data-widget_type="'+o+'"]').each(function(){window.elementorFrontend.hooks.doAction("frontend/element_ready/"+o,e(this),e)})})},elementorFrontendInit:function(t){window.elementorFrontend&&window.elementorFrontend.hooks&&t.find("[data-element_type]").each(function(){let t=e(this),o=t.data("element_type");o&&("widget"===o&&(o=t.data("widget_type"),window.elementorFrontend.hooks.doAction("frontend/element_ready/widget",t,e)),window.elementorFrontend.hooks.doAction("frontend/element_ready/global",t,e),window.elementorFrontend.hooks.doAction("frontend/element_ready/"+o,t,e))})}};e(window).on("elementor/frontend/init",t.init),t.commonInit(),window.JetWooBuilder=t}(jQuery);