var astraGetParents=function(elem, selector){
if(! Element.prototype.matches){
Element.prototype.matches =
Element.prototype.matchesSelector ||
Element.prototype.mozMatchesSelector ||
Element.prototype.msMatchesSelector ||
Element.prototype.oMatchesSelector ||
Element.prototype.webkitMatchesSelector ||
function(s){
var matches=(this.document||this.ownerDocument).querySelectorAll(s),
i=matches.length;
while (--i >=0&&matches.item(i)!==this){}
return i > -1;
};}
var parents=[];
for(; elem&&elem!==document; elem=elem.parentNode){
if(selector){
if(elem.matches(selector) ){
parents.push(elem);
}}else{
parents.push(elem);
}}
return parents;
};
var getParents=function(elem, selector){
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(elem, selector);
}
var astraToggleClass=function(el, className){
if(el.classList.contains(className) ){
el.classList.remove(className);
}else{
el.classList.add(className);
}};
var toggleClass=function(el, className){
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(el, className);
};
(function (){
if(typeof window.CustomEvent==="function") return false;
function CustomEvent(event, params){
params=params||{ bubbles: false, cancelable: false, detail: undefined };
var evt=document.createEvent('CustomEvent');
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
return evt;
}
CustomEvent.prototype=window.Event.prototype;
window.CustomEvent=CustomEvent;
})();
var astraTriggerEvent=function astraTriggerEvent(el, typeArg){
var customEventInit =
arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:{};
var event=new CustomEvent(typeArg, customEventInit);
el.dispatchEvent(event);
};
astraSmoothScroll=function astraSmoothScroll(e, top){
e.preventDefault();
window.scrollTo({
top: top,
left: 0,
behavior: 'smooth'
});
};
astScrollToTopHandler=function(masthead, astScrollTop){
var content=getComputedStyle(astScrollTop).content,
device=astScrollTop.dataset.onDevices;
content=content.replace(/[^0-9]/g, '');
if('both'==device||('desktop'==device&&'769'==content)||('mobile'==device&&''==content) ){
var  scrollTop=window.pageYOffset||document.body.scrollTop;
if(masthead&&masthead.length){
if(scrollTop > masthead.offsetHeight + 100){
astScrollTop.style.display="block";
}else{
astScrollTop.style.display="none";
}}else{
if(window.pageYOffset > 300){
astScrollTop.style.display="block";
}else{
astScrollTop.style.display="none";
}}
}else{
astScrollTop.style.display="none";
}};
(function(){
var menu_toggle_all=document.querySelectorAll('#masthead .main-header-menu-toggle'),
main_header_masthead=document.getElementById('masthead'),
menu_click_listeners_nav={},
mobileHeaderType='',
body=document.body,
mobileHeader='';
if(undefined!==main_header_masthead&&null!==main_header_masthead){
mobileHeader=main_header_masthead.querySelector("#ast-mobile-header");
}
if(''!==mobileHeader&&null!==mobileHeader){
mobileHeaderType=mobileHeader.dataset.type;
}
document.addEventListener('astMobileHeaderTypeChange', updateHeaderType, false);
function updateHeaderType(e){
mobileHeaderType=e.detail.type;
var popupTrigger=document.querySelectorAll('.menu-toggle');
if('dropdown'===mobileHeaderType){
document.getElementById('ast-mobile-popup').classList.remove('active', 'show');
updateTrigger('updateHeader');
}
if('off-canvas'===mobileHeaderType){
popupTrigger.forEach(function (trigger){
if(trigger&&trigger.classList.contains('toggled')){
trigger.click();
}});
}
init(mobileHeaderType);
}
function syncToggledClass(){
const buttons=document.querySelectorAll('.menu-toggle');
const allToggled=Array.from(buttons).every(button=> button.classList.contains('toggled'));
buttons.forEach(button=> {
if(allToggled){
button.classList.remove('toggled');
}else{
button.classList.add('toggled');
}});
}
document.addEventListener('click', function (e){
const button=e.target.closest('.menu-toggle');
if(button){
button.classList.toggle('toggled');
syncToggledClass();
}});
popupTriggerClick=function(event){
var triggerType=event.currentTarget.trigger_type;
var popupWrap=document.getElementById('ast-mobile-popup');
const menuToggleClose=document.getElementById('menu-toggle-close');
if(menuToggleClose){
menuToggleClose.focus();
}
if(! body.classList.contains('ast-popup-nav-open') ){
body.classList.add('ast-popup-nav-open');
}
if(! body.classList.contains('ast-main-header-nav-open')&&'mobile'!==triggerType){
body.classList.add('ast-main-header-nav-open');
}
if(! document.documentElement.classList.contains('ast-off-canvas-active') ){
document.documentElement.classList.add('ast-off-canvas-active');
}
if('desktop'===triggerType){
popupWrap.querySelector('.ast-mobile-popup-content').style.display='none';
popupWrap.querySelector('.ast-desktop-popup-content').style.display='block';
}
if('mobile'===triggerType){
popupWrap.querySelector('.ast-desktop-popup-content').style.display='none';
popupWrap.querySelector('.ast-mobile-popup-content').style.display='block';
}
this.style.display='none';
popupWrap.classList.add('active', 'show');
}
function updateTrigger(currentElement){
mobileHeader=main_header_masthead.querySelector("#ast-mobile-header");
var parent_li_sibling='';
if(undefined!==mobileHeader&&null!==mobileHeader&&'dropdown'===mobileHeader.dataset.type&&'updateHeader'!==currentElement){
return;
}
if(undefined!==currentElement&&'updateHeader'!==currentElement){
parent_li_sibling=currentElement.closest('.ast-mobile-popup-inner').querySelectorAll('.menu-item-has-children');
}else{
var popup=document.querySelector('#ast-mobile-popup');
parent_li_sibling=popup.querySelectorAll('.menu-item-has-children');
}
parent_li_sibling.forEach((li_sibling)=> {
li_sibling.classList.remove('ast-submenu-expanded');
const all_sub_menu=Array.from(li_sibling.querySelectorAll('.sub-menu'));
all_sub_menu.forEach((sub_menu)=> {
if(!sub_menu.hasAttribute('data-initial-display')){
sub_menu.setAttribute('data-initial-display', window.getComputedStyle(sub_menu).display);
}
if(sub_menu.getAttribute('data-initial-display')==='block'){
sub_menu.style.display='block';
}else{
sub_menu.style.display='none';
}});
});
var popupTrigger=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 item=0;  item < popupTrigger.length; item++){
popupTrigger[item].classList.remove('toggled');
popupTrigger[item].style.display='flex';
}}
function init(mobileHeaderType){
var popupTriggerMobile=document.querySelectorAll('#ast-mobile-header .menu-toggle');
var popupTriggerDesktop=document.querySelectorAll('#ast-desktop-header .menu-toggle');
if(undefined===mobileHeaderType&&null!==main_header_masthead){
mobileHeader=main_header_masthead.querySelector("#ast-mobile-header");
if(mobileHeader){
mobileHeaderType=mobileHeader.dataset.type;
}else{
var desktopHeader=main_header_masthead.querySelector("#ast-desktop-header");
if(desktopHeader){
mobileHeaderType=desktopHeader.dataset.toggleType;
}else{
return;
}}
}
if('off-canvas'===mobileHeaderType){
var popupClose=document.getElementById('menu-toggle-close'),
popupInner=document.querySelector('.ast-mobile-popup-inner');
if(undefined===popupInner||null===popupInner){
return;
}
popupLinks=popupInner.getElementsByTagName('a');
for(var item=0;  item < popupTriggerMobile.length; item++){
popupTriggerMobile[item].removeEventListener("click", astraNavMenuToggle, false);
popupTriggerMobile[item].removeEventListener("click", popupTriggerClick);
popupTriggerMobile[item].addEventListener("click", popupTriggerClick, false);
popupTriggerMobile[item].trigger_type='mobile';
}
for(var item=0;  item < popupTriggerDesktop.length; item++){
popupTriggerDesktop[item].removeEventListener("click", astraNavMenuToggle, false);
popupTriggerDesktop[item].removeEventListener("click", popupTriggerClick);
popupTriggerDesktop[item].addEventListener("click", popupTriggerClick, false);
popupTriggerDesktop[item].trigger_type='desktop';
}
popupClose.addEventListener("click", function(e){
document.getElementById('ast-mobile-popup').classList.remove('active', 'show');
updateTrigger(this);
});
document.addEventListener('keyup', function (event){
if(event.keyCode===27){
event.preventDefault();
document.getElementById('ast-mobile-popup').classList.remove('active', 'show');
updateTrigger();
}});
document.addEventListener('click', function (event){
var target=event.target;
var modal=document.querySelector('.ast-mobile-popup-drawer.active .ast-mobile-popup-overlay');
if(target===modal){
document.getElementById('ast-mobile-popup').classList.remove('active', 'show');
updateTrigger();
}});
for(let link=0, len=popupLinks.length; link < len; link++){
if(null!==popupLinks[link].getAttribute("href")&&(popupLinks[link].getAttribute("href").startsWith('#')||-1!==popupLinks[link].getAttribute("href").search("#"))&&(! popupLinks[link].parentElement.classList.contains('menu-item-has-children')||(popupLinks[link].parentElement.classList.contains('menu-item-has-children')&&document.querySelector('header.site-header').classList.contains('ast-builder-menu-toggle-icon')) )){
popupLinks[link].addEventListener('click', triggerToggleClose, true);
popupLinks[link].headerType='off-canvas';
}}
AstraToggleSetup();
}else if('dropdown'===mobileHeaderType){
var mobileDropdownContent=document.querySelectorAll('.ast-mobile-header-content')||false,
desktopDropdownContent=document.querySelector('.ast-desktop-header-content')||false;
if(mobileDropdownContent.length > 0){
for(let index=0; index < mobileDropdownContent.length; index++){
var mobileLinks=mobileDropdownContent[index].getElementsByTagName('a');
for(link=0, len=mobileLinks.length; link < len; link++){
if(null!==mobileLinks[link].getAttribute("href")&&(mobileLinks[link].getAttribute("href").startsWith('#')||-1!==mobileLinks[link].getAttribute("href").search("#"))&&(!mobileLinks[link].parentElement.classList.contains('menu-item-has-children')||(mobileLinks[link].parentElement.classList.contains('menu-item-has-children')&&document.querySelector('header.site-header').classList.contains('ast-builder-menu-toggle-icon')) )){
mobileLinks[link].addEventListener('click', triggerToggleClose, true);
mobileLinks[link].headerType='dropdown';
}}
}}
if(desktopDropdownContent){
var desktopLinks=desktopDropdownContent.getElementsByTagName('a');
for(link=0, len=desktopLinks.length; link < len; link++){
desktopLinks[link].addEventListener('click', triggerToggleClose, true);
desktopLinks[link].headerType='dropdown';
}}
for(var item=0;  item < popupTriggerMobile.length; item++){
popupTriggerMobile[item].removeEventListener("click", popupTriggerClick, false);
popupTriggerMobile[item].removeEventListener('click', astraNavMenuToggle);
popupTriggerMobile[item].addEventListener('click', astraNavMenuToggle, false);
popupTriggerMobile[item].trigger_type='mobile';
}
for(var item=0;  item < popupTriggerDesktop.length; item++){
popupTriggerDesktop[item].removeEventListener("click", popupTriggerClick, false);
popupTriggerDesktop[item].removeEventListener('click', astraNavMenuToggle);
popupTriggerDesktop[item].addEventListener('click', astraNavMenuToggle, false);
popupTriggerDesktop[item].trigger_type='desktop';
}
AstraToggleSetup();
}
accountPopupTrigger();
}
function triggerToggleClose(event){
var headerType=event.currentTarget.headerType;
switch(headerType){
case 'dropdown':
var popupTrigger=document.querySelectorAll('.menu-toggle.toggled');
for(var item=0;  item < popupTrigger.length; item++){
popupTrigger[item].click();
}
break;
case 'off-canvas':
var popupClose=document.getElementById('menu-toggle-close');
popupClose.click();
break;
default:
break;
}}
window.addEventListener('load', function(){
init();
});
document.addEventListener('astLayoutWidthChanged', function(){
init();
});
document.addEventListener('astPartialContentRendered', function(){
menu_toggle_all=document.querySelectorAll('.main-header-menu-toggle');
body.classList.remove("ast-main-header-nav-open");
document.addEventListener('astMobileHeaderTypeChange', updateHeaderType, false);
init();
accountPopupTrigger();
});
var mobile_width=(null!==navigator.userAgent.match(/Android/i)&&'Android'===navigator.userAgent.match(/Android/i)[0]) ? window.visualViewport.width:window.innerWidth;
function AstraHandleResizeEvent(){
var menu_offcanvas_close=document.getElementById('menu-toggle-close');
var menu_dropdown_close=document.querySelector('.menu-toggle.toggled');
var desktop_header_content=document.querySelector('#masthead > #ast-desktop-header .ast-desktop-header-content');
var elementor_editor=document.querySelector('.elementor-editor-active');
if(desktop_header_content){
desktop_header_content.style.display='none';
}
var mobileResizeWidth=(null!==navigator.userAgent.match(/Android/i)&&'Android'===navigator.userAgent.match(/Android/i)[0]) ? window.visualViewport.width:window.innerWidth;
if(mobileResizeWidth!==mobile_width){
if(menu_dropdown_close&&null===elementor_editor){
menu_dropdown_close.click();
}
document.body.classList.remove('ast-main-header-nav-open', 'ast-popup-nav-open');
if(menu_offcanvas_close&&null==elementor_editor){
menu_offcanvas_close.click();
}}
updateHeaderBreakPoint();
AstraToggleSetup();
}
window.addEventListener('resize', function(){
if('INPUT'!==document.activeElement.tagName){
AstraHandleResizeEvent();
}});
document.addEventListener('DOMContentLoaded', function (){
AstraToggleSetup();
var containerButton;
if(body.classList.contains('ast-header-break-point')){
containerButton=document.getElementById('ast-mobile-header');
}else{
containerButton=document.getElementById('ast-desktop-header');
}
if(null!==containerButton){
var containerMenu=containerButton.querySelector('.navigation-accessibility');
navigation_accessibility(containerMenu, containerButton);
}});
var get_window_width=function (){
return document.documentElement.clientWidth;
}
var updateHeaderBreakPoint=function (){
var originalOverflow=body.style.overflow;
body.style.overflow='hidden';
var ww=get_window_width();
body.style.overflow=originalOverflow;
var break_point=astra.break_point;
if(ww > break_point||0===ww){
if(menu_toggle_all.length > 0){
for (var i=0; i < menu_toggle_all.length; i++){
if(null!==menu_toggle_all[i]){
menu_toggle_all[i].classList.remove('toggled');
}}
}
body.classList.remove("ast-header-break-point");
body.classList.add("ast-desktop");
astraTriggerEvent(body, "astra-header-responsive-enabled");
}else{
body.classList.add("ast-header-break-point");
body.classList.remove("ast-desktop");
astraTriggerEvent(body, "astra-header-responsive-disabled")
}}
var accountPopupTrigger=function (){
var header_account_trigger=document.querySelectorAll('.ast-account-action-login');
if(!header_account_trigger.length){
return;
}
const formWrapper=document.querySelector('#ast-hb-account-login-wrap');
if(!formWrapper){
return;
}
const formCloseBtn=document.querySelector('#ast-hb-login-close');
header_account_trigger.forEach(function(_trigger){
_trigger.addEventListener('click', function(e){
e.preventDefault();
formWrapper.classList.add('show');
});
});
if(formCloseBtn){
formCloseBtn.addEventListener('click', function(e){
e.preventDefault();
formWrapper.classList.remove('show');
});
}}
updateHeaderBreakPoint();
AstraToggleSubMenu=function(event){
event.preventDefault();
if('false'===event.target.getAttribute('aria-expanded')||! event.target.getAttribute('aria-expanded')){
event.target.setAttribute('aria-expanded', 'true');
}else{
event.target.setAttribute('aria-expanded', 'false');
}
var parent_li=this.parentNode;
if(parent_li.classList.contains('ast-submenu-expanded')&&document.querySelector('header.site-header').classList.contains('ast-builder-menu-toggle-link')){
if(!this.classList.contains('ast-menu-toggle')){
var link=parent_li.querySelector('a').getAttribute('href');
if(''!==link&&'#'!==link){
window.location=link;
}}
}
var parent_li_child=parent_li.querySelectorAll('.menu-item-has-children');
for (var j=0; j < parent_li_child.length; j++){
parent_li_child[j].classList.remove('ast-submenu-expanded');
var parent_li_child_sub_menu=parent_li_child[j].querySelector('.sub-menu, .children');
if(null!==parent_li_child_sub_menu){
parent_li_child_sub_menu.style.display='none';
}}
var parent_li_sibling=parent_li.parentNode.querySelectorAll('.menu-item-has-children');
for (var j=0; j < parent_li_sibling.length; j++){
if(parent_li_sibling[j]!=parent_li){
parent_li_sibling[j].classList.remove('ast-submenu-expanded');
var all_sub_menu=parent_li_sibling[j].querySelectorAll('.sub-menu');
for (var k=0; k < all_sub_menu.length; k++){
all_sub_menu[k].style.display='none';
}}
}
if(parent_li.classList.contains('menu-item-has-children')){
astraToggleClass(parent_li, 'ast-submenu-expanded');
if(parent_li.classList.contains('ast-submenu-expanded')){
parent_li.querySelector('.sub-menu').style.display='block';
}else{
parent_li.querySelector('.sub-menu').style.display='none';
}}
};
AstraToggleSetup=function (){
if(typeof astraAddon!='undefined'&&typeof astraToggleSetupPro==="function"){
astraToggleSetupPro(mobileHeaderType, body, menu_click_listeners_nav);
}else{
var flag=false;
var menuToggleAllLength;
if('off-canvas'===mobileHeaderType||'full-width'===mobileHeaderType){
var __main_header_all=document.querySelectorAll('#ast-mobile-popup, #ast-mobile-header');
var menu_toggle_all=document.querySelectorAll('#ast-mobile-header .main-header-menu-toggle');
menuToggleAllLength=menu_toggle_all.length;
}else{
var __main_header_all=document.querySelectorAll('#ast-mobile-header'),
menu_toggle_all=document.querySelectorAll('#ast-mobile-header .main-header-menu-toggle');
menuToggleAllLength=menu_toggle_all.length;
flag=menuToggleAllLength > 0 ? false:true;
menuToggleAllLength=flag ? 1:menuToggleAllLength;
}
if(menuToggleAllLength > 0||flag){
for (var i=0; i < menuToggleAllLength; i++){
if(! flag){
menu_toggle_all[i].setAttribute('data-index', i);
if(! menu_click_listeners_nav[i]){
menu_click_listeners_nav[i]=menu_toggle_all[i];
menu_toggle_all[i].removeEventListener('click', astraNavMenuToggle);
menu_toggle_all[i].addEventListener('click', astraNavMenuToggle, false);
}}
if('undefined'!==typeof __main_header_all[i]){
for(var mainHeaderCount=0; mainHeaderCount  < __main_header_all.length; mainHeaderCount++){
if(document.querySelector('header.site-header').classList.contains('ast-builder-menu-toggle-link')){
var astra_menu_toggle=__main_header_all[mainHeaderCount].querySelectorAll('ul.main-header-menu .menu-item-has-children > .menu-link, ul.main-header-menu .ast-menu-toggle');
}else{
var astra_menu_toggle=__main_header_all[mainHeaderCount].querySelectorAll('ul.main-header-menu .ast-menu-toggle');
}
if(astra_menu_toggle.length > 0){
for (var j=0; j < astra_menu_toggle.length; j++){
astra_menu_toggle[j].removeEventListener('click', AstraToggleSubMenu);
astra_menu_toggle[j].addEventListener('click', AstraToggleSubMenu, false);
}}
}}
}}
}};
astraNavMenuToggle=function(event){
if(typeof astraAddon!='undefined'){
astraNavMenuTogglePro(event, body, mobileHeaderType, this);
}else{
event.preventDefault();
var __main_header_all=document.querySelectorAll('#masthead > #ast-mobile-header .main-header-bar-navigation');
menu_toggle_all=document.querySelectorAll('#masthead > #ast-mobile-header .main-header-menu-toggle')
var event_index='0';
if(null!==this.closest('#ast-fixed-header') ){
__main_header_all=document.querySelectorAll('#ast-fixed-header > #ast-mobile-header .main-header-bar-navigation');
menu_toggle_all=document.querySelectorAll('#ast-fixed-header .main-header-menu-toggle')
event_index='0';
}
if('undefined'===typeof __main_header_all[event_index]){
return false;
}
var menuHasChildren=__main_header_all[event_index].querySelectorAll('.menu-item-has-children');
for (var i=0; i < menuHasChildren.length; i++){
menuHasChildren[i].classList.remove('ast-submenu-expanded');
var menuHasChildrenSubMenu=menuHasChildren[i].querySelectorAll('.sub-menu');
for (var j=0; j < menuHasChildrenSubMenu.length; j++){
menuHasChildrenSubMenu[j].style.display='none';
}}
var menu_class=this.getAttribute('class')||'';
if(menu_class.indexOf('main-header-menu-toggle')!==-1){
astraToggleClass(__main_header_all[event_index], 'toggle-on');
astraToggleClass(menu_toggle_all[event_index], 'toggled');
if(__main_header_all[event_index].classList.contains('toggle-on')){
__main_header_all[event_index].style.display='block';
body.classList.add("ast-main-header-nav-open");
}else{
__main_header_all[event_index].style.display='';
body.classList.remove("ast-main-header-nav-open");
}}
}};
body.addEventListener("astra-header-responsive-enabled", function (){
var __main_header_all=document.querySelectorAll('.main-header-bar-navigation');
if(__main_header_all.length > 0){
for (var i=0; i < __main_header_all.length; i++){
if(null!=__main_header_all[i]){
__main_header_all[i].classList.remove('toggle-on');
__main_header_all[i].style.display='';
}
var sub_menu=__main_header_all[i].getElementsByClassName('sub-menu');
for (var j=0; j < sub_menu.length; j++){
sub_menu[j].style.display='';
}
var child_menu=__main_header_all[i].getElementsByClassName('children');
for (var k=0; k < child_menu.length; k++){
child_menu[k].style.display='';
}
var searchIcons=__main_header_all[i].getElementsByClassName('ast-search-menu-icon');
for (var l=0; l < searchIcons.length; l++){
searchIcons[l].classList.remove('ast-dropdown-active');
searchIcons[l].style.display='';
}}
}}, false);
var get_browser=function (){
var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];
if(/trident/i.test(M[1])){
tem=/\brv[ :]+(\d+)/g.exec(ua)||[];
return;
}
if('Chrome'===M[1]){
tem=ua.match(/\bOPR|Edge\/(\d+)/)
if(tem!=null){
return;
}}
M=M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem=ua.match(/version\/(\d+)/i))!=null){
M.splice(1,1,tem[1]);
}
if('Safari'===M[0]&&M[1] < 11){
document.body.classList.add("ast-safari-browser-less-than-11");
}}
get_browser();
var SearchIcons=document.getElementsByClassName('astra-search-icon');
for (var i=0; i < SearchIcons.length; i++){
SearchIcons[i].onclick=function(event){
if(this.classList.contains('slide-search') ){
event.preventDefault();
var sibling=this.parentNode.parentNode.parentNode.querySelector('.ast-search-menu-icon');
if(! sibling.classList.contains('ast-dropdown-active') ){
sibling.classList.add('ast-dropdown-active');
sibling.querySelector('.search-field').setAttribute('autocomplete','off');
setTimeout(function(){
sibling.querySelector('.search-field').focus();
},200);
}else{
var searchTerm=sibling.querySelector('.search-field').value||'';
if(''!==searchTerm){
sibling.querySelector('.search-form').submit();
}
sibling.classList.remove('ast-dropdown-active');
}}
}}
var SearchInputs=document.querySelectorAll('.search-field');
SearchInputs.forEach(input=> {
input.addEventListener('focus', function (e){
var sibling=this.parentNode.parentNode.parentNode.querySelector('.ast-search-menu-icon');
if(sibling){
astraToggleClass(sibling, 'ast-dropdown-active');
}});
input.addEventListener('blur', function (e){
var sibling=this.parentNode.parentNode.parentNode.querySelector('.ast-search-menu-icon');
if(sibling){
sibling.classList.remove('ast-dropdown-active');
astraToggleClass(sibling, 'ast-dropdown-active');
}});
});
body.onclick=function(event){
if(typeof event.target.classList!=='undefined'){
if(! event.target.classList.contains('ast-search-menu-icon')&&astraGetParents(event.target, '.ast-search-menu-icon').length===0&&astraGetParents(event.target, '.ast-search-icon').length===0){
var dropdownSearchWrap=document.getElementsByClassName('ast-search-menu-icon');
for (var i=0; i < dropdownSearchWrap.length; i++){
dropdownSearchWrap[i].classList.remove('ast-dropdown-active');
}}
}}
function navigation_accessibility(containerMenu, containerButton){
if(!containerMenu||!containerButton){
return;
}
var button=containerButton.getElementsByTagName('button')[0]||containerButton.getElementsByTagName('a')[0];
if(!button||(button.classList.contains('astra-search-icon'))){
return;
}
var menu=containerMenu.getElementsByTagName('ul')[0];
if(!menu){
button.style.display='none';
return;
}
if(!menu.className.includes('nav-menu')){
menu.className +=' nav-menu';
}
document.addEventListener('DOMContentLoaded', function (){
if('off-canvas'===mobileHeaderType){
var popupClose=document.getElementById('menu-toggle-close');
if(popupClose){
popupClose.onclick=function (){
var toggled=containerMenu.className.includes('toggled');
containerMenu.className=toggled ? containerMenu.className.replace(' toggled', ''):containerMenu.className + ' toggled';
button.setAttribute('aria-expanded', toggled ? 'false':'true');
menu.setAttribute('aria-expanded', toggled ? 'false':'true');
};}}
});
button.onclick=function (){
var toggled=containerMenu.className.includes('toggled');
containerMenu.className=toggled ? containerMenu.className.replace(' toggled', ''):containerMenu.className + ' toggled';
button.setAttribute('aria-expanded', toggled ? 'false':'true');
menu.setAttribute('aria-expanded', toggled ? 'false':'true');
};
if(!astra.is_header_footer_builder_active){
var links=menu.getElementsByTagName('a');
var subMenus=menu.getElementsByTagName('ul');
for (var i=0, len=subMenus.length; i < len; i++){
subMenus[i].parentNode.setAttribute('aria-haspopup', 'true');
}
for (var i=0, len=links.length; i < len; i++){
links[i].addEventListener('focus', toggleFocus, true);
links[i].addEventListener('blur', toggleFocus, true);
links[i].addEventListener('click', toggleClose, true);
}}
if(astra.is_header_footer_builder_active){
tabNavigation();
}}
function tabNavigation(){
const dropdownToggleLinks=document.querySelectorAll('nav.site-navigation .menu-item-has-children > a .ast-header-navigation-arrow');
const siteNavigationSubMenu=document.querySelectorAll('nav.site-navigation .sub-menu');
const menuLi=document.querySelectorAll('nav.site-navigation .menu-item-has-children');
const megaMenuFullWidth=document.querySelectorAll('.astra-full-megamenu-wrapper');
if(dropdownToggleLinks){
dropdownToggleLinks.forEach(element=> {
element.addEventListener('keydown', function (e){
if('Enter'===e.key){
if(/Mobi|Android|iPad|iPhone/i.test(navigator.userAgent) ){
e.preventDefault();
e.stopPropagation();
}
const closestLi=e.target.closest('li');
const subMenu=closestLi.querySelector('.sub-menu');
const isMegaMenu=subMenu&&subMenu.classList.contains('astra-megamenu');
setTimeout(()=> {
if(!isMegaMenu){
subMenu.classList.toggle('toggled-on');
closestLi.classList.toggle('ast-menu-hover');
}else{
const fullMegaMenuWrapper=closestLi.querySelector('.astra-full-megamenu-wrapper');
if(subMenu) subMenu.classList.toggle('astra-megamenu-focus');
if(fullMegaMenuWrapper) fullMegaMenuWrapper.classList.toggle('astra-megamenu-wrapper-focus');
closestLi.classList.toggle('ast-menu-hover');
}
const ariaExpanded=e.target.getAttribute('aria-expanded');
e.target.setAttribute('aria-expanded', ariaExpanded==='false'||!ariaExpanded ? 'true':'false');
}, 10);
}});
});
if(siteNavigationSubMenu||menuLi){
document.addEventListener('click', function (e){
closeNavigationMenu(siteNavigationSubMenu, dropdownToggleLinks, menuLi, megaMenuFullWidth);
}, false);
document.addEventListener('keydown', function (e){
if('Escape'===e.key){
closeNavigationMenu(siteNavigationSubMenu, dropdownToggleLinks, menuLi, megaMenuFullWidth);
}}, false);
}}
const allParentMenu=document.querySelectorAll('nav.site-navigation .ast-nav-menu > .menu-item-has-children > a .ast-header-navigation-arrow');
if(allParentMenu){
allParentMenu.forEach(element=> {
element.addEventListener('keydown', function (e){
if(!e.target.closest('li').classList.contains('ast-menu-hover')&&'Enter'===e.key){
closeNavigationMenu(siteNavigationSubMenu, dropdownToggleLinks, menuLi, megaMenuFullWidth);
}}, false);
});
}}
function closeNavigationMenu(siteNavigationSubMenu, dropdownToggleLinks, menuLi, megaMenuFullWidth){
if(siteNavigationSubMenu){
siteNavigationSubMenu.forEach(element=> {
element.classList.remove('astra-megamenu-focus');
element.classList.remove('toggled-on');
});
}
if(menuLi){
menuLi.forEach(element=> {
element.classList.remove('ast-menu-hover');
});
}
if(megaMenuFullWidth){
megaMenuFullWidth.forEach(element=> {
element.classList.remove('astra-megamenu-wrapper-focus')
});
}
if(dropdownToggleLinks){
dropdownToggleLinks.forEach(element=> {
element.setAttribute('aria-expanded', 'false');
});
}}
function toggleClose(){
var self=this||'',
hash='#';
if(self&&! self.classList.contains('astra-search-icon')&&null===self.closest('.ast-builder-menu')){
var link=String(self);
if(link.indexOf(hash)!==-1){
var link_parent=self.parentNode;
if(body.classList.contains('ast-header-break-point')){
if(!(document.querySelector('header.site-header').classList.contains('ast-builder-menu-toggle-link')&&link_parent.classList.contains('menu-item-has-children')) ){
var builder_header_menu_toggle=document.querySelector('.main-header-menu-toggle');
builder_header_menu_toggle.classList.remove('toggled');
var main_header_bar_navigation=document.querySelector('.main-header-bar-navigation');
main_header_bar_navigation.classList.remove('toggle-on');
main_header_bar_navigation.style.display='none';
astraTriggerEvent(document.querySelector('body'), 'astraMenuHashLinkClicked');
}}else{
while(-1===self.className.indexOf('nav-menu') ){
if('li'===self.tagName.toLowerCase()){
if(-1!==self.className.indexOf('focus') ){
self.className=self.className.replace(' focus', '');
}}
self=self.parentElement;
}}
}}
}
function toggleFocus(){
var self=this;
while(-1===self.className.indexOf('navigation-accessibility') ){
if('li'===self.tagName.toLowerCase()){
self.classList.toggle('focus');
}
self=self.parentElement;
}}
if(! astra.is_header_footer_builder_active){
if('querySelector' in document&&'addEventListener' in window){
body.addEventListener('mousedown', function(){
body.classList.add('ast-mouse-clicked');
});
body.addEventListener('keydown', function(){
body.classList.remove('ast-mouse-clicked');
});
}}
if(astra.is_scroll_to_id){
const getOffsetTop=(element)=> {
let offsetTop=0;
while (element){
offsetTop +=element.offsetTop;
element=element.offsetParent;
}
return offsetTop;
}
const scrollToIDHandler=(e)=> {
let offset=0;
const siteHeader=document.querySelector('.site-header');
if(siteHeader){
const stickyHeaders=siteHeader.querySelectorAll('div[data-stick-support]'
);
if(stickyHeaders.length > 0){
stickyHeaders.forEach(( header)=>(offset +=header.clientHeight) );
}else if(typeof astraAddon!=='undefined'&&!(Number(astraAddon.sticky_hide_on_scroll)&&! document?.querySelector('.ast-header-sticked') )){
const fixedHeader=document.querySelector('#ast-fixed-header');
if(fixedHeader){
offset=fixedHeader?.clientHeight;
if(Number(astraAddon?.header_main_shrink) ){
const headers=fixedHeader?.querySelectorAll('.ast-above-header-wrap, .ast-below-header-wrap'
);
headers?.forEach(()=>(offset -=10) );
}}
}
const href=e.target.closest('a').hash;
if(href){
const scrollId=document.querySelector(href);
if(scrollId){
const elementOffsetTop=getOffsetTop(scrollId);
if(typeof astraAddon!=='undefined'&&Number(astraAddon.sticky_hide_on_scroll)&&window?.scrollY  < elementOffsetTop){
offset=0;
}
const scrollOffsetTop=elementOffsetTop - offset;
if(scrollOffsetTop){
astraSmoothScroll(e, scrollOffsetTop);
}}
}}
}
let hashLinks=[];
const links=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(links){
for (const link of links){
if(link.href.split("#")[0]!==location.href.split("#")[0]){
hashLinks.push({
hash: link.hash,
url: link.href.split("#")[0],
});
}else if(link.hash!==""){
link.addEventListener("click", scrollToIDHandler);
}}
}
window.addEventListener('DOMContentLoaded', (event)=> {
for (let link of hashLinks){
if(window.location.href.split('#')[0]===link.url){
const siteHeader=document.querySelector('.site-header');
let offset=0;
const headerHeight=siteHeader.querySelectorAll('div[data-stick-support]');
if(headerHeight){
headerHeight.forEach(single=> {
offset +=single.clientHeight;
});
}
const scrollId=document.querySelector(link.hash);
if(scrollId){
const scrollOffsetTop=getOffsetTop(scrollId) - offset;
if(scrollOffsetTop){
astraSmoothScroll(event, scrollOffsetTop);
}}
}}
});
}
if(astra.is_scroll_to_top){
var masthead=document.querySelector('#page header');
var astScrollTop=document.getElementById('ast-scroll-top');
astScrollToTopHandler(masthead, astScrollTop);
window.addEventListener('scroll', function (){
astScrollToTopHandler(masthead, astScrollTop);
});
astScrollTop.onclick=function(e){
astraSmoothScroll(e, 0);
};
astScrollTop.addEventListener('keydown' , function(e){
if(e.key==='Enter'){
astraSmoothScroll(e, 0);
}});
}
if(astra?.is_dark_palette){
document.documentElement.classList.add("astra-dark-mode-enable");
}else{
document.documentElement.classList.remove("astra-dark-mode-enable");
}
window.addEventListener('DOMContentLoaded', (event)=> {
const isHangOverTopNotice=document.querySelector('.ast-woocommerce-store-notice-hanged');
const adjustBodyHeight=()=> {
const storeNotice=document.querySelector('.woocommerce-store-notice[data-position="hang-over-top"]');
document.body.style.marginTop=`${storeNotice?.clientHeight||0}px`;
}
if(isHangOverTopNotice){
window.addEventListener('resize', adjustBodyHeight);
setTimeout(()=> adjustBodyHeight(), 0);
}
document
.querySelector('.woocommerce-store-notice__dismiss-link')
?.addEventListener('click', ()=> {
if(!wp?.customize){
document.body.classList.remove('ast-woocommerce-store-notice-hanged');
window.removeEventListener('resize', adjustBodyHeight);
document.body.style.marginTop=0;
}});
});
})();
document.addEventListener('DOMContentLoaded', function (){
const submenuToggles=document.querySelectorAll('.menu-link .dropdown-menu-toggle');
const menuItemsWithSubmenu=document.querySelectorAll('.menu-item-has-children > a');
menuItemsWithSubmenu.forEach(item=> {
item.addEventListener('keydown', function(event){
if(event.key==='Enter'){
const submenu=item.nextElementSibling;
if(submenu&&submenu.classList.contains('sub-menu')){
submenu.classList.toggle('ast-visible');
const ariaExpanded=item.getAttribute('aria-expanded')==='false' ? 'true':'false';
item.setAttribute('aria-expanded', ariaExpanded);
}}
});
});
submenuToggles.forEach(toggle=> {
toggle.addEventListener('focus', ()=> updateAriaExpanded(toggle));
toggle.addEventListener('blur', ()=> updateAriaExpanded(toggle));
toggle.addEventListener('keydown', event=> {
if(event.key==='Enter'){
event.preventDefault();
toggleAriaExpanded(toggle);
}});
});
document.addEventListener('keydown', event=> {
if(event.key==='Escape'){
closeAllSubmenus();
}});
function updateAriaExpanded(toggle){
const menuItemLink=toggle.closest('.menu-link');
const submenu=menuItemLink.nextElementSibling;
const isSubmenuVisible=submenu.classList.contains('toggled-on');
menuItemLink.setAttribute('aria-expanded', isSubmenuVisible ? 'true':'false');
}
function toggleAriaExpanded(toggle){
const menuItemLink=toggle.closest('.menu-link');
const currentState=menuItemLink.getAttribute('aria-expanded');
menuItemLink.setAttribute('aria-expanded', currentState==='true' ? 'false':'true');
}
function closeAllSubmenus(){
submenuToggles.forEach(toggle=> updateAriaExpanded(toggle));
}
window.addEventListener('orientationchange', ()=> {
setTimeout(()=> window.dispatchEvent(new Event('resize') ), 50);
});
});
document.addEventListener('DOMContentLoaded', ()=> {
const thumbnailWraps=document.querySelectorAll('.astra-shop-thumbnail-wrap');
thumbnailWraps.forEach(wrap=> {
const focusableElements=wrap.querySelectorAll('a, span');
focusableElements.forEach(el=> {
el.addEventListener('focus', ()=> {
wrap.querySelectorAll('.ast-on-card-button, .ast-quick-view-trigger').forEach(btn=> {
btn.style.opacity='1';
btn.style.visibility='visible';
btn.style.borderStyle='none';
});
});
el.addEventListener('blur', ()=> {
const isAnyFocused=Array.from(focusableElements).some(child=> child===document.activeElement);
if(!isAnyFocused){
wrap.querySelectorAll('.ast-on-card-button, .ast-quick-view-trigger').forEach(btn=> {
btn.style.opacity='';
btn.style.visibility='';
});
}});
});
});
});
(function (){
var cart_flyout=document.getElementById('astra-mobile-cart-drawer'),
main_header_masthead=document.getElementById('masthead'),
responsive_cart_click=astra_cart.responsive_cart_click;
if(!main_header_masthead){
return;
}
var woo_data='',
mobileHeader=main_header_masthead.querySelector("#ast-mobile-header"),
edd_data='';
if(undefined!==cart_flyout&&''!==cart_flyout&&null!==cart_flyout){
woo_data=cart_flyout.querySelector('.widget_shopping_cart.woocommerce');
edd_data=cart_flyout.querySelector('.widget_edd_cart_widget');
}
cartFlyoutOpen=function (event){
if((responsive_cart_click==='redirect'&&document.body.classList.contains('ast-header-break-point'))){
return;
}
event.preventDefault();
var current_cart=event.currentTarget.cart_type;
if('woocommerce'===current_cart&&document.body.classList.contains('woocommerce-cart')){
return;
}
cart_flyout.classList.remove('active');
cart_flyout.classList.remove('woocommerce-active');
cart_flyout.classList.remove('edd-active');
if(undefined!==cart_flyout&&''!==cart_flyout&&null!==cart_flyout){
cart_flyout.classList.add('active');
document.documentElement.classList.add('ast-mobile-cart-active');
if(undefined!==edd_data&&''!==edd_data&&null!==edd_data){
edd_data.style.display='block';
if('woocommerce'===current_cart){
edd_data.style.display='none';
cart_flyout.classList.add('woocommerce-active');
}}
if(undefined!==woo_data&&''!==woo_data&&null!==woo_data){
woo_data.style.display='block';
if('edd'===current_cart){
woo_data.style.display='none';
cart_flyout.classList.add('edd-active');
}}
}
document.dispatchEvent(new CustomEvent("astra_on_slide_In_cart_open",  { "detail": {}}));
}
cartFlyoutClose=function (event){
event.preventDefault();
if(undefined!==cart_flyout&&''!==cart_flyout&&null!==cart_flyout){
cart_flyout.classList.remove('active');
document.documentElement.classList.remove('ast-mobile-cart-active');
}}
function cartInit(){
document.addEventListener('keyup', function (event){
if(event.keyCode===27){
event.preventDefault();
cart_flyout.classList.remove('active');
document.documentElement.classList.remove('ast-mobile-cart-active');
updateTrigger();
}});
document.addEventListener('click', function (event){
var target=event.target;
var cart_modal=document.querySelector('.ast-mobile-cart-active .astra-mobile-cart-overlay');
if(target===cart_modal){
cart_flyout.classList.remove('active');
document.documentElement.classList.remove('ast-mobile-cart-active');
}});
if(undefined!==mobileHeader&&''!==mobileHeader&&null!==mobileHeader){
if('flyout'==astra_cart.desktop_layout){
var woo_carts=document.querySelectorAll('.ast-mobile-header-wrap .ast-header-woo-cart, #ast-desktop-header .ast-desktop-cart-flyout');
}else{
var woo_carts=document.querySelectorAll('.ast-mobile-header-wrap .ast-header-woo-cart');
}
var edd_cart=document.querySelector('.ast-mobile-header-wrap .ast-header-edd-cart');
var cart_close=document.querySelector('.astra-cart-drawer-close');
if(0 < woo_carts.length){
woo_carts.forEach(function callbackFn(woo_cart){
if(undefined!==woo_cart&&''!==woo_cart&&null!==woo_cart&&cart_flyout){
woo_cart.addEventListener("click", cartFlyoutOpen, false);
woo_cart.cart_type='woocommerce';
}})
}
if(undefined!==edd_cart&&''!==edd_cart&&null!==edd_cart&&cart_flyout){
edd_cart.addEventListener("click", cartFlyoutOpen, false);
edd_cart.cart_type='edd';
}
if(undefined!==cart_close&&''!==cart_close&&null!==cart_close){
cart_close.addEventListener("click", cartFlyoutClose, false);
}}
}
if(document.querySelector('.ast-slidein-cart')){
document.querySelector('.ast-slidein-cart').addEventListener('click', (e)=> {
document.querySelector('#astra-mobile-cart-drawer').classList.add('active');
document.querySelector('html').classList.add('ast-mobile-cart-active');
e.preventDefault();
});
}
var screenInnerWidth=window.innerWidth;
window.addEventListener('resize', function (){
var cart_close=document.querySelector('.astra-cart-drawer-close');
if(undefined!==cart_close&&''!==cart_close&&null!==cart_close&&'INPUT'!==document.activeElement.tagName&&cart_flyout.classList.contains('active') ){
var modifiedInnerWidth=window.innerWidth;
if(modifiedInnerWidth!==screenInnerWidth){
screenInnerWidth=modifiedInnerWidth;
cart_close.click();
}}
});
window.addEventListener('load', function (){
cartInit();
});
document.addEventListener('astLayoutWidthChanged', function (){
cartInit();
});
document.addEventListener('astPartialContentRendered', function (){
cartInit();
});
let initialWidth=window.innerWidth;
var layoutChangeDelay;
window.addEventListener('resize', function (){
let newWidth=window.innerWidth;
clearTimeout(layoutChangeDelay);
layoutChangeDelay=setTimeout(function (){
cartInit();
if(initialWidth!==newWidth){
document.dispatchEvent(new CustomEvent("astLayoutWidthChanged", {"detail": {'response': ''}}));
}
initialWidth=newWidth;
}, 50);
});
jQuery(document).ready(function ($){
$(document.body).on('added_to_cart astra_refresh_cart_fragments', function (event, fragments, cart_hash){
$.get(wc_add_to_cart_params.wc_ajax_url.toString().replace('%%endpoint%%', 'get_refreshed_fragments'), function (data){
if(data&&data.fragments){
$.each(data.fragments, function (key, value){
$(key).replaceWith(value);
});
}});
});
$(document.body).trigger('astra_refresh_cart_fragments');
});
})();
window.addEventListener("load", function(e){
astrawpWooQuantityButtons();
quantityInput();
});
const astraminiCarttargetNodes=document.querySelectorAll(".ast-site-header-cart");
astraminiCarttargetNodes.forEach(function(astraminiCarttargetNode){
if(astraminiCarttargetNode!=null){
const config={ attributes: false, childList: true, subtree: true };
const astraMinicartObserver=()=> {
astrawpWooQuantityButtons();
quantityInput();
};
const observer=new MutationObserver(astraMinicartObserver);
observer.observe(astraminiCarttargetNode, config);
}});
jQuery(function($){
$(document.body).on('wc_fragments_refreshed', function(){
astrawpWooQuantityButtons();
quantityInput();
});
});
(function(){
setTimeout(()=> {
var send=XMLHttpRequest.prototype.send
XMLHttpRequest.prototype.send=function(){
this.addEventListener('load', function(){
astrawpWooQuantityButtons();
})
return send.apply(this, arguments)
}}, 2000);
})();
function astrawpWooQuantityButtons($quantitySelector){
var $cart=document.querySelector('.woocommerce div.product form.cart');
if(! $quantitySelector){
$quantitySelector='.qty';
}
$quantityBoxesWrap=document.querySelectorAll('div.quantity:not(.elementor-widget-woocommerce-cart .quantity):not(.buttons_added), td.quantity:not(.elementor-widget-woocommerce-cart .quantity):not(.buttons_added)');
for(var i=0; i < $quantityBoxesWrap.length; i++){
var e=$quantityBoxesWrap[i];
var $quantityBoxes=e.querySelector($quantitySelector);
if($quantityBoxes&&'date'!==$quantityBoxes.getAttribute('type')&&'hidden'!==$quantityBoxes.getAttribute('type') ){
$qty_parent=$quantityBoxes.parentElement;
$qty_parent.classList.add('buttons_added');
const minusBtn=`<span class="screen-reader-text">${ astra_qty_btn.minus_qty }</span><a href="javascript:void(0)" id="minus_qty-${ i }" class="minus %s">-</a>`;
const plusBtn=`<span class="screen-reader-text">${ astra_qty_btn.plus_qty }</span><a href="javascript:void(0)" id="plus_qty-${ i }" class="plus %s">+</a>`;
if('vertical-icon'===astra_qty_btn.style_type){
$qty_parent.classList.add('ast-vertical-style-applied');
$quantityBoxes.classList.add('vertical-icons-applied');
$qty_parent.insertAdjacentHTML('beforeend',
minusBtn.replace('%s', 'ast-vertical-icon') + plusBtn.replace('%s', 'ast-vertical-icon')
);
}else{
let styleTypeClass='';
if('no-internal-border'===astra_qty_btn.style_type){
$quantityBoxes.classList.add('ast-no-internal-border');
styleTypeClass='no-internal-border';
}
$qty_parent.insertAdjacentHTML('afterbegin', minusBtn.replace('%s', styleTypeClass) );
$qty_parent.insertAdjacentHTML('beforeend', plusBtn.replace('%s', styleTypeClass) );
}
$quantityEach=document.querySelectorAll('input' + $quantitySelector + ':not(.product-quantity)');
for(var j=0; j < $quantityEach.length; j++){
var el=$quantityEach[j];
var $min=el.getAttribute('min');
if($min&&$min > 0&&parseFloat(el.value) < $min){
el.value=$min;
}}
let objbody=document.getElementsByTagName('BODY')[0];
let cart=document.getElementsByClassName('cart')[0];
if(objbody.classList.contains('single-product')&&!cart.classList.contains('grouped_form')){
let quantityInput=document.querySelector('.woocommerce input[type=number].qty');
if(quantityInput){
quantityInput.addEventListener('keyup', function (){
let qtyVal=quantityInput.value;
quantityInput.value=qtyVal;
});
}}
var plus_minus_obj=e.querySelectorAll('.plus, .minus');
for(var l=0; l < plus_minus_obj.length; l++){
var pm_el=plus_minus_obj[l];
pm_el.addEventListener("click", function(ev){
var $quantityBox;
$quantityBox=ev.target.parentElement.querySelector($quantitySelector);
var $currentQuantity=parseFloat($quantityBox.value),
$maxQuantity=parseFloat($quantityBox.getAttribute('max') ),
$minQuantity=parseFloat($quantityBox.getAttribute('min') ),
$step=parseFloat($quantityBox.getAttribute('step') ),
checkStepInteger=Number.isInteger($step),
finalValue;
if(! $currentQuantity){
$currentQuantity=0;
}
if(! $maxQuantity){
$maxQuantity='';
}
if(! $minQuantity){
$minQuantity=0;
}
if(! $step){
$step=1;
}
if(ev.target.classList.contains('plus') ){
if($maxQuantity&&($maxQuantity===$currentQuantity||$currentQuantity > Number($maxQuantity) )){
$quantityBox.value=$maxQuantity;
}else{
finalValue=$currentQuantity + parseFloat($step);
$quantityBox.value=checkStepInteger ? finalValue:(finalValue).toFixed(1);
}}else{
if($minQuantity&&($minQuantity===$currentQuantity||$currentQuantity < $minQuantity) ){
$quantityBox.value=$minQuantity;
}else if($currentQuantity > 0){
finalValue=$currentQuantity - parseFloat($step);
$quantityBox.value=checkStepInteger ? finalValue:(finalValue).toFixed(1);
}}
var changeEvent=new Event('change', { bubbles: true });
$quantityBox.dispatchEvent(changeEvent);
var update_cart_btn=document.getElementsByName("update_cart");
if(update_cart_btn.length > 0){
for(var btn=0; btn < update_cart_btn.length; btn++){
update_cart_btn[btn].disabled=false;
update_cart_btn[btn].click();
}}
const quantity=$quantityBox.value;
const itemHash=$quantityBox.getAttribute('name').replace(/cart\[([\w]+)\]\[qty\]/g, '$1');
sendAjaxQuantityRequest(ev.currentTarget, quantity, itemHash)
}, false);
}}
}}
function sendAjaxQuantityRequest(currentTarget, quantity, itemHash){
const miniCart=currentTarget.closest('.woocommerce-mini-cart');
if(miniCart&&astra&&astra.single_product_qty_ajax_nonce&&astra.ajax_url){
let qtyNonce=astra.single_product_qty_ajax_nonce;
miniCart.classList.add('ajax-mini-cart-qty-loading');
let xhrRequest=new XMLHttpRequest();
xhrRequest.open('POST', astra.ajax_url, true);
xhrRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhrRequest.send('action=astra_add_cart_single_product_quantity&hash=' + itemHash + '&quantity=' + quantity + '&qtyNonce=' + qtyNonce);
xhrRequest.onload=function (){
if(xhrRequest.readyState==XMLHttpRequest.DONE){
if(200 <=xhrRequest.status||400 <=xhrRequest.status){
var event=document.createEvent('HTMLEvents');
event.initEvent('wc_fragment_refresh', true, false);
document.body.dispatchEvent(event);
setTimeout(()=> {
miniCart.classList.remove('ajax-mini-cart-qty-loading');
}, 500);
if(typeof wc_add_to_cart_params==='undefined'){
return;
}}
}};}}
let typingTimer;
let doneTypingInterval=500;
function quantityInput(){
const quantityInputContainer=document.querySelector('.woocommerce-mini-cart');
if(quantityInputContainer){
const quantityInput=document.querySelectorAll('.input-text.qty');
quantityInput.forEach(single=> {
single.addEventListener('keyup', (e)=> {
clearTimeout(typingTimer);
if(single.value){
typingTimer=setTimeout(()=> {
const quantity=e.target.value;
const itemHash=e.target.getAttribute('name').replace(/cart\[([\w]+)\]\[qty\]/g, '$1');
if(quantity){
sendAjaxQuantityRequest(e.target, quantity,itemHash);
}}, doneTypingInterval);
}});
});
}};
(()=> {
"use strict";
var __webpack_require__={};
(()=> {
__webpack_require__.d=(exports, definition)=> {
for(var key in definition){
if(__webpack_require__.o(definition, key)&&!__webpack_require__.o(exports, key)){
Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
}
}
};
})();
(()=> {
__webpack_require__.o=(obj, prop)=> (Object.prototype.hasOwnProperty.call(obj, prop))
})();
var __webpack_exports__={};
__webpack_require__.d(__webpack_exports__, {
"default": ()=> ( domReady)
});
function domReady(callback){
if(typeof document==="undefined"){
return;
}
if(document.readyState==="complete" ||
document.readyState==="interactive"){
return void callback();
}
document.addEventListener("DOMContentLoaded", callback);
}
(window.wp=window.wp||{}).domReady=__webpack_exports__["default"];
})()
;
(()=>{var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var o in a)e.o(a,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:a[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};(()=>{"use strict";const t=window.wp.domReady;var a=e.n(t);const o=()=>window.location.href!==window.parent.location.href,n="starter-templates-iframe-preview-data",r=()=>{let e="";const t=document.querySelector(".site-logo-img img");return t&&(e=t.src),e};let s=r();const l=(e,t)=>{if(!e)return"";if(e){const a=e.match(/'([^']+)'/);return a?a[1]:"inherit"===e?t:e}return t||void 0},i=e=>{switch(e.value.param){case"siteLogo":const t=document.querySelectorAll(".site-logo-img img");""===s&&(s=r());let a=e.value.data.url||s;if(a=e.value.data.dataUri||a,0===t.length&&""!==a){const t=document.createElement("span");t.classList.add("site-logo-img");const o=document.createElement("a");o.setAttribute("class","custom-logo-link"),o.setAttribute("href","#"),o.setAttribute("aria-current","page"),t.appendChild(o);const n=document.createElement("img");n.classList.add("custom-logo"),n.setAttribute("src",a),o.appendChild(n);const r=document.getElementById("ast-desktop-header").querySelectorAll(".ast-site-identity")[0],s=r.querySelectorAll(".ast-site-title-wrap")[0];r.insertBefore(t,s);const l=e.value.data.width||"";""!==l&&(n.style.width=l+"px",n.style.maxWidth=l+"px")}else if(""!==a)for(const[o,n]of Object.entries(t)){n.removeAttribute("srcset"),n.setAttribute("src",a);const t=e.value.data.width;""!==t&&(n.style.width=t+"px",n.style.maxWidth=t+"px")}break;case"colorPalette":const o=e.value.data.colors||[],n=starter_templates_zip_preview.AstColorPaletteVarPrefix,i=starter_templates_zip_preview.AstEleColorPaletteVarPrefix;if(0===o.length){document.querySelector("body").classList.remove("starter-templates-preview-palette");const e=document.getElementsByClassName("starter-templates-preview-palette");return void(e.length>0&&e[0].remove())}document.querySelector("body").classList.add("starter-templates-preview-palette");const d=Object.entries(o).map(((e,t)=>[`--e-global-color-${i[t].replace(/-/g,"")}: ${e[1]};`,`${n}${t}: ${e[1]};`])).map((e=>e.join(""))).join("");let c=document.getElementById("starter-templates-preview-palette-css");c||(c=document.createElement("style"),c.id="starter-templates-preview-palette-css",c.setAttribute("rel","stylesheet"),document.head.appendChild(c)),c.innerHTML=`.starter-templates-preview-palette{ ${d}}`;break;case"siteTypography":if(!Object.keys(e.value.data).length){const e=document.getElementById("starter-templates-typography");return void(e&&e.remove())}(e=>{if(!e)return;if(!document.getElementById("google-fonts-domain")){const e=document.createElement("link");e.id="google-fonts-domain",e.setAttribute("rel","preconnect"),e.setAttribute("href","https://fonts.gstatic.com"),document.head.appendChild(e)}let t=document.getElementById("st-previw-google-fonts-url");t||(t=document.createElement("link"),t.id="st-previw-google-fonts-url",t.setAttribute("rel","stylesheet"),document.head.appendChild(t));const a=[];let o=e["body-font-family"]||"",n=parseInt(e["body-font-weight"])||"";n&&(n=`:wght@${n}`),o&&(o=l(o),o=o.replace(" ","+"),a.push(`family=${o}${n}`));let r=e["headings-font-family"]||"",s=parseInt(e["headings-font-weight"])||"";s&&(s=`:wght@${s}`),r&&(r=l(r,o),r=r.replace(" ","+"),a.push(`family=${r}${s}`));const i=`https://fonts.googleapis.com/css2?${a.join("&")}&display=swap`;t.setAttribute("href",i)})(e.value.data),(e=>{if(!e)return;let t=document.getElementById("starter-templates-typography");t||(t=document.createElement("style"),t.id="starter-templates-typography",t.setAttribute("rel","stylesheet"),document.head.appendChild(t));let a="";a+="body, button, input, select, textarea, .ast-button, .ast-custom-button {",a+="\tfont-family: "+e["body-font-family"]+";",a+="\tfont-weight: "+e["body-font-weight"]+";",a+="\tfont-size: "+e["font-size-body"].desktop+e["font-size-body"]["desktop-unit"]+";",a+="\tline-height: "+e["body-line-height"]+";",a+="}",a+="h1, .entry-content h1, h2, .entry-content h2, h3, .entry-content h3, h4, .entry-content h4, h5, .entry-content h5, h6, .entry-content h6, .site-title, .site-title a {",a+="\tfont-family: "+e["headings-font-family"]+";",a+="\tline-height: "+e["headings-line-height"]+";",a+="\tfont-weight: "+e["headings-font-weight"]+";",a+="}",["h1","h2","h3","h4","h5","h6"].forEach((t=>{const o="inherit"===e["font-family-"+t]?e["headings-font-family"]:e["font-family-"+t],n="inherit"===e["font-weight-"+t]?e["headings-font-weight"]:e["font-weight-"+t];let r="";void 0!==o&&""!==o&&(r+=`${t}, .entry-content ${t} {`,r+="\tfont-family: "+o+";"),void 0!==e["line-height-"+t]&&""!==e["line-height-"+t]&&(r+="\tline-height: "+e["line-height-"+t]+";"),void 0!==n&&""!==n&&(r+="\tfont-weight: "+n+";"),a+=""!==r?r+"}":""})),t.innerHTML=a})(e.value.data);break;case"siteTitle":(e=>{const t=document.getElementById("ast-desktop-header"),a=t&&t.querySelectorAll(".ast-site-identity")[0],o=a&&a.querySelectorAll(".ast-site-title-wrap")[0];o&&(o.style.display=e?"block":"none")})(e.value.data);break;case"clearPreviewAssets":const m=document.getElementById("starter-templates-typography");m&&m.remove(),document.querySelector("body").classList.remove("starter-templates-preview-palette");const p=document.getElementsByClassName("starter-templates-preview-palette");p.length>0&&p[0].remove();break;case"completeOnboarding":localStorage.removeItem("starter-templates-iframe-preview-data")}};window.addEventListener("message",(function(e){if(o()&&(console.log("addEventListener message: ",e),"object"==typeof e.data&&"starterTemplatePreviewDispatch"===e.data.call)){const t=e.data;let a=JSON.parse(localStorage.getItem(n));null===a&&(a={},a.data={}),a.data[t.value.param]=t.value.data,delete a.data.clearPreviewAssets,t.url=window.location.origin,a.url=window.location.origin,"cleanStorage"===t.value.param?(delete a.data.cleanStorage,a.data.siteLogo=t.value.data,a.data.colorPalette={},a.data.siteTypography={},Object.keys(a.data).map((e=>i({value:{param:e,data:a.data[e]}})))):i(t),localStorage.setItem(n,JSON.stringify(a))}}),!1),a()((()=>{if(!o())return;const e=document.createElement("style");e.id="starter-templates-logo-css",document.getElementsByTagName("head")[0].appendChild(e),e.innerHTML=".site-logo-img img { transition: unset; } #wpadminbar { display: none; } html{  margin-top: 0 !important; }}";const t=(a=n,JSON.parse(localStorage.getItem(a)));var a;t&&Object.keys(t.data).map((e=>i({value:{param:e,data:t.data[e]}})))}))})()})();
function theChampPopup(e){window.open(e,"_blank","height=420,width=620,left=390,top=105,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}function theChampStrReplace(e,t,n){for(var r=0;r<e.length;r++){n=n.replace(new RegExp(e[r],"g"),t[r])}return n}function theChampCallAjax(e){if(typeof jQuery!="undefined"){e()}else{theChampGetScript("https://code.jquery.com/jquery-latest.min.js",e)}}function theChampGetScript(e,t){var n=document.createElement("script");n.src=e;var r=document.getElementsByTagName("head")[0],i=false;n.onload=n.onreadystatechange=function(){if(!i&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){i=true;t();n.onload=n.onreadystatechange=null;r.removeChild(n)}};r.appendChild(n)}function theChampGetElementsByClass(e,t){if(e.getElementsByClassName){return e.getElementsByClassName(t)}else{return function(e,t){if(t==null){t=document}var n=[],r=t.getElementsByTagName("*"),i=r.length,s=new RegExp("(^|\\s)"+e+"(\\s|$)"),o,u;for(o=0,u=0;o<i;o++){if(s.test(r[o].className)){n[u]=r[o];u++}}return n}(t,e)}}if(typeof String.prototype.trim!=="function"){String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}
function theChampGetCookie(e){for(var t=e+"=",a=document.cookie.split(";"),h=0;h<a.length;h++){for(var i=a[h];" "==i.charAt(0);)i=i.substring(1,i.length);if(0==i.indexOf(t))return i.substring(t.length,i.length)}return null};
function theChampLoginPopup(e){if("undefined"!=typeof theChampSameTabLogin&&theChampSameTabLogin==1){location.href=e}else{window.open(e,"_blank","height=520,width=770,left=315,top=80,resizable,scrollbars,toolbar=0,personalbar=0,menubar=no,location=no,directories=no,status")}}function theChampLoadingIcon(){jQuery(".the_champ_login_container").html('<img id="the_champ_loading_image" src="'+theChampLoadingImgPath+'" />')}function theChampInitiateLogin(e,a){var t=jQuery(e).parents("div.the_champ_login_container").find(".heateor_ss_social_login_optin");if(0==t.length||jQuery(t).is(":checked")){"facebook"==a?theChampLoginPopup(theChampFacebookAuthUrl):"foursquare"==a?theChampLoginPopup(theChampFoursquareAuthUrl):"dropbox"==a?theChampLoginPopup(theChampDropboxAuthUrl):"amazon"==a?theChampLoginPopup(theChampAmazonAuthUrl):"disqus"==a?theChampLoginPopup(theChampDisqusAuthUrl):"stackoverflow"==a?theChampLoginPopup(theChampStackoverflowAuthUrl):"discord"==a?theChampLoginPopup(theChampDiscordAuthUrl):"reddit"==a?theChampLoginPopup(theChampRedditAuthUrl):"github"==a?theChampLoginPopup(theChampGithubAuthUrl):"twitch"==a?theChampLoginPopup(theChampTwitchAuthUrl):"spotify"==a?theChampLoginPopup(theChampSpotifyAuthUrl):"mailru"==a?theChampLoginPopup(theChampMailruAuthUrl):"dribbble"==a?theChampLoginPopup(theChampDribbbleAuthUrl):"yandex"==a?theChampLoginPopup(theChampYandexAuthUrl):"odnoklassniki"==a?theChampLoginPopup(theChampOdnoklassnikiAuthUrl):"kakao"==a?theChampLoginPopup(theChampKakaoAuthUrl):"line"==a?theChampLoginPopup(theChampLineAuthUrl):"microsoft"==a?theChampLoginPopup(theChampLiveAuthUrl):"steam"==a?theChampLoginPopup(theChampSteamAuthUrl):"x"==a?theChampLoginPopup(theChampTwitterAuthUrl):("linkedin"==a&&theChampLoginPopup(theChampLinkedinAuthUrl),"google"==a?theChampLoginPopup(theChampGoogleAuthUrl):"vkontakte"==a?theChampLoginPopup(theChampVkontakteAuthUrl):"youtube"==a?theChampLoginPopup(theChampYoutubeAuthUrl):"yahoo"==a?theChampLoginPopup(theChampYahooAuthUrl):"wordpress"==a?theChampLoginPopup(theChampWordpressAuthUrl):"instagram"==a&&theChampLoginPopup(theChampInstagramAuthUrl))}else t.length>0&&jQuery(t).parent().css("color","red")}function theChampDisplayLoginIcon(e,t){if("undefined"!=typeof jQuery)for(var a=0;a<t.length;a++)jQuery("."+t[a]).css("display","block");else for(a=0;a<t.length;a++)for(var h=theChampGetElementsByClass(e,t[a]),i=0;i<h.length;i++)h[i].style.display="block"}function theChampValidateEmail(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function the_champ_save_email(e){var t=document.getElementById("the_champ_email").value.trim(),a=document.getElementById("the_champ_confirm_email").value.trim();return"save"!=e.id||theChampValidateEmail(t)?t!=a?(document.getElementById("the_champ_error").innerHTML="Email addresses do not match",void jQuery("#TB_ajaxContent").css("height","auto")):void theChampCallAjax(function(){theChampSaveEmail(e.id,t)}):(document.getElementById("the_champ_error").innerHTML=theChampEmailPopupErrorMsg,void jQuery("#TB_ajaxContent").css("height","auto"))}function theChampSaveEmail(e,t){document.getElementById("the_champ_error").innerHTML='<img src="'+theChampLoadingImgPath+'" />',jQuery.ajax({type:"POST",dataType:"json",url:theChampAjaxUrl,data:{action:"the_champ_save_email",elemId:e,email:t,id:theChampEmailPopupUniqueId},success:function(e){window.history.pushState({html:"html",pageTitle:"page title"},"","?done=1"),1==e.status&&e.message.response&&"success"==e.message.response?location.href=e.message.url:1==e.status&&"success"==e.message?location.href=theChampRegRedirectionUrl:0==e.status&&"inactive"==e.message&&""!=e.url?location.href=e.url:1==e.status&&"cancelled"==e.message?tb_remove():1==e.status&&"verify"==e.message?document.getElementById("TB_ajaxContent").innerHTML="<strong>"+theChampEmailPopupVerifyMessage+"</strong>":0==e.status&&(document.getElementById("the_champ_error").innerHTML=e.message,jQuery("#TB_ajaxContent").css("height","auto"))},error:function(e,t,a){location.href=decodeURIComponent(theChampRedirectionUrl)}})}function theChampCapitaliseFirstLetter2(e){return e.charAt(0).toUpperCase()+e.slice(1)}if(void 0===theChampLinkingRedirection)var theChampLinkingRedirection="";theChampVerified&&theChampLoadEvent(function(){tb_show(theChampPopupTitle,theChampAjaxUrl)}),theChampEmailPopup&&theChampLoadEvent(function(){tb_show(theChampEmailPopupTitle,theChampEmailAjaxUrl)});var theChampCommentFormLogin=!1;
if(typeof tb_pathToImage!='string'){
var tb_pathToImage=thickboxL10n.loadingAnimation;
}
jQuery(document).ready(function(){
tb_init('a.thickbox, area.thickbox, input.thickbox');
imgLoader=new Image();
imgLoader.src=tb_pathToImage;
});
function tb_init(domChunk){
jQuery('body')
.on('click', domChunk, tb_click)
.on('thickbox:iframe:loaded', function(){
jQuery('#TB_window').removeClass('thickbox-loading');
});
}
function tb_click(){
var t=this.title||this.name||null;
var a=this.href||this.alt;
var g=this.rel||false;
tb_show(t,a,g);
this.blur();
return false;
}
function tb_show(caption, url, imageGroup){
var $closeBtn;
try {
if(typeof document.body.style.maxHeight==="undefined"){
jQuery("body","html").css({height: "100%", width: "100%"});
jQuery("html").css("overflow","hidden");
if(document.getElementById("TB_HideSelect")===null){
jQuery("body").append("<iframe id='TB_HideSelect'>"+thickboxL10n.noiframes+"</iframe><div id='TB_overlay'></div><div id='TB_window' class='thickbox-loading'></div>");
jQuery("#TB_overlay").on('click', tb_remove);
}}else{
if(document.getElementById("TB_overlay")===null){
jQuery("body").append("<div id='TB_overlay'></div><div id='TB_window' class='thickbox-loading'></div>");
jQuery("#TB_overlay").on('click', tb_remove);
jQuery('body').addClass('modal-open');
}}
if(tb_detectMacXFF()){
jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");
}else{
jQuery("#TB_overlay").addClass("TB_overlayBG");
}
if(caption===null){caption="";}
jQuery("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' width='208' /></div>");
jQuery('#TB_load').show();
var baseURL;
if(url.indexOf("?")!==-1){
baseURL=url.substr(0, url.indexOf("?"));
}else{
baseURL=url;
}
var urlString=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$|\.webp$|\.avif$/;
var urlType=baseURL.toLowerCase().match(urlString);
if(urlType=='.jpg' ||
urlType=='.jpeg' ||
urlType=='.png' ||
urlType=='.gif' ||
urlType=='.bmp' ||
urlType=='.webp' ||
urlType=='.avif'
){
TB_PrevCaption="";
TB_PrevURL="";
TB_PrevHTML="";
TB_NextCaption="";
TB_NextURL="";
TB_NextHTML="";
TB_imageCount="";
TB_FoundURL=false;
if(imageGroup){
TB_TempArray=jQuery("a[rel="+imageGroup+"]").get();
for (TB_Counter=0; ((TB_Counter < TB_TempArray.length)&&(TB_NextHTML==="")); TB_Counter++){
var urlTypeTemp=TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
if(!(TB_TempArray[TB_Counter].href==url)){
if(TB_FoundURL){
TB_NextCaption=TB_TempArray[TB_Counter].title;
TB_NextURL=TB_TempArray[TB_Counter].href;
TB_NextHTML="<span id='TB_next'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.next+"</a></span>";
}else{
TB_PrevCaption=TB_TempArray[TB_Counter].title;
TB_PrevURL=TB_TempArray[TB_Counter].href;
TB_PrevHTML="<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.prev+"</a></span>";
}}else{
TB_FoundURL=true;
TB_imageCount=thickboxL10n.image + ' ' + (TB_Counter + 1) + ' ' + thickboxL10n.of + ' ' + (TB_TempArray.length);
}}
}
imgPreloader=new Image();
imgPreloader.onload=function(){
imgPreloader.onload=null;
var pagesize=tb_getPageSize();
var x=pagesize[0] - 150;
var y=pagesize[1] - 150;
var imageWidth=imgPreloader.width;
var imageHeight=imgPreloader.height;
if(imageWidth > x){
imageHeight=imageHeight * (x / imageWidth);
imageWidth=x;
if(imageHeight > y){
imageWidth=imageWidth * (y / imageHeight);
imageHeight=y;
}}else if(imageHeight > y){
imageWidth=imageWidth * (y / imageHeight);
imageHeight=y;
if(imageWidth > x){
imageHeight=imageHeight * (x / imageWidth);
imageWidth=x;
}}
TB_WIDTH=imageWidth + 30;
TB_HEIGHT=imageHeight + 60;
jQuery("#TB_window").append("<a href='' id='TB_ImageOff'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><button type='button' id='TB_closeWindowButton'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><span class='tb-close-icon' aria-hidden='true'></span></button></div>");
jQuery("#TB_closeWindowButton").on('click', tb_remove);
if(!(TB_PrevHTML==="")){
function goPrev(){
if(jQuery(document).off("click",goPrev)){jQuery(document).off("click",goPrev);}
jQuery("#TB_window").remove();
jQuery("body").append("<div id='TB_window'></div>");
tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
return false;
}
jQuery("#TB_prev").on('click', goPrev);
}
if(!(TB_NextHTML==="")){
function goNext(){
jQuery("#TB_window").remove();
jQuery("body").append("<div id='TB_window'></div>");
tb_show(TB_NextCaption, TB_NextURL, imageGroup);
return false;
}
jQuery("#TB_next").on('click', goNext);
}
jQuery(document).on('keydown.thickbox', function(e){
if(e.which==27){
tb_remove();
}else if(e.which==190){
if(!(TB_NextHTML=="")){
jQuery(document).off('thickbox');
goNext();
}}else if(e.which==188){
if(!(TB_PrevHTML=="")){
jQuery(document).off('thickbox');
goPrev();
}}
return false;
});
tb_position();
jQuery("#TB_load").remove();
jQuery("#TB_ImageOff").on('click', tb_remove);
jQuery("#TB_window").css({'visibility':'visible'});
};
imgPreloader.src=url;
}else{
var queryString=url.replace(/^[^\?]+\??/,'');
var params=tb_parseQuery(queryString);
TB_WIDTH=(params['width']*1) + 30||630;
TB_HEIGHT=(params['height']*1) + 40||440;
ajaxContentW=TB_WIDTH - 30;
ajaxContentH=TB_HEIGHT - 45;
if(url.indexOf('TB_iframe')!=-1){
urlNoQuery=url.split('TB_');
jQuery("#TB_iframeContent").remove();
if(params['modal']!="true"){
jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><button type='button' id='TB_closeWindowButton'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><span class='tb-close-icon' aria-hidden='true'></span></button></div></div><iframe frameborder='0' hspace='0' allowtransparency='true' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' >"+thickboxL10n.noiframes+"</iframe>");
}else{
jQuery("#TB_overlay").off();
jQuery("#TB_window").append("<iframe frameborder='0' hspace='0' allowtransparency='true' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'>"+thickboxL10n.noiframes+"</iframe>");
}}else{
if(jQuery("#TB_window").css("visibility")!="visible"){
if(params['modal']!="true"){
jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><button type='button' id='TB_closeWindowButton'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><span class='tb-close-icon' aria-hidden='true'></span></button></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
}else{
jQuery("#TB_overlay").off();
jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
}}else{
jQuery("#TB_ajaxContent")[0].style.width=ajaxContentW +"px";
jQuery("#TB_ajaxContent")[0].style.height=ajaxContentH +"px";
jQuery("#TB_ajaxContent")[0].scrollTop=0;
jQuery("#TB_ajaxWindowTitle").html(caption);
}}
jQuery("#TB_closeWindowButton").on('click', tb_remove);
if(url.indexOf('TB_inline')!=-1){
jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children());
jQuery("#TB_window").on('tb_unload', function (){
jQuery('#' + params['inlineId']).append(jQuery("#TB_ajaxContent").children());
});
tb_position();
jQuery("#TB_load").remove();
jQuery("#TB_window").css({'visibility':'visible'});
}else if(url.indexOf('TB_iframe')!=-1){
tb_position();
jQuery("#TB_load").remove();
jQuery("#TB_window").css({'visibility':'visible'});
}else{
var load_url=url;
load_url +=-1===url.indexOf('?') ? '?':'&';
jQuery("#TB_ajaxContent").load(load_url +="random=" + (new Date().getTime()),function(){
tb_position();
jQuery("#TB_load").remove();
tb_init("#TB_ajaxContent a.thickbox");
jQuery("#TB_window").css({'visibility':'visible'});
});
}}
if(!params['modal']){
jQuery(document).on('keydown.thickbox', function(e){
if(e.which==27){
tb_remove();
return false;
}});
}
$closeBtn=jQuery('#TB_closeWindowButton');
if($closeBtn.find('.tb-close-icon').is(':visible') ){
$closeBtn.trigger('focus');
}} catch(e){
}}
function tb_showIframe(){
jQuery("#TB_load").remove();
jQuery("#TB_window").css({'visibility':'visible'}).trigger('thickbox:iframe:loaded');
}
function tb_remove(){
jQuery("#TB_imageOff").off("click");
jQuery("#TB_closeWindowButton").off("click");
jQuery('#TB_window').fadeOut('fast', function(){
jQuery('#TB_window, #TB_overlay, #TB_HideSelect').trigger('tb_unload').off().remove();
jQuery('body').trigger('thickbox:removed');
});
jQuery('body').removeClass('modal-open');
jQuery("#TB_load").remove();
if(typeof document.body.style.maxHeight=="undefined"){
jQuery("body","html").css({height: "auto", width: "auto"});
jQuery("html").css("overflow","");
}
jQuery(document).off('.thickbox');
return false;
}
function tb_position(){
var isIE6=typeof document.body.style.maxHeight==="undefined";
jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
if(! isIE6){
jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
}}
function tb_parseQuery(query){
var Params={};
if(! query){return Params;}
var Pairs=query.split(/[;&]/);
for(var i=0; i < Pairs.length; i++){
var KeyVal=Pairs[i].split('=');
if(! KeyVal||KeyVal.length!=2){continue;}
var key=unescape(KeyVal[0]);
var val=unescape(KeyVal[1]);
val=val.replace(/\+/g, ' ');
Params[key]=val;
}
return Params;
}
function tb_getPageSize(){
var de=document.documentElement;
var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;
var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;
arrayPageSize=[w,h];
return arrayPageSize;
}
function tb_detectMacXFF(){
var userAgent=navigator.userAgent.toLowerCase();
if(userAgent.indexOf('mac')!=-1&&userAgent.indexOf('firefox')!=-1){
return true;
}};
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.sbjs=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
"use strict";
var init=_dereq_('./init');
var sbjs={
init: function(prefs){
this.get=init(prefs);
if(prefs&&prefs.callback&&typeof prefs.callback==='function'){
prefs.callback(this.get);
}}
};
module.exports=sbjs;
},{"./init":6}],2:[function(_dereq_,module,exports){
"use strict";
var terms=_dereq_('./terms'),
utils=_dereq_('./helpers/utils');
var data={
containers: {
current:          'sbjs_current',
current_extra:    'sbjs_current_add',
first:            'sbjs_first',
first_extra:      'sbjs_first_add',
session:          'sbjs_session',
udata:            'sbjs_udata',
promocode:        'sbjs_promo'
},
service: {
migrations:       'sbjs_migrations'
},
delimiter:          '|||',
aliases: {
main: {
type:           'typ',
source:         'src',
medium:         'mdm',
campaign:       'cmp',
content:        'cnt',
term:           'trm',
id:             'id',
platform:       'plt',
format:         'fmt',
tactic:         'tct'
},
extra: {
fire_date:      'fd',
entrance_point: 'ep',
referer:        'rf'
},
session: {
pages_seen:     'pgs',
current_page:   'cpg'
},
udata: {
visits:         'vst',
ip:             'uip',
agent:          'uag'
},
promo:            'code'
},
pack: {
main: function(sbjs){
return (
data.aliases.main.type      + '=' + sbjs.type     + data.delimiter +
data.aliases.main.source    + '=' + sbjs.source   + data.delimiter +
data.aliases.main.medium    + '=' + sbjs.medium   + data.delimiter +
data.aliases.main.campaign  + '=' + sbjs.campaign + data.delimiter +
data.aliases.main.content   + '=' + sbjs.content  + data.delimiter +
data.aliases.main.term      + '=' + sbjs.term     + data.delimiter +
data.aliases.main.id        + '=' + sbjs.id       + data.delimiter +
data.aliases.main.platform  + '=' + sbjs.platform + data.delimiter +
data.aliases.main.format    + '=' + sbjs.format   + data.delimiter +
data.aliases.main.tactic    + '=' + sbjs.tactic
);
},
extra: function(timezone_offset){
return (
data.aliases.extra.fire_date      + '=' + utils.setDate(new Date, timezone_offset) + data.delimiter +
data.aliases.extra.entrance_point + '=' + document.location.href                   + data.delimiter +
data.aliases.extra.referer        + '=' + (document.referrer||terms.none)
);
},
user: function(visits, user_ip){
return (
data.aliases.udata.visits + '=' + visits  + data.delimiter +
data.aliases.udata.ip     + '=' + user_ip + data.delimiter +
data.aliases.udata.agent  + '=' + navigator.userAgent
);
},
session: function(pages){
return (
data.aliases.session.pages_seen   + '=' + pages + data.delimiter +
data.aliases.session.current_page + '=' + document.location.href
);
},
promo: function(promo){
return (
data.aliases.promo + '=' + utils.setLeadingZeroToInt(utils.randomInt(promo.min, promo.max), promo.max.toString().length)
);
}}
};
module.exports=data;
},{"./helpers/utils":5,"./terms":9}],3:[function(_dereq_,module,exports){
"use strict";
var delimiter=_dereq_('../data').delimiter;
module.exports={
useBase64: false,
setBase64Flag: function(value){
this.useBase64=value;
},
encodeData: function(s){
return encodeURIComponent(s).replace(/\!/g, '%21')
.replace(/\~/g, '%7E')
.replace(/\*/g, '%2A')
.replace(/\'/g, '%27')
.replace(/\(/g, '%28')
.replace(/\)/g, '%29');
},
decodeData: function(s){
try {
return decodeURIComponent(s).replace(/\%21/g, '!')
.replace(/\%7E/g, '~')
.replace(/\%2A/g, '*')
.replace(/\%27/g, "'")
.replace(/\%28/g, '(')
.replace(/\%29/g, ')');
} catch(err1){
try { return unescape(s); } catch(err2){ return ''; }}
},
set: function(name, value, minutes, domain, excl_subdomains){
var expires, basehost;
if(minutes){
var date=new Date();
date.setTime(date.getTime() + (minutes * 60 * 1000));
expires='; expires=' + date.toGMTString();
}else{
expires='';
}
if(domain&&!excl_subdomains){
basehost=';domain=.' + domain;
}else{
basehost='';
}
var cookie_content=this.encodeData(value);
if(this.useBase64){
cookie_content=btoa(cookie_content).replace(/=+$/, '');
}
document.cookie=this.encodeData(name) + '=' + cookie_content + expires + basehost + '; path=/';
},
get: function(name){
var nameEQ=this.encodeData(name) + '=',
ca=document.cookie.split(';');
for (var i=0; i < ca.length; i++){
var c=ca[i];
while (c.charAt(0)===' '){ c=c.substring(1, c.length); }
if(c.indexOf(nameEQ)===0){
var cookie_content=c.substring(nameEQ.length, c.length);
if(/^[A-Za-z0-9+/]+$/.test(cookie_content)){
try {
cookie_content=atob(cookie_content.padEnd(Math.ceil(cookie_content.length / 4) * 4, "="));
} catch (error){
}}
return this.decodeData(cookie_content);
}}
return null;
},
destroy: function(name, domain, excl_subdomains){
this.set(name, '', -1, domain, excl_subdomains);
},
parse: function(yummy){
var cookies=[],
data={};
if(typeof yummy==='string'){
cookies.push(yummy);
}else{
for (var prop in yummy){
if(yummy.hasOwnProperty(prop)){
cookies.push(yummy[prop]);
}}
}
for (var i1=0; i1 < cookies.length; i1++){
var cookie_array;
data[this.unsbjs(cookies[i1])]={};
if(this.get(cookies[i1])){
cookie_array=this.get(cookies[i1]).split(delimiter);
}else{
cookie_array=[];
}
for (var i2=0; i2 < cookie_array.length; i2++){
var tmp_array=cookie_array[i2].split('='),
result_array=tmp_array.splice(0, 1);
result_array.push(tmp_array.join('='));
data[this.unsbjs(cookies[i1])][result_array[0]]=this.decodeData(result_array[1]);
}}
return data;
},
unsbjs: function (string){
return string.replace('sbjs_', '');
}};},{"../data":2}],4:[function(_dereq_,module,exports){
"use strict";
module.exports={
parse: function(str){
var o=this.parseOptions,
m=o.parser[o.strictMode ? 'strict':'loose'].exec(str),
uri={},
i=14;
while (i--){ uri[o.key[i]]=m[i]||''; }
uri[o.q.name]={};
uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2){
if($1){ uri[o.q.name][$1]=$2; }});
return uri;
},
parseOptions: {
strictMode: false,
key: ['source','protocol','authority','userInfo','user','password','host','port','relative','path','directory','file','query','anchor'],
q: {
name:   'queryKey',
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
},
parser: {
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
}},
getParam: function(custom_params){
var query_string={},
query=custom_params ? custom_params:window.location.search.substring(1),
vars=query.split('&');
for (var i=0; i < vars.length; i++){
var pair=vars[i].split('=');
if(typeof query_string[pair[0]]==='undefined'){
query_string[pair[0]]=pair[1];
}else if(typeof query_string[pair[0]]==='string'){
var arr=[ query_string[pair[0]], pair[1] ];
query_string[pair[0]]=arr;
}else{
query_string[pair[0]].push(pair[1]);
}}
return query_string;
},
getHost: function(request){
return this.parse(request).host.replace('www.', '');
}};},{}],5:[function(_dereq_,module,exports){
"use strict";
module.exports={
escapeRegexp: function(string){
return string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
},
setDate: function(date, offset){
var utc_offset=date.getTimezoneOffset() / 60,
now_hours=date.getHours(),
custom_offset=offset||offset===0 ? offset:-utc_offset;
date.setHours(now_hours + utc_offset + custom_offset);
var year=date.getFullYear(),
month=this.setLeadingZeroToInt(date.getMonth() + 1,   2),
day=this.setLeadingZeroToInt(date.getDate(),        2),
hour=this.setLeadingZeroToInt(date.getHours(),       2),
minute=this.setLeadingZeroToInt(date.getMinutes(),     2),
second=this.setLeadingZeroToInt(date.getSeconds(),     2);
return (year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second);
},
setLeadingZeroToInt: function(num, size){
var s=num + '';
while (s.length < size){ s='0' + s; }
return s;
},
randomInt: function(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}};},{}],6:[function(_dereq_,module,exports){
"use strict";
var data=_dereq_('./data'),
terms=_dereq_('./terms'),
cookies=_dereq_('./helpers/cookies'),
uri=_dereq_('./helpers/uri'),
utils=_dereq_('./helpers/utils'),
params=_dereq_('./params'),
migrations=_dereq_('./migrations');
module.exports=function(prefs){
var p=params.fetch(prefs);
var get_param=uri.getParam();
var domain=p.domain.host,
isolate=p.domain.isolate,
lifetime=p.lifetime;
cookies.setBase64Flag(p.base64);
migrations.go(lifetime, domain, isolate);
var __sbjs_type,
__sbjs_source,
__sbjs_medium,
__sbjs_campaign,
__sbjs_content,
__sbjs_term,
__sbjs_id,
__sbjs_platform,
__sbjs_format,
__sbjs_tactic;
function mainData(){
var sbjs_data;
if(typeof get_param.utm_source!=='undefined' ||
typeof get_param.utm_medium!=='undefined' ||
typeof get_param.utm_campaign!=='undefined' ||
typeof get_param.utm_content!=='undefined' ||
typeof get_param.utm_term!=='undefined' ||
typeof get_param.utm_id!=='undefined' ||
typeof get_param.utm_source_platform!=='undefined' ||
typeof get_param.utm_creative_format!=='undefined' ||
typeof get_param.utm_marketing_tactic!=='undefined' ||
typeof get_param.gclid!=='undefined' ||
typeof get_param.yclid!=='undefined' ||
typeof get_param[p.campaign_param]!=='undefined' ||
typeof get_param[p.term_param]!=='undefined' ||
typeof get_param[p.content_param]!=='undefined'
){
setFirstAndCurrentExtraData();
sbjs_data=getData(terms.traffic.utm);
}else if(checkReferer(terms.traffic.organic)){
setFirstAndCurrentExtraData();
sbjs_data=getData(terms.traffic.organic);
}else if(!cookies.get(data.containers.session)&&checkReferer(terms.traffic.referral)){
setFirstAndCurrentExtraData();
sbjs_data=getData(terms.traffic.referral);
}else if(!cookies.get(data.containers.first)&&!cookies.get(data.containers.current)){
setFirstAndCurrentExtraData();
sbjs_data=getData(terms.traffic.typein);
}else{
return cookies.get(data.containers.current);
}
return sbjs_data;
}
function getData(type){
switch (type){
case terms.traffic.utm:
__sbjs_type=terms.traffic.utm;
if(typeof get_param.utm_source!=='undefined'){
__sbjs_source=get_param.utm_source;
}else if(typeof get_param.gclid!=='undefined'){
__sbjs_source='google';
}else if(typeof get_param.yclid!=='undefined'){
__sbjs_source='yandex';
}else{
__sbjs_source=terms.none;
}
if(typeof get_param.utm_medium!=='undefined'){
__sbjs_medium=get_param.utm_medium;
}else if(typeof get_param.gclid!=='undefined'){
__sbjs_medium='cpc';
}else if(typeof get_param.yclid!=='undefined'){
__sbjs_medium='cpc';
}else{
__sbjs_medium=terms.none;
}
if(typeof get_param.utm_campaign!=='undefined'){
__sbjs_campaign=get_param.utm_campaign;
}else if(typeof get_param[p.campaign_param]!=='undefined'){
__sbjs_campaign=get_param[p.campaign_param];
}else if(typeof get_param.gclid!=='undefined'){
__sbjs_campaign='google_cpc';
}else if(typeof get_param.yclid!=='undefined'){
__sbjs_campaign='yandex_cpc';
}else{
__sbjs_campaign=terms.none;
}
if(typeof get_param.utm_content!=='undefined'){
__sbjs_content=get_param.utm_content;
}else if(typeof get_param[p.content_param]!=='undefined'){
__sbjs_content=get_param[p.content_param];
}else{
__sbjs_content=terms.none;
}
__sbjs_id=get_param.utm_id||terms.none;
__sbjs_platform=get_param.utm_source_platform||terms.none;
__sbjs_format=get_param.utm_creative_format||terms.none;
__sbjs_tactic=get_param.utm_marketing_tactic||terms.none;
if(typeof get_param.utm_term!=='undefined'){
__sbjs_term=get_param.utm_term;
}else if(typeof get_param[p.term_param]!=='undefined'){
__sbjs_term=get_param[p.term_param];
}else{
__sbjs_term=getUtmTerm()||terms.none;
}
break;
case terms.traffic.organic:
__sbjs_type=terms.traffic.organic;
__sbjs_source=__sbjs_source||uri.getHost(document.referrer);
__sbjs_medium=terms.referer.organic;
__sbjs_campaign=terms.none;
__sbjs_content=terms.none;
__sbjs_term=terms.none;
__sbjs_id=terms.none;
__sbjs_platform=terms.none;
__sbjs_format=terms.none;
__sbjs_tactic=terms.none;
break;
case terms.traffic.referral:
__sbjs_type=terms.traffic.referral;
__sbjs_source=__sbjs_source||uri.getHost(document.referrer);
__sbjs_medium=__sbjs_medium||terms.referer.referral;
__sbjs_campaign=terms.none;
__sbjs_content=uri.parse(document.referrer).path;
__sbjs_term=terms.none;
__sbjs_id=terms.none;
__sbjs_platform=terms.none;
__sbjs_format=terms.none;
__sbjs_tactic=terms.none;
break;
case terms.traffic.typein:
__sbjs_type=terms.traffic.typein;
__sbjs_source=p.typein_attributes.source;
__sbjs_medium=p.typein_attributes.medium;
__sbjs_campaign=terms.none;
__sbjs_content=terms.none;
__sbjs_term=terms.none;
__sbjs_id=terms.none;
__sbjs_platform=terms.none;
__sbjs_format=terms.none;
__sbjs_tactic=terms.none;
break;
default:
__sbjs_type=terms.oops;
__sbjs_source=terms.oops;
__sbjs_medium=terms.oops;
__sbjs_campaign=terms.oops;
__sbjs_content=terms.oops;
__sbjs_term=terms.oops;
__sbjs_id=terms.oops;
__sbjs_platform=terms.oops;
__sbjs_format=terms.oops;
__sbjs_tactic=terms.oops;
}
var sbjs_data={
type:             __sbjs_type,
source:           __sbjs_source,
medium:           __sbjs_medium,
campaign:         __sbjs_campaign,
content:          __sbjs_content,
term:             __sbjs_term,
id:               __sbjs_id,
platform:         __sbjs_platform,
format:           __sbjs_format,
tactic:           __sbjs_tactic
};
return data.pack.main(sbjs_data);
}
function getUtmTerm(){
var referer=document.referrer;
if(get_param.utm_term){
return get_param.utm_term;
}else if(referer&&uri.parse(referer).host&&uri.parse(referer).host.match(/^(?:.*\.)?yandex\..{2,9}$/i)){
try {
return uri.getParam(uri.parse(document.referrer).query).text;
} catch (err){
return false;
}}else{
return false;
}}
function checkReferer(type){
var referer=document.referrer;
switch(type){
case terms.traffic.organic:
return (!!referer&&checkRefererHost(referer)&&isOrganic(referer));
case terms.traffic.referral:
return (!!referer&&checkRefererHost(referer)&&isReferral(referer));
default:
return false;
}}
function checkRefererHost(referer){
if(p.domain){
if(!isolate){
var host_regex=new RegExp('^(?:.*\\.)?' + utils.escapeRegexp(domain) + '$', 'i');
return !(uri.getHost(referer).match(host_regex));
}else{
return (uri.getHost(referer)!==uri.getHost(domain));
}}else{
return (uri.getHost(referer)!==uri.getHost(document.location.href));
}}
function isOrganic(referer){
var y_host='yandex',
y_param='text',
g_host='google';
var y_host_regex=new RegExp('^(?:.*\\.)?'  + utils.escapeRegexp(y_host)  + '\\..{2,9}$'),
y_param_regex=new RegExp('.*'           + utils.escapeRegexp(y_param) + '=.*'),
g_host_regex=new RegExp('^(?:www\\.)?' + utils.escapeRegexp(g_host)  + '\\..{2,9}$');
if(!!uri.parse(referer).query &&
!!uri.parse(referer).host.match(y_host_regex) &&
!!uri.parse(referer).query.match(y_param_regex)
){
__sbjs_source=y_host;
return true;
}else if(!!uri.parse(referer).host.match(g_host_regex)){
__sbjs_source=g_host;
return true;
}else if(!!uri.parse(referer).query){
for (var i=0; i < p.organics.length; i++){
if(uri.parse(referer).host.match(new RegExp('^(?:.*\\.)?' + utils.escapeRegexp(p.organics[i].host)  + '$', 'i')) &&
uri.parse(referer).query.match(new RegExp('.*'         + utils.escapeRegexp(p.organics[i].param) + '=.*', 'i'))
){
__sbjs_source=p.organics[i].display||p.organics[i].host;
return true;
}
if(i + 1===p.organics.length){
return false;
}}
}else{
return false;
}}
function isReferral(referer){
if(p.referrals.length > 0){
for (var i=0; i < p.referrals.length; i++){
if(uri.parse(referer).host.match(new RegExp('^(?:.*\\.)?' + utils.escapeRegexp(p.referrals[i].host) + '$', 'i'))){
__sbjs_source=p.referrals[i].display||p.referrals[i].host;
__sbjs_medium=p.referrals[i].medium||terms.referer.referral;
return true;
}
if(i + 1===p.referrals.length){
__sbjs_source=uri.getHost(referer);
return true;
}}
}else{
__sbjs_source=uri.getHost(referer);
return true;
}}
function setFirstAndCurrentExtraData(){
cookies.set(data.containers.current_extra, data.pack.extra(p.timezone_offset), lifetime, domain, isolate);
if(!cookies.get(data.containers.first_extra)){
cookies.set(data.containers.first_extra, data.pack.extra(p.timezone_offset), lifetime, domain, isolate);
}}
(function setData(){
cookies.set(data.containers.current, mainData(), lifetime, domain, isolate);
if(!cookies.get(data.containers.first)){
cookies.set(data.containers.first, cookies.get(data.containers.current), lifetime, domain, isolate);
}
var visits, udata;
if(!cookies.get(data.containers.udata)){
visits=1;
udata=data.pack.user(visits, p.user_ip);
}else{
visits=parseInt(cookies.parse(data.containers.udata)[cookies.unsbjs(data.containers.udata)][data.aliases.udata.visits])||1;
visits=cookies.get(data.containers.session) ? visits:visits + 1;
udata=data.pack.user(visits, p.user_ip);
}
cookies.set(data.containers.udata, udata, lifetime, domain, isolate);
var pages_count;
if(!cookies.get(data.containers.session)){
pages_count=1;
}else{
pages_count=parseInt(cookies.parse(data.containers.session)[cookies.unsbjs(data.containers.session)][data.aliases.session.pages_seen])||1;
pages_count +=1;
}
cookies.set(data.containers.session, data.pack.session(pages_count), p.session_length, domain, isolate);
if(p.promocode&&!cookies.get(data.containers.promocode)){
cookies.set(data.containers.promocode, data.pack.promo(p.promocode), lifetime, domain, isolate);
}})();
return cookies.parse(data.containers);
};},{"./data":2,"./helpers/cookies":3,"./helpers/uri":4,"./helpers/utils":5,"./migrations":7,"./params":8,"./terms":9}],7:[function(_dereq_,module,exports){
"use strict";
var data=_dereq_('./data'),
cookies=_dereq_('./helpers/cookies');
module.exports={
go: function(lifetime, domain, isolate){
var migrate=this.migrations,
_with={ l: lifetime, d: domain, i: isolate };
var i;
if(!cookies.get(data.containers.first)&&!cookies.get(data.service.migrations)){
var mids=[];
for (i=0; i < migrate.length; i++){ mids.push(migrate[i].id); }
var advance='';
for (i=0; i < mids.length; i++){
advance +=mids[i] + '=1';
if(i < mids.length - 1){ advance +=data.delimiter; }}
cookies.set(data.service.migrations, advance, _with.l, _with.d, _with.i);
}else if(!cookies.get(data.service.migrations)){
for (i=0; i < migrate.length; i++){
migrate[i].go(migrate[i].id, _with);
}}
},
migrations: [
{
id: '1418474375998',
version: '1.0.0-beta',
go: function(mid, _with){
var success=mid + '=1',
fail=mid + '=0';
var safeReplace=function($0, $1, $2){
return ($1||$2 ? $0:data.delimiter);
};
try {
var _in=[];
for (var prop in data.containers){
if(data.containers.hasOwnProperty(prop)){
_in.push(data.containers[prop]);
}}
for (var i=0; i < _in.length; i++){
if(cookies.get(_in[i])){
var buffer=cookies.get(_in[i]).replace(/(\|)?\|(\|)?/g, safeReplace);
cookies.destroy(_in[i], _with.d, _with.i);
cookies.destroy(_in[i], _with.d, !_with.i);
cookies.set(_in[i], buffer, _with.l, _with.d, _with.i);
}}
if(cookies.get(data.containers.session)){
cookies.set(data.containers.session, data.pack.session(0), _with.l, _with.d, _with.i);
}
cookies.set(data.service.migrations, success, _with.l, _with.d, _with.i);
} catch (err){
cookies.set(data.service.migrations, fail, _with.l, _with.d, _with.i);
}}
}
]
};},{"./data":2,"./helpers/cookies":3}],8:[function(_dereq_,module,exports){
"use strict";
var terms=_dereq_('./terms'),
uri=_dereq_('./helpers/uri');
module.exports={
fetch: function(prefs){
var user=prefs||{},
params={};
params.lifetime=this.validate.checkFloat(user.lifetime)||6;
params.lifetime=parseInt(params.lifetime * 30 * 24 * 60);
params.session_length=this.validate.checkInt(user.session_length)||30;
params.timezone_offset=this.validate.checkInt(user.timezone_offset);
params.base64=user.base64||false;
params.campaign_param=user.campaign_param||false;
params.term_param=user.term_param||false;
params.content_param=user.content_param||false;
params.user_ip=user.user_ip||terms.none;
if(user.promocode){
params.promocode={};
params.promocode.min=parseInt(user.promocode.min)||100000;
params.promocode.max=parseInt(user.promocode.max)||999999;
}else{
params.promocode=false;
}
if(user.typein_attributes&&user.typein_attributes.source&&user.typein_attributes.medium){
params.typein_attributes={};
params.typein_attributes.source=user.typein_attributes.source;
params.typein_attributes.medium=user.typein_attributes.medium;
}else{
params.typein_attributes={ source: '(direct)', medium: '(none)' };}
if(user.domain&&this.validate.isString(user.domain)){
params.domain={ host: user.domain, isolate: false };}else if(user.domain&&user.domain.host){
params.domain=user.domain;
}else{
params.domain={ host: uri.getHost(document.location.hostname), isolate: false };}
params.referrals=[];
if(user.referrals&&user.referrals.length > 0){
for (var ir=0; ir < user.referrals.length; ir++){
if(user.referrals[ir].host){
params.referrals.push(user.referrals[ir]);
}}
}
params.organics=[];
if(user.organics&&user.organics.length > 0){
for (var io=0; io < user.organics.length; io++){
if(user.organics[io].host&&user.organics[io].param){
params.organics.push(user.organics[io]);
}}
}
params.organics.push({ host: 'bing.com',      param: 'q',     display: 'bing'            });
params.organics.push({ host: 'yahoo.com',     param: 'p',     display: 'yahoo'           });
params.organics.push({ host: 'about.com',     param: 'q',     display: 'about'           });
params.organics.push({ host: 'aol.com',       param: 'q',     display: 'aol'             });
params.organics.push({ host: 'ask.com',       param: 'q',     display: 'ask'             });
params.organics.push({ host: 'globososo.com', param: 'q',     display: 'globo'           });
params.organics.push({ host: 'go.mail.ru',    param: 'q',     display: 'go.mail.ru'      });
params.organics.push({ host: 'rambler.ru',    param: 'query', display: 'rambler'         });
params.organics.push({ host: 'tut.by',        param: 'query', display: 'tut.by'          });
params.referrals.push({ host: 't.co',                         display: 'twitter.com'     });
params.referrals.push({ host: 'plus.url.google.com',          display: 'plus.google.com' });
return params;
},
validate: {
checkFloat: function(v){
return v&&this.isNumeric(parseFloat(v)) ? parseFloat(v):false;
},
checkInt: function(v){
return v&&this.isNumeric(parseInt(v)) ? parseInt(v):false;
},
isNumeric: function(v){
return !isNaN(v);
},
isString: function(v){
return Object.prototype.toString.call(v)==='[object String]';
}}
};},{"./helpers/uri":4,"./terms":9}],9:[function(_dereq_,module,exports){
"use strict";
module.exports={
traffic: {
utm:        'utm',
organic:    'organic',
referral:   'referral',
typein:     'typein'
},
referer: {
referral:   'referral',
organic:    'organic',
social:     'social'
},
none:         '(none)',
oops:         '(Houston, we have a problem)'
};},{}]},{},[1])(1)
});
(function(wc_order_attribution){
'use strict';
const params=wc_order_attribution.params;
const $=document.querySelector.bind(document);
const propertyAccessor=(obj, path)=> path.split('.').reduce(( acc, part)=> acc&&acc[ part ], obj);
const returnNull=()=> null;
const stringifyFalsyInputValue=(value)=> value===null||value===undefined ? '':value;
const CHECKOUT_STORE_KEY='wc/store/checkout';
wc_order_attribution.getAttributionData=function(){
const accessor=params.allowTracking&&isSbjsAvailable() ? propertyAccessor:returnNull;
const getter=isSbjsAvailable() ? sbjs.get:{};
const entries=Object.entries(wc_order_attribution.fields)
.map(( [ key, property ])=> [ key, accessor(getter, property) ]);
return Object.fromEntries(entries);
}
function removeDuplicateInputGroups(){
document.querySelectorAll('wc-order-attribution-inputs').forEach(( group, index)=> {
if(index > 0){
group.remove();
}});
}
function updateFormValues(values){
removeDuplicateInputGroups();
for(const element of document.querySelectorAll('wc-order-attribution-inputs') ){
element.values=values;
}};
function updateCheckoutBlockData(values){
if(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',
values,
true
);
}}
function isSbjsAvailable(){
return typeof sbjs!=='undefined';
}
wc_order_attribution.setOrderTracking=function(allow){
params.allowTracking=allow;
if(! allow){
removeTrackingCookies();
}else if(! isSbjsAvailable()){
return;
}else{
sbjs.init({
lifetime: Number(params.lifetime),
session_length: Number(params.session),
base64: Boolean(params.base64),
timezone_offset: '0',
});
}
const values=wc_order_attribution.getAttributionData();
updateFormValues(values);
updateCheckoutBlockData(values);
}
function removeTrackingCookies(){
const domain=window.location.hostname;
const sbCookies=[
'sbjs_current',
'sbjs_current_add',
'sbjs_first',
'sbjs_first_add',
'sbjs_session',
'sbjs_udata',
'sbjs_migrations',
'sbjs_promo'
];
sbCookies.forEach(( name)=> {
document.cookie=`${name}=; path=/; max-age=-999; domain=.${domain};`;
});
}
wc_order_attribution.setOrderTracking(params.allowTracking);
function eventuallyInitializeCheckoutBlock(){
if(window.wp&&window.wp.data&&typeof window.wp.data.subscribe==='function'
){
const unsubscribe=window.wp.data.subscribe(function (){
unsubscribe();
updateCheckoutBlockData(wc_order_attribution.getAttributionData());
}, CHECKOUT_STORE_KEY);
}};
if(document.readyState==="loading"){
document.addEventListener("DOMContentLoaded", eventuallyInitializeCheckoutBlock);
}else{
eventuallyInitializeCheckoutBlock();
}
window.customElements.define('wc-order-attribution-inputs', class extends HTMLElement {
constructor(){
super();
this._fieldNames=Object.keys(wc_order_attribution.fields);
if(this.hasOwnProperty('_values') ){
let values=this.values;
delete this.values;
this.values=values||{};}}
connectedCallback(){
this.innerHTML='';
const inputs=new DocumentFragment();
for(const fieldName of this._fieldNames){
const input=document.createElement('input');
input.type='hidden';
input.name=`${params.prefix}${fieldName}`;
input.value=stringifyFalsyInputValue(( this.values&&this.values[ fieldName ])||'');
inputs.appendChild(input);
}
this.appendChild(inputs);
}
set values(values){
this._values=values;
if(this.isConnected){
for(const fieldName of this._fieldNames){
const input=this.querySelector(`input[name="${params.prefix}${fieldName}"]`);
if(input){
input.value=stringifyFalsyInputValue(this.values[ fieldName ]);
}else{
console.warn(`Field "${fieldName}" not found. ` +
`Most likely, the '<wc-order-attribution-inputs>' element was manipulated.`
);
}}
}}
get values(){
return this._values;
}});
}(window.wc_order_attribution) );
var Mailcheck={domainThreshold:2,secondLevelThreshold:2,topLevelThreshold:2,defaultDomains:["gmail.com"],defaultSecondLevelDomains:["gmail"],defaultTopLevelDomains:["com"],run:function(e){e.domains=e.domains||Mailcheck.defaultDomains,e.secondLevelDomains=e.secondLevelDomains||Mailcheck.defaultSecondLevelDomains,e.topLevelDomains=e.topLevelDomains||Mailcheck.defaultTopLevelDomains,e.distanceFunction=e.distanceFunction||Mailcheck.sift4Distance;var n=function(e){return e},a=e.suggested||n,i=e.empty||n,t=Mailcheck.suggest(Mailcheck.encodeEmail(e.email),e.domains,e.secondLevelDomains,e.topLevelDomains,e.distanceFunction);return t?a(t):i()},suggest:function(e,n,a,i,t){e=e.toLowerCase();var o=this.splitEmail(e);if(a&&i&&-1!==a.indexOf(o.secondLevelDomain)&&-1!==i.indexOf(o.topLevelDomain))return!1;var l=this.findClosestDomain(o.domain,n,t,this.domainThreshold);if(l)return l!=o.domain&&{address:o.address,domain:l,full:o.address+"@"+l};var r=this.findClosestDomain(o.secondLevelDomain,a,t,this.secondLevelThreshold),s=this.findClosestDomain(o.topLevelDomain,i,t,this.topLevelThreshold);if(o.domain){l=o.domain;var c=!1;if(r&&r!=o.secondLevelDomain&&(l=l.replace(o.secondLevelDomain,r),c=!0),s&&s!=o.topLevelDomain&&""!==o.secondLevelDomain&&(l=l.replace(new RegExp(o.topLevelDomain+"$"),s),c=!0),c)return{address:o.address,domain:l,full:o.address+"@"+l}}return!1},findClosestDomain:function(e,n,a,i){var t;i=i||this.topLevelThreshold;var o=1/0,l=null;if(!e||!n)return!1;a||(a=this.sift4Distance);for(var r=0;r<n.length;r++){if(e===n[r])return e;(t=a(e,n[r]))<o&&(o=t,l=n[r])}return o<=i&&null!==l&&l},sift4Distance:function(e,n,a){if(void 0===a&&(a=5),!e||!e.length)return n?n.length:0;if(!n||!n.length)return e.length;for(var i=e.length,t=n.length,o=0,l=0,r=0,s=0,c=0,d=[];o<i&&l<t;){if(e.charAt(o)==n.charAt(l)){s++;for(var h=!1,u=0;u<d.length;){var f=d[u];if(o<=f.c1||l<=f.c2){(h=Math.abs(l-o)>=Math.abs(f.c2-f.c1))?c++:f.trans||(f.trans=!0,c++);break}o>f.c2&&l>f.c1?d.splice(u,1):u++}d.push({c1:o,c2:l,trans:h})}else{r+=s,s=0,o!=l&&(o=l=Math.min(o,l));for(var m=0;m<a&&(o+m<i||l+m<t);m++){if(o+m<i&&e.charAt(o+m)==n.charAt(l)){o+=m-1,l--;break}if(l+m<t&&e.charAt(o)==n.charAt(l+m)){o--,l+=m-1;break}}}l++,(++o>=i||l>=t)&&(r+=s,s=0,o=l=Math.min(o,l))}return r+=s,Math.round(Math.max(i,t)-r+c)},splitEmail:function(e){var n=(e=null!==e?e.replace(/^\s*/,"").replace(/\s*$/,""):null).split("@");if(n.length<2)return!1;for(var a=0;a<n.length;a++)if(""===n[a])return!1;var i=n.pop(),t=i.split("."),o="",l="";if(0===t.length)return!1;if(1==t.length)l=t[0];else{o=t[0];for(var r=1;r<t.length;r++)l+=t[r]+".";l=l.substring(0,l.length-1)}return{topLevelDomain:l,secondLevelDomain:o,domain:i,address:n.join("@")}},encodeEmail:function(e){var n=encodeURI(e);return n=n.replace("%20"," ").replace("%25","%").replace("%5E","^").replace("%60","`").replace("%7B","{").replace("%7C","|").replace("%7D","}")}};"undefined"!=typeof module&&module.exports&&(module.exports=Mailcheck),"function"==typeof define&&define.amd&&define("mailcheck",[],(function(){return Mailcheck})),"undefined"!=typeof window&&window.jQuery&&(jQuery.fn.mailcheck=function(e){var n=this;if(e.suggested){var a=e.suggested;e.suggested=function(e){a(n,e)}}if(e.empty){var i=e.empty;e.empty=function(){i.call(null,n)}}e.email=this.val(),Mailcheck.run(e)});