// source --> https://www.clickphotoschool.com/wp-content/themes/astra/assets/js/minified/frontend.min.js?ver=4.11.12 
var astraGetParents=function(e,t){Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),a=t.length;0<=--a&&t.item(a)!==this;);return-1<a});for(var a=[];e&&e!==document;e=e.parentNode)(!t||e.matches(t))&&a.push(e);return a},getParents=function(e,t){console.warn("getParents() function has been deprecated since version 2.5.0 or above of Astra Theme and will be removed in the future. Use astraGetParents() instead."),astraGetParents(e,t)},astraToggleClass=function(e,t){e.classList.contains(t)?e.classList.remove(t):e.classList.add(t)},toggleClass=function(e,t){console.warn("toggleClass() function has been deprecated since version 2.5.0 or above of Astra Theme and will be removed in the future. Use astraToggleClass() instead."),astraToggleClass(e,t)},astraTriggerEvent=((()=>{function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var a=document.createEvent("CustomEvent");return a.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),a}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)})(),function(e,t){t=new CustomEvent(t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:{});e.dispatchEvent(t)});astraSmoothScroll=function(e,t){e.preventDefault(),window.scrollTo({top:t,left:0,behavior:"smooth"})},astScrollToTopHandler=function(e,t){var a=getComputedStyle(t).content,n=t.dataset.onDevices,a=a.replace(/[^0-9]/g,"");"both"==n||"desktop"==n&&"769"==a||"mobile"==n&&""==a?(n=window.pageYOffset||document.body.scrollTop,e&&e.length?n>e.offsetHeight+100?t.style.display="block":t.style.display="none":300<window.pageYOffset?t.style.display="block":t.style.display="none"):t.style.display="none"},(()=>{var r=document.querySelectorAll("#masthead .main-header-menu-toggle"),m=document.getElementById("masthead"),i={},c="",d=document.body,g="";function e(e){c=e.detail.type;e=document.querySelectorAll(".menu-toggle");"dropdown"===c&&(document.getElementById("ast-mobile-popup").classList.remove("active","show"),p("updateHeader")),"off-canvas"===c&&e.forEach(function(e){e&&e.classList.contains("toggled")&&e.click()}),t(c)}function p(e){g=m.querySelector("#ast-mobile-header");if(null==g||"dropdown"!==g.dataset.type||"updateHeader"===e){(void 0!==e&&"updateHeader"!==e?e.closest(".ast-mobile-popup-inner"):document.querySelector("#ast-mobile-popup")).querySelectorAll(".menu-item-has-children").forEach(e=>{e.classList.remove("ast-submenu-expanded"),Array.from(e.querySelectorAll(".sub-menu")).forEach(e=>{e.hasAttribute("data-initial-display")||e.setAttribute("data-initial-display",window.getComputedStyle(e).display),"block"===e.getAttribute("data-initial-display")?e.style.display="block":e.style.display="none"})});var t=document.querySelectorAll(".menu-toggle");document.body.classList.remove("ast-main-header-nav-open","ast-popup-nav-open"),document.documentElement.classList.remove("ast-off-canvas-active");for(var a=0;a<t.length;a++)t[a].classList.remove("toggled"),t[a].setAttribute("aria-expanded","false"),t[a].style.display="flex"}}function t(e){var a=document.querySelectorAll("#ast-mobile-header .menu-toggle"),n=document.querySelectorAll("#ast-desktop-header .menu-toggle");if(void 0===e&&null!==m)if(g=m.querySelector("#ast-mobile-header"))e=g.dataset.type;else{var o=m.querySelector("#ast-desktop-header");if(!o)return;e=o.dataset.toggleType}if("off-canvas"===e){var o=document.getElementById("menu-toggle-close"),s=document.querySelector(".ast-mobile-popup-inner");if(null!=s){popupLinks=s.getElementsByTagName("a"),document.removeEventListener("keydown",l),document.addEventListener("keydown",l),o&&o.addEventListener("click",i),document.addEventListener("keyup",function(e){27===e.keyCode&&i()}),document.addEventListener("click",function(e){e.target===document.querySelector(".ast-mobile-popup-drawer.active .ast-mobile-popup-overlay")&&i()});for(var r=0;r<a.length;r++)a[r].removeEventListener("click",astraNavMenuToggle,!1),a[r].removeEventListener("click",popupTriggerClick),a[r].addEventListener("click",function(e){e.currentTarget.setAttribute("aria-expanded","true"),popupTriggerClick(e),document.querySelector(".ast-mobile-popup-drawer.active")||i()},!1),a[r].trigger_type="mobile";for(r=0;r<n.length;r++)n[r].removeEventListener("click",astraNavMenuToggle,!1),n[r].removeEventListener("click",popupTriggerClick),n[r].addEventListener("click",function(e){e.currentTarget.setAttribute("aria-expanded","true"),popupTriggerClick(e)},!1),n[r].trigger_type="desktop";let t=document.querySelector(".ast-button-wrap .menu-toggle");o.addEventListener("click",function(e){document.getElementById("ast-mobile-popup").classList.remove("active","show"),p(this),window.self===window.top&&t?.focus()}),document.addEventListener("keyup",function(e){27===e.keyCode&&(e.preventDefault(),document.getElementById("ast-mobile-popup").classList.remove("active","show"),p(),t?.focus())}),document.addEventListener("click",function(e){e.target===document.querySelector(".ast-mobile-popup-drawer.active .ast-mobile-popup-overlay")&&(document.getElementById("ast-mobile-popup").classList.remove("active","show"),p(),t?.focus())});for(let e=0,t=popupLinks.length;e<t;e++)null!==popupLinks[e].getAttribute("href")&&(popupLinks[e].getAttribute("href").startsWith("#")||-1!==popupLinks[e].getAttribute("href").search("#"))&&(!popupLinks[e].parentElement.classList.contains("menu-item-has-children")||popupLinks[e].parentElement.classList.contains("menu-item-has-children")&&document.querySelector("header.site-header").classList.contains("ast-builder-menu-toggle-icon"))&&(popupLinks[e].addEventListener("click",v,!0),popupLinks[e].headerType="off-canvas");function l(e){var t,a=document.getElementById("ast-mobile-popup");a&&a.classList.contains("active")&&"Tab"===e.key&&(a=s.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),0!==(a=Array.prototype.filter.call(a,function(e){return 0<e.offsetWidth&&0<e.offsetHeight&&"hidden"!==window.getComputedStyle(e).visibility})).length)&&(t=a[0],a=a[a.length-1],e.shiftKey&&document.activeElement===t?(e.preventDefault(),a.focus()):e.shiftKey||document.activeElement!==a||(e.preventDefault(),t.focus()))}function i(){document.removeEventListener("keydown",l)}AstraToggleSetup()}}else if("dropdown"===e){var t=document.querySelectorAll(".ast-mobile-header-content")||!1,o=document.querySelector(".ast-desktop-header-content")||!1;if(0<t.length)for(let e=0;e<t.length;e++){var c=t[e].getElementsByTagName("a");for(link=0,len=c.length;link<len;link++){var d=null===c[link].closest(".wp-block-uagb-tabs");null!==c[link].getAttribute("href")&&(c[link].getAttribute("href").startsWith("#")||-1!==c[link].getAttribute("href").search("#"))&&(!c[link].parentElement.classList.contains("menu-item-has-children")||c[link].parentElement.classList.contains("menu-item-has-children")&&document.querySelector("header.site-header").classList.contains("ast-builder-menu-toggle-icon"))&&d&&(c[link].addEventListener("click",v,!0),c[link].headerType="dropdown")}}if(o){var u=o.getElementsByTagName("a");for(link=0,len=u.length;link<len;link++)u[link].addEventListener("click",v,!0),u[link].headerType="dropdown"}for(r=0;r<a.length;r++)a[r].removeEventListener("click",popupTriggerClick,!1),a[r].removeEventListener("click",astraNavMenuToggle),a[r].addEventListener("click",astraNavMenuToggle,!1),a[r].trigger_type="mobile";for(r=0;r<n.length;r++)n[r].removeEventListener("click",popupTriggerClick,!1),n[r].removeEventListener("click",astraNavMenuToggle),n[r].addEventListener("click",astraNavMenuToggle,!1),n[r].trigger_type="desktop";AstraToggleSetup()}}function v(e){switch(e.currentTarget.headerType){case"dropdown":for(var t=document.querySelectorAll(".menu-toggle.toggled"),a=0;a<t.length;a++)t[a].click();break;case"off-canvas":document.getElementById("menu-toggle-close").click()}}""!==(g=null!=m?m.querySelector("#ast-mobile-header"):g)&&null!==g&&(c=g.dataset.type),document.addEventListener("astMobileHeaderTypeChange",e,!1),document.addEventListener("click",function(e){e=e.target.closest(".menu-toggle");if(e&&"dropdown"===c){e.classList.toggle("toggled");var t=e.classList.contains("toggled");e.setAttribute("aria-expanded",t?"true":"false");{e=document.querySelectorAll(".menu-toggle");let t=Array.from(e).every(e=>e.classList.contains("toggled"));e.forEach(e=>{t?(e.classList.remove("toggled"),e.setAttribute("aria-expanded","false")):(e.classList.add("toggled"),e.setAttribute("aria-expanded","true"))})}}}),popupTriggerClick=function(e){var t=e.currentTarget.trigger_type,a=document.getElementById("ast-mobile-popup");d.classList.contains("ast-popup-nav-open")||d.classList.add("ast-popup-nav-open"),d.classList.contains("ast-main-header-nav-open")||"mobile"===t||d.classList.add("ast-main-header-nav-open"),document.documentElement.classList.contains("ast-off-canvas-active")||document.documentElement.classList.add("ast-off-canvas-active"),"desktop"===t&&(a.querySelector(".ast-mobile-popup-content").style.display="none",a.querySelector(".ast-desktop-popup-content").style.display="block"),"mobile"===t&&(a.querySelector(".ast-desktop-popup-content").style.display="none",a.querySelector(".ast-mobile-popup-content").style.display="block"),e&&e.currentTarget&&e.currentTarget.style&&(e.currentTarget.style.display="none"),a.classList.add("active","show"),document.getElementById("menu-toggle-close")?.focus()},document.addEventListener("DOMContentLoaded",function(){t()}),document.addEventListener("astLayoutWidthChanged",function(){t()}),document.addEventListener("astPartialContentRendered",function(){r=document.querySelectorAll(".main-header-menu-toggle"),d.classList.remove("ast-main-header-nav-open"),document.addEventListener("astMobileHeaderTypeChange",e,!1),t()});var o=null!==navigator.userAgent.match(/Android/i)&&"Android"===navigator.userAgent.match(/Android/i)[0]?window.visualViewport.width:window.innerWidth;window.addEventListener("resize",function(){var e,t,a,n;"INPUT"!==document.activeElement.tagName&&(e=document.getElementById("menu-toggle-close"),t=document.querySelector(".menu-toggle.toggled"),a=document.querySelector("#masthead > #ast-desktop-header .ast-desktop-header-content"),n=document.querySelector(".elementor-editor-active"),a&&(a.style.display="none"),(null!==navigator.userAgent.match(/Android/i)&&"Android"===navigator.userAgent.match(/Android/i)[0]?window.visualViewport.width:window.innerWidth)!==o&&(t&&null===n&&t.click(),document.body.classList.remove("ast-main-header-nav-open","ast-popup-nav-open"),e)&&null==n&&e.click(),u(),AstraToggleSetup())}),document.addEventListener("DOMContentLoaded",function(){if(AstraToggleSetup(),null!==(e=d.classList.contains("ast-header-break-point")?document.getElementById("ast-mobile-header"):document.getElementById("ast-desktop-header"))){var e,t=e.querySelector(".navigation-accessibility");if(t&&e){var a=e.getElementsByTagName("button")[0]||e.getElementsByTagName("a")[0];if(a&&!a.classList.contains("astra-search-icon")){var n=t.getElementsByTagName("ul")[0];if(n){if(n.className.includes("nav-menu")||(n.className+=" nav-menu"),document.addEventListener("DOMContentLoaded",function(){var e;"off-canvas"===c&&(e=document.getElementById("menu-toggle-close"))&&(e.onclick=function(){var e=t.className.includes("toggled");t.className=e?t.className.replace(" toggled",""):t.className+" toggled",a.setAttribute("aria-expanded",e?"false":"true"),n.setAttribute("aria-expanded",e?"false":"true")})}),a.onclick=function(){var e=t.className.includes("toggled");t.className=e?t.className.replace(" toggled",""):t.className+" toggled",a.setAttribute("aria-expanded",e?"false":"true"),n.setAttribute("aria-expanded",e?"false":"true")},!astra.is_header_footer_builder_active){for(var o=n.getElementsByTagName("a"),s=n.getElementsByTagName("ul"),r=0,l=s.length;r<l;r++)s[r].parentNode.setAttribute("aria-haspopup","true");for(r=0,l=o.length;r<l;r++)o[r].addEventListener("focus",L,!0),o[r].addEventListener("blur",L,!0),o[r].addEventListener("click",b,!0)}astra.is_header_footer_builder_active&&(()=>{let t=document.querySelectorAll("nav.site-navigation .menu-item-has-children > a .ast-header-navigation-arrow"),a=document.querySelectorAll("nav.site-navigation .sub-menu"),n=document.querySelectorAll("nav.site-navigation .menu-item-has-children"),o=document.querySelectorAll(".astra-full-megamenu-wrapper");t&&(t.forEach(e=>{e.addEventListener("keydown",function(o){if("Enter"===o.key){/Mobi|Android|iPad|iPhone/i.test(navigator.userAgent)&&(o.preventDefault(),o.stopPropagation());let t=o.target.closest("li"),a=t.querySelector(".sub-menu"),n=a&&a.classList.contains("astra-megamenu");setTimeout(()=>{n?(e=t.querySelector(".astra-full-megamenu-wrapper"),a&&a.classList.toggle("astra-megamenu-focus"),e&&e.classList.toggle("astra-megamenu-wrapper-focus")):a.classList.toggle("toggled-on"),t.classList.toggle("ast-menu-hover");var e=o.target.getAttribute("aria-expanded");o.target.setAttribute("aria-expanded","false"!==e&&e?"false":"true")},10)}})}),a||n)&&(document.addEventListener("click",function(e){y(a,t,n,o)},!1),document.addEventListener("keydown",function(e){"Escape"===e.key&&y(a,t,n,o)},!1));var e=document.querySelectorAll("nav.site-navigation .ast-nav-menu > .menu-item-has-children > a .ast-header-navigation-arrow");e&&e.forEach(e=>{e.addEventListener("keydown",function(e){e.target.closest("li").classList.contains("ast-menu-hover")||"Enter"!==e.key||y(a,t,n,o)},!1)})})()}else a.classList.contains("custom-logo-link")||(a.style.display="none")}}}});for(var a,n,s,l,u=function(){var e=d.style.overflow,t=(d.style.overflow="hidden",document.documentElement.clientWidth);if(d.style.overflow=e,astra.break_point<t||0===t){if(0<r.length)for(var a=0;a<r.length;a++)null!==r[a]&&r[a].classList.remove("toggled");d.classList.remove("ast-header-break-point"),d.classList.add("ast-desktop"),astraTriggerEvent(d,"astra-header-responsive-enabled")}else d.classList.add("ast-header-break-point"),d.classList.remove("ast-desktop"),astraTriggerEvent(d,"astra-header-responsive-disabled")},h=(u(),AstraToggleSubMenu=function(e){e.preventDefault(),"false"!==e.target.getAttribute("aria-expanded")&&e.target.getAttribute("aria-expanded")?e.target.setAttribute("aria-expanded","false"):e.target.setAttribute("aria-expanded","true");for(var t=this.parentNode,a=(t.classList.contains("ast-submenu-expanded")&&document.querySelector("header.site-header").classList.contains("ast-builder-menu-toggle-link")&&(this.classList.contains("ast-menu-toggle")||""!==(e=t.querySelector("a").getAttribute("href"))&&"#"!==e&&(window.location=e)),t.querySelectorAll(".menu-item-has-children")),n=0;n<a.length;n++){a[n].classList.remove("ast-submenu-expanded");var o=a[n].querySelector(".sub-menu, .children");null!==o&&(o.style.display="none")}for(var s=t.parentNode.querySelectorAll(".menu-item-has-children"),n=0;n<s.length;n++)if(s[n]!=t){s[n].classList.remove("ast-submenu-expanded");for(var r=s[n].querySelectorAll(".sub-menu"),l=0;l<r.length;l++)r[l].style.display="none"}t.classList.contains("menu-item-has-children")&&(astraToggleClass(t,"ast-submenu-expanded"),t.classList.contains("ast-submenu-expanded")?t.querySelector(".sub-menu").style.display="block":t.querySelector(".sub-menu").style.display="none")},AstraToggleSetup=function(){if("undefined"!=typeof astraAddon&&"function"==typeof astraToggleSetupPro)astraToggleSetupPro(c,d,i);else{var e,t,a,n=!1;if(0<(e="off-canvas"===c||"full-width"===c?(t=document.querySelectorAll("#ast-mobile-popup, #ast-mobile-header"),(a=document.querySelectorAll("#ast-mobile-header .main-header-menu-toggle")).length):(t=document.querySelectorAll("#ast-mobile-header"),(n=!(0<(e=(a=document.querySelectorAll("#ast-mobile-header .main-header-menu-toggle")).length)))?1:e))||n)for(var o=0;o<e;o++)if(n||(a[o].setAttribute("data-index",o),i[o])||(i[o]=a[o],a[o].removeEventListener("click",astraNavMenuToggle),a[o].addEventListener("click",astraNavMenuToggle,!1)),void 0!==t[o])for(var s,r=0;r<t.length;r++)if(0<(s=document.querySelector("header.site-header").classList.contains("ast-builder-menu-toggle-link")?t[r].querySelectorAll("ul.main-header-menu .menu-item-has-children > .menu-link, ul.main-header-menu .ast-menu-toggle"):t[r].querySelectorAll("ul.main-header-menu .ast-menu-toggle")).length)for(var l=0;l<s.length;l++)s[l].removeEventListener("click",AstraToggleSubMenu),s[l].addEventListener("click",AstraToggleSubMenu,!1)}},astraNavMenuToggle=function(e){if("undefined"!=typeof astraAddon)astraNavMenuTogglePro(e,d,c,this);else{e.preventDefault();var e=document.querySelectorAll("#masthead > #ast-mobile-header .main-header-bar-navigation"),t=(r=document.querySelectorAll("#masthead > #ast-mobile-header .main-header-menu-toggle"),"0");if(null!==this.closest("#ast-fixed-header")&&(e=document.querySelectorAll("#ast-fixed-header > #ast-mobile-header .main-header-bar-navigation"),r=document.querySelectorAll("#ast-fixed-header .main-header-menu-toggle"),t="0"),void 0===e[t])return!1;for(var a=e[t].querySelectorAll(".menu-item-has-children"),n=0;n<a.length;n++){a[n].classList.remove("ast-submenu-expanded");for(var o=a[n].querySelectorAll(".sub-menu"),s=0;s<o.length;s++)o[s].style.display="none"}-1!==(this.getAttribute("class")||"").indexOf("main-header-menu-toggle")&&(astraToggleClass(e[t],"toggle-on"),astraToggleClass(r[t],"toggled"),e[t].classList.contains("toggle-on")?(e[t].style.display="block",d.classList.add("ast-main-header-nav-open")):(e[t].style.display="",d.classList.remove("ast-main-header-nav-open")))}},d.addEventListener("astra-header-responsive-enabled",function(){var e=document.querySelectorAll(".main-header-bar-navigation");if(0<e.length)for(var t=0;t<e.length;t++){null!=e[t]&&(e[t].classList.remove("toggle-on"),e[t].style.display="");for(var a=e[t].getElementsByClassName("sub-menu"),n=0;n<a.length;n++)a[n].style.display="";for(var o=e[t].getElementsByClassName("children"),s=0;s<o.length;s++)o[s].style.display="";for(var r=e[t].getElementsByClassName("ast-search-menu-icon"),l=0;l<r.length;l++)r[l].classList.remove("ast-dropdown-active"),r[l].style.display=""}},!1),E=navigator.userAgent,n=E.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[],/trident/i.test(n[1])?a=/\brv[ :]+(\d+)/g.exec(E)||[]:"Chrome"===n[1]&&null!=(a=E.match(/\bOPR|Edge\/(\d+)/))||(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(a=E.match(/version\/(\d+)/i))&&n.splice(1,1,a[1]),"Safari"===n[0]&&n[1]<11&&document.body.classList.add("ast-safari-browser-less-than-11")),document.getElementsByClassName("astra-search-icon")),f=0;f<h.length;f++)h[f].onclick=function(e){var t;this.classList.contains("slide-search")&&(e.preventDefault(),(t=this.parentNode.parentNode.parentNode.querySelector(".ast-search-menu-icon")).classList.contains("ast-dropdown-active")?(""!==(t.querySelector(".search-field").value||"")&&t.querySelector(".search-form").submit(),t.classList.remove("ast-dropdown-active")):(t.classList.add("ast-dropdown-active"),t.querySelector(".search-field").setAttribute("autocomplete","off"),setTimeout(function(){t.querySelector(".search-field").focus()},200)))};function y(e,t,a,n){e&&e.forEach(e=>{e.classList.remove("astra-megamenu-focus"),e.classList.remove("toggled-on")}),a&&a.forEach(e=>{e.classList.remove("ast-menu-hover")}),n&&n.forEach(e=>{e.classList.remove("astra-megamenu-wrapper-focus")}),t&&t.forEach(e=>{e.setAttribute("aria-expanded","false")})}function b(){var e=this||"";if(e&&!e.classList.contains("astra-search-icon")&&null===e.closest(".ast-builder-menu")&&-1!==String(e).indexOf("#")){var t=e.parentNode;if(d.classList.contains("ast-header-break-point"))document.querySelector("header.site-header").classList.contains("ast-builder-menu-toggle-link")&&t.classList.contains("menu-item-has-children")||(document.querySelector(".main-header-menu-toggle").classList.remove("toggled"),(t=document.querySelector(".main-header-bar-navigation")).classList.remove("toggle-on"),t.style.display="none",astraTriggerEvent(document.querySelector("body"),"astraMenuHashLinkClicked"));else for(;-1===e.className.indexOf("nav-menu");)"li"===e.tagName.toLowerCase()&&-1!==e.className.indexOf("focus")&&(e.className=e.className.replace(" focus","")),e=e.parentElement}}function L(){for(var e=this;-1===e.className.indexOf("navigation-accessibility");)"li"===e.tagName.toLowerCase()&&e.classList.toggle("focus"),e=e.parentElement}if(document.querySelectorAll(".search-field").forEach(e=>{e.addEventListener("focus",function(e){var t=this.parentNode.parentNode.parentNode.querySelector(".ast-search-menu-icon");t&&astraToggleClass(t,"ast-dropdown-active")}),e.addEventListener("blur",function(e){var t=this.parentNode.parentNode.parentNode.querySelector(".ast-search-menu-icon");t&&(t.classList.remove("ast-dropdown-active"),astraToggleClass(t,"ast-dropdown-active"))})}),d.onclick=function(e){if(void 0!==e.target.classList&&!e.target.classList.contains("ast-search-menu-icon")&&0===astraGetParents(e.target,".ast-search-menu-icon").length&&0===astraGetParents(e.target,".ast-search-icon").length)for(var t=document.getElementsByClassName("ast-search-menu-icon"),a=0;a<t.length;a++)t[a].classList.remove("ast-dropdown-active")},astra.is_header_footer_builder_active||"querySelector"in document&&"addEventListener"in window&&(d.addEventListener("mousedown",function(){d.classList.add("ast-mouse-clicked")}),d.addEventListener("keydown",function(){d.classList.remove("ast-mouse-clicked")})),astra.is_scroll_to_id){let o=e=>{let t=0;for(;e;)t+=e.offsetTop,e=e.offsetParent;return t},t=(e,t=null)=>{let a=0;var n=document.querySelector(".site-header");n&&(0<(n=n.querySelectorAll("div[data-stick-support]")).length?n.forEach(e=>a+=e.clientHeight):"undefined"==typeof astraAddon||Number(astraAddon.sticky_hide_on_scroll)&&!document?.querySelector(".ast-header-sticked")||(n=document.querySelector("#ast-fixed-header"))&&(a=n?.clientHeight,Number(astraAddon?.header_main_shrink))&&(n?.querySelectorAll(".ast-above-header-wrap, .ast-below-header-wrap"))?.forEach(()=>a-=10),n=t||e.target?.closest("a").hash)&&(t=document.querySelector(n))&&(t=(n=o(t))-(a="undefined"!=typeof astraAddon&&Number(astraAddon.sticky_hide_on_scroll)&&window?.scrollY<n?0:a))&&astraSmoothScroll(e,t)},s=[];var E=document.querySelectorAll('a[href*="#"]:not([href="#"]):not([href="#0"]):not([href*="uagb-tab"]):not(.uagb-toc-link__trigger):not(.skip-link):not(.nav-links a):not([href*="tab-"])');if(E)for(let e of E)e.href.split("#")[0]!==location.href.split("#")[0]?s.push({hash:e.hash,url:e.href.split("#")[0]}):""!==e.hash&&e.addEventListener("click",t);window.addEventListener("DOMContentLoaded",e=>{for(var a of s)if(window.location.href.split("#")[0]===a.url){var n=document.querySelector(".site-header");let t=0;n=n.querySelectorAll("div[data-stick-support]"),n=(n&&n.forEach(e=>{t+=e.clientHeight}),document.querySelector(a.hash));n&&(a=o(n)-t)&&astraSmoothScroll(e,a)}location.hash&&setTimeout(()=>t(new Event("click"),location.hash),750)})}astra.is_scroll_to_top&&(s=document.querySelector("#page header"),l=document.getElementById("ast-scroll-top"),astScrollToTopHandler(s,l),window.addEventListener("scroll",function(){astScrollToTopHandler(s,l)}),l.onclick=function(e){astraSmoothScroll(e,0)},l.addEventListener("keydown",function(e){"Enter"===e.key&&astraSmoothScroll(e,0)})),astra?.is_dark_palette?document.documentElement.classList.add("astra-dark-mode-enable"):document.documentElement.classList.remove("astra-dark-mode-enable"),window.addEventListener("DOMContentLoaded",e=>{var t=document.querySelector(".ast-woocommerce-store-notice-hanged");let a=()=>{var e=document.querySelector('.woocommerce-store-notice[data-position="hang-over-top"]');document.body.style.paddingTop=`${e?.clientHeight||0}px`};t&&(window.addEventListener("resize",a),setTimeout(()=>a(),0)),document.querySelector(".woocommerce-store-notice__dismiss-link")?.addEventListener("click",()=>{"undefined"!=typeof wp&&wp?.customize||(document.body.classList.remove("ast-woocommerce-store-notice-hanged"),window.removeEventListener("resize",a),document.body.style.paddingTop=0)})})})(),document.addEventListener("DOMContentLoaded",function(){let t=document.querySelectorAll(".menu-link .dropdown-menu-toggle");function n(e){var e=e.closest(".menu-link"),t=e.nextElementSibling.classList.contains("toggled-on");e.setAttribute("aria-expanded",t?"true":"false")}document.querySelectorAll(".menu-item-has-children > a").forEach(t=>{t.addEventListener("keydown",function(e){"Enter"===e.key&&(e=t.nextElementSibling)&&e.classList.contains("sub-menu")&&(e.classList.toggle("ast-visible"),e="false"===t.getAttribute("aria-expanded")?"true":"false",t.setAttribute("aria-expanded",e))})}),t.forEach(a=>{a.addEventListener("focus",()=>n(a)),a.addEventListener("blur",()=>n(a)),a.addEventListener("keydown",e=>{var t;"Enter"===e.key&&(e.preventDefault(),e=(e=a).closest(".menu-link"),t=e.getAttribute("aria-expanded"),e.setAttribute("aria-expanded","true"===t?"false":"true"))})}),document.addEventListener("keydown",e=>{"Escape"===e.key&&t.forEach(e=>n(e))}),window.addEventListener("orientationchange",()=>{setTimeout(()=>window.dispatchEvent(new Event("resize")),50)})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".astra-shop-thumbnail-wrap").forEach(t=>{let a=t.querySelectorAll("a, span");a.forEach(e=>{e.addEventListener("focus",()=>{t.querySelectorAll(".ast-on-card-button, .ast-quick-view-trigger").forEach(e=>{e.style.opacity="1",e.style.visibility="visible",e.style.borderStyle="none"})}),e.addEventListener("blur",()=>{Array.from(a).some(e=>e===document.activeElement)||t.querySelectorAll(".ast-on-card-button, .ast-quick-view-trigger").forEach(e=>{e.style.opacity="",e.style.visibility=""})})})})});
// source --> https://www.clickphotoschool.com/wp-includes/js/dist/hooks.min.js?ver=dd5603f07f9220ed27f1 
/*! This file is auto-generated */
(()=>{var t={507:(t,e,r)=>{"use strict";r.d(e,{A:()=>A});var n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var i=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var o=function(t,e){return function(r,o,s,c=10){const l=t[e];if(!i(r))return;if(!n(o))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:o};if(l[r]){const t=l[r].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=a:t.splice(e,0,a),l.__current.forEach((t=>{t.name===r&&t.currentIndex>=e&&t.currentIndex++}))}else l[r]={handlers:[a],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,o,s,c)}};var s=function(t,e,r=!1){return function(o,s){const c=t[e];if(!i(o))return;if(!r&&!n(s))return;if(!c[o])return 0;let l=0;if(r)l=c[o].handlers.length,c[o]={runs:c[o].runs,handlers:[]};else{const t=c[o].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==o&&t.doAction("hookRemoved",o,s),l}};var c=function(t,e){return function(r,n){const i=t[e];return void 0!==n?r in i&&i[r].handlers.some((t=>t.namespace===n)):r in i}};var l=function(t,e,r,n){return function(i,...o){const s=t[e];s[i]||(s[i]={handlers:[],runs:0}),s[i].runs++;const c=s[i].handlers;if(!c||!c.length)return r?o[0]:void 0;const l={name:i,currentIndex:0};return(n?async function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){const e=c[l.currentIndex];t=await e.callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}}:function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){t=c[l.currentIndex].callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}})()}};var a=function(t,e){return function(){const r=t[e],n=Array.from(r.__current);return n.at(-1)?.name??null}};var d=function(t,e){return function(r){const n=t[e];return void 0===r?n.__current.size>0:Array.from(n.__current).some((t=>t.name===r))}};var u=function(t,e){return function(r){const n=t[e];if(i(r))return n[r]&&n[r].runs?n[r].runs:0}};class h{actions;filters;addAction;addFilter;removeAction;removeFilter;hasAction;hasFilter;removeAllActions;removeAllFilters;doAction;doActionAsync;applyFilters;applyFiltersAsync;currentAction;currentFilter;doingAction;doingFilter;didAction;didFilter;constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=o(this,"actions"),this.addFilter=o(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=c(this,"actions"),this.hasFilter=c(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=l(this,"actions",!1,!1),this.doActionAsync=l(this,"actions",!1,!0),this.applyFilters=l(this,"filters",!0,!1),this.applyFiltersAsync=l(this,"filters",!0,!0),this.currentAction=a(this,"actions"),this.currentFilter=a(this,"filters"),this.doingAction=d(this,"actions"),this.doingFilter=d(this,"filters"),this.didAction=u(this,"actions"),this.didFilter=u(this,"filters")}}var A=function(){return new h}},8770:()=>{}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{actions:()=>x,addAction:()=>s,addFilter:()=>c,applyFilters:()=>m,applyFiltersAsync:()=>v,createHooks:()=>t.A,currentAction:()=>y,currentFilter:()=>F,defaultHooks:()=>o,didAction:()=>b,didFilter:()=>k,doAction:()=>f,doActionAsync:()=>p,doingAction:()=>_,doingFilter:()=>g,filters:()=>w,hasAction:()=>d,hasFilter:()=>u,removeAction:()=>l,removeAllActions:()=>h,removeAllFilters:()=>A,removeFilter:()=>a});var t=r(507),e=r(8770),i={};for(const t in e)["default","actions","addAction","addFilter","applyFilters","applyFiltersAsync","createHooks","currentAction","currentFilter","defaultHooks","didAction","didFilter","doAction","doActionAsync","doingAction","doingFilter","filters","hasAction","hasFilter","removeAction","removeAllActions","removeAllFilters","removeFilter"].indexOf(t)<0&&(i[t]=()=>e[t]);r.d(n,i);const o=(0,t.A)(),{addAction:s,addFilter:c,removeAction:l,removeFilter:a,hasAction:d,hasFilter:u,removeAllActions:h,removeAllFilters:A,doAction:f,doActionAsync:p,applyFilters:m,applyFiltersAsync:v,currentAction:y,currentFilter:F,doingAction:_,doingFilter:g,didAction:b,didFilter:k,actions:x,filters:w}=o})(),(window.wp=window.wp||{}).hooks=n})();
// source --> https://www.clickphotoschool.com/wp-content/plugins/ultimate-addons-for-gutenberg/spectra-v3/assets/js/modal-script.js?ver=3.0.0-beta.2 
/**
 * Spectra Modal Script
 *
 * Wrapped in an IIFE with a load guard to prevent errors when the script
 * is inadvertently loaded multiple times (e.g., slider and modal blocks on same page).
 */
( function() {
	'use strict';

	// Prevent double execution if script is loaded multiple times.
	if ( window.spectraModalScriptLoaded ) {
		return;
	}
	window.spectraModalScriptLoaded = true;

	// Constants
	const CLOSE_BUTTON_RENDER_DELAY = 50; // Delay for close button to render

	// Store modal-specific data
	const modalHandlers = new Map();

/**
 * Get the correct document element (handles iframe-based themes like Twenty Twenty-Five)
 * This is critical for theme compatibility
 */
function getDocumentElement() {
	// For frontend, always use main document (Twenty Twenty-Five doesn't use iframe on frontend)
	if ( !document.body.classList.contains( 'wp-admin' ) && !document.body.classList.contains( 'block-editor-page' ) ) {
		return document;
	}
	
	// For editor, check for iframe
	let document_element = document;
	const getEditorIframe = document.querySelectorAll( 'iframe[name="editor-canvas"]' );
	
	if ( getEditorIframe?.length ) {
		const iframeDocument =
			getEditorIframe?.[ 0 ]?.contentWindow?.document || getEditorIframe?.[ 0 ]?.contentDocument;
		if ( iframeDocument ) {
			document_element = iframeDocument;
		}
	}
	return document_element;
}

/**
 * Attach global handlers for modal accessibility and interaction
 * Need to attach to BOTH main document AND iframe for full coverage
 */
function attachGlobalModalHandlers() {
	// Always attach to main document (for trigger elements)
	attachKeyboardHandlersToDocument( document );
	
	// Also attach to iframe document if it exists (for Twenty Twenty-Five theme)
	const iframe = document.querySelector( 'iframe[name="editor-canvas"]' );
	if ( iframe ) {
		const iframeDoc = iframe.contentWindow?.document || iframe.contentDocument;
		if ( iframeDoc ) {
			attachKeyboardHandlersToDocument( iframeDoc );
		} else {
			// Iframe not loaded yet, wait for it
			iframe.addEventListener( 'load', () => {
				const iframeDocLoaded = iframe.contentWindow?.document || iframe.contentDocument;
				if ( iframeDocLoaded ) {
					attachKeyboardHandlersToDocument( iframeDocLoaded );
				}
			} );
		}
	} else {
		// Try with delay to catch dynamically created iframes
		setTimeout( () => {
			const delayedIframe = document.querySelector( 'iframe[name="editor-canvas"]' );
			if ( delayedIframe ) {
				const iframeDoc = delayedIframe.contentWindow?.document || delayedIframe.contentDocument;
				if ( iframeDoc && !iframeDoc._spectraHandlersAttached ) {
					attachKeyboardHandlersToDocument( iframeDoc );
				}
			}
		}, 1000 );
	}
}

/**
 * Attach keyboard handlers to a specific document
 *
 * @param {Document} doc - The document to attach handlers to
 */
function attachKeyboardHandlersToDocument( doc ) {
	// Prevent duplicate attachment
	if ( doc._spectraHandlersAttached ) {
		return;
	}
	doc._spectraHandlersAttached = true;
	
	
	// Global keyboard handler for modal triggers and close buttons
	doc.addEventListener( 'keydown', ( e ) => {
		// 1. Handle modal trigger elements (Enter/Space to open)
		if ( ( e.target.classList.contains( 'modal-trigger-element' ) || 
			   e.target.getAttribute( 'data-wp-on--click' ) === 'spectra/modal::actions.toggle' ||
			   e.target.getAttribute( 'data-wp-on--click' ) === 'spectra/modal::actions.open' ) ) {
			
			if ( e.key === 'Enter' || e.key === ' ' ) {
				e.preventDefault();
				
				// Just trigger a click event - let the existing click handler do the work
				e.target.click();
			}
		}
		
		// 2. Handle close button elements (Enter/Space to close)
		else if ( e.target.classList.contains( 'spectra-modal-popup-close' ) || 
				  e.target.getAttribute( 'data-wp-on--click' ) === 'spectra/modal::actions.close' ) {
			
			if ( e.key === 'Enter' || e.key === ' ' ) {
				e.preventDefault();
				
				// Just trigger a click event
				e.target.click();
			}
		}
	} );
	
	// ESC key handler - attach to both documents to catch ESC from anywhere
	doc.addEventListener( 'keydown', ( e ) => {
		if ( e.key === 'Escape' ) {
			// Look for active modal - the active class is on the popup element, not wrapper
			let activeModal = document.querySelector( '.spectra-modal-popup.active' );
			
			// If not found in main document, check iframe
			if ( !activeModal ) {
				const iframe = document.querySelector( 'iframe[name="editor-canvas"]' );
				if ( iframe ) {
					const iframeDoc = iframe.contentWindow?.document || iframe.contentDocument;
					if ( iframeDoc ) {
						activeModal = iframeDoc.querySelector( '.spectra-modal-popup.active' );
					}
				}
			}
			
			if ( activeModal && activeModal.id ) {
				// Check if ESC key is enabled for this modal
				const escPress = activeModal.getAttribute( 'data-esc-press' );
				
				// Only close if ESC is explicitly enabled.
				if ( escPress !== 'true' ) {
					return; // Don't close if ESC is not explicitly enabled
				}
				
				e.preventDefault();
				e.stopPropagation();
				
				// Use closeModal function if available, otherwise manual close
				if ( typeof closeModal === 'function' ) {
					closeModal( activeModal.id );
				} else {
					activeModal.classList.remove( 'active' );
				}
			}
		}
	} );
	
	// Note: Overlay click is handled by attachOverlayClickClose function
	// This global handler is kept minimal to avoid conflicts
}

// Attach global modal handlers immediately when script loads
// This ensures all modal interactions work even if modal initialization events don't fire properly
if ( document.readyState === 'loading' ) {
	document.addEventListener( 'DOMContentLoaded', attachGlobalModalHandlers );
} else {
	attachGlobalModalHandlers();
}

// Listen for modal initialization events and attach behaviours.
// Listen on both main document and iframe document for full compatibility
function setupModalInitializationListener() {
	const handleInitialization = ( event ) => {
		const {
			blockId,
			overlayClick,
			escPress,
		} = event.detail;

		// Normalize values into args with default fallbacks.
		const args = {
			blockId,
			overlayClick: overlayClick || false,
			escPress: escPress || false,
		};

		// Clean up any existing handlers for this modal
		cleanupModalHandlers( blockId );

		// Attach the necessary modal behavior handlers.
		// Close modal on overlay click.
		attachOverlayClickClose( args );
		// Close modal on Escape key.
		attachEscKeyClose( args );
		// Trap focus inside modal and manage keyboard accessibility
		attachKeyboardHandlers( args );
		// Add keyboard support for close button
		attachCloseButtonKeyboard( args );
	};

	// Listen on main document
	document.addEventListener( 'spectra:modal:initialized', handleInitialization );
	
	// Also listen on iframe document if exists
	const iframe = document.querySelector( 'iframe[name="editor-canvas"]' );
	if ( iframe ) {
		const iframeDoc = iframe.contentWindow?.document || iframe.contentDocument;
		if ( iframeDoc ) {
			iframeDoc.addEventListener( 'spectra:modal:initialized', handleInitialization );
		}
	}
}

// Setup listeners when DOM is ready
if ( document.readyState === 'loading' ) {
	document.addEventListener( 'DOMContentLoaded', setupModalInitializationListener );
} else {
	setupModalInitializationListener();
}


/**
 * Clean up any existing event handlers for a modal
 *
 * @param {string} blockId - The modal block ID
 */
function cleanupModalHandlers( blockId ) {
	const handlers = modalHandlers.get( blockId );
	if ( handlers ) {
		// Remove all stored event listeners
		handlers.forEach( ( { element, event, handler } ) => {
			element.removeEventListener( event, handler );
		} );
		modalHandlers.delete( blockId );
	}
}

/**
 * Store an event handler for later cleanup
 *
 * @param {string} blockId - The modal block ID
 * @param {Element} element - The DOM element
 * @param {string} event - The event name
 * @param {Function} handler - The event handler function
 */
function storeHandler( blockId, element, event, handler ) {
	if ( !modalHandlers.has( blockId ) ) {
		modalHandlers.set( blockId, [] );
	}
	modalHandlers.get( blockId ).push( { element, event, handler } );
	element.addEventListener( event, handler );
}

/**
 * Attach handler to close modal when clicking outside modal content (on the overlay).
 *
 * @param {Object} args - Contains modal settings like blockId and overlayClick.
 */
function attachOverlayClickClose( args ) {
	const modal = getDocumentElement().getElementById( args.blockId );
	if ( !modal ) {
		return;
	}
	if ( args.overlayClick ) {
		const handler = ( e ) => {
			// The modal structure is: 
			// <div id="blockId" class="active"> <!-- modal wrapper -->
			//   <div class="spectra-modal-popup active"> <!-- popup/overlay -->
			//     <div class="spectra-modal-popup-wrap"> <!-- content wrapper -->
			
			// If click target is the wrapper (modal element itself), close it
			if ( e.currentTarget === modal && e.target === modal ) {
				closeModal( args.blockId );
				return;
			}
			
			// Find the popup element
			const popup = modal.querySelector( '.spectra-modal-popup' );
			if ( !popup || !popup.classList.contains( 'active' ) ) return;
			
			const popupWrap = popup.querySelector( '.spectra-modal-popup-wrap' );
			if ( !popupWrap ) return;
			
			// Click is on overlay if click is on popup but not inside popup-wrap
			if ( e.target === popup ) {
				closeModal( args.blockId );
			}
		};
		
		// Attach to both modal wrapper and popup for complete coverage
		storeHandler( args.blockId, modal, 'click', handler );
		
		const popup = modal.querySelector( '.spectra-modal-popup' );
		if ( popup ) {
			const popupHandler = ( e ) => {
				const popupWrap = popup.querySelector( '.spectra-modal-popup-wrap' );
				if ( popupWrap && e.target === popup ) {
					e.stopPropagation();
					closeModal( args.blockId );
				}
			};
			storeHandler( args.blockId, popup, 'click', popupHandler );
		}
	}
}

/**
 * Attach handler to close modal when Escape key is pressed.
 *
 * @param {Object} args - Contains modal settings including escPress flag.
 */
function attachEscKeyClose( args ) {
	if ( args.escPress ) {
		const handler = ( e ) => {
			if ( e.key === 'Escape' ) {
				const modal = getDocumentElement().getElementById( args.blockId );
				if ( modal && modal.classList.contains( 'active' ) ) {
					closeModal( args.blockId );
				}
			}
		};
		storeHandler( args.blockId, getDocumentElement(), 'keydown', handler );
	}
}

/**
 * Close the modal by hiding it and removing active state.
 *
 * @param {string} blockId - The modal block ID to close.
 */
function closeModal( blockId ) {
	const modal = getDocumentElement().getElementById( blockId );
	if ( ! modal ) return;

	modal.classList.remove( 'active' );
	
	// Also remove active from popup element if it exists
	const popup = modal.querySelector( '.spectra-modal-popup' );
	if ( popup ) {
		popup.classList.remove( 'active' );
		popup.setAttribute( 'aria-hidden', 'true' );
		popup.removeAttribute( 'aria-modal' );
	}
	
	// Restore focus to previously focused element
	const state = modalHandlers.get( blockId )?.state;
	if ( state?.previouslyFocusedElement ) {
		// Use setTimeout to ensure focus is restored after modal is fully closed
		setTimeout( () => {
			if ( state.previouslyFocusedElement && typeof state.previouslyFocusedElement.focus === 'function' ) {
				state.previouslyFocusedElement.focus();
			}
		}, 0 );
	}
	
	// Dispatch close event for any cleanup
	const event = new CustomEvent( 'spectra:modal:closed', {
		detail: { blockId },
		bubbles: true
	} );
	document.dispatchEvent( event );
}

/**
 * Enable keyboard accessibility for modal including focus trap and restoring focus.
 *
 * @param {Object} args - Modal configuration.
 */
function attachKeyboardHandlers( args ) {
	// Store modal-specific state in the handlers map
	if ( !modalHandlers.has( args.blockId ) ) {
		modalHandlers.set( args.blockId, [] );
	}
	
	// Add state properties
	modalHandlers.get( args.blockId ).state = {
		previouslyFocusedElement: null,
		isFirstTab: true
	};

	// Trap tab focus inside the modal
	const keydownHandler = ( e ) => {
		const modal = getDocumentElement().getElementById( args.blockId );
		if ( ! modal || ! modal.classList.contains( 'active' ) ) return;
		
		// Check if the popup element is hidden (not the wrapper)
		const popup = modal.querySelector( '.spectra-modal-popup' );
		if ( popup && popup.getAttribute( 'aria-hidden' ) === 'true' ) return;
		
		const state = modalHandlers.get( args.blockId )?.state;
		if ( ! state ) return;

		const focusable = modal.querySelectorAll(
			'a, button, input, textarea, select, [tabindex]:not([tabindex="-1"])'
		);
		if ( !focusable.length ) return;

		const first = focusable[0];
		const last = focusable[focusable.length - 1];
		const activeElement = modal.ownerDocument.activeElement;

		if ( e.key === 'Tab' ) {
			// Check if modal was triggered automatically and this is first tab
			const modalTrigger = modal.getAttribute( 'data-modal-trigger' ) || 'manual';
			
			if ( state.isFirstTab && modalTrigger === 'automatic' && !modal.contains( activeElement ) ) {
				// First tab on automatic modal - focus close button
				e.preventDefault();
				first.focus();
				state.isFirstTab = false;
				return;
			}
			
			// Trap focus inside modal.
			if ( e.shiftKey && activeElement === first ) {
				e.preventDefault();
				last.focus();
			} else if ( !e.shiftKey && activeElement === last ) {
				e.preventDefault();
				first.focus();
			} else if ( !modal.contains( activeElement ) ) {
				// If focus is outside modal, bring it back inside
				e.preventDefault();
				if ( e.shiftKey ) {
					last.focus();
				} else {
					first.focus();
				}
			}
		} else if ( e.key === 'Escape' && args.escPress ) {
			// Close modal and restore previous focus only if escPress is enabled.
			closeModal( args.blockId );
			if ( state.previouslyFocusedElement ) {
				state.previouslyFocusedElement.focus();
			}
		}
	};
	storeHandler( args.blockId, getDocumentElement(), 'keydown', keydownHandler );
	
	// Prevent focus on elements outside modal when clicking
	const focusinHandler = ( e ) => {
		const modal = getDocumentElement().getElementById( args.blockId );
		if ( ! modal || ! modal.classList.contains( 'active' ) ) return;
		
		// If focus moves outside the modal, bring it back
		if ( !modal.contains( e.target ) ) {
			e.preventDefault();
			e.stopPropagation();
			
			const focusable = modal.querySelectorAll(
				'a, button, input, textarea, select, [tabindex]:not([tabindex="-1"])'
			);
			if ( focusable.length > 0 ) {
				focusable[0].focus();
			}
		}
	};
	storeHandler( args.blockId, getDocumentElement(), 'focusin', focusinHandler );

	// Set initial focus to first focusable element on modal open.
	const openHandler = ( event ) => {
		// Check if this event is for our modal
		if ( event.detail?.blockId && event.detail.blockId !== args.blockId ) return;
		
		const modal = getDocumentElement().getElementById( args.blockId );
		if ( !modal || !modal.classList.contains( 'active' ) ) return;
		
		const state = modalHandlers.get( args.blockId )?.state;
		if ( ! state ) return;

		const focusable = modal.querySelectorAll(
			'a, button, input, textarea, select, [tabindex]:not([tabindex="-1"])'
		);
		if ( !focusable.length ) return;
		const activeElement = modal.ownerDocument.activeElement;

		// Save currently focused element to return focus when modal closes.
		// Prefer trigger element from event detail, otherwise use active element
		if ( event.detail?.triggerElement ) {
			state.previouslyFocusedElement = event.detail.triggerElement;
		} else {
			state.previouslyFocusedElement = activeElement;
		}
		
		// Reset first tab flag
		state.isFirstTab = true;
		
		// Get modal trigger type from event detail if available
		const modalTrigger = event.detail?.modalTrigger || modal.getAttribute( 'data-modal-trigger' ) || 'manual';
		
		// Don't auto-focus any element when modal opens
		// The user should control focus with Tab key
		// Only exception: automatic modals might need different handling
		if ( modalTrigger === 'automatic' ) {
			// For automatic modals, we might want different behavior
			// Currently, we don't focus anything
		}
	};
	storeHandler( args.blockId, getDocumentElement(), 'spectra:modal:opened', openHandler );
}

/**
 * Add keyboard support for close button (Enter/Space to close)
 *
 * @param {Object} args - Modal configuration.
 */
function attachCloseButtonKeyboard( args ) {
	const modal = getDocumentElement().getElementById( args.blockId );
	if ( !modal ) return;
	
	// Wait a bit for modal content to render
	setTimeout( () => {
		// Find close button with the specific class
		const closeButtons = modal.querySelectorAll( '.spectra-modal-popup-close' );
		
		closeButtons.forEach( button => {
			// Make sure the element is focusable if it's not a button/link
			if ( button.tagName !== 'BUTTON' && button.tagName !== 'A' && !button.hasAttribute( 'tabindex' ) ) {
				button.setAttribute( 'tabindex', '0' );
			}
			
			// Add role button if not already a button
			if ( button.tagName !== 'BUTTON' && !button.hasAttribute( 'role' ) ) {
				button.setAttribute( 'role', 'button' );
			}
			
			const handler = ( e ) => {
				// Handle Enter key (Note: Tab should not trigger close, it's for navigation)
				if ( e.key === 'Enter' || e.key === ' ' ) {
					e.preventDefault();
					e.stopPropagation();
					
					// Trigger click event on the close button
					button.click();
					
					// Or directly close the modal (which will restore focus)
					closeModal( args.blockId );
				}
			};
			storeHandler( args.blockId, button, 'keydown', handler );
		} );
	}, CLOSE_BUTTON_RENDER_DELAY );
}

} )(); // End IIFE;
// source --> https://www.clickphotoschool.com/wp-content/plugins/ultimate-addons-for-gutenberg/assets/js/aos.min.js?ver=3.0.0-beta.2 
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AOS=t():e.AOS=t()}(this,function(){return n=[function(d,f,e){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function o(){c=(0,r.default)(),s()}var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o,n=arguments[t];for(o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},m=(t(e(1)),e(6)),p=t(m),n=t(e(7)),b=t(e(8)),i=t(e(9)),a=t(e(10)),v=t(e(11)),r=t(e(14)),c=[],y=!1,u={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,startEvent:"DOMContentLoaded",throttleDelay:99,debounceDelay:50,disableMutationObserver:!1},s=function(){if(y=0<arguments.length&&void 0!==arguments[0]&&arguments[0]?!0:y)return c=(0,v.default)(c,u),(0,a.default)(c,u.once),c};d.exports={init:function(e){u=l(u,e),c=(0,r.default)();var t,e=document.all&&!window.atob;return!0===(t=u.disable)||"mobile"===t&&i.default.mobile()||"phone"===t&&i.default.phone()||"tablet"===t&&i.default.tablet()||"function"==typeof t&&!0===t()||e?void c.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}):(document.querySelector("body").setAttribute("data-aos-easing",u.easing),document.querySelector("body").setAttribute("data-aos-duration",u.duration),document.querySelector("body").setAttribute("data-aos-delay",u.delay),"DOMContentLoaded"===u.startEvent&&-1<["complete","interactive"].indexOf(document.readyState)?s(!0):("load"===u.startEvent?window:document).addEventListener(u.startEvent,function(){s(!0)}),window.addEventListener("resize",(0,n.default)(s,u.debounceDelay,!0)),window.addEventListener("orientationchange",(0,n.default)(s,u.debounceDelay,!0)),window.addEventListener("scroll",(0,p.default)(function(){(0,a.default)(c,u.once)},u.throttleDelay)),u.disableMutationObserver||(0,b.default)("[data-aos]",o),c)},refresh:s,refreshHard:o}},function(e,t){},,,,,function(m,e){!function(e){"use strict";function a(f,o,e){function l(e){var t=i,o=a;return i=a=void 0,s=e,r=f.apply(o,t)}function m(e){var t=e-u;return void 0===u||o<=t||t<0||d&&b<=e-s}function n(){var e,t=k();return m(t)?p(t):void(c=setTimeout(n,(e=o-((t=t)-u),d?j(e,b-(t-s)):e)))}function p(e){return c=void 0,y&&i?l(e):(i=a=void 0,r)}function t(){var e=k(),t=m(e);if(i=arguments,a=this,u=e,t){if(void 0===c)return s=e=u,c=setTimeout(n,o),v?l(e):r;if(d)return c=setTimeout(n,o),l(u)}return void 0===c&&(c=setTimeout(n,o)),r}var i,a,b,r,c,u,s=0,v=!1,d=!1,y=!0;if("function"!=typeof f)throw new TypeError(w);return o=h(o)||0,g(e)&&(v=!!e.leading,d="maxWait"in e,b=d?x(h(e.maxWait)||0,o):b,y="trailing"in e?!!e.trailing:y),t.cancel=function(){void 0!==c&&clearTimeout(c),i=u=a=c=void(s=0)},t.flush=function(){return void 0===c?r:p(k())},t}function g(e){var t=void 0===e?"undefined":n(e);return e&&("object"==t||"function"==t)}function o(e){return"symbol"==(void 0===e?"undefined":n(e))||!!(t=e)&&"object"==(void 0===t?"undefined":n(t))&&"[object Symbol]"==l.call(e);var t}function h(e){if("number"==typeof e)return e;if(o(e))return i;if("string"!=typeof(e=g(e)?g(t="function"==typeof e.valueOf?e.valueOf():e)?t+"":t:e))return 0===e?e:+e;e=e.replace(r,"");var t=u.test(e);return t||s.test(e)?d(e.slice(2),t?2:8):c.test(e)?i:+e}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w="Expected a function",i=NaN,r=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,s=/^0o[0-7]+$/i,d=parseInt,e="object"==(void 0===e?"undefined":n(e))&&e&&e.Object===Object&&e,t="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,f=e||t||Function("return this")(),l=Object.prototype.toString,x=Math.max,j=Math.min,k=function(){return f.Date.now()};m.exports=function(e,t,o){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError(w);return g(o)&&(n="leading"in o?!!o.leading:n,i="trailing"in o?!!o.trailing:i),a(e,t,{leading:n,maxWait:t,trailing:i})}}.call(e,function(){return this}())},function(m,e){!function(e){"use strict";function g(e){var t=void 0===e?"undefined":n(e);return e&&("object"==t||"function"==t)}function o(e){return"symbol"==(void 0===e?"undefined":n(e))||!!(t=e)&&"object"==(void 0===t?"undefined":n(t))&&l.call(e)==a;var t}function h(e){if("number"==typeof e)return e;if(o(e))return i;if("string"!=typeof(e=g(e)?g(t="function"==typeof e.valueOf?e.valueOf():e)?t+"":t:e))return 0===e?e:+e;e=e.replace(r,"");var t=u.test(e);return t||s.test(e)?d(e.slice(2),t?2:8):c.test(e)?i:+e}function w(){return f.Date.now()}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=NaN,a="[object Symbol]",r=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,s=/^0o[0-7]+$/i,d=parseInt,e="object"==(void 0===e?"undefined":n(e))&&e&&e.Object===Object&&e,t="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,f=e||t||Function("return this")(),l=Object.prototype.toString,k=Math.max,x=Math.min;m.exports=function(f,o,e){function l(e){var t=i,o=a;return i=a=void 0,s=e,r=f.apply(o,t)}function m(e){var t=e-u;return void 0===u||o<=t||t<0||d&&b<=e-s}function n(){var e,t=w();return m(t)?p(t):void(c=setTimeout(n,(e=o-((t=t)-u),d?x(e,b-(t-s)):e)))}function p(e){return c=void 0,y&&i?l(e):(i=a=void 0,r)}function t(){var e=w(),t=m(e);if(i=arguments,a=this,u=e,t){if(void 0===c)return s=e=u,c=setTimeout(n,o),v?l(e):r;if(d)return c=setTimeout(n,o),l(u)}return void 0===c&&(c=setTimeout(n,o)),r}var i,a,b,r,c,u,s=0,v=!1,d=!1,y=!0;if("function"!=typeof f)throw new TypeError("Expected a function");return o=h(o)||0,g(e)&&(v=!!e.leading,d="maxWait"in e,b=d?k(h(e.maxWait)||0,o):b,y="trailing"in e?!!e.trailing:y),t.cancel=function(){void 0!==c&&clearTimeout(c),i=u=a=c=void(s=0)},t.flush=function(){return void 0===c?r:p(w())},t}}.call(e,function(){return this}())},function(e,t){"use strict";function i(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),e=Array.prototype.slice.call(e.removedNodes);t.concat(e).filter(function(e){return e.hasAttribute&&e.hasAttribute("data-aos")}).length&&a()})}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){};t.default=function(e,t){var o=window.document,n=new(window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver)(i);a=t,n.observe(o.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}},function(s,e){"use strict";function t(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(e,"__esModule",{value:!0});var o=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,n=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,a=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,r=(function(e,t,o){return t&&u(e.prototype,t),o&&u(e,o),e}(c,[{key:"phone",value:function(){var e=t();return!(!o.test(e)&&!n.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=t();return!(!i.test(e)&&!a.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}}]),c);function c(){if(!(this instanceof c))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.default=new r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e,a){var r=window.pageYOffset,c=window.innerHeight;e.forEach(function(e,t){var o,n,i;o=c+r,n=a,i=(e=e).node.getAttribute("data-aos-once"),o>e.position?e.node.classList.add("aos-animate"):void 0===i||"false"!==i&&(n||"true"===i)||e.node.classList.remove("aos-animate")})}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=o(12),n=(o=o)&&o.__esModule?o:{default:o};t.default=function(e,o){return e.forEach(function(e,t){e.node.classList.add("aos-init"),e.position=(0,n.default)(e.node,o.offset)}),e}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=o(13),r=(o=o)&&o.__esModule?o:{default:o};t.default=function(e,t){var o=0,n=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(n=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),o=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":o+=e.offsetHeight/2;break;case"bottom-bottom":o+=e.offsetHeight;break;case"top-center":o+=i/2;break;case"bottom-center":o+=i/2+e.offsetHeight;break;case"center-center":o+=i/2+e.offsetHeight/2;break;case"top-top":o+=i;break;case"bottom-top":o+=e.offsetHeight+i;break;case"center-top":o+=e.offsetHeight/2+i}return o+(n=a.anchorPlacement||a.offset||isNaN(t)?n:t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){for(var t=0,o=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),o+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:o,left:t}}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})}}],i={},o.m=n,o.c=i,o.p="dist/",o(0);function o(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return n[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}var n,i});
// source --> https://www.clickphotoschool.com/wp-content/plugins/twenty20/assets/js/jquery.event.move.js?ver=2.0.4 
!function(e){"function"==typeof define&&define.amd?define([],e):"undefined"!=typeof module&&null!==module&&module.exports?module.exports=e:e()}(function(){var i=Object.assign||window.jQuery&&jQuery.extend,p=8,a=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,t){return window.setTimeout(function(){e()},25)};!function(){if("function"==typeof window.CustomEvent)return;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}();var o={textarea:!0,input:!0,select:!0,button:!0},u={move:"mousemove",cancel:"mouseup dragstart",end:"mouseup"},r={move:"touchmove",cancel:"touchend",end:"touchend"},d=/\s+/,c={bubbles:!0,cancelable:!0},t="function"==typeof Symbol?Symbol("events"):{};function m(e){return e[t]||(e[t]={})}function v(e,t,n,o,i){t=t.split(d);var a,c=m(e),u=t.length;function r(e){n(e,o)}for(;u--;)(c[a=t[u]]||(c[a]=[])).push([n,r]),e.addEventListener(a,r)}function f(e,t,n,o){t=t.split(d);var i,a,c,u=m(e),r=t.length;if(u)for(;r--;)if(a=u[i=t[r]])for(c=a.length;c--;)a[c][0]===n&&(e.removeEventListener(i,a[c][1]),a.splice(c,1))}function g(e,t,n){var o=new CustomEvent(t,c);n&&i(o,n),e.dispatchEvent(o)}function n(e){var n=e,o=!1,i=!1;function t(e){o?(n(),a(t),o=!(i=!0)):i=!1}this.kick=function(e){o=!0,i||t()},this.end=function(e){var t=n;e&&(i?(n=o?function(){t(),e()}:e,o=!0):e())}}function h(){}function s(e){e.preventDefault()}function l(e,t){var n,o;if(e.identifiedTouch)return e.identifiedTouch(t);for(n=-1,o=e.length;++n<o;)if(e[n].identifier===t)return e[n]}function X(e,t){var n=l(e.changedTouches,t.identifier);if(n&&(n.pageX!==t.pageX||n.pageY!==t.pageY))return n}function Y(e,t){T(e,t,e,w)}function y(e,t){w()}function w(){f(document,u.move,Y),f(document,u.cancel,y)}function b(e){f(document,r.move,e.touchmove),f(document,r.cancel,e.touchend)}function T(e,t,n,o){var i,a,c,u,r,d,m,v,f,s=n.pageX-t.pageX,l=n.pageY-t.pageY;s*s+l*l<p*p||(a=t,c=n,u=s,r=l,d=o,m=(i=e).targetTouches,v=i.timeStamp-a.timeStamp,f={altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,startX:a.pageX,startY:a.pageY,distX:u,distY:r,deltaX:u,deltaY:r,pageX:c.pageX,pageY:c.pageY,velocityX:u/v,velocityY:r/v,identifier:a.identifier,targetTouches:m,finger:m?m.length:1,enableMove:function(){this.moveEnabled=!0,this.enableMove=h,i.preventDefault()}},g(a.target,"movestart",f),d(a))}function E(e,t){var n=t.timer;t.touch=e,t.timeStamp=e.timeStamp,n.kick()}function S(e,t){var n=t.target,o=t.event,i=t.timer;f(document,u.move,E),f(document,u.end,S),K(n,o,i,function(){setTimeout(function(){f(n,"click",s)},0)})}function k(e,t){var n,o=t.target,i=t.event,a=t.timer;l(e.changedTouches,i.identifier)&&(n=t,f(document,r.move,n.activeTouchmove),f(document,r.end,n.activeTouchend),K(o,i,a))}function K(e,t,n,o){n.end(function(){return g(e,"moveend",t),o&&o()})}if(v(document,"mousedown",function(e){var t;1!==(t=e).which||t.ctrlKey||t.altKey||o[e.target.tagName.toLowerCase()]||(v(document,u.move,Y,e),v(document,u.cancel,y,e))}),v(document,"touchstart",function(e){if(!o[e.target.tagName.toLowerCase()]){var t=e.changedTouches[0],n={target:t.target,pageX:t.pageX,pageY:t.pageY,identifier:t.identifier,touchmove:function(e,t){var n,o,i;(i=X(n=e,o=t))&&T(n,o,i,b)},touchend:function(e,t){var n;n=t,l(e.changedTouches,n.identifier)&&b(n)}};v(document,r.move,n.touchmove,n),v(document,r.cancel,n.touchend,n)}}),v(document,"movestart",function(e){if(!e.defaultPrevented&&e.moveEnabled){var a={startX:e.startX,startY:e.startY,pageX:e.pageX,pageY:e.pageY,distX:e.distX,distY:e.distY,deltaX:e.deltaX,deltaY:e.deltaY,velocityX:e.velocityX,velocityY:e.velocityY,identifier:e.identifier,targetTouches:e.targetTouches,finger:e.finger},c={target:e.target,event:a,timer:new n(function(e){var t,n,o,i;t=a,n=c.touch,o=c.timeStamp,i=o-t.timeStamp,t.distX=n.pageX-t.startX,t.distY=n.pageY-t.startY,t.deltaX=n.pageX-t.pageX,t.deltaY=n.pageY-t.pageY,t.velocityX=.3*t.velocityX+.7*t.deltaX/i,t.velocityY=.3*t.velocityY+.7*t.deltaY/i,t.pageX=n.pageX,t.pageY=n.pageY,g(c.target,"move",a)}),touch:void 0,timeStamp:e.timeStamp};void 0===e.identifier?(v(e.target,"click",s),v(document,u.move,E,c),v(document,u.end,S,c)):(c.activeTouchmove=function(e,t){var n,o,i,a,c;n=e,i=(o=t).event,a=o.timer,(c=X(n,i))&&(n.preventDefault(),i.targetTouches=n.targetTouches,o.touch=c,o.timeStamp=n.timeStamp,a.kick())},c.activeTouchend=function(e,t){k(e,t)},v(document,r.move,c.activeTouchmove,c),v(document,r.end,c.activeTouchend,c))}}),window.jQuery){var j="startX startY pageX pageY distX distY deltaX deltaY velocityX velocityY".split(" ");jQuery.event.special.movestart={setup:function(){return v(this,"movestart",e),!1},teardown:function(){return f(this,"movestart",e),!1},add:q},jQuery.event.special.move={setup:function(){return v(this,"movestart",C),!1},teardown:function(){return f(this,"movestart",C),!1},add:q},jQuery.event.special.moveend={setup:function(){return v(this,"movestart",Q),!1},teardown:function(){return f(this,"movestart",Q),!1},add:q}}function e(e){e.enableMove()}function C(e){e.enableMove()}function Q(e){e.enableMove()}function q(e){var o=e.handler;e.handler=function(e){for(var t,n=j.length;n--;)e[t=j[n]]=e.originalEvent[t];o.apply(this,arguments)}}});
// source --> https://www.clickphotoschool.com/wp-content/plugins/twenty20/assets/js/jquery.twenty20.js?ver=2.0.4 
!function(g){g.fn.twentytwenty=function(m){m=g.extend({default_offset_pct:.5,orientation:"horizontal",before_label:"Before",after_label:"After",no_overlay:!1,move_slider_on_hover:!1,move_with_handle_only:!0,click_to_move:!1},m);return this.each(function(){var e=m.default_offset_pct,s=g(this),r=m.orientation,t="vertical"===r?"down":"left",n="vertical"===r?"up":"right";s.wrap("<div class='twentytwenty-wrapper twentytwenty-"+r+"'></div>"),m.no_overlay||s.append("<div class='twentytwenty-overlay'></div>");var c=s.find("img:first"),d=s.find("img:last");s.append("<div class='twentytwenty-handle'></div>");var l=s.find(".twentytwenty-handle");l.append("<span class='twentytwenty-"+t+"-arrow'></span>"),l.append("<span class='twentytwenty-"+n+"-arrow'></span>"),s.addClass("twentytwenty-container"),c.addClass("twentytwenty-before"),d.addClass("twentytwenty-after");var i=s.find(".twentytwenty-overlay");i.append("<div class='twentytwenty-before-label'></div>"),i.append("<div class='twentytwenty-after-label'></div>");var a=function(t){var e,n,i,a,o=(e=t,n=c.width(),i=c.height(),{w:n+"px",h:i+"px",cw:e*n+"px",ch:e*i+"px"});l.css("vertical"===r?"top":"left","vertical"===r?o.ch:o.cw),a=o,"vertical"===r?(c.css("clip","rect(0,"+a.w+","+a.ch+",0)"),d.css("clip","rect("+a.ch+","+a.w+","+a.h+",0)")):(c.css("clip","rect(0,"+a.cw+","+a.h+",0)"),d.css("clip","rect(0,"+a.w+","+a.h+","+a.cw+")")),s.css("height",a.h)},o=function(t,e){var n,i,a;return n="vertical"===r?(e-v)/p:(t-w)/f,i=0,a=1,Math.max(i,Math.min(a,n))};g(window).on("resize.twentytwenty",function(t){a(e)});var w=0,v=0,f=0,p=0,y=function(t){(t.distX>t.distY&&t.distX<-t.distY||t.distX<t.distY&&t.distX>-t.distY)&&"vertical"!==r?t.preventDefault():(t.distX<t.distY&&t.distX<-t.distY||t.distX>t.distY&&t.distX>-t.distY)&&"vertical"===r&&t.preventDefault(),s.addClass("active"),w=s.offset().left,v=s.offset().top,f=c.width(),p=c.height()},h=function(t){s.hasClass("active")&&(e=o(t.pageX,t.pageY),a(e))},u=function(){s.removeClass("active")},_=m.move_with_handle_only?l:s;_.on("movestart",y),_.on("move",h),_.on("moveend",u),m.move_slider_on_hover&&(s.on("mouseenter",y),s.on("mousemove",h),s.on("mouseleave",u)),l.on("touchmove",function(t){t.preventDefault()}),s.find("img").on("mousedown",function(t){t.preventDefault()}),m.click_to_move&&s.on("click",function(t){w=s.offset().left,v=s.offset().top,f=c.width(),p=c.height(),e=o(t.pageX,t.pageY),a(e)}),g(window).trigger("resize.twentytwenty")})}}(jQuery);