// source --> https://janesto.com/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=10.6.2 
!function(t){"use strict";const e=t.params,n=(document.querySelector.bind(document),(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t)),i=()=>null,s=t=>null===t||t===undefined?"":t,o="wc/store/checkout";function a(t){document.querySelectorAll("wc-order-attribution-inputs").forEach((t,e)=>{e>0&&t.remove()});for(const e of document.querySelectorAll("wc-order-attribution-inputs"))e.values=t}function r(t){window.wp&&window.wp.data&&window.wp.data.dispatch&&window.wc&&window.wc.wcBlocksData&&window.wp.data.dispatch(window.wc.wcBlocksData.CHECKOUT_STORE_KEY).setExtensionData("woocommerce/order-attribution",t,!0)}function c(){return"undefined"!=typeof sbjs}function d(){if(window.wp&&window.wp.data&&"function"==typeof window.wp.data.subscribe){const e=window.wp.data.subscribe(function(){e(),r(t.getAttributionData())},o)}}t.getAttributionData=function(){const s=e.allowTracking&&c()?n:i,o=c()?sbjs.get:{},a=Object.entries(t.fields).map(([t,e])=>[t,s(o,e)]);return Object.fromEntries(a)},t.setOrderTracking=function(n){if(e.allowTracking=n,n){if(!c())return;sbjs.init({lifetime:Number(e.lifetime),session_length:Number(e.session),base64:Boolean(e.base64),timezone_offset:"0"})}else!function(){const t=window.location.hostname;["sbjs_current","sbjs_current_add","sbjs_first","sbjs_first_add","sbjs_session","sbjs_udata","sbjs_migrations","sbjs_promo"].forEach(e=>{document.cookie=`${e}=; path=/; max-age=-999; domain=.${t};`})}();const i=t.getAttributionData();a(i),r(i)},t.setOrderTracking(e.allowTracking),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",d):d(),window.customElements.define("wc-order-attribution-inputs",class extends HTMLElement{constructor(){if(super(),this._fieldNames=Object.keys(t.fields),this.hasOwnProperty("_values")){let t=this.values;delete this.values,this.values=t||{}}}connectedCallback(){this.innerHTML="";const t=new DocumentFragment;for(const n of this._fieldNames){const i=document.createElement("input");i.type="hidden",i.name=`${e.prefix}${n}`,i.value=s(this.values&&this.values[n]||""),t.appendChild(i)}this.appendChild(t)}set values(t){if(this._values=t,this.isConnected)for(const t of this._fieldNames){const n=this.querySelector(`input[name="${e.prefix}${t}"]`);n?n.value=s(this.values[t]):console.warn(`Field "${t}" not found. `+"Most likely, the '<wc-order-attribution-inputs>' element was manipulated.")}}get values(){return this._values}})}(window.wc_order_attribution);
// source --> https://janesto.com/wp-content/plugins/woocommerce-paypal-payments/assets/ppcp-wc-gateway-js-fraudnet.js?ver=4.0.2 
window.addEventListener("load",function(){function e(){var e=document.querySelector("[fncls='fnparams-dede7cc5-15fd-4c75-a9f4-36c430ee3a99']");e&&e.parentNode&&e.parentNode.removeChild(e),(e=document.createElement("script")).id="fconfig",e.type="application/json",e.setAttribute("fncls","fnparams-dede7cc5-15fd-4c75-a9f4-36c430ee3a99");var t={f:FraudNetConfig.f,s:FraudNetConfig.s};"1"===FraudNetConfig.sandbox&&(t.sandbox=!0),e.text=JSON.stringify(t),document.body.appendChild(e);var n=document.forms.order_review;if(n){var d=document.createElement("input");d.setAttribute("type","hidden"),d.setAttribute("name","pui_pay_for_order_session_id"),d.setAttribute("value",FraudNetConfig.f),n.appendChild(d)}!function(){var e=document.createElement("script");e.src="https://c.paypal.com/da/r/fb.js",document.body.appendChild(e)}()}document.addEventListener("hosted_fields_loaded",function(t){PAYPAL.asyncData&&"function"==typeof PAYPAL.asyncData.initAndCollect&&PAYPAL.asyncData.initAndCollect(),e()}),e()});
// source --> https://janesto.com/wp-content/themes/Divi/includes/builder/scripts/cpt-modules-wrapper.js?ver=4.27.6 
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=142)}({0:function(e,t){e.exports=jQuery},142:function(e,t,n){"use strict";(function(e){et_modules_wrapper.builderCssContainerPrefix;var t=et_modules_wrapper.builderCssLayoutPrefix,n=e(".et_pb_module:not(".concat(t," .et_pb_module, .et_pb_section .et_pb_module), .et_pb_row:not(").concat(t," .et_pb_row, .et_pb_section .et_pb_row), .et_pb_section:not(").concat(t," .et_pb_section)"));n.length>0&&n.each((function(){var t=e(this);0===t.closest("#et-boc").length&&t.wrap('<div id="et-boc"></div>'),0===t.closest(".et-l").length&&t.wrap('<div class="et-l"></div>')}))}).call(this,n(0))}});
// source --> https://janesto.com/wp-content/themes/Divi/core/admin/js/common.js?ver=4.27.6 
(function($){
	$(function(){
		var user_agent = navigator.userAgent;
		var is_opera_edge;
		var browser = user_agent.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))/i) || [];
		var browser_name = '';
		var browser_class = '';

		if ( /trident/i.test( browser[0] ) ) {
			browser_name = 'ie';
		} else if ( browser[0] === 'Chrome' ) {
			is_opera_edge = user_agent.match(/\b(OPR|Edge)/);

			if ( is_opera_edge !== null ) {
				browser_name = is_opera_edge[0].replace('OPR', 'opera');
			}
		}

		// use navigator.appName as browser name if we were unable to get it from user_agent
		if ( '' === browser_name ) {
			if ('standalone' in window.navigator && !window.navigator.standalone) {
				browser_name = 'uiwebview';
			} else {
				browser_name = browser[0] && '' !== browser[0] ? browser[0] : navigator.appName;
			}
		}

		browser_name = browser_name.toLowerCase();

		// convert browser name to class. Some classes do not match the browser name
		switch( browser_name ) {
			case 'msie' :
				browser_class = 'ie';
				break;
			case 'firefox' :
				browser_class = 'gecko';
				break;
			default :
				browser_class = browser_name;
				break;
		}

		// add `iphone` class if browsing from iphone
		if ( user_agent.match(/iPhone/) ) {
			browser_class += ' iphone';
		}

		$( 'body' ).addClass( browser_class );
	});
})(jQuery);
// source --> https://janesto.com/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-contact-form-7-83c32a029ed2cf5b6a82.js 
(()=>{"use strict";var e={};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();const t="email",n="phone",r="name",l={[t]:["email","e-mail","mail","email address"],[n]:["phone","tel","mobile","cell","telephone","phone number"],[r]:["name","full-name","full name","full_name","fullname","first-name","first name","first_name","firstname","last-name","last name","last_name","lastname","given-name","given name","given_name","givenname","family-name","family name","family_name","familyname","fname","lname","first","last","your-name","your name"]};function a(e){return e&&"string"==typeof e?e.trim().toLowerCase():""}function i(e){const t=a(e),n=t.lastIndexOf("@");if(-1===n)return t;const r=t.slice(n+1);return["gmail.com","googlemail.com"].includes(r)?`${t.slice(0,n).replace(/\./g,"")}@${r}`:t}function u(e){const t=a(e),n=t.replace(/\D/g,"");return t.startsWith("+")?`+${n}`:n}function s(e){const t=e.filter(e=>{let{type:t}=e;return t===r}).map(e=>{let{value:t}=e;return a(t)}).filter(Boolean);if(!t.length)return;const[n,...l]=1===t.length?t[0].split(" "):t;return{first_name:n,...l?.length>0?{last_name:l.join(" ")}:{}}}function o(e){return e.find(e=>{let{type:n}=e;return n===t})?.value}function c(e){return e.find(e=>{let{type:t}=e;return t===n})?.value}e.g.document.addEventListener("wpcf7mailsent",m=>{const f=e.g._googlesitekit?.gtagUserData,g=f?function(e){if(!(e&&e instanceof HTMLFormElement))return;const m=new FormData(e);return function(e){const t=[["address",s(e)],["email",o(e)],["phone_number",c(e)]].filter(e=>{let[,t]=e;return t});if(0!==t.length)return Object.fromEntries(t)}(Array.from(m.entries()).map(s=>{let[o,c]=s;const m=e.querySelector(`[name='${o}']`),f=m?.type;return"hidden"===f||"submit"===f?null:function(e){let{type:s,name:o,value:c,label:m}=e||{};switch(s=a(s),o=a(o),c=a(c),m=function(e){return e&&"string"==typeof e?e.trim().toLowerCase().replace(/\s*\*+\s*$/,"").replace(/\s*\(required\)\s*$/i,"").replace(/\s*:\s*$/,"").trim():""}(m),s){case"email":return{type:t,value:i(c)};case"tel":return{type:n,value:u(c)}}return function(e){if(!e)return!1;const t=i(e);return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}(c)||l[t].includes(o)||l[t].includes(m)?{type:t,value:i(c)}:l[n].includes(o)||l[n].includes(m)?{type:n,value:u(c)}:l[r].includes(o)||l[r].includes(m)?{type:r,value:a(c)}:function(e){if(!e)return!1;if(!function(e){const t=e.replace(/\D/g,"");return!(t.length<7||t.length<e.length/2)&&/^[\s\-()+.\d]*$/.test(e)}(e))return!1;const t=u(e);if(!/^\+?\d{7,}$/.test(t))return!1;const n=/[\s\-()+.]/.test(e),r=e.trim().startsWith("+");return!(!n&&!r)}(c)?{type:n,value:u(c)}:null}({type:f,label:m?.id?e.querySelector(`label[for='${m?.id}']`)?.textContent:void 0,name:o,value:c})}).filter(Boolean))}(m.target):null;e.g._googlesitekit?.gtagEvent?.("contact",{event_category:m.detail.contactFormId,event_label:m.detail.unitTag,...g?{user_data:g}:{}})})})();
// source --> https://janesto.com/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-woocommerce-3cd9b44a3ba68626e9cb.js 
(()=>{var t={};t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),(e=>{if(!e)return;const{currency:o,products:n,purchase:i,add_to_cart:r,eventsToTrack:a}=t.g._googlesitekit?.wcdata||{},c=a?.includes("add_to_cart"),s=a?.includes("purchase");if(r&&c){const{price:e}=r,n=u(e,o,r);t.g._googlesitekit?.gtagEvent?.("add_to_cart",n)}if(i&&s){const{id:e,totals:o,items:n,user_data:r}=i,a=u(o.total_price,o.currency_code,n,e,o.shipping_total,o.tax_total);t.g._googlesitekit?.gtagUserData&&r&&(a.user_data=r),t.g._googlesitekit?.gtagEvent?.("purchase",a)}const d=e("body");function u(t,e,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;const a={value:l(t),currency:e,items:[]};if(n&&(a.transaction_id=n),"number"==typeof i&&(a.shipping=i),"number"==typeof r&&(a.tax=r),o&&o.length)for(const t of o)a.items.push(g(t));else o&&o.id&&(a.items=[g(o)]);return a}function g(t){const{id:e,name:o,price:n,variation:i,quantity:r,categories:a}=t,c={item_id:e,item_name:o,price:l(n)};if(r&&(c.quantity=r),i&&(c.item_variant=i),a&&a?.length){let t=1;for(const e of a)c[t>1?`item_category${t}`:"item_category"]=e.name,t++}return c}function l(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return parseInt(t,10)/10**e}c&&(d.on("added_to_cart",(e,i,r,a)=>{if(!a?.jquery)return;const c=parseInt(a.data("product_id"),10);if(!c)return;const s=n?.find(t=>t?.id===c)||{},{price:d}=s,g=u(d,o,s);t.g._googlesitekit?.gtagEvent?.("add_to_cart",g)}),e(".products-block-post-template .product, .wc-block-product-template .product").each(function(){const i=e(this),r=parseInt(i.find("[data-product_id]").attr("data-product_id"),10);r&&i.on("click",i=>{const a=e(i.target).closest(".wc-block-components-product-button [data-product_id]");if(!a.length||!a.hasClass("add_to_cart_button")||a.hasClass("product_type_variable"))return;const c=n?.find(t=>t?.id===r)||{},{price:s}=c,d=u(s,o,c);t.g._googlesitekit?.gtagEvent?.("add_to_cart",d)})}))})(t.g.jQuery)})();
// source --> https://janesto.com/wp-content/plugins/woo-gallery-slider-pro/public/js/woo-gallery-slider-public.min.js?ver=3.1.1 
!function($){"use strict";class AnchorNavigationHandler{constructor(settings){this.unbindAllEvents(),this.settings=settings,this.$window=$(window),this.mouseClicked=!1,this.init()}unbindAllEvents(){$(".anchor_navigation_wrapper a").off("click.anchorNav"),$(window).off("scroll.anchorNav"),$(".anchor_navigation_wrapper a").off("mouseenter.anchorNav"),$(window).off("scroll.anchorNavSpy")}init(){this.mouseClicked=!1,this.setupStickyNavigation(),this.setupNavigationLinks(),this.setupScrollSpy()}setupStickyNavigation(){const navItems=$(".wcgs-carousel"),navController=$(document).find(".anchor_navigation_wrapper");if(!navItems.length||!navController.length)return;0==navController.find(".inner-wrapper-navigation").length&&navController.wrapInner("<div class='inner-wrapper-navigation'></div>");const $innerNavController=$(".inner-wrapper-navigation");let $innerNavControllerWidth=$innerNavController.outerWidth(),$innerNavControllerTop=$innerNavController.offset().top,$innerNavControllerLeft=$innerNavController.offset().left;setTimeout(()=>{$innerNavControllerWidth=$innerNavController.outerWidth(),$innerNavControllerTop=$innerNavController.offset().top,$innerNavControllerLeft=$innerNavController.offset().left},100),$(window).off("scroll.anchorNav"),$(window).on("scroll.anchorNav",()=>{this.updateStickyNav($innerNavController,$innerNavControllerWidth)}),$(window).trigger("scroll.anchorNav")}updateStickyNav($innerNavController,$innerNavControllerWidth){const scrollPosition=$(window).scrollTop(),galleryAreaHeight=$("#wpgs-gallery").outerHeight(),galleryPositionTop=$("#wpgs-gallery").offset().top,summaryAreaHeight=$innerNavController.outerHeight();if(summaryAreaHeight<galleryAreaHeight)if(galleryPositionTop-scrollPosition<=-20&&galleryPositionTop+(galleryAreaHeight-summaryAreaHeight)>=scrollPosition)$innerNavController.css({position:"fixed",top:galleryPositionTop-scrollPosition<=10?7:galleryPositionTop-scrollPosition,width:$innerNavControllerWidth});else if(scrollPosition>=galleryPositionTop+galleryAreaHeight-summaryAreaHeight&&scrollPosition<galleryPositionTop+galleryAreaHeight){var gallery_position_height,gallery_position=scrollPosition+summaryAreaHeight-(galleryPositionTop+galleryAreaHeight);$innerNavController.css({position:"fixed",top:7-gallery_position,width:$innerNavControllerWidth})}else $innerNavController.css({position:"static",top:"auto",left:"auto",width:$innerNavControllerWidth});else $innerNavController.css({position:"static",top:"auto",left:"auto",width:$innerNavControllerWidth})}setupNavigationLinks(){const handleMouseTrigger=debounce(e=>{e.preventDefault();const hash=e.currentTarget.hash;hash&&(this.mouseClicked=!0,$(".anchor_navigation_wrapper a").removeClass("active"),$('a[href="'+hash+'"]').addClass("active"),$("html, body").animate({scrollTop:$(hash).offset().top-100},300),setTimeout(()=>{this.mouseClicked=!1},1e3))},10);$(".anchor_navigation_wrapper a").on("click.anchorNav",e=>{e.preventDefault(),handleMouseTrigger(e)}),"mouseover"==this.settings.thumb_active_on&&($(".anchor_navigation_wrapper a").off("mouseenter.anchorNav"),$(".anchor_navigation_wrapper a").on("mouseenter.anchorNav",handleMouseTrigger))}setupScrollSpy(){$(window).off("scroll.anchorNavSpy"),$(window).on("scroll.anchorNavSpy",()=>{if(this.mouseClicked)return;const scrollPosition=$(window).scrollTop();$(".wcgs-grid-template-slide").each((index,element)=>{const sectionTop=$(element).offset().top-10,sectionBottom=sectionTop+$(element).outerHeight();if(scrollPosition>=sectionTop&&scrollPosition<=sectionBottom){const currentId=$(element).attr("id");return $(".anchor_navigation_wrapper a").removeClass("active"),$(`.anchor_navigation_wrapper a[href="#${currentId}"]`).addClass("active"),!1}})});const scrollPosition=$(window).scrollTop();let activeFound=!1;$(".wcgs-grid-template-slide").each((index,element)=>{const sectionTop=$(element).offset().top,sectionBottom=sectionTop+$(element).outerHeight();if(scrollPosition>=sectionTop&&scrollPosition<=sectionBottom){const currentId=$(element).attr("id");return $(".anchor_navigation_wrapper a").removeClass("active"),$(`.anchor_navigation_wrapper a[href="#${currentId}"]`).addClass("active"),activeFound=!0,!1}}),activeFound||$(".anchor_navigation_wrapper a").first().addClass("active")}}class WooGallerySlider{constructor(){this.unbindAllEvents(),this.$gallery=$("#wpgs-gallery"),this.$carousel=$(".wcgs-carousel"),this.$window=$(window),this.$document=$(document),this.players=new Map,this.settings=wcgs_object.wcgs_settings,this.publicUrl=wcgs_object.wcgs_public_url,this.spswiperLoaded=!1,this.videoJsLoaded=!1,this.fancyLoaded=!1,this.zoomLoaded=!1,this.wcgsFancybox=null,this.spswiper={thumb:null,gallery:null},this.gallery_w=100,this.state={firstSlideMoved:!1,isModernLayout:!1,isMobileDevice:!1,prevWindowWidth:1200,isMultiRowThumbsLayout:!1,slidesPerView:1,slideSpaceBetween:1,isHideThumbLayout:!1,isModernGridLayout:!1,isAnchorNavigation:!1,isVerticalScroll:!1,videoOnlyPopup:!0,isPreloader:!1,iconPosition:"top_right",lightboxIcon:"search-plus",lastSummaryAreaHeight:0},this.setupInitialState(),this.eventHandlers={resize:null,scroll:null,click:null,variation:null},this.init()}init(){this.setupResponsiveLayout();const width=this.calculateGalleryWidth();this.setGalleryWidth(width),this.state.isPreloader&&this.initializePreloader(),this.initializeGallery(),this.bindEvents(),this.state.isPreloader&&this.removePreloader()}unbindAllEvents(){$(".anchor_navigation_wrapper a").off(),$(document).off("click.wcgsGallery"),$(window).off("resize.wcgsGallery scroll.wcgsGallery"),$(document).off("change.wcgsVariation"),$(".wcgs-toggle-btn").off("click.wcgsToggle"),$(".wcgs-carousel").off(),$(".gallery-navigation-carousel-wrapper").off()}setupInitialState(){this.state.isModernLayout="modern"==this.settings.gallery_layout,this.state.isMultiRowThumbsLayout="multi_row_thumb"==this.settings.gallery_layout,this.state.isHideThumbLayout="hide_thumb"==this.settings.gallery_layout,this.state.isModernGridLayout="modern_grid"==this.settings.gallery_layout,this.state.isAnchorNavigation="anchor_navigation"==this.settings.gallery_layout||"vertical_scroll"==this.settings.gallery_layout,this.state.isVerticalScroll="vertical_scroll"==this.settings.gallery_layout,(this.state.isModernLayout||this.state.isAnchorNavigation||this.state.isModernGridLayout)&&(this.settings.gallery_layout="grid"),this.state.videoOnlyPopup="inline"!=this.settings.video_popup_place,this.state.isPreloader="1"==this.settings.preloader,this.state.iconPosition=this.settings.lightbox_icon_position||"top_right";const lightboxIcon=this.settings.lightbox_icon||"search-plus";this.state.lightboxIcon=this.getLightboxIcon(lightboxIcon);const windowWidth=$(window).width();this.state.isMobileDevice=windowWidth<768,this.state.prevWindowWidth=windowWidth,!this.settings.gallery_layout_on_mobile||"1"!=this.settings.gallery_layout_on_mobile||"vertical"!=this.settings.gallery_layout&&"vertical_right"!=this.settings.gallery_layout?this.state.isMobileDevice&&this.settings.slider_layout_on_mobile&&"1"==this.settings.slider_layout_on_mobile&&(this.state.isHideThumbLayout=!0,this.settings.gallery_layout="hide_thumb",$("#wpgs-gallery").removeClass("grid wcgs_vertical_scroll_nav vertical").find(".wcgs-carousel").addClass("spswiper wcgs-mobile-layout"),$(".wcgs-grid-template").children().unwrap(),$(".wcgs-grid-template-container").removeAttr("class").addClass("spswiper-wrapper"),$(".wcgs-grid-template-slide").removeClass().addClass("spswiper-slide"),$(".anchor_navigation_wrapper").length>0&&$(".anchor_navigation_wrapper").remove(),$(".wcgs-toggle-btn-container").length>0&&$(".wcgs-toggle-btn-container").remove(),this.settings.pagination="1",this.settings.pagination_type="bullets",this.settings.zoom=0,this.settings.navigation=0,this.settings.autoplay=0,this.settings.fade_slide="slide",this.settings.free_mode="1",this.settings.infinite_loop="1",this.state.slidesPerView=1,this.settings.adaptive_height="1",this.state.slideSpaceBetween=5,this.settings.pagination_visibility="always",$(".wcgs-carousel .wcgs-spswiper-arrow").remove(),$("#wpgs-gallery .wcgs-carousel > .spswiper-pagination").length||($("#wpgs-gallery .wcgs-carousel").append('<div class="wcgs-pagination spswiper-pagination bullets"></div>'),$("#wpgs-gallery .wcgs-carousel > .spswiper-pagination").show()),this.initializeCustomLazyLoad()):this.state.isMobileDevice&&(this.settings.gallery_layout="horizontal",$(".wcgs-carousel").removeClass("vertical").addClass("horizontal"),$(".gallery-navigation-carousel").removeClass("vertical").addClass("horizontal"),$("#wpgs-gallery").removeClass("vertical").addClass("horizontal"))}getLightboxIcon=icon=>{const iconMapping={"search-plus":"zoom-in-1","angle-right":"right-open-3","arrows-alt":"resize-full-2",expand:"resize-full"};return iconMapping[icon]||icon};initializePreloader(){if($(".wcgs-gallery-preloader").length||$("#wpgs-gallery").append('<div class="wcgs-gallery-preloader"></div>'),$(".wcgs-gallery-preloader").length&&($("#wpgs-gallery.wcgs-woocommerce-product-gallery .gallery-navigation-carousel-wrapper, #wpgs-gallery.wcgs-woocommerce-product-gallery .wcgs-carousel").css("visibility","hidden"),"grid"!=this.settings.gallery_layout)){let slideHeight=this.getMaxImageHeight();$(".wcgs-gallery-preloader").css({height:slideHeight})}}initializeGallery(){this.setupResponsiveLayout(),$(".wcgs-carousel").wpgspimagesLoaded().then(()=>{"grid"!=this.settings.gallery_layout&&this.calculateGalleryHeights(),this.initializeComponents()}),this.state.videoOnlyPopup||this.checkYouTubeAPIReady()}setupResponsiveLayout(){const wcgs_img_count=$("#wpgs-gallery").find(".wcgs-carousel .wcgs-slider-image").length;1==wcgs_img_count||"hide_thumb"==this.settings.gallery_layout?(this.initializeHideThumbLayout(),$(".wcgs-carousel").css("width","100%"),1==wcgs_img_count?$("#wpgs-gallery .wcgs-spswiper-arrow").hide():$("#wpgs-gallery .wcgs-spswiper-arrow").show()):($("#wpgs-gallery .wcgs-spswiper-arrow").show(),$(".gallery-navigation-carousel, .gallery-navigation-carousel-wrapper").show())}initializeComponents(){"grid"==this.settings.gallery_layout?this.initializeGridGallery():this.checkSPSwiperAPIReady(),"1"==this.settings.zoom&&$(document).find(".wcgs-carousel").hasClass("wcgs_xzoom_wrapper")&&this.checkZoomAPIReady(),this.checkFancyboxReady(),this.initializeVideoFeatures(),this.addGrayscale()}initializeSPSwiperScript(){const spswiperScriptId="wcgs-swiper-js";if(!document.getElementById("wcgs-swiper-js")){const tag=document.createElement("script");tag.src=this.publicUrl+"js/swiper.min.js",tag.id="wcgs-swiper-js",tag.defer=!0;const firstScript=document.getElementsByTagName("script")[0];firstScript.parentNode.insertBefore(tag,firstScript)}}checkSPSwiperAPIReady(){if("function"==typeof SPSwiper)return this.spswiperLoaded=!0,void this.initializeSliderGallery();const checkInterval=setInterval(()=>{this.initializeSPSwiperScript(),"function"==typeof SPSwiper&&(clearInterval(checkInterval),this.spswiperLoaded=!0,this.initializeSliderGallery())},300);setTimeout(()=>{clearInterval(checkInterval),this.spswiperLoaded||console.log("SPSwiper script failed to load")},1e4)}initializeGridGallery(){this.state.isModernLayout&&this.moveFirstSlide(),this.setupGridEvents(),this.initializeGridLayout()}initializeSliderGallery(){this.initializeThumbnailSlider(),this.initializeMainSlider(),this.navigationArrowsVisibility(),this.handleAutoplayEvents(),this.AddLightboxIcon()}calculateGalleryWidth(){let gallery_w=this.settings.gallery_width;const windowWidth=$(window).width(),wcgs_product_wrapper=wcgs_object.wcgs_product_wrapper;let woocommerce_single_wrapper_width=$(wcgs_product_wrapper).width(),gallery_parent_product_width=$("#wpgs-gallery").parent().width(),woocommerce_single_product_width=gallery_parent_product_width>woocommerce_single_wrapper_width?woocommerce_single_wrapper_width:gallery_parent_product_width;var widthUnit="%";if($("body").hasClass("theme-flatsome")&&(woocommerce_single_product_width=$(".single-product .product .row.content-row").width()),("vertical"==this.settings.gallery_layout||"vertical_right"==this.settings.gallery_layout||"hide_thumb"==this.settings.gallery_layout||gallery_w>100)&&(gallery_w=gallery_w*woocommerce_single_product_width/100,this.settings.gallery_width>100&&(gallery_w=this.settings.gallery_width)),$(".wcgs-wcgs-woocommerce-product-gallery").parents(".hestia-product-image-wrap").length){const gallery_hestia_width=$(".wcgs-wcgs-woocommerce-product-gallery").parents(".hestia-product-image-wrap").width();"number"==typeof gallery_hestia_width&&(gallery_w=gallery_hestia_width)}if($("body").hasClass("et_divi_builder")||$("body").hasClass("theme-Divi")){const gallery_divi_width=$(".et-db #et-boc .et-l .et_pb_row .et_pb_column:has(#wpgs-gallery)").width();"number"==typeof gallery_divi_width&&(gallery_w=gallery_divi_width)}if(!$("#wpgs-gallery ~ .summary").length){const gallery_width=$("#wpgs-gallery").parent("*").outerWidth();gallery_width&&"number"==typeof gallery_width&&(gallery_w=gallery_width)}return windowWidth<992&&this.settings.gallery_responsive_width.width>0&&(gallery_w=this.settings.gallery_responsive_width.width,widthUnit=this.settings.gallery_responsive_width.unit),windowWidth<768&&(gallery_w=this.settings.gallery_responsive_width.height,widthUnit=this.settings.gallery_responsive_width.unit),windowWidth<480&&(gallery_w=this.settings.gallery_responsive_width.height2,widthUnit=this.settings.gallery_responsive_width.unit),"em"==widthUnit&&(gallery_w=this.emToPx(gallery_w)),this.gallery_w=gallery_w,gallery_w}emToPx(em){var fontSize=document.documentElement.style.fontSize||window.getComputedStyle(document.documentElement).fontSize||"16px";return em*parseFloat(fontSize)}setGalleryWidth(width){let widthUnit="%";const isVerticalLayout="vertical"==this.settings.gallery_layout||"vertical_right"==this.settings.gallery_layout,needsPixelWidth=isVerticalLayout||"hide_thumb"==this.settings.gallery_layout||width>100;if(needsPixelWidth){widthUnit="px";let currentGLWidth=$("#wpgs-gallery").parent().outerWidth();width=currentGLWidth>width?width:currentGLWidth,$("#wpgs-gallery").css("max-width","100%")}$("#wpgs-gallery").css("minWidth","auto").css("width",width+widthUnit);const wcgs_img_count=$("#wpgs-gallery").find(".wcgs-carousel .wcgs-slider-image").length;if(1==wcgs_img_count||"hide_thumb"==this.settings.gallery_layout)this.initializeHideThumbLayout(),$(".wcgs-carousel").css("width","100%"),1==wcgs_img_count?$("#wpgs-gallery .wcgs-spswiper-arrow").hide():$("#wpgs-gallery .wcgs-spswiper-arrow").show();else if($(".gallery-navigation-carousel, .gallery-navigation-carousel-wrapper").show(),isVerticalLayout){const verticalThumbsWidth=void 0!==this.settings.vertical_thumbs_width?parseInt(this.settings.vertical_thumbs_width):20,verticalThumbWidth=width/100*verticalThumbsWidth,verticalGap=void 0!==this.settings.thumbnails_sliders_space.height?parseInt(this.settings.thumbnails_sliders_space.height):6}this.updateSummaryWidth(width,widthUnit)}updateSummaryWidth(galleryWidth,widthUnit){let summaryWidth;if("%"==widthUnit)summaryWidth=100-galleryWidth,summaryWidth=summaryWidth>20?`calc(${summaryWidth}% - 50px)`:"";else{const parentWrapper=$("#wpgs-gallery").parent("*"),parentWidth=parentWrapper.width();summaryWidth=this.calculateSummaryWidth(parentWidth,galleryWidth,widthUnit)}$("#wpgs-gallery ~ .summary").css("maxWidth",summaryWidth)}AddLightboxIcon(){"1"==this.settings.lightbox&&($("#wpgs-gallery .wcgs-carousel > .wcgs-lightbox").length||$("#wpgs-gallery .wcgs-carousel").append(`<div class="wcgs-lightbox grid-lightbox ${this.state.iconPosition}"><span class="sp-wgsp-icon-${this.state.lightboxIcon}"></span></div>`))}calculateSummaryWidth(parentWidth,galleryWidth,widthUnit){if(parentWidth>$("#wpgs-gallery").width()+100){const summaryWidth=parentWidth-galleryWidth;if(summaryWidth>150)return summaryWidth-50+widthUnit}return""}initializeHideThumbLayout(){$(".wcgs-carousel").css("width","100%"),$(".gallery-navigation-carousel, .gallery-navigation-carousel-wrapper").hide()}calculateGalleryHeights(){const wcgs_img_count=$("#wpgs-gallery").find(".gallery-navigation-carousel .wcgs-thumb").length,vertical_thumbs_width=this.settings.vertical_thumbs_width||20;let currentGLWidth=$("#wpgs-gallery").parent().outerWidth();this.gallery_w=currentGLWidth>this.gallery_w?this.gallery_w:currentGLWidth;const vertical_thumb_width=this.gallery_w/100*vertical_thumbs_width,thumbnails_space=this.settings.thumbnails_sliders_space&&this.settings.thumbnails_sliders_space.width?this.settings.thumbnails_sliders_space.width:6;"horizontal"==this.settings.gallery_layout||"horizontal_top"==this.settings.gallery_layout||"multi_row_thumb"==this.settings.gallery_layout?this.handleHorizontalLayout():"hide_thumb"==this.settings.gallery_layout?$(".wcgs-carousel").css("width",this.gallery_w):(this.handleVerticalLayout(wcgs_img_count,vertical_thumb_width,thumbnails_space),setTimeout(()=>{this.handleVerticalLayout(wcgs_img_count,vertical_thumb_width,thumbnails_space)},600))}handleHorizontalLayout(){if("vertical"==this.settings.slide_orientation){let maxHeight=this.getMaxImageHeight();$(".wcgs-carousel .spswiper-slide").css("minHeight",maxHeight),$("#wpgs-gallery .wcgs-carousel .spswiper-slide").css({display:"flex","justify-content":"center","align-items":"center"})}}handleVerticalLayout(wcgs_img_count,vertical_thumb_width,thumbnails_space){if(wcgs_img_count<=1)return;const vertical_gap=this.settings.thumbnails_sliders_space&&this.settings.thumbnails_sliders_space.height?this.settings.thumbnails_sliders_space.height:6;let currentGLWidth=$("#wpgs-gallery").parent().outerWidth();this.gallery_w=currentGLWidth>this.gallery_w?this.gallery_w:currentGLWidth,$(".wcgs-carousel.spswiper").css({maxWidth:this.gallery_w-vertical_thumb_width-vertical_gap,width:this.gallery_w-vertical_thumb_width-vertical_gap});let maxHeight="auto";maxHeight=this.getMaxImageHeight(),"vertical"==this.settings.slide_orientation&&$("#wpgs-gallery .wcgs-carousel .spswiper-slide, .wcgs-carousel").css("minHeight",maxHeight),$(".gallery-navigation-carousel-wrapper").css({width:vertical_thumb_width,maxHeight:maxHeight}),this.settings.image_crop_size&&"Hard-crop"!==this.settings.image_crop_size.unit&&$(".wcgs-carousel").addClass("vertically-center"),$(".wcgs-carousel .spswiper-slide, .wcgs-carousel").css("height",maxHeight)}getMaxImageHeight(){let maxHeight=0;return $("#wpgs-gallery .wcgs-carousel img").each((function(){$(this).innerHeight()>maxHeight&&(maxHeight=$(this).innerHeight())})),maxHeight}initializeYouTubeAPI(){const youtubeScriptId="youtube-api";if(!document.getElementById("youtube-api")){const tag=document.createElement("script");tag.src="https://www.youtube.com/iframe_api",tag.id="youtube-api";const firstScript=document.getElementsByTagName("script")[0];firstScript.parentNode.insertBefore(tag,firstScript)}}moveFirstSlide(){if(this.state.firstSlideMoved)return;const $firstSlide=$(".wcgs-grid-template").children().first();$firstSlide.length&&($firstSlide.prependTo(".wcgs-grid-template-container"),this.state.firstSlideMoved=!0)}checkYouTubeAPIReady(){const checkInterval=setInterval(()=>{this.initializeYouTubeAPI(),"object"==typeof YT&&"function"==typeof YT.Player&&(clearInterval(checkInterval),this.initializeYouTubeVideos(),setTimeout(()=>{this.autoPlayYtVideo()},1e3))},300);setTimeout(()=>{clearInterval(checkInterval)},5e3)}initializeYouTubeVideos(){$(".wcgs-carousel .wcgs-slider-image .wcgs-youtube-video").each((index,element)=>{const videoId=$(element).data("video-id");$(element).attr("data-unique-id",index);const uniqueId=$(element).attr("data-unique-id"),video_looping=null!=this.settings.video_looping&&"1"==this.settings.video_looping,playbackTimes={};let wcgs_player=new YT.Player(element,{videoId:videoId,playerVars:this.getYouTubePlayerVars(),events:{onStateChange:function(event){event.data!=YT.PlayerState.PAUSED&&event.data!=YT.PlayerState.ENDED||(playbackTimes[videoId]=event.target.getCurrentTime()),video_looping&&event.data==YT.PlayerState.ENDED&&wcgs_player.loadVideoById({videoId:videoId})}}});const player_id=videoId+uniqueId;this.players.set(player_id,wcgs_player)})}getYouTubePlayerVars(){return{controls:this.settings.yt_video_controls||0,modestbranding:1,showinfo:0,rel:this.settings.yt_related_video||0,fs:1}}autoPlayYtVideo(){$(".wcgs-carousel .wcgs-slider-image").each((index,element)=>{const videos=$(element);1==this.settings.autoplay_video_on_sliding&&this.handleVideoAutoplay(videos)})}handleVideoAutoplay(videos){videos.find(".wcgs-iframe").length>0?this.handleIframeVideo(videos):videos.find("video").length>0&&this.handleHTML5Video(videos),this.updateVideoControls(videos)}handleIframeVideo(videos){const iframe=videos.find(".wcgs-iframe");iframe.attr("data-src")||iframe.attr("data-src",iframe.attr("src"));const iframeSrc=iframe.attr("data-src");videos.find(".wcgs-youtube-video").length>0?this.handleYouTubeAutoplay(videos):this.handleOtherIframeVideo(videos,iframe,iframeSrc)}handleYouTubeAutoplay(videos){const videoId=videos.find(".wcgs-youtube-video").data("video-id"),unique_id=videos.find(".wcgs-youtube-video").attr("data-unique-id"),player=this.players.get(videoId+unique_id);player&&"function"==typeof player.playVideo&&(player.playVideo(),player.mute())}stopVideosOnPreviousSlide($previousSlide){const youtubeVideo=$previousSlide.find(".wcgs-youtube-video");if(youtubeVideo.length>0){const videoId=youtubeVideo.data("video-id"),uniqueId=youtubeVideo.attr("data-unique-id"),player=this.players.get(videoId+uniqueId);player&&"function"==typeof player.pauseVideo&&player.pauseVideo()}else{const videos=$previousSlide.find("iframe, video");videos.each((index,video)=>{if("video"==video.tagName.toLowerCase())video.pause();else if("iframe"==video.tagName.toLowerCase()){const src=video.src;video.src=src}})}}handleOtherIframeVideo(videos,iframe,iframeSrc){if(videos.find(".facebook-iframe").length<1){const loopParam="1"==this.settings.video_looping?`&playlist=${iframeSrc}`:"";iframe[0].src=iframe.attr("data-src")+`?autoplay=1&mute=1&loop=1&muted=1${loopParam}`}}handleHTML5Video(videos){const video=videos.find("video");1==this.settings.video_looping&&video.attr("loop",!0),video[0].muted="muted",video[0].play()}updateVideoControls(videos){1==this.settings.autoplay_video_on_sliding&&1!=this.settings.video_controls&&(videos.find("video").length>0?videos.parents(".wcgs-carousel").addClass("video-controls-none"):videos.parents(".wcgs-carousel").removeClass("video-controls-none"))}handleAutoplayEvents(){"1"==this.settings.autoplay&&$(document).find("#wpgs-gallery").on({mouseenter:()=>{this.spswiper.gallery&&this.spswiper.gallery.autoplay&&this.spswiper.gallery.autoplay.stop(),this.spswiper.thumb&&this.spswiper.thumb.autoplay&&this.spswiper.thumb&&this.spswiper.thumb.autoplay.stop()},mouseleave:()=>{this.spswiper.gallery.autoplay&&this.spswiper.gallery&&this.spswiper.gallery.autoplay.start(),this.spswiper.thumb&&this.spswiper.thumb&&this.spswiper.thumb.autoplay&&this.spswiper.thumb.autoplay.start(),this.handleMouseLeaveAutoplay()}})}handleMouseLeaveAutoplay(){const xzoomElements=".wcgs_xzoom-source, .wcgs_xzoom-lens";$(document).find(xzoomElements).on({mouseenter:()=>{this.spswiper.gallery&&this.spswiper.gallery.autoplay&&this.spswiper.gallery.autoplay.stop(),this.spswiper.thumb&&this.spswiper.thumb.autoplay&&this.spswiper.thumb&&this.spswiper.thumb.autoplay.stop()},mouseleave:()=>{this.spswiper.thumb&&this.spswiper.gallery&&this.spswiper.gallery.autoplay&&this.spswiper.gallery.autoplay.start(),this.spswiper.thumb&&this.spswiper.thumb.autoplay&&this.spswiper.thumb.autoplay.start()}})}initializeFancyboxScript(){const fancyboxScriptId="wcgs-fancybox-js";if(!document.getElementById(fancyboxScriptId)){const jsTag=document.createElement("script");jsTag.src=this.publicUrl+"js/fancybox-bundle.min.js",jsTag.id=fancyboxScriptId,jsTag.defer=!0;const firstScript=document.getElementsByTagName("script")[0];firstScript.parentNode.insertBefore(jsTag,firstScript)}}checkFancyboxReady(){if("undefined"!=typeof Fancybox)return this.fancyLoaded=!0,void this.initializeLightbox();const checkInterval=setInterval(()=>{this.initializeFancyboxScript(),"undefined"!=typeof Fancybox&&(clearInterval(checkInterval),this.fancyLoaded=!0,this.initializeLightbox())},700);setTimeout(()=>{this.fancyLoaded||clearInterval(checkInterval)},5e3)}initializeLightbox(){if("undefined"==typeof Fancybox)return;let lightbox_thumb_style=this.settings.lightbox_thumb_style||"classic",gallery_middle_btn=this.settings.gallery_middle_btn?this.settings.gallery_middle_btn:"1";Fancybox.bind("[data-fancybox]",{backdropClick:"close",mainClass:"wcgs-fancybox-wrapper",animated:!0,hideClass:"f-fadeOut",showClass:"f-fadeIn",animationDuration:1e3,Toolbar:{display:{left:"1"==this.settings.l_img_counter?["infobar"]:"",middle:"1"==gallery_middle_btn?["zoomIn","zoomOut","toggle1to1","rotateCCW","rotateCW","flipX","flipY"]:[],right:this.getLightboxButtons()}},Thumbs:"1"==this.settings.thumb_gallery_show&&{type:lightbox_thumb_style,autoStart:!0,hideOnClose:!0},Carousel:{Panzoom:{decelFriction:.5},transition:this.settings.lightbox_sliding_effect,transitionDuration:1e3},Image:{zoom:!0,preload:3,click:"toggleZoom",wheel:"zoom",imageProtection:!0},Video:{autoplay:!0,loop:!0,mute:!0,ratio:16/9},caption:(fancybox,slide)=>{if("1"==this.settings.lightbox_caption){const caption=slide.caption||"";return caption}return""},dragToClose:!0,on:{reveal:(fancybox,slide)=>{$(document).find(".wcgs-carousel .wcgs-slider-image img").each((i,img)=>{const imageUrl=$(img).attr("data-lazy"),thumbnailSelector=$(".wcgs-fancybox-wrapper .fancybox-thumbs__list a:nth("+i+")"),thumbnailUrl=thumbnailSelector.attr("style");imageUrl&&thumbnailSelector.length>0&&thumbnailUrl.indexOf("spinner.svg")>=0&&thumbnailSelector.css("background-image","url("+imageUrl+")")}),$(".wcgs-fancybox-wrapper ~ .elementor-lightbox").remove()}}})}getLightboxButtons(){const buttons=[];return"1"===this.settings.slide_play_btn&&buttons.push("slideshow"),"1"===this.settings.side_gallery_btn&&buttons.push("thumbs"),"1"===this.settings.gallery_dl_btn&&buttons.push("download"),"1"===this.settings.gallery_fs_btn&&buttons.push("fullscreen"),buttons.push("close"),buttons}initializeXzoomJSScript(){const xzoomJsScriptId="wcgs-xzoom-js";if(!document.getElementById("wcgs-xzoom-js")){const jsTag=document.createElement("script");jsTag.src=this.publicUrl+"js/zoom.min.js",jsTag.id="wcgs-xzoom-js",jsTag.defer=!0;const firstScript=document.getElementsByTagName("script")[0];firstScript.parentNode.insertBefore(jsTag,firstScript)}}addGrayscale(){if("gray_off"!==this.settings.grayscale){let grayClass=this.settings.grayscale;$(".wcgs-slider-image img").addClass(""+grayClass)}}checkZoomAPIReady(){setTimeout(()=>{const checkInterval=setInterval(()=>{this.initializeXzoomJSScript(),"function"==typeof $.fn.wcgs_xzoom&&(clearInterval(checkInterval),this.zoomLoaded=!0,this.initializeZoom())},300);setTimeout(()=>{this.zoomLoaded||clearInterval(checkInterval)},5e3)},1e3)}initializeZoom(){this.setupZoomEffect()}setupZoomEffect(){let zoomLevel=this.settings.zoom_level?parseFloat(this.settings.zoom_level):2,overlay_color=null!=this.settings.overlay_color?this.settings.overlay_color:"#fff",zoom_window_distance=null!=this.settings.zoom_window_distance?parseInt(this.settings.zoom_window_distance):10;const product_image_overlay=null!=this.settings.product_image_overlay?this.settings.product_image_overlay:"blur",mouseWheelZoom="1"==this.settings.mouse_wheel_zoom,lensShape=this.settings.lens_shape||"box",lensOpacity=this.settings.lens_opacity||"0.3",lensColor=this.settings.lens_color||"#fff",is_rtl=!!$("body").hasClass("rtl"),tint_color="blur"==product_image_overlay?"#fff":overlay_color;zoom_window_distance=is_rtl?-1*zoom_window_distance:zoom_window_distance,zoomLevel=1-(zoomLevel-1);const zoom_size_type=null!=this.settings.zoom_size_type?this.settings.zoom_size_type:"auto";let zoom_size_width="auto",zoom_size_height="auto";function getXzoomConfig(position,additionalOptions={}){return{position:position,lens:lensColor,tint:tint_color,tintOpacity:lensOpacity,lensShape:lensShape,scroll:mouseWheelZoom,defaultScale:zoomLevel,...additionalOptions}}"custom"==zoom_size_type&&(zoom_size_width=null!=this.settings.zoom_size&&this.settings.zoom_size.width>0?this.settings.zoom_size.width:"auto",zoom_size_height=null!=this.settings.zoom_size.height&&this.settings.zoom_size.height>0?this.settings.zoom_size.height:"auto"),$(".wcgs_xzoom").each((index,element)=>{const $this=$(element),isLazyLoaded=$this.hasClass("wcgs-lazyloaded");function initializeZoom(position,additionalOptions){const config=getXzoomConfig(position,additionalOptions);isLazyLoaded?$this.wcgs_xzoom(config):$this.on("imageLoaded",()=>{$this.wcgs_xzoom(config)})}$(".wcgs-carousel").hasClass("lens")&&initializeZoom("lens",{lensOpacity:0}),$(".wcgs-carousel").hasClass("in_side")&&initializeZoom("inside",{defaultScale:0,lensCollision:!0,smoothZoomMove:12}),$(".wcgs-carousel").hasClass("right_side")&&initializeZoom(is_rtl?"left":"right",{mposition:"inside",smoothZoomMove:12,zoomWidth:zoom_size_width,zoomHeight:zoom_size_height,Xoffset:zoom_window_distance,lensCollision:!0})}),$(".wcgs_xzoom").each((index,element)=>{const $this=$(element);"grid"!=this.settings.gallery_layout&&this.spswiper.gallery&&this.spswiper.gallery.on("setTransition",(function(){let zoom_data=$this.data("wcgs_xzoom");(zoom_data||void 0!==zoom_data)&&zoom_data.closezoom()})),"grid"!=this.settings.gallery_layout&&$(document).find(".wcgs-lightbox").length>0&&$(".wcgs-carousel, .wcgs_xzoom-source, .wcgs_xzoom-lens").on("mouseenter",(function(){$(document).mousemove((function(e){let mouseX=e.pageX,mouseY=e.pageY,elementX=$(document).find(".wcgs-lightbox").offset().left,elementY=$(document).find(".wcgs-lightbox").offset().top,elementWidth=$(document).find(".wcgs-lightbox").outerWidth(),elementHeight=$(document).find(".wcgs-lightbox").outerHeight();if(mouseX>=elementX&&mouseX<=elementX+elementWidth&&mouseY>=elementY&&mouseY<=elementY+elementHeight){let zoom_data=$this.data("wcgs_xzoom");(zoom_data||void 0!==zoom_data)&&zoom_data.closezoom()}}))}))})}setupVariationHandling(){const data=wcgs_object.wcgs_data||[];$(document).off("change.wcgsVariation"),$(document).on("change.wcgsVariation",".variations:not(.spswp-shop-variations) select",e=>{const $variations_table=$(e.target).closest(".variations"),variationsArray=this.collectVariationData($variations_table);this.updateGalleryBasedOnVariations(variationsArray,data)})}areAllAttributesEmpty(variation){for(let key in variation)if(variation[key]&&""!==variation[key].trim())return!1;return!0}collectVariationData($variations_table){let variationsArray={};return $variations_table.find("tr").each((index,element)=>{const attributeName=$(element).find("select").data("attribute_name"),attributeValue=$(element).find("select").val();!attributeName||attributeName in variationsArray||(variationsArray[attributeName]=attributeValue)}),this.areAllAttributesEmpty(variationsArray)?{}:variationsArray}initializeThumbnailSlider(){if(this.state.isHideThumbLayout)return;const thumbnailItems=$(".gallery-navigation-carousel:not(.spswiper-initialized) .wcgs-thumb").length;if(0==thumbnailItems)return;const galleryLayout="vertical"==this.settings.gallery_layout||"vertical_right"==this.settings.gallery_layout?"vertical":"horizontal",thumbnailsItemShowType=this.settings.thumbnails_item_show_type||"auto";let thumbnailsItemToShow=parseInt(this.settings.thumbnails_item_to_show);var thumbnails_sliders_space=void 0!==this.settings.thumbnails_sliders_space.width?this.settings.thumbnails_sliders_space.width:6;"auto"==thumbnailsItemShowType&&"vertical"==galleryLayout&&(thumbnailsItemToShow="auto"),this.state.isMultiRowThumbsLayout?this.spswiper.thumb=new SPSwiper(".gallery-navigation-carousel.spswiper",{direction:"horizontal",autoplay:!1,speed:parseInt(this.settings.autoplay_speed),watchSlidesVisibility:!0,watchSlidesProgress:!0,loop:"1"==this.settings.infinite_loop,watchSlidesVisibility:!0,watchSlidesProgress:!0,spaceBetween:0,a11y:this.getAccessibilitySettings(),on:{init:()=>{setTimeout(()=>{$("#wpgs-gallery").removeClass("wcgs-spswiper-before-init")},400)}}}):(this.spswiper.thumb=new SPSwiper(".gallery-navigation-carousel.spswiper",{slidesPerView:thumbnailsItemToShow,direction:galleryLayout,autoplay:this.getThumbAutoplaySettings(),speed:parseInt(this.settings.autoplay_speed),watchSlidesVisibility:!0,watchSlidesProgress:!0,autoHeight:!1,watchOverflow:!0,loop:"1"==this.settings.infinite_loop,spaceBetween:parseInt(thumbnails_sliders_space),freeMode:"1"==this.settings.free_mode,mousewheel:"1"==this.settings.mouse_wheel,simulateTouch:!0,a11y:this.getAccessibilitySettings(),on:{init:()=>{setTimeout(()=>{$("#wpgs-gallery").removeClass("wcgs-spswiper-before-init")},400)}}}),this.checkArrowsVisibility()),this.setupThumbActivation(),"bottom_line"==this.settings.thumbnail_style&&this.setupThumbnailBottomLine()}getThumbAutoplaySettings(){return"1"==this.settings.autoplay&&{delay:parseInt(this.settings.autoplay_interval)||3e3,pauseOnMouseEnter:!1}}getAccessibilitySettings(){return 1==this.settings.accessibility&&{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide"}}setupThumbActivation(){"mouseover"==this.settings.thumb_active_on&&($(document).find(".wcgs-thumb").on("mouseenter",e=>{const index="1"==this.settings.infinite_loop?$(e.currentTarget).data("spswiper-slide-index"):$(e.currentTarget).index();this.spswiper.gallery&&("1"==this.settings.infinite_loop?this.spswiper.gallery.slideToLoop(index):this.spswiper.gallery.slideTo(index))}),$(document).find(".wcgs-spswiper-arrow").on("mouseenter",(function(){$(this).trigger("click")})))}checkArrowsVisibility(){if(this.spswiper.thumb){const allowSlidePrev=this.spswiper.thumb.allowSlidePrev,allowSlideNext=this.spswiper.thumb.allowSlideNext,arrows=$(".gallery-navigation-carousel-wrapper .wcgs-spswiper-arrow");allowSlidePrev||allowSlideNext?arrows.show():arrows.hide()}}setupThumbnailBottomLine(){"hide_thumb"!=this.settings.gallery_layout&&(setTimeout(()=>{this.spswiper.thumb.on("sliderMove",()=>{this.setThumbnailBorderPosition()}),this.spswiper.gallery.on("slideChange",()=>{setTimeout(()=>{this.setThumbnailBorderPosition()},50)})},100),setTimeout(()=>{this.setThumbnailBorderPosition()},1e3))}setThumbnailBorderPosition(){const isVertical="vertical"==this.settings.gallery_layout||"vertical_right"==this.settings.gallery_layout,activeThumb=$(document).find(".gallery-navigation-carousel-wrapper .wcgs-thumb.spswiper-slide-thumb-active"),activeThumbHeight=activeThumb.height(),activeThumbHeightTop=void 0!==activeThumb.position().top?10+activeThumbHeight+activeThumb.position().top:"auto";let activePosition=isVertical?(activeThumb.position()&&void 0!==activeThumb.position().top?activeThumb.position().top:-162)+this.spswiper.thumb.translate:(activeThumb.position()&&void 0!==activeThumb.position().left?activeThumb.position().left:-162)+this.spswiper.thumb.translate;const dimension=isVertical?activeThumb.height():activeThumb.width();$(".gallery-navigation-carousel-wrapper .wcgs-border-bottom").css(isVertical?{height:dimension,top:activePosition}:{width:dimension,left:activePosition,top:activeThumbHeightTop,bottom:"auto"})}isMatch(variation_attributes,attributes){let match=!0;for(let attr_name in variation_attributes)if(variation_attributes.hasOwnProperty(attr_name)){let val1=variation_attributes[attr_name],val2=attributes[attr_name];void 0!==val1&&void 0!==val2&&0!==val1.length&&0!==val2.length&&val1!==val2&&(match=!1)}return match}findMatchingVariations(variations,attributes){let matching=[];for(let i=0;i<variations.length;i++){let variation=variations[i];if($.isEmptyObject(attributes)){if($.isEmptyObject(variation[0])){const response=variation[1];if(response.length>0)return $.merge(matching,response),matching}}else this.isMatch(variation[0],attributes)&&!$.isEmptyObject(variation[0])&&$.merge(matching,variation[1])}return matching}updateGalleryBasedOnVariations(variationsArray,data){if(data.length>1){let variationsItems=this.findMatchingVariations(data,variationsArray);variationsItems.length>0&&this.renderGallery(variationsItems)}else{let productID=$("#wpgs-gallery").data("id"),ajax_data={nonce:wcgs_object.nonce,action:"wcgs_action",productID:productID,variationsArray:variationsArray};$.ajax({url:wcgs_object.ajax_url,data:ajax_data,type:"POST",success:response=>{response&&response.length>0&&this.renderGallery(response)}})}}sortByVideoLast(array){return array.sort((a,b)=>a.video&&!b.video?1:!a.video&&b.video?-1:0)}sortByVideoFirst(array){return array.sort((a,b)=>a.video&&!b.video?-1:!a.video&&b.video?1:0)}renderGallery(variationsItems){variationsItems=this.uniqueMultidimensionalArray(variationsItems,"full_url"),this.settings.video_order&&"video_come_first"==this.settings.video_order?variationsItems=this.sortByVideoFirst([...variationsItems]):this.settings.video_order&&"video_come_last"==this.settings.video_order&&(variationsItems=this.sortByVideoLast([...variationsItems]));const galleryContainer=$("#wpgs-gallery"),carouselWrapper=galleryContainer.find(".wcgs-carousel .spswiper-wrapper"),thumbnailWrapper=galleryContainer.find(".gallery-navigation-carousel .spswiper-wrapper"),gridWrapper=galleryContainer.find(".wcgs-carousel .wcgs-grid-template"),anchorNavigationWrapper=$(".anchor_navigation_wrapper"),spswiperPagination=galleryContainer.find(".wcgs-carousel  .spswiper-pagination"),galleryFragment=document.createDocumentFragment(),thumbnailFragment=document.createDocumentFragment(),anchorNavigationFragment=document.createDocumentFragment();variationsItems.forEach((item,index)=>{if(!item)return;const galleryItemHTML=this.generateGalleryItemHTML(item,index),thumbnailItemHTML=this.state.isHideThumbLayout?"":this.generateThumbnailItemHTML(item,index),thumbnailItemHTMLVerticalScroll=this.state.isVerticalScroll?$(thumbnailItemHTML)[0]:"",anchorNavigationLink=`<a href="#wcgs-control-item${index}" class="anchor_navigation-link wcgs-anchor-link">${thumbnailItemHTMLVerticalScroll?thumbnailItemHTMLVerticalScroll.outerHTML:""}</a>`;galleryFragment.appendChild($(galleryItemHTML)[0]),"grid"==this.settings.gallery_layout?this.state.isAnchorNavigation&&anchorNavigationFragment.appendChild($(anchorNavigationLink)[0]):this.state.isHideThumbLayout||thumbnailFragment.appendChild($(thumbnailItemHTML)[0])}),setTimeout(()=>{$(".wcgs-gallery-preloader").css("z-index",999).css("opacity",1),$(".gallery-navigation-carousel-wrapper .wcgs-border-bottom").hide(),$("#wpgs-gallery").addClass("wcgs-transition-none"),"grid"==this.settings.gallery_layout?(this.state.isModernLayout&&($("#wpgs-gallery .wcgs-carousel .wcgs-grid-template-container > .wcgs-grid-template-slide").remove(),this.state.firstSlideMoved=!1),gridWrapper.empty().append(galleryFragment),this.state.isAnchorNavigation&&anchorNavigationWrapper.empty().append(anchorNavigationFragment)):(this.spswiper.gallery&&this.spswiper.gallery.destroy(!0,!0),this.spswiper.thumb&&this.spswiper.thumb.destroy(!0,!0),this.spswiper={thumb:null,gallery:null},spswiperPagination.empty(),carouselWrapper.empty().append(galleryFragment),thumbnailWrapper.empty().append(thumbnailFragment)),this.players=new Map,this.initializeGallery(),setTimeout(()=>{const $preloader=$(".wcgs-gallery-preloader");$preloader.animate({opacity:0},300,()=>{$preloader.css("z-index",-99)}),$("#wpgs-gallery").removeClass("wcgs-transition-none"),$(".gallery-navigation-carousel-wrapper .wcgs-border-bottom").show(),"1"==this.settings.show_caption&&$(".wcgs-carousel .wcgs-slider-image").each((function(){var photoLength;if(0===$(this).find(".wcgs-photo").length){let img_cap=$(this).find("img").data("cap");img_cap&&!$(this).find(".wcgs-slider-image-caption").length&&$(this).append('<div class="wcgs-slider-image-caption"><span>'+img_cap+"</span></div>")}}))},150)},200)}generateThumbnailItemHTML(item,index){if(!item)return;const altText=item.alt_text||"",caption=item.cap||"",videoType=item.hasOwnProperty("video")?this.getVideoType(item.video):null;return`<div class="wcgs-thumb spswiper-slide">\n            <img alt="${altText}" data-cap="${caption}" src="${item.thumb_url}" ${videoType?`data-type="${videoType}"`:""}\n            /> </div>`}removePreloader(){if(this.state.isPreloader){const $preloader=$(".wcgs-gallery-preloader");$preloader.length&&setTimeout(()=>{$preloader.animate({opacity:0},100,()=>{$preloader.css("z-index",-99)}),setTimeout(()=>{$("#wpgs-gallery.wcgs-woocommerce-product-gallery .wcgs-carousel, #wpgs-gallery.wcgs-woocommerce-product-gallery .gallery-navigation-carousel-wrapper").css("visibility","visible")},300)},600)}}initializeMainSlider(){const mainSliderSelector=".wcgs-carousel.spswiper",$mainSliderContainer=$(mainSliderSelector),$mainSliderSlides=$mainSliderContainer.find(".spswiper-slide");if($(document).off("click.nextPrev",".gallery-navigation-carousel .wcgs-spswiper-button-next"),$(document).off("click.nextPrev",".gallery-navigation-carousel .wcgs-spswiper-button-prev"),0!=$mainSliderContainer.length&&0!=$mainSliderSlides.length)try{let adaptive_height="1"==this.settings.adaptive_height;adaptive_height="vertical"==this.settings.slide_orientation||adaptive_height,this.spswiper.gallery=new SPSwiper(mainSliderSelector,{slidesPerView:this.state.slidesPerView,spaceBetween:this.state.slideSpaceBetween,lazyPreloadPrevNext:0,autoHeight:adaptive_height,speed:parseInt(this.settings.autoplay_speed),direction:this.settings.slide_orientation,effect:this.settings.fade_slide,loop:"1"==this.settings.infinite_loop,autoplay:this.getThumbAutoplaySettings(),navigation:this.getMainSliderNavigationSettings(),pagination:this.getMainSliderPaginationSettings(),mousewheel:"1"==this.settings.mouse_wheel,thumbs:this.state.isHideThumbLayout?null:{spswiper:this.spswiper.thumb},on:{init:()=>this.handleMainSliderInit(),slideChange:()=>this.handleMainSliderChange()}})}catch(error){console.log("Error initializing main slider:",error)}else console.log("Main slider container or slides not found")}getMainSliderNavigationSettings(){return!(!this.settings.navigation&&!this.settings.thumbnailnavigation)&&("1"==this.settings.navigation?{nextEl:".wcgs-carousel .wcgs-spswiper-button-next",prevEl:".wcgs-carousel .wcgs-spswiper-button-prev"}:"1"==this.settings.thumbnailnavigation&&{nextEl:".gallery-navigation-carousel .wcgs-spswiper-button-next",prevEl:".gallery-navigation-carousel .wcgs-spswiper-button-prev"})}navigationArrowsVisibility(){var pagination_visibility;"hover"==this.settings.pagination_visibility&&($(".wcgs-carousel .spswiper-pagination").hide(),$("#wpgs-gallery .wcgs-carousel").on({mouseenter:function(){$(".wcgs-carousel .spswiper-pagination").show()},mouseleave:function(){$(".wcgs-carousel .spswiper-pagination").hide()}}));const navigation_visibility="hover"==this.settings.navigation_visibility;navigation_visibility&&$("#wpgs-gallery").find(".wcgs-carousel .spswiper-slide").length>1&&($(".wcgs-carousel .wcgs-spswiper-arrow").hide(),$("#wpgs-gallery .wcgs-carousel").on({mouseenter:function(){$(".wcgs-carousel .wcgs-spswiper-arrow").show()},mouseleave:function(){$(".wcgs-carousel .wcgs-spswiper-arrow").hide()}}))}getMainSliderPaginationSettings(){if("1"!=this.settings.pagination)return!1;let paginationType=this.settings.pagination_type||"bullets",dynamicBullets=!1;return["bullets","strokes","numbers"].includes(paginationType)?paginationType="bullets":"dynamic"===paginationType?(paginationType="bullets",dynamicBullets=!0):"progressbar"!==paginationType&&(paginationType="bullets"),{el:".wcgs-carousel .spswiper-pagination",type:paginationType,clickable:!0,dynamicBullets:dynamicBullets,renderBullet:function(index,className){return'<span class="'+className+'"><span class="number">'+(index+1)+"</span></span>"}}}handleMainSliderInit(){if(this.settings.navigation){const debouncedNavigation=debounce(e=>{if(this.navigationLock)return;this.navigationLock=!0;const isNext=$(e.currentTarget).hasClass("wcgs-spswiper-button-next");try{this.spswiper.gallery&&(isNext?this.spswiper.gallery.slideNext():this.spswiper.gallery.slidePrev())}catch(error){console.log("Navigation error:",error)}finally{setTimeout(()=>{this.navigationLock=!1},300)}},10);$(".gallery-navigation-carousel .wcgs-spswiper-button-next, .gallery-navigation-carousel .wcgs-spswiper-button-prev").off("click.wcgsNavigation").on("click.wcgsNavigation",e=>{e.preventDefault(),e.stopPropagation(),debouncedNavigation(e)})}setTimeout(()=>{$("#wpgs-gallery").removeClass("wcgs-spswiper-before-init")},400)}handleMainSliderChange(){setTimeout(()=>{if(this.spswiper.gallery&&this.spswiper.gallery.activeIndex){const currentSlide=this.spswiper.gallery.activeIndex,previousIndex=this.spswiper.gallery.previousIndex,$currentSlide=$(".wcgs-carousel .spswiper-slide").eq(currentSlide),$previousSlide=$(".wcgs-carousel .spswiper-slide").eq(previousIndex);this.setVideoVolume($currentSlide),"1"==this.settings.autoplay_video_on_sliding&&this.handleVideoAutoplayOnSlideChange($currentSlide),this.stopVideosOnPreviousSlide($previousSlide),this.updateVideoControlsVisibility($currentSlide)}},300)}updateVideoControlsVisibility($slide){if("1"==this.settings.autoplay_video_on_sliding&&1!=this.settings.video_controls){const hasVideo=$slide.find("video, .wcgs-iframe").length>0;$slide.parents(".wcgs-carousel").toggleClass("video-controls-none",hasVideo)}}setVideoVolume($slide){const wcgs_vol=this.settings.video_volume||.5,videos=$slide.find("video");videos.length>0&&void 0!==videos[0].volume&&(videos[0].volume=wcgs_vol)}handleVideoAutoplayOnSlideChange($slide){if($slide.find(".wcgs-iframe").length>0){const iframe=$slide.find(".wcgs-iframe");iframe.attr("data-src")||iframe.attr("data-src",iframe.attr("src"));const iframeSrc=iframe.attr("data-src");$slide.find(".wcgs-youtube-video").length>0?this.handleYouTubeAutoplay($slide):this.handleOtherIframeVideoAutoplay($slide,iframe,iframeSrc)}else $slide.find("video").length>0&&this.handleHTML5VideoAutoplay($slide)}handleOtherIframeVideoAutoplay($slide,iframe,iframeSrc){if($slide.find(".facebook-iframe").length<1){const loopParam="1"==this.settings.video_looping?`&playlist=${iframeSrc}`:"";iframe[0].src=iframe.attr("data-src")+`?autoplay=1&mute=1&loop=1&muted=1${loopParam}`}}handleHTML5VideoAutoplay($slide){const video=$slide.find("video");"1"==this.settings.video_looping&&video.attr("loop",!0),video[0].muted="muted",video[0].play()}uniqueMultidimensionalArray(arr,key){let uniqueArray=[],uniqueKeys=[];return $.each(arr,(function(index,item){key in item&&-1===$.inArray(item[key],uniqueKeys)&&(uniqueKeys.push(item[key]),uniqueArray.push(item))})),uniqueArray}generateGalleryItemHTML(item,index){const caption=item.cap||"",altText=item.alt_text||"",videoCheck=!!item.hasOwnProperty("video"),lightbox_thumb='data-thumb="'+item.url+'"';let url_2x="";item.img_2x_url&&(url_2x=`srcset="${item.url}, ${item.img_2x_url} 2x"`);let videoHTML="",lightboxHTML="",video_type="",dataVideoId="",itemURL=item.full_url,zoomData=`xoriginal="${item.full_url}"`,style="";if(videoCheck){let videoType=this.getVideoType(item.video);const video_data=this.generateVideoHTML(item,videoType);video_type="","dailymotion"!=videoType&&"facebook"!=videoType||(videoType="iframe",video_type=`data-type="${videoType}"`),dataVideoId='data-videoid="'+video_data[1]+'"',itemURL=item.video,zoomData="",this.state.videoOnlyPopup?(videoHTML=`<div class="wcgs-video-icon-wrapper center_center"><span class="wcgs-video-icon"></span></div><img ${style} class="skip-lazy wcgs-slider-image-tag wcgs-lazyloaded" ${video_type} ${url_2x} alt="${altText}" data-cap="${caption}" src="${item.url}" ${dataVideoId} data-image="${item.url}" ${zoomData} />`,lightboxHTML=`<a class="wcgs-slider-lightbox" data-caption="${caption}" aria-label="Lightbox" ${video_type}   href="${itemURL}" ${lightbox_thumb} data-fancybox="view"><div class="wcgs-lightbox grid-lightbox ${this.state.iconPosition}"><span class="sp-wgsp-icon-${this.state.lightboxIcon}"></span></div></a>`):(videoHTML=video_data[0],style=' style="visibility: hidden;"',videoHTML=`<div class="wcgs-iframe-wrapper">${videoHTML}<img ${style} class="skip-lazy wcgs-slider-image-tag wcgs-lazyloaded" ${video_type} ${url_2x} alt="${altText}" data-cap="${caption}" src="${item.url}" ${dataVideoId} data-image="${item.url}" ${zoomData} /></div>`)}else videoHTML=`<img ${style} class="skip-lazy wcgs-slider-image-tag wcgs_xzoom wcgs-lazyloaded" ${video_type} ${url_2x} alt="${altText}" data-cap="${caption}" src="${item.url}" ${dataVideoId} data-image="${item.url}" ${zoomData} />`;if("1"==this.settings.lightbox&&(lightboxHTML=`<a class="wcgs-slider-lightbox" data-caption="${caption}" aria-label="Lightbox" ${video_type} href="${itemURL}" ${lightbox_thumb} data-fancybox="view"><div class="wcgs-lightbox grid-lightbox ${this.state.iconPosition}"><span class="sp-wgsp-icon-${this.state.lightboxIcon}"></span></div></a>`),"grid"==this.settings.gallery_layout){const $items_to_show=this.settings.gallery_item_to_show,wcgs_item_class="specific"==this.settings.gallery_item&&index>=$items_to_show?"wcgs-hidden-item":"wcgs-shown-item";return`<div class="wcgs-grid-template-slide ${wcgs_item_class}" id="wcgs-control-item${index}"><div class="wcgs-slider-image wcgs-grid-image hover-enabled"><div class="wcgs-slider-image wcgs-grid-image"> ${lightboxHTML} ${videoHTML}</div></div></div>`}return`<div class="spswiper-slide"><div class="wcgs-slider-image">${lightboxHTML} ${videoHTML}</div></div>`}generateVideoHTML(item,videoType){let videoHTML="",videoId="";switch(videoType){case"youtube":videoId=this.extractYouTubeId(item.video),videoHTML=`<div class="wcgs-youtube-video skip-lazy wcgs-iframe" data-video-id="${videoId}"></div>`;break;case"vimeo":videoId=this.extractVimeoId(item.video),videoHTML=`<iframe class="skip-lazy wcgs-iframe" src="//player.vimeo.com/video/${videoId}" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>`;break;case"dailymotion":videoId=item.video,videoHTML=`<iframe class="skip-lazy wcgs-iframe" src="${item.video}" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>`;break;case"facebook":videoId=item.video,videoHTML=`<iframe class="skip-lazy wcgs-iframe facebook-iframe" src="${item.video}" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>`;break;default:let controls="controls";"1"==this.settings.autoplay_video_on_sliding&&(controls=void 0===this.settings.video_controls||"1"==this.settings.video_controls?"controls":""),videoId=item.video,videoHTML=`<div class="wcgs-video-self-hosted"><video data-setup="{}" playsinline class="video-js" ${controls} ><source src="${item.video}" type="video/mp4"></video></div>`}return Array(videoHTML,videoId)}getVideoType(videoUrl){return videoUrl.includes("youtu")?"youtube":videoUrl.includes("vimeo")?"vimeo":videoUrl.includes("dailymotion")?"dailymotion":videoUrl.includes("facebook")?"facebook":"html5"}extractYouTubeId(videoUrl){if(videoUrl.includes("shorts")){const match=videoUrl.match(/\/shorts\/([a-zA-Z0-9_-]+)/);return match?match[1]:""}{const match=videoUrl.match(/(?:youtu\.be\/|v=|\/v\/|embed\/|watch\?v=)([^#\&\?]{11})/);return match?match[1]:""}}extractVimeoId(videoUrl){const regExp=/vimeo.*\/(\d+)/,match=videoUrl.match(regExp);return!!match&&match[1]}bindEvents(){this.eventHandlers.resize=this.handleResize.bind(this),this.eventHandlers.variation=this.handleVariationChange.bind(this),$(window).off("resize.wcgsGallery").on("resize.wcgsGallery",this.eventHandlers.resize),$(document).off("change.wcgsVariation",".variations:not(.spswp-shop-variations) select").on("change.wcgsVariation",".variations:not(.spswp-shop-variations) select",this.eventHandlers.variation)}handleVariationChange(e){this.variationTimeout&&clearTimeout(this.variationTimeout);const $variations_table=$(e.target).closest(".variations");this.variationTimeout=setTimeout(()=>{const variationData=wcgs_object.wcgs_data||[],variationsArray=this.collectVariationData($variations_table);this.updateGalleryBasedOnVariations(variationsArray,variationData)},250)}handleResize(){let currentWidth=$(window).width();(this.state.prevWindowWidth>=768&&currentWidth<768||this.state.prevWindowWidth<768&&currentWidth>=768)&&window.location.reload(),this.state.prevWindowWidth=currentWidth}initializeVideoFeatures(){this.addVideoIcons(),this.checkVideoJSAPIReady(),this.setupVideoControls(),"1"==this.settings.lightbox&&this.setupVideoPopup()}addVideoIcons(){$(".wcgs-slider-image, .wcgs-thumb").each((function(){const icon=$(this).find("img").data("type");icon&&!$(this).find(".wcgs-video-icon").length&&$(this).append('<div class="wcgs-video-icon"></div>')}))}checkVideoJSAPIReady(){const selfHostedVideos=$(document).find(".wcgs-carousel .video-js");if(selfHostedVideos.length>0){const checkInterval=setInterval(()=>{const videoVolume=this.settings.video_volume||.5;this.initializeVideoJSScript(),"function"==typeof videojs&&(clearInterval(checkInterval),this.videoJsLoaded=!0,this.initializeSelfHostedVideos())},300);setTimeout(()=>{clearInterval(checkInterval),this.videoJsLoaded||console.log("Video.js script failed to load")},5e3)}}initializeVideoJSScript(){const videoJsScriptId="wcgs-videojs-js";if(!document.getElementById(videoJsScriptId)){const jsTag=document.createElement("script");jsTag.src=this.publicUrl+"js/video.min.js",jsTag.id=videoJsScriptId,jsTag.defer=!0;const firstScript=document.getElementsByTagName("script")[0];firstScript.parentNode.insertBefore(jsTag,firstScript)}}initializeSelfHostedVideos(){const selfHostedVideos=$(document).find(".wcgs-carousel video.video-js"),videoVolume=this.settings.video_volume||.5;selfHostedVideos.length>0&&"undefined"!=typeof videojs&&selfHostedVideos.each((index,element)=>{videojs(element)})}setupVideoControls(){"1"==this.settings.autoplay_video_on_sliding&&void 0!==this.settings.video_controls&&"1"!=this.settings.video_controls&&$(".wcgs-carousel").find("video").each((function(){$(this).parents(".wcgs-carousel").toggleClass("video-controls-none",$(this).length>0)}))}setupVideoPopup(){const lightboxSelector=".wcgs-carousel .wcgs-lightbox, .wcgs-slider-image .wcgs-video-icon, .wcgs-slider-image .wcgs-slider-image-tag, .wcgs_xzoom-source, .wcgs_xzoom-lens, .wcgs-slider-image.video";$(document).on("click",lightboxSelector,e=>{if(e.preventDefault(),$(e.target).parents(".wcgs-iframe-wrapper").length>0)return;const activeSlideLink=$(".wcgs-carousel .spswiper-slide-active a");if(activeSlideLink.length){document.querySelector(".wcgs-carousel .spswiper-slide-active a").click();const activeSlide=$(".wcgs-carousel .spswiper-slide-active");activeSlide.find(".wcgs-youtube-video").length>0?this.pauseYouTubeVideo(activeSlide):this.stopVideos(activeSlide)}})}pauseYouTubeVideo(slide){const videoElement=slide.find(".wcgs-youtube-video"),videoId=videoElement.data("video-id"),uniqueId=videoElement.attr("data-unique-id");window[videoId+uniqueId]&&"function"==typeof window[videoId+uniqueId].pauseVideo&&window[videoId+uniqueId].pauseVideo()}stopVideos(item){const videos=$(item).find("video, iframe")[0];if(videos)if("video"==videos.tagName.toLowerCase())videos.pause();else{const src=videos.src;videos.src=src}}setupGridEvents(){"grid"!=this.settings.gallery_layout||this.state.isAnchorNavigation||(this.settings.expand_collapse&&this.settings.expand_collapse.expand&&$(".wcgs-toggle-btn").find("span").text(this.settings.expand_collapse.expand),this.state.isModernLayout?this.setupModernLayoutEvents():this.setupClassicLayoutEvents())}setupModernLayoutEvents(){let wcgs_expand=0;$(".wcgs-toggle-btn").on("click.wcgsToggle",()=>{const buttonText=$(".wcgs-toggle-btn").find("span").text();0==wcgs_expand||buttonText==this.settings.expand_collapse.expand?($(".wcgs-grid-template-slide:not(.wcgs-shown-item)").removeClass("wcgs-hidden-item"),$(".wcgs-toggle-btn").find("span").text(this.settings.expand_collapse.collapse),$(".wcgs-toggle-btn").find(".wgsp-icon").removeClass("sp-wgsp-icon-down-open-big").addClass("sp-wgsp-icon-up-open-big"),wcgs_expand=1):($(".wcgs-grid-template-slide:not(.wcgs-shown-item)").addClass("wcgs-hidden-item"),$(".wcgs-toggle-btn").find("span").text(this.settings.expand_collapse.expand),$(".wcgs-toggle-btn").find(".wgsp-icon").removeClass("sp-wgsp-icon-up-open-big").addClass("sp-wgsp-icon-down-open-big"))})}setupClassicLayoutEvents(){"specific"==this.settings.gallery_item&&(this.setupClassicGridHeight(),this.setupClassicToggleButton())}setupClassicGridHeight(){const gridColumn=this.getResponsiveGridColumns();let totalHeight=0;setTimeout(()=>{totalHeight=this.calculateShownHeight(gridColumn),$(".wcgs-grid-template").css("height",totalHeight),$(".wcgs-grid-template").addClass("wcgs-grid-height-auto")},100)}setupClassicToggleButton(){let wcgs_expand=0;const gridColumn=this.getResponsiveGridColumns();$(".wcgs-toggle-btn").off("click.wcgsToggle"),$(".wcgs-toggle-btn").on("click.wcgsToggle",()=>{const buttonText=$(".wcgs-toggle-btn").find("span").text(),containerTop=$(".wcgs-grid-template-container").offset().top,speed=.3;0==wcgs_expand||buttonText==this.settings.expand_collapse.expand?(this.expandGrid(containerTop,.3,gridColumn),wcgs_expand=1):(this.collapseGrid(containerTop,.3,gridColumn),wcgs_expand=0)})}expandGrid(containerTop,speed,gridColumn){$(".wcgs-grid-template").removeClass("wcgs-grid-height-auto");const totalHeight=this.calculateTotalHeight(gridColumn),shownHeight=this.calculateShownHeight(gridColumn),hiddenHeight=this.calculateHiddenHeight(gridColumn);$(".wcgs-grid-template-slide.wcgs-hidden-item").css("opacity",1).removeClass("wcgs-hidden-item"),$(".wcgs-grid-template").animate({height:totalHeight},hiddenHeight*speed),setTimeout(()=>{$("html, body").animate({scrollTop:containerTop+shownHeight-40},300),this.updateToggleButton("collapse"),setTimeout(()=>{$(".wcgs-grid-template").addClass("wcgs-grid-height-auto")},100)},hiddenHeight*speed*.22)}findIndicesWithValueSix(arr){const resultIndices=[0];let currentSum=0;if(arr.length>1)for(let i=0;i<arr.length;i++)currentSum+=arr[i],6==arr[i]?resultIndices.push(i):currentSum>6&&(resultIndices.push(i),currentSum=0);return resultIndices}collapseGrid(containerTop,speed,gridColumn){$(".wcgs-grid-template").removeClass("wcgs-grid-height-auto");const shownHeight=this.calculateShownHeight(gridColumn),hiddenHeight=this.calculateHiddenHeight(gridColumn);$("html, body").animate({scrollTop:containerTop+shownHeight-220},.2*hiddenHeight),$(".wcgs-grid-template").animate({height:shownHeight},hiddenHeight*speed),setTimeout(()=>{$(".wcgs-grid-template-slide:not(.wcgs-shown-item)").addClass("wcgs-hidden-item").css("opacity",0),setTimeout(()=>{$(".wcgs-grid-template").addClass("wcgs-grid-height-auto")},100),this.updateToggleButton("expand")},hiddenHeight*speed)}calculateShownHeight(gridColumnNumber){if(this.state.isModernGridLayout){const gridColumnIndex=[],gridItems=$(".wcgs-grid-template .wcgs-grid-template-slide.wcgs-shown-item");gridItems.each((index,element)=>{let gridColumn=$(element).css("grid-column");gridColumn=parseInt(gridColumn.replace("span","").trim(),10),gridColumnIndex[index]=gridColumn});let allIndexes=this.findIndicesWithValueSix(gridColumnIndex),shownHeight=0;return $(".wcgs-grid-template-slide.wcgs-shown-item").each((index,element)=>{allIndexes.includes(index)&&(shownHeight+=$(element).outerHeight(!0))}),shownHeight}{let shownHeight=0;return $(".wcgs-grid-template-slide.wcgs-shown-item").each((index,element)=>{if(index%gridColumnNumber==0){const $first=$(element),$second=$(".wcgs-grid-template-slide.wcgs-shown-item").eq(index+1),combinedHeight=$first.outerHeight(!0);if($second.length>0&&1!=gridColumnNumber){const maxHeight=Math.max($first.outerHeight(!0),$second.outerHeight(!0));shownHeight+=maxHeight}else shownHeight+=combinedHeight}}),shownHeight}}updateToggleButton(state){const $button=$(".wcgs-toggle-btn");"expand"==state?($button.find("span").text(this.settings.expand_collapse.expand),$button.find(".wgsp-icon").removeClass("sp-wgsp-icon-up-open-big").addClass("sp-wgsp-icon-down-open-big")):($button.find("span").text(this.settings.expand_collapse.collapse),$button.find(".wgsp-icon").removeClass("sp-wgsp-icon-down-open-big").addClass("sp-wgsp-icon-up-open-big"))}initializeGridLayout(){"grid"==this.settings.gallery_layout&&(this.setupGridContainer(),this.setupGridLightbox(),this.state.isAnchorNavigation&&new AnchorNavigationHandler(this.settings),this.setupGridScroll(),this.setupStickySummary(),this.initializeCustomLazyLoad(),setTimeout(()=>{$("#wpgs-gallery").removeClass("wcgs-spswiper-before-init")},400))}setupGridContainer(){const $items_to_show=this.settings.gallery_item_to_show,$gallery_expansion=this.settings.gallery_expansion;$(".wcgs-grid-template-slide").length>$items_to_show?$(".wcgs-toggle-btn-container").show():$(".wcgs-toggle-btn-container").hide(),this.setupGridColumns()}setupGridColumns(){this.state.isAnchorNavigation}getResponsiveGridColumns(){const windowWidth=$(window).width(),columns=this.settings.columns||{};return windowWidth<520&&columns.mobile?columns.mobile:windowWidth<736&&columns.tablet?columns.tablet:windowWidth<992&&columns.laptop?columns.laptop:columns.desktop||2}setupGridLightbox(){this.settings.lightbox&&($(document).off("click.wcgsLb"),$(document).on("click.wcgsLb",".wcgs-carousel .wcgs-lightbox, .wcgs-slider-image .wcgs-video-icon, .wcgs-slider-image .wcgs-slider-image-tag",(function(e){e.preventDefault();let current_selector=$(this).parents(".wcgs-slider-image").find("a.wcgs-slider-lightbox");current_selector.length>0&&current_selector[0].click()})))}setupGridScroll(){if("grid"==this.settings.gallery_layout&&"scroll"==this.settings.gallery_expansion){const $specificArea=$(".wcgs-grid-template.grid"),specificAreaOuterHeight=$specificArea.outerHeight();$specificArea.css({height:specificAreaOuterHeight,"overflow-y":"auto"}),$(".wcgs-grid-template-slide:not(.wcgs-shown-item)").removeClass("wcgs-hidden-item").addClass("wcgs-shown-item")}}setupStickySummary(){if($(window).off("scroll.wcgsGallery"),"grid"!=this.settings.gallery_layout||!$(".summary.entry-summary").length||$(window).width()<=771)return;const $summaryWrapArea=$(".summary.entry-summary");0==$summaryWrapArea.find(".inner-wrapper-summary").length&&$summaryWrapArea.wrapInner("<div class='inner-wrapper-summary'></div>");const $summaryArea=$(".inner-wrapper-summary");let summaryAreaWidth=$summaryWrapArea.outerWidth(),summaryAreaTop=$summaryArea.offset().top,summaryAreaLeft=$summaryArea.offset().left;setTimeout(()=>{summaryAreaWidth=$summaryWrapArea.outerWidth(),summaryAreaTop=$summaryArea.offset().top,summaryAreaLeft=$summaryArea.offset().left},100),$(window).on("scroll.wcgsGallery",()=>{let mainSummaryAreaHeight=$(".summary.entry-summary").outerHeight();mainSummaryAreaHeight&&(this.state.lastSummaryAreaHeight=mainSummaryAreaHeight),this.updateStickySummary($summaryArea,summaryAreaWidth)})}updateStickySummary($summaryArea,summaryAreaWidth){const scrollPosition=$(window).scrollTop(),galleryAreaHeight=$("#wpgs-gallery").outerHeight(),galleryPositionTop=$("#wpgs-gallery").offset().top,summaryAreaHeight=$summaryArea.outerHeight();if(this.state.lastSummaryAreaHeight<galleryAreaHeight)if(galleryPositionTop-scrollPosition<=-20&&galleryPositionTop+(galleryAreaHeight-this.state.lastSummaryAreaHeight)>=scrollPosition)$summaryArea.css({position:"fixed",top:galleryPositionTop-scrollPosition<=0?0:galleryPositionTop-scrollPosition,width:summaryAreaWidth});else if(scrollPosition>=galleryPositionTop+galleryAreaHeight-this.state.lastSummaryAreaHeight&&scrollPosition<galleryPositionTop+galleryAreaHeight){var gallery_position_height=galleryPositionTop+galleryAreaHeight,gallery_position=scrollPosition+this.state.lastSummaryAreaHeight-gallery_position_height;$summaryArea.css({position:"fixed",top:2-gallery_position,width:summaryAreaWidth})}else $summaryArea.css({position:"static",top:"auto",left:"auto",width:summaryAreaWidth});else $summaryArea.css({position:"static",top:"auto",left:"auto"})}calculateTotalHeight(gridColumn){if(this.state.isModernGridLayout){const gridColumnIndex=[],gridItems=$(".wcgs-grid-template-slide");gridItems.each((index,element)=>{let gridColumn=$(element).css("grid-column");gridColumn=parseInt(gridColumn.replace("span","").trim(),10),gridColumnIndex[index]=gridColumn});let allIndexes=this.findIndicesWithValueSix(gridColumnIndex),totalHeight=0;return $(".wcgs-grid-template-slide").each((index,element)=>{allIndexes.includes(index)&&(totalHeight+=$(element).outerHeight(!0))}),totalHeight}{let totalHeight=0;return $(".wcgs-grid-template-slide").each((index,element)=>{if(index%gridColumn==0){const $first=$(element),$second=$(".wcgs-grid-template-slide").eq(index+1),combinedHeight=$first.outerHeight(!0);if($second.length>0){const maxHeight=Math.max($first.outerHeight(!0),$second.outerHeight(!0));totalHeight+=maxHeight}else totalHeight+=combinedHeight}}),totalHeight}}calculateHiddenHeight(gridColumn){if(this.state.isModernGridLayout){const gridColumnIndex=[],gridItems=$(".wcgs-grid-template-slide:not(.wcgs-shown-item)");gridItems.each((index,element)=>{let gridColumn=$(element).css("grid-column");gridColumn=parseInt(gridColumn.replace("span","").trim(),10),gridColumnIndex[index]=gridColumn});let allIndexes=this.findIndicesWithValueSix(gridColumnIndex),totalHeight=0;return $(".wcgs-grid-template-slide:not(.wcgs-shown-item)").each((index,element)=>{allIndexes.includes(index)&&(totalHeight+=$(element).outerHeight(!0))}),totalHeight}{let hiddenHeight=0;return $(".wcgs-grid-template-slide:not(.wcgs-shown-item)").each((index,element)=>{if(index%gridColumn==0){const $first=$(element),$second=$(".wcgs-grid-template-slide:not(.wcgs-shown-item)").eq(index+1),combinedHeight=$first.outerHeight(!0);if($second.length>0){const maxHeight=Math.max($first.outerHeight(!0),$second.outerHeight(!0));hiddenHeight+=maxHeight}else hiddenHeight+=combinedHeight}}),hiddenHeight}}getLastVisibleItemHeight(){const $lastVisibleItem=$(".wcgs-grid-template-slide.wcgs-shown-item").last();return $lastVisibleItem.length?$lastVisibleItem.outerHeight(!0):0}initializeCustomLazyLoad(){const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting){const img=entry.target;img.dataset.src&&(img.src=img.dataset.src,img.removeAttribute("data-src")),img.dataset.srcset&&(img.srcset=img.dataset.srcset,img.removeAttribute("data-srcset")),img.classList.remove("wcgs-lazyload"),img.onload=()=>{const customEvent=new CustomEvent("imageLoaded",{detail:{img:img}});img.dispatchEvent(customEvent)},img.classList.add("wcgs-lazyloaded"),observer.unobserve(img),setTimeout(()=>{img.style.removeProperty("height")},300)}})});document.querySelectorAll(".wcgs-lazyload").forEach(img=>{observer.observe(img)})}}function debounce(func,wait=10){let timeout;return function executedFunction(...args){const later=()=>{clearTimeout(timeout),func(...args)};clearTimeout(timeout),timeout=setTimeout(later,wait)}}$.fn.wpgspimagesLoaded=function(){var $imgs=this.find('img[src!=""]');if(!$imgs.length)return $.Deferred().resolve().promise();var dfds=[];return $imgs.each((function(index){if(0==index){var dfd=$.Deferred(),img=new Image;img.onload=function(){dfd.resolve()},img.onerror=function(){dfd.resolve()},img.src=this.src}})),$.when.apply($,dfds)},$(document).ready(()=>{new WooGallerySlider})}(jQuery);
// source --> https://janesto.com/wp-content/plugins/divi-side-cart-for-woocommerce/public/js/divilife-wsc-public.js?ver=2.1 
jQuery(document).ready(function($){
	'use strict';

	//Block cart on fragment refresh
	$(document.body).on('wc_fragment_refresh',block_cart);

	//Unblock cart
	$(document.body).on('wc_fragments_refreshed wc_fragments_loaded',function(){
		content_height();
	});

	// refresh fragment on document load
	if(!divilife_wsc_localize.added_to_cart){
		$( document.body ).trigger( 'wc_fragment_refresh' );
	}


	function update_cartChk(){
		//Refresh checkout page
		if( window.wc_checkout_params && wc_checkout_params.is_checkout === "1" ){
			if( $( 'form.checkout' ).length === 0 ){
				location.reload();
				return;
			}
			$(document.body).trigger("update_checkout");
		}

		//Refresh Cart page
		if( window.wc_add_to_cart_params && window.wc_add_to_cart_params.is_cart && wc_add_to_cart_params.is_cart === "1" ){
			$(document.body).trigger("wc_update_cart");
		}
	}

	$(document.body).on('divilife_wsc_cart_updated',update_cartChk);


	//Toggle Side Cart
	function toggle_sidecart(toggle_type){
		var toggle_element = $('.divilife-wsc-modal , body, html'),
			toggle_class   = 'divilife-wsc-active';

		if(toggle_type == 'show'){
			toggle_element.addClass(toggle_class);
		}
		else if(toggle_type == 'hide'){
			toggle_element.removeClass(toggle_class);
		}
		else{
			toggle_element.toggleClass('divilife-wsc-active');
		}

		unblock_cart();
	}

	$('.divilife-wsc-basket').on('click',toggle_sidecart);

	if(divilife_wsc_localize.trigger_class){
		$('.'+divilife_wsc_localize.trigger_class).on('click',toggle_sidecart);
	}


	//Set Cart content height
	function content_height(){
		var header = $('.divilife-wsc-header').outerHeight(), 
			footer = $('.divilife-wsc-footer').outerHeight(),
			screen = $(window).height();


		if( divilife_wsc_localize.cont_height == "auto_adjust" ){
			var body_height = 'calc(100% - '+(header+footer)+'px)';
			if( $('.divilife-wsc-container').outerHeight() > screen ){
				$('.divilife-wsc-container').css({"top": "0", "bottom": "0"});
			}
		}
		else{
			var body_height = screen-(header+footer);
		}


		$('.divilife-wsc-body').css('height',body_height);

	};

	content_height();

	$(window).resize(function(){
    	content_height();
	});


	//Reset cart button/form
	function reset_cart(atc_btn){
		$('.divilife-wsc-icon-atc',atc_btn).remove();
		var qty_elem = atc_btn.parents('form.cart').find('.qty');
		if(qty_elem.length > 0) qty_elem.val(qty_elem.attr('min') || 1);
		$('.added_to_cart').remove();
	}

	//Auto open Side Cart when item added to cart without ajax
	(function(){
		if(divilife_wsc_localize.added_to_cart){
			var toggled = false;
			$(document).on('wc_fragments_refreshed',function(){
				if(!toggled){
					setTimeout(toggle_sidecart,1,'show');
					toggled = true;
				}
			})
		}
	}());
	

	//Auto open with ajax & reset cart form
	$(document).on('added_to_cart',function(event,fragments,cart_hash,atc_btn){
		if(divilife_wsc_localize.auto_open_cart == 1){
			setTimeout(toggle_sidecart,1,'show');
		}

		if(divilife_wsc_localize.atc_reset == 1){
			reset_cart(atc_btn);
		}

		update_cartChk();
	});
	


	//Block Cart
	function block_cart(){
		$('.divilife-wsc-updating').show();
	}

	//Unblock cart
	function unblock_cart(){
		$('.divilife-wsc-updating').hide();
	}


	//Close Side Cart
	function close_sidecart(e){
		$.each(e.target.classList,function(key,value){
			if(value != 'divilife-wsc-container' && (value == 'divilife-wsc-close' || value == 'divilife-wsc-opac' || value == 'divilife-wsc-basket' || value == 'divilife-wsc-cont')){
				$('.divilife-wsc-modal , body, html').removeClass('divilife-wsc-active');
			}
		})
	}

	$('body').on('click','.divilife-wsc-close , .divilife-wsc-opac',function(e){
		e.preventDefault();
		close_sidecart(e);
	});

	$('body').on('click','.divilife-wsc-cont',function(e){
		var link = $.trim($(this).attr('href'));
		if( link == "#" || !link){
			e.preventDefault();
			close_sidecart(e);
		}
	});

	

	//Add to cart function
	function add_to_cart(atc_btn,product_data){

		// Trigger event.
		$( document.body ).trigger( 'adding_to_cart', [ atc_btn, product_data ] );

		$.ajax({
				url: divilife_wsc_localize.wc_ajax_url.toString().replace( '%%endpoint%%', 'divilife_wsc_add_to_cart' ),
				type: 'POST',
				data: $.param(product_data),
			    success: function(response){
			    	
			    	add_to_cart_button_check_icon(atc_btn);

					if(response.fragments){
						// Trigger event so themes can refresh other areas.
						$( document.body ).trigger( 'added_to_cart', [ response.fragments, response.cart_hash, atc_btn ] );
					}
					else if(response.error){
						show_notice('error',response.error);
						toggle_sidecart('show');
					}
					else{
						console.log(response);
					}
			
			    }
			})
	}


	//Update cart
	function update_cart(cart_key,new_qty){
		
		$.ajax({
			url: divilife_wsc_localize.wc_ajax_url.toString().replace( '%%endpoint%%', 'divilife_wsc_update_cart' ),
			type: 'POST',
			data: {
				cart_key: cart_key,
				new_qty: new_qty
			},
			success: function(response){
				if(response.fragments){
					var fragments = response.fragments,
						cart_hash =  response.cart_hash;

					//Set fragments
			   		$.each( response.fragments, function( key, value ) {
						$( key ).replaceWith( value );
						$( key ).stop( true ).css( 'opacity', '1' ).unblock();
					});


					if(wc_cart_fragments_params){
				   		var cart_hash_key = wc_cart_fragments_params.ajax_url.toString() + '-wc_cart_hash';
						//Set cart hash
						sessionStorage.setItem( wc_cart_fragments_params.fragment_name, JSON.stringify( fragments ) );
						localStorage.setItem( cart_hash_key, cart_hash );
						sessionStorage.setItem( cart_hash_key, cart_hash );
					}

					$(document.body).trigger('wc_fragments_loaded');
					$(document.body).trigger('divilife_wsc_cart_updated');
				}
				else{
					//Print error
					show_notice('error',response.error);
				}
			}

		})
	}



	//Remove item from cart
	$(document).on('click','.divilife-wsc-remove',function(e){
		e.preventDefault();
		block_cart();
		var product_row = $(this).parents('.divilife-wsc-product');
		var cart_key = product_row.data('divilife_wsc');
		update_cart(cart_key,0);
	})

	//Add to cart on single page
	
	$(document).on('submit','form.cart',function(e){

		if( divilife_wsc_localize.ajax_atc != 1 ) return;

		e.preventDefault();
		block_cart();
		var form = $(this);
		var atc_btn  = form.find( 'button[type="submit"]');

		add_to_cart_button_loading_icon(atc_btn);

		var product_data = form.serializeArray();

		//Check for woocommerce custom quantity code 
		//https://docs.woocommerce.com/document/override-loop-template-and-show-quantities-next-to-add-to-cart-buttons/
		var has_product_id = false;
		$.each(product_data,function(key,form_item){
			if(form_item.name === 'product_id' || form_item.name === 'add-to-cart'){
				if(form_item.value){
					has_product_id = true;
					return false;
				}
			}
		})

		//If no product id found , look for the form action URL
		if(!has_product_id){
			var is_url = form.attr('action').match(/add-to-cart=([0-9]+)/);
			var product_id = is_url ? is_url[1] : false; 
		}

		// if button as name add-to-cart get it and add to form
        if( atc_btn.attr('name') && atc_btn.attr('name') == 'add-to-cart' && atc_btn.attr('value') ){
            var product_id = atc_btn.attr('value');
        }

        if(product_id){
        	product_data.push({name: 'add-to-cart', value: product_id});
        }


        product_data.push({name: 'action', value: 'divilife_wsc_add_to_cart'});

		add_to_cart(atc_btn,product_data);//Ajax add to cart
	})


	//Notice Function
	function show_notice(notice_type,notice){
	 	$('.divilife-wsc-notice').html(notice).attr('class','divilife-wsc-notice').addClass('divilife-wsc-nt-'+notice_type);
	 	$('.divilife-wsc-notice-box').fadeIn('fast');
	 	clearTimeout(fadenotice);
	 	var fadenotice = setTimeout(function(){
	 		$('.divilife-wsc-notice-box').fadeOut('slow');
	 	},2000);
	};

	//Add to cart preloader
	function add_to_cart_button_loading_icon(atc_btn){
		if(divilife_wsc_localize.atc_icons != 1) return;

		if(atc_btn.find('.divilife-wsc-icon-atc').length !== 0){
			atc_btn.find('.divilife-wsc-icon-atc').attr('class','divilife-wsc-icon-spinner2 divilife-wsc-icon-atc divilife-wsc-active');
		}
		else{
			atc_btn.append('<span class="divilife-wsc-icon-spinner2 divilife-wsc-icon-atc divilife-wsc-active"></span>');
		}
	}

	//Add to cart check icon
	function add_to_cart_button_check_icon(atc_btn){
		if(divilife_wsc_localize.atc_icons != 1) return;
		// Check icon
   		atc_btn.find('.divilife-wsc-icon-atc').attr('class','divilife-wsc-icon-checkmark divilife-wsc-icon-atc');
	}
});
// source --> https://janesto.com/wp-content/plugins/divi-accessibility-master/public/js/da11y.js?ver=2.0.5 
;( function( $ ) {
	const outline = ( ( window || {} )._da11y || {} ).active_outline_color || false;
	if ( outline ) {
		$( document ).on( 'focusin', 'input,button,a[role="tab"]', function() {
			const $me = $( this );
			setTimeout( function() {
				if ( $me.is( '.keyboard-outline' ) ) {
					$me.css( 'outline-color', outline );
				}
			} );
		} );
	}
} )( jQuery );