!function(t){"use strict";var n=t("body"),e=t(".variations_form"),o=e.data("product_id"),i="",_=0<(i=void 0!==o?n.find(".wpm_pgw_code[data-product-id="+o+"]"):e.closest(".summary").find(".wpm_pgw_code")).length?i.text():"",d="yes"==wpm_product_gtin.hide_is_empty,p=i.parent();t.fn.wpm_gtin_variations=function(){e.on("found_variation",function(t,n){n.wpm_pgw_code?(i.text(n.wpm_pgw_code),p.show()):i.wpm_reset_content()}),e.on("reset_data",function(){t.fn.wpm_reset_content()})},t.fn.wpm_reset_content=function(){_!==i.text()&&i.text(_),d&&""==_&&p.hide()},n.hasClass("single-product")&&(d&&""==_&&p.hide(),t.fn.wpm_gtin_variations())}(jQuery);
(function (global, factory){
typeof exports==='object'&&typeof module!=='undefined' ? module.exports=factory() :
typeof define==='function'&&define.amd ? define(factory) :
(global=typeof globalThis!=='undefined' ? globalThis:global||self, global.bootstrap=factory());
}(this, (function (){ 'use strict';
const NODE_TEXT=3;
const SelectorEngine={
find(selector, element=document.documentElement){
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
},
findOne(selector, element=document.documentElement){
return Element.prototype.querySelector.call(element, selector);
},
children(element, selector){
return [].concat(...element.children).filter(child=> child.matches(selector));
},
parents(element, selector){
const parents=[];
let ancestor=element.parentNode;
while (ancestor&&ancestor.nodeType===Node.ELEMENT_NODE&&ancestor.nodeType!==NODE_TEXT){
if(ancestor.matches(selector)){
parents.push(ancestor);
}
ancestor=ancestor.parentNode;
}
return parents;
},
prev(element, selector){
let previous=element.previousElementSibling;
while (previous){
if(previous.matches(selector)){
return [previous];
}
previous=previous.previousElementSibling;
}
return [];
},
next(element, selector){
let next=element.nextElementSibling;
while (next){
if(next.matches(selector)){
return [next];
}
next=next.nextElementSibling;
}
return [];
}};
const MAX_UID=1000000;
const MILLISECONDS_MULTIPLIER=1000;
const TRANSITION_END='transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
const toType=obj=> {
if(obj===null||obj===undefined){
return `${obj}`;
}
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
};
const getUID=prefix=> {
do {
prefix +=Math.floor(Math.random() * MAX_UID);
} while (document.getElementById(prefix));
return prefix;
};
const getSelector=element=> {
let selector=element.getAttribute('data-bs-target');
if(!selector||selector==='#'){
let hrefAttr=element.getAttribute('href');
if(!hrefAttr||!hrefAttr.includes('#')&&!hrefAttr.startsWith('.')){
return null;
}
if(hrefAttr.includes('#')&&!hrefAttr.startsWith('#')){
hrefAttr=`#${hrefAttr.split('#')[1]}`;
}
selector=hrefAttr&&hrefAttr!=='#' ? hrefAttr.trim():null;
}
return selector;
};
const getSelectorFromElement=element=> {
const selector=getSelector(element);
if(selector){
return document.querySelector(selector) ? selector:null;
}
return null;
};
const getElementFromSelector=element=> {
const selector=getSelector(element);
return selector ? document.querySelector(selector):null;
};
const getTransitionDurationFromElement=element=> {
if(!element){
return 0;
}
let {
transitionDuration,
transitionDelay
}=window.getComputedStyle(element);
const floatTransitionDuration=Number.parseFloat(transitionDuration);
const floatTransitionDelay=Number.parseFloat(transitionDelay);
if(!floatTransitionDuration&&!floatTransitionDelay){
return 0;
}
transitionDuration=transitionDuration.split(',')[0];
transitionDelay=transitionDelay.split(',')[0];
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
};
const triggerTransitionEnd=element=> {
element.dispatchEvent(new Event(TRANSITION_END));
};
const isElement$1=obj=> {
if(!obj||typeof obj!=='object'){
return false;
}
if(typeof obj.jquery!=='undefined'){
obj=obj[0];
}
return typeof obj.nodeType!=='undefined';
};
const getElement=obj=> {
if(isElement$1(obj)){
return obj.jquery ? obj[0]:obj;
}
if(typeof obj==='string'&&obj.length > 0){
return SelectorEngine.findOne(obj);
}
return null;
};
const emulateTransitionEnd=(element, duration)=> {
let called=false;
const durationPadding=5;
const emulatedDuration=duration + durationPadding;
function listener(){
called=true;
element.removeEventListener(TRANSITION_END, listener);
}
element.addEventListener(TRANSITION_END, listener);
setTimeout(()=> {
if(!called){
triggerTransitionEnd(element);
}}, emulatedDuration);
};
const typeCheckConfig=(componentName, config, configTypes)=> {
Object.keys(configTypes).forEach(property=> {
const expectedTypes=configTypes[property];
const value=config[property];
const valueType=value&&isElement$1(value) ? 'element':toType(value);
if(!new RegExp(expectedTypes).test(valueType)){
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
}});
};
const isVisible=element=> {
if(!element){
return false;
}
if(element.style&&element.parentNode&&element.parentNode.style){
const elementStyle=getComputedStyle(element);
const parentNodeStyle=getComputedStyle(element.parentNode);
return elementStyle.display!=='none'&&parentNodeStyle.display!=='none'&&elementStyle.visibility!=='hidden';
}
return false;
};
const isDisabled=element=> {
if(!element||element.nodeType!==Node.ELEMENT_NODE){
return true;
}
if(element.classList.contains('disabled')){
return true;
}
if(typeof element.disabled!=='undefined'){
return element.disabled;
}
return element.hasAttribute('disabled')&&element.getAttribute('disabled')!=='false';
};
const findShadowRoot=element=> {
if(!document.documentElement.attachShadow){
return null;
}
if(typeof element.getRootNode==='function'){
const root=element.getRootNode();
return root instanceof ShadowRoot ? root:null;
}
if(element instanceof ShadowRoot){
return element;
}
if(!element.parentNode){
return null;
}
return findShadowRoot(element.parentNode);
};
const noop=()=> {};
const reflow=element=> element.offsetHeight;
const getjQuery=()=> {
const {
jQuery
}=window;
if(jQuery&&!document.body.hasAttribute('data-bs-no-jquery')){
return jQuery;
}
return null;
};
const onDOMContentLoaded=callback=> {
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', callback);
}else{
callback();
}};
const isRTL=()=> document.documentElement.dir==='rtl';
const defineJQueryPlugin=plugin=> {
onDOMContentLoaded(()=> {
const $=getjQuery();
if($){
const name=plugin.NAME;
const JQUERY_NO_CONFLICT=$.fn[name];
$.fn[name]=plugin.jQueryInterface;
$.fn[name].Constructor=plugin;
$.fn[name].noConflict=()=> {
$.fn[name]=JQUERY_NO_CONFLICT;
return plugin.jQueryInterface;
};}});
};
const execute=callback=> {
if(typeof callback==='function'){
callback();
}};
const elementMap=new Map();
var Data={
set(element, key, instance){
if(!elementMap.has(element)){
elementMap.set(element, new Map());
}
const instanceMap=elementMap.get(element);
if(!instanceMap.has(key)&&instanceMap.size!==0){
console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
return;
}
instanceMap.set(key, instance);
},
get(element, key){
if(elementMap.has(element)){
return elementMap.get(element).get(key)||null;
}
return null;
},
remove(element, key){
if(!elementMap.has(element)){
return;
}
const instanceMap=elementMap.get(element);
instanceMap.delete(key);
if(instanceMap.size===0){
elementMap.delete(element);
}}
};
const namespaceRegex=/[^.]*(?=\..*)\.|.*/;
const stripNameRegex=/\..*/;
const stripUidRegex=/::\d+$/;
const eventRegistry={};
let uidEvent=1;
const customEvents={
mouseenter: 'mouseover',
mouseleave: 'mouseout'
};
const customEventsRegex=/^(mouseenter|mouseleave)/i;
const nativeEvents=new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
function getUidEvent(element, uid){
return uid&&`${uid}::${uidEvent++}`||element.uidEvent||uidEvent++;
}
function getEvent(element){
const uid=getUidEvent(element);
element.uidEvent=uid;
eventRegistry[uid]=eventRegistry[uid]||{};
return eventRegistry[uid];
}
function bootstrapHandler(element, fn){
return function handler(event){
event.delegateTarget=element;
if(handler.oneOff){
EventHandler.off(element, event.type, fn);
}
return fn.apply(element, [event]);
};}
function bootstrapDelegationHandler(element, selector, fn){
return function handler(event){
const domElements=element.querySelectorAll(selector);
for (let {
target
}=event; target&&target!==this; target=target.parentNode){
for (let i=domElements.length; i--;){
if(domElements[i]===target){
event.delegateTarget=target;
if(handler.oneOff){
EventHandler.off(element, event.type, selector, fn);
}
return fn.apply(target, [event]);
}}
}
return null;
};}
function findHandler(events, handler, delegationSelector=null){
const uidEventList=Object.keys(events);
for (let i=0, len=uidEventList.length; i < len; i++){
const event=events[uidEventList[i]];
if(event.originalHandler===handler&&event.delegationSelector===delegationSelector){
return event;
}}
return null;
}
function normalizeParams(originalTypeEvent, handler, delegationFn){
const delegation=typeof handler==='string';
const originalHandler=delegation ? delegationFn:handler;
let typeEvent=getTypeEvent(originalTypeEvent);
const isNative=nativeEvents.has(typeEvent);
if(!isNative){
typeEvent=originalTypeEvent;
}
return [delegation, originalHandler, typeEvent];
}
function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff){
if(typeof originalTypeEvent!=='string'||!element){
return;
}
if(!handler){
handler=delegationFn;
delegationFn=null;
}
if(customEventsRegex.test(originalTypeEvent)){
const wrapFn=fn=> {
return function (event){
if(!event.relatedTarget||event.relatedTarget!==event.delegateTarget&&!event.delegateTarget.contains(event.relatedTarget)){
return fn.call(this, event);
}};};
if(delegationFn){
delegationFn=wrapFn(delegationFn);
}else{
handler=wrapFn(handler);
}}
const [delegation, originalHandler, typeEvent]=normalizeParams(originalTypeEvent, handler, delegationFn);
const events=getEvent(element);
const handlers=events[typeEvent]||(events[typeEvent]={});
const previousFn=findHandler(handlers, originalHandler, delegation ? handler:null);
if(previousFn){
previousFn.oneOff=previousFn.oneOff&&oneOff;
return;
}
const uid=getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
const fn=delegation ? bootstrapDelegationHandler(element, handler, delegationFn):bootstrapHandler(element, handler);
fn.delegationSelector=delegation ? handler:null;
fn.originalHandler=originalHandler;
fn.oneOff=oneOff;
fn.uidEvent=uid;
handlers[uid]=fn;
element.addEventListener(typeEvent, fn, delegation);
}
function removeHandler(element, events, typeEvent, handler, delegationSelector){
const fn=findHandler(events[typeEvent], handler, delegationSelector);
if(!fn){
return;
}
element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
delete events[typeEvent][fn.uidEvent];
}
function removeNamespacedHandlers(element, events, typeEvent, namespace){
const storeElementEvent=events[typeEvent]||{};
Object.keys(storeElementEvent).forEach(handlerKey=> {
if(handlerKey.includes(namespace)){
const event=storeElementEvent[handlerKey];
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
}});
}
function getTypeEvent(event){
event=event.replace(stripNameRegex, '');
return customEvents[event]||event;
}
const EventHandler={
on(element, event, handler, delegationFn){
addHandler(element, event, handler, delegationFn, false);
},
one(element, event, handler, delegationFn){
addHandler(element, event, handler, delegationFn, true);
},
off(element, originalTypeEvent, handler, delegationFn){
if(typeof originalTypeEvent!=='string'||!element){
return;
}
const [delegation, originalHandler, typeEvent]=normalizeParams(originalTypeEvent, handler, delegationFn);
const inNamespace=typeEvent!==originalTypeEvent;
const events=getEvent(element);
const isNamespace=originalTypeEvent.startsWith('.');
if(typeof originalHandler!=='undefined'){
if(!events||!events[typeEvent]){
return;
}
removeHandler(element, events, typeEvent, originalHandler, delegation ? handler:null);
return;
}
if(isNamespace){
Object.keys(events).forEach(elementEvent=> {
removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
});
}
const storeElementEvent=events[typeEvent]||{};
Object.keys(storeElementEvent).forEach(keyHandlers=> {
const handlerKey=keyHandlers.replace(stripUidRegex, '');
if(!inNamespace||originalTypeEvent.includes(handlerKey)){
const event=storeElementEvent[keyHandlers];
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
}});
},
trigger(element, event, args){
if(typeof event!=='string'||!element){
return null;
}
const $=getjQuery();
const typeEvent=getTypeEvent(event);
const inNamespace=event!==typeEvent;
const isNative=nativeEvents.has(typeEvent);
let jQueryEvent;
let bubbles=true;
let nativeDispatch=true;
let defaultPrevented=false;
let evt=null;
if(inNamespace&&$){
jQueryEvent=$.Event(event, args);
$(element).trigger(jQueryEvent);
bubbles = !jQueryEvent.isPropagationStopped();
nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
defaultPrevented=jQueryEvent.isDefaultPrevented();
}
if(isNative){
evt=document.createEvent('HTMLEvents');
evt.initEvent(typeEvent, bubbles, true);
}else{
evt=new CustomEvent(event, {
bubbles,
cancelable: true
});
}
if(typeof args!=='undefined'){
Object.keys(args).forEach(key=> {
Object.defineProperty(evt, key, {
get(){
return args[key];
}});
});
}
if(defaultPrevented){
evt.preventDefault();
}
if(nativeDispatch){
element.dispatchEvent(evt);
}
if(evt.defaultPrevented&&typeof jQueryEvent!=='undefined'){
jQueryEvent.preventDefault();
}
return evt;
}};
const VERSION='5.0.1';
class BaseComponent {
constructor(element){
element=getElement(element);
if(!element){
return;
}
this._element=element;
Data.set(this._element, this.constructor.DATA_KEY, this);
}
dispose(){
Data.remove(this._element, this.constructor.DATA_KEY);
EventHandler.off(this._element, this.constructor.EVENT_KEY);
Object.getOwnPropertyNames(this).forEach(propertyName=> {
this[propertyName]=null;
});
}
_queueCallback(callback, element, isAnimated=true){
if(!isAnimated){
execute(callback);
return;
}
const transitionDuration=getTransitionDurationFromElement(element);
EventHandler.one(element, 'transitionend', ()=> execute(callback));
emulateTransitionEnd(element, transitionDuration);
}
static getInstance(element){
return Data.get(element, this.DATA_KEY);
}
static get VERSION(){
return VERSION;
}
static get NAME(){
throw new Error('You have to implement the static method "NAME", for each component!');
}
static get DATA_KEY(){
return `bs.${this.NAME}`;
}
static get EVENT_KEY(){
return `.${this.DATA_KEY}`;
}}
const NAME$c='alert';
const DATA_KEY$b='bs.alert';
const EVENT_KEY$b=`.${DATA_KEY$b}`;
const DATA_API_KEY$8='.data-api';
const SELECTOR_DISMISS='[data-bs-dismiss="alert"]';
const EVENT_CLOSE=`close${EVENT_KEY$b}`;
const EVENT_CLOSED=`closed${EVENT_KEY$b}`;
const EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$b}${DATA_API_KEY$8}`;
const CLASS_NAME_ALERT='alert';
const CLASS_NAME_FADE$6='fade';
const CLASS_NAME_SHOW$9='show';
class Alert extends BaseComponent {
static get NAME(){
return NAME$c;
}
close(element){
const rootElement=element ? this._getRootElement(element):this._element;
const customEvent=this._triggerCloseEvent(rootElement);
if(customEvent===null||customEvent.defaultPrevented){
return;
}
this._removeElement(rootElement);
}
_getRootElement(element){
return getElementFromSelector(element)||element.closest(`.${CLASS_NAME_ALERT}`);
}
_triggerCloseEvent(element){
return EventHandler.trigger(element, EVENT_CLOSE);
}
_removeElement(element){
element.classList.remove(CLASS_NAME_SHOW$9);
const isAnimated=element.classList.contains(CLASS_NAME_FADE$6);
this._queueCallback(()=> this._destroyElement(element), element, isAnimated);
}
_destroyElement(element){
if(element.parentNode){
element.parentNode.removeChild(element);
}
EventHandler.trigger(element, EVENT_CLOSED);
}
static jQueryInterface(config){
return this.each(function (){
let data=Data.get(this, DATA_KEY$b);
if(!data){
data=new Alert(this);
}
if(config==='close'){
data[config](this);
}});
}
static handleDismiss(alertInstance){
return function (event){
if(event){
event.preventDefault();
}
alertInstance.close(this);
};}}
EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
defineJQueryPlugin(Alert);
const NAME$b='button';
const DATA_KEY$a='bs.button';
const EVENT_KEY$a=`.${DATA_KEY$a}`;
const DATA_API_KEY$7='.data-api';
const CLASS_NAME_ACTIVE$3='active';
const SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="button"]';
const EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$a}${DATA_API_KEY$7}`;
class Button extends BaseComponent {
static get NAME(){
return NAME$b;
}
toggle(){
this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));
}
static jQueryInterface(config){
return this.each(function (){
let data=Data.get(this, DATA_KEY$a);
if(!data){
data=new Button(this);
}
if(config==='toggle'){
data[config]();
}});
}}
EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event=> {
event.preventDefault();
const button=event.target.closest(SELECTOR_DATA_TOGGLE$5);
let data=Data.get(button, DATA_KEY$a);
if(!data){
data=new Button(button);
}
data.toggle();
});
defineJQueryPlugin(Button);
function normalizeData(val){
if(val==='true'){
return true;
}
if(val==='false'){
return false;
}
if(val===Number(val).toString()){
return Number(val);
}
if(val===''||val==='null'){
return null;
}
return val;
}
function normalizeDataKey(key){
return key.replace(/[A-Z]/g, chr=> `-${chr.toLowerCase()}`);
}
const Manipulator={
setDataAttribute(element, key, value){
element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
},
removeDataAttribute(element, key){
element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
},
getDataAttributes(element){
if(!element){
return {};}
const attributes={};
Object.keys(element.dataset).filter(key=> key.startsWith('bs')).forEach(key=> {
let pureKey=key.replace(/^bs/, '');
pureKey=pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
attributes[pureKey]=normalizeData(element.dataset[key]);
});
return attributes;
},
getDataAttribute(element, key){
return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
},
offset(element){
const rect=element.getBoundingClientRect();
return {
top: rect.top + document.body.scrollTop,
left: rect.left + document.body.scrollLeft
};},
position(element){
return {
top: element.offsetTop,
left: element.offsetLeft
};}};
const NAME$9='collapse';
const DATA_KEY$8='bs.collapse';
const EVENT_KEY$8=`.${DATA_KEY$8}`;
const DATA_API_KEY$5='.data-api';
const Default$8={
toggle: true,
parent: ''
};
const DefaultType$8={
toggle: 'boolean',
parent: '(string|element)'
};
const EVENT_SHOW$5=`show${EVENT_KEY$8}`;
const EVENT_SHOWN$5=`shown${EVENT_KEY$8}`;
const EVENT_HIDE$5=`hide${EVENT_KEY$8}`;
const EVENT_HIDDEN$5=`hidden${EVENT_KEY$8}`;
const EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$8}${DATA_API_KEY$5}`;
const CLASS_NAME_SHOW$8='show';
const CLASS_NAME_COLLAPSE='collapse';
const CLASS_NAME_COLLAPSING='collapsing';
const CLASS_NAME_COLLAPSED='collapsed';
const WIDTH='width';
const HEIGHT='height';
const SELECTOR_ACTIVES='.show, .collapsing';
const SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="collapse"]';
class Collapse extends BaseComponent {
constructor(element, config){
super(element);
this._isTransitioning=false;
this._config=this._getConfig(config);
this._triggerArray=SelectorEngine.find(`${SELECTOR_DATA_TOGGLE$4}[href="#${this._element.id}"],` + `${SELECTOR_DATA_TOGGLE$4}[data-bs-target="#${this._element.id}"]`);
const toggleList=SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
for (let i=0, len=toggleList.length; i < len; i++){
const elem=toggleList[i];
const selector=getSelectorFromElement(elem);
const filterElement=SelectorEngine.find(selector).filter(foundElem=> foundElem===this._element);
if(selector!==null&&filterElement.length){
this._selector=selector;
this._triggerArray.push(elem);
}}
this._parent=this._config.parent ? this._getParent():null;
if(!this._config.parent){
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
}
if(this._config.toggle){
this.toggle();
}}
static get Default(){
return Default$8;
}
static get NAME(){
return NAME$9;
}
toggle(){
if(this._element.classList.contains(CLASS_NAME_SHOW$8)){
this.hide();
}else{
this.show();
}}
show(){
if(this._isTransitioning||this._element.classList.contains(CLASS_NAME_SHOW$8)){
return;
}
let actives;
let activesData;
if(this._parent){
actives=SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter(elem=> {
if(typeof this._config.parent==='string'){
return elem.getAttribute('data-bs-parent')===this._config.parent;
}
return elem.classList.contains(CLASS_NAME_COLLAPSE);
});
if(actives.length===0){
actives=null;
}}
const container=SelectorEngine.findOne(this._selector);
if(actives){
const tempActiveData=actives.find(elem=> container!==elem);
activesData=tempActiveData ? Data.get(tempActiveData, DATA_KEY$8):null;
if(activesData&&activesData._isTransitioning){
return;
}}
const startEvent=EventHandler.trigger(this._element, EVENT_SHOW$5);
if(startEvent.defaultPrevented){
return;
}
if(actives){
actives.forEach(elemActive=> {
if(container!==elemActive){
Collapse.collapseInterface(elemActive, 'hide');
}
if(!activesData){
Data.set(elemActive, DATA_KEY$8, null);
}});
}
const dimension=this._getDimension();
this._element.classList.remove(CLASS_NAME_COLLAPSE);
this._element.classList.add(CLASS_NAME_COLLAPSING);
this._element.style[dimension]=0;
if(this._triggerArray.length){
this._triggerArray.forEach(element=> {
element.classList.remove(CLASS_NAME_COLLAPSED);
element.setAttribute('aria-expanded', true);
});
}
this.setTransitioning(true);
const complete=()=> {
this._element.classList.remove(CLASS_NAME_COLLAPSING);
this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
this._element.style[dimension]='';
this.setTransitioning(false);
EventHandler.trigger(this._element, EVENT_SHOWN$5);
};
const capitalizedDimension=dimension[0].toUpperCase() + dimension.slice(1);
const scrollSize=`scroll${capitalizedDimension}`;
this._queueCallback(complete, this._element, true);
this._element.style[dimension]=`${this._element[scrollSize]}px`;
}
hide(){
if(this._isTransitioning||!this._element.classList.contains(CLASS_NAME_SHOW$8)){
return;
}
const startEvent=EventHandler.trigger(this._element, EVENT_HIDE$5);
if(startEvent.defaultPrevented){
return;
}
const dimension=this._getDimension();
this._element.style[dimension]=`${this._element.getBoundingClientRect()[dimension]}px`;
reflow(this._element);
this._element.classList.add(CLASS_NAME_COLLAPSING);
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
const triggerArrayLength=this._triggerArray.length;
if(triggerArrayLength > 0){
for (let i=0; i < triggerArrayLength; i++){
const trigger=this._triggerArray[i];
const elem=getElementFromSelector(trigger);
if(elem&&!elem.classList.contains(CLASS_NAME_SHOW$8)){
trigger.classList.add(CLASS_NAME_COLLAPSED);
trigger.setAttribute('aria-expanded', false);
}}
}
this.setTransitioning(true);
const complete=()=> {
this.setTransitioning(false);
this._element.classList.remove(CLASS_NAME_COLLAPSING);
this._element.classList.add(CLASS_NAME_COLLAPSE);
EventHandler.trigger(this._element, EVENT_HIDDEN$5);
};
this._element.style[dimension]='';
this._queueCallback(complete, this._element, true);
}
setTransitioning(isTransitioning){
this._isTransitioning=isTransitioning;
}
_getConfig(config){
config={ ...Default$8,
...config
};
config.toggle=Boolean(config.toggle);
typeCheckConfig(NAME$9, config, DefaultType$8);
return config;
}
_getDimension(){
return this._element.classList.contains(WIDTH) ? WIDTH:HEIGHT;
}
_getParent(){
let {
parent
}=this._config;
parent=getElement(parent);
const selector=`${SELECTOR_DATA_TOGGLE$4}[data-bs-parent="${parent}"]`;
SelectorEngine.find(selector, parent).forEach(element=> {
const selected=getElementFromSelector(element);
this._addAriaAndCollapsedClass(selected, [element]);
});
return parent;
}
_addAriaAndCollapsedClass(element, triggerArray){
if(!element||!triggerArray.length){
return;
}
const isOpen=element.classList.contains(CLASS_NAME_SHOW$8);
triggerArray.forEach(elem=> {
if(isOpen){
elem.classList.remove(CLASS_NAME_COLLAPSED);
}else{
elem.classList.add(CLASS_NAME_COLLAPSED);
}
elem.setAttribute('aria-expanded', isOpen);
});
}
static collapseInterface(element, config){
let data=Data.get(element, DATA_KEY$8);
const _config={ ...Default$8,
...Manipulator.getDataAttributes(element),
...(typeof config==='object'&&config ? config:{})
};
if(!data&&_config.toggle&&typeof config==='string'&&/show|hide/.test(config)){
_config.toggle=false;
}
if(!data){
data=new Collapse(element, _config);
}
if(typeof config==='string'){
if(typeof data[config]==='undefined'){
throw new TypeError(`No method named "${config}"`);
}
data[config]();
}}
static jQueryInterface(config){
return this.each(function (){
Collapse.collapseInterface(this, config);
});
}}
EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event){
if(event.target.tagName==='A'||event.delegateTarget&&event.delegateTarget.tagName==='A'){
event.preventDefault();
}
const triggerData=Manipulator.getDataAttributes(this);
const selector=getSelectorFromElement(this);
const selectorElements=SelectorEngine.find(selector);
selectorElements.forEach(element=> {
const data=Data.get(element, DATA_KEY$8);
let config;
if(data){
if(data._parent===null&&typeof triggerData.parent==='string'){
data._config.parent=triggerData.parent;
data._parent=data._getParent();
}
config='toggle';
}else{
config=triggerData;
}
Collapse.collapseInterface(element, config);
});
});
defineJQueryPlugin(Collapse);
var top='top';
var bottom='bottom';
var right='right';
var left='left';
var auto='auto';
var basePlacements=[top, bottom, right, left];
var start='start';
var end='end';
var clippingParents='clippingParents';
var viewport='viewport';
var popper='popper';
var reference='reference';
var variationPlacements=basePlacements.reduce(function (acc, placement){
return acc.concat([placement + "-" + start, placement + "-" + end]);
}, []);
var placements=[].concat(basePlacements, [auto]).reduce(function (acc, placement){
return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
}, []);
var beforeRead='beforeRead';
var read='read';
var afterRead='afterRead';
var beforeMain='beforeMain';
var main='main';
var afterMain='afterMain';
var beforeWrite='beforeWrite';
var write='write';
var afterWrite='afterWrite';
var modifierPhases=[beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
function getNodeName(element){
return element ? (element.nodeName||'').toLowerCase():null;
}
function getWindow(node){
if(node==null){
return window;
}
if(node.toString()!=='[object Window]'){
var ownerDocument=node.ownerDocument;
return ownerDocument ? ownerDocument.defaultView||window:window;
}
return node;
}
function isElement(node){
var OwnElement=getWindow(node).Element;
return node instanceof OwnElement||node instanceof Element;
}
function isHTMLElement(node){
var OwnElement=getWindow(node).HTMLElement;
return node instanceof OwnElement||node instanceof HTMLElement;
}
function isShadowRoot(node){
if(typeof ShadowRoot==='undefined'){
return false;
}
var OwnElement=getWindow(node).ShadowRoot;
return node instanceof OwnElement||node instanceof ShadowRoot;
}
function applyStyles(_ref){
var state=_ref.state;
Object.keys(state.elements).forEach(function (name){
var style=state.styles[name]||{};
var attributes=state.attributes[name]||{};
var element=state.elements[name];
if(!isHTMLElement(element)||!getNodeName(element)){
return;
}
Object.assign(element.style, style);
Object.keys(attributes).forEach(function (name){
var value=attributes[name];
if(value===false){
element.removeAttribute(name);
}else{
element.setAttribute(name, value===true ? '':value);
}});
});
}
function effect$2(_ref2){
var state=_ref2.state;
var initialStyles={
popper: {
position: state.options.strategy,
left: '0',
top: '0',
margin: '0'
},
arrow: {
position: 'absolute'
},
reference: {}};
Object.assign(state.elements.popper.style, initialStyles.popper);
state.styles=initialStyles;
if(state.elements.arrow){
Object.assign(state.elements.arrow.style, initialStyles.arrow);
}
return function (){
Object.keys(state.elements).forEach(function (name){
var element=state.elements[name];
var attributes=state.attributes[name]||{};
var styleProperties=Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name]:initialStyles[name]);
var style=styleProperties.reduce(function (style, property){
style[property]='';
return style;
}, {});
if(!isHTMLElement(element)||!getNodeName(element)){
return;
}
Object.assign(element.style, style);
Object.keys(attributes).forEach(function (attribute){
element.removeAttribute(attribute);
});
});
};}
var applyStyles$1={
name: 'applyStyles',
enabled: true,
phase: 'write',
fn: applyStyles,
effect: effect$2,
requires: ['computeStyles']
};
function getBasePlacement(placement){
return placement.split('-')[0];
}
function getBoundingClientRect(element){
var rect=element.getBoundingClientRect();
return {
width: rect.width,
height: rect.height,
top: rect.top,
right: rect.right,
bottom: rect.bottom,
left: rect.left,
x: rect.left,
y: rect.top
};}
function getLayoutRect(element){
var clientRect=getBoundingClientRect(element);
var width=element.offsetWidth;
var height=element.offsetHeight;
if(Math.abs(clientRect.width - width) <=1){
width=clientRect.width;
}
if(Math.abs(clientRect.height - height) <=1){
height=clientRect.height;
}
return {
x: element.offsetLeft,
y: element.offsetTop,
width: width,
height: height
};}
function contains(parent, child){
var rootNode=child.getRootNode&&child.getRootNode();
if(parent.contains(child)){
return true;
}
else if(rootNode&&isShadowRoot(rootNode)){
var next=child;
do {
if(next&&parent.isSameNode(next)){
return true;
}
next=next.parentNode||next.host;
} while (next);
}
return false;
}
function getComputedStyle$1(element){
return getWindow(element).getComputedStyle(element);
}
function isTableElement(element){
return ['table', 'td', 'th'].indexOf(getNodeName(element)) >=0;
}
function getDocumentElement(element){
return ((isElement(element) ? element.ownerDocument :
element.document)||window.document).documentElement;
}
function getParentNode(element){
if(getNodeName(element)==='html'){
return element;
}
return (
element.assignedSlot ||
element.parentNode||(
isShadowRoot(element) ? element.host:null) ||
getDocumentElement(element)
);
}
function getTrueOffsetParent(element){
if(!isHTMLElement(element)||// https://github.com/popperjs/popper-core/issues/837
getComputedStyle$1(element).position==='fixed'){
return null;
}
return element.offsetParent;
}
function getContainingBlock(element){
var isFirefox=navigator.userAgent.toLowerCase().indexOf('firefox')!==-1;
var isIE=navigator.userAgent.indexOf('Trident')!==-1;
if(isIE&&isHTMLElement(element)){
var elementCss=getComputedStyle$1(element);
if(elementCss.position==='fixed'){
return null;
}}
var currentNode=getParentNode(element);
while (isHTMLElement(currentNode)&&['html', 'body'].indexOf(getNodeName(currentNode)) < 0){
var css=getComputedStyle$1(currentNode);
if(css.transform!=='none'||css.perspective!=='none'||css.contain==='paint'||['transform', 'perspective'].indexOf(css.willChange)!==-1||isFirefox&&css.willChange==='filter'||isFirefox&&css.filter&&css.filter!=='none'){
return currentNode;
}else{
currentNode=currentNode.parentNode;
}}
return null;
}
function getOffsetParent(element){
var window=getWindow(element);
var offsetParent=getTrueOffsetParent(element);
while (offsetParent&&isTableElement(offsetParent)&&getComputedStyle$1(offsetParent).position==='static'){
offsetParent=getTrueOffsetParent(offsetParent);
}
if(offsetParent&&(getNodeName(offsetParent)==='html'||getNodeName(offsetParent)==='body'&&getComputedStyle$1(offsetParent).position==='static')){
return window;
}
return offsetParent||getContainingBlock(element)||window;
}
function getMainAxisFromPlacement(placement){
return ['top', 'bottom'].indexOf(placement) >=0 ? 'x':'y';
}
var max=Math.max;
var min=Math.min;
var round=Math.round;
function within(min$1, value, max$1){
return max(min$1, min(value, max$1));
}
function getFreshSideObject(){
return {
top: 0,
right: 0,
bottom: 0,
left: 0
};}
function mergePaddingObject(paddingObject){
return Object.assign({}, getFreshSideObject(), paddingObject);
}
function expandToHashMap(value, keys){
return keys.reduce(function (hashMap, key){
hashMap[key]=value;
return hashMap;
}, {});
}
var toPaddingObject=function toPaddingObject(padding, state){
padding=typeof padding==='function' ? padding(Object.assign({}, state.rects, {
placement: state.placement
})):padding;
return mergePaddingObject(typeof padding!=='number' ? padding:expandToHashMap(padding, basePlacements));
};
function arrow(_ref){
var _state$modifiersData$;
var state=_ref.state,
name=_ref.name,
options=_ref.options;
var arrowElement=state.elements.arrow;
var popperOffsets=state.modifiersData.popperOffsets;
var basePlacement=getBasePlacement(state.placement);
var axis=getMainAxisFromPlacement(basePlacement);
var isVertical=[left, right].indexOf(basePlacement) >=0;
var len=isVertical ? 'height':'width';
if(!arrowElement||!popperOffsets){
return;
}
var paddingObject=toPaddingObject(options.padding, state);
var arrowRect=getLayoutRect(arrowElement);
var minProp=axis==='y' ? top:left;
var maxProp=axis==='y' ? bottom:right;
var endDiff=state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
var startDiff=popperOffsets[axis] - state.rects.reference[axis];
var arrowOffsetParent=getOffsetParent(arrowElement);
var clientSize=arrowOffsetParent ? axis==='y' ? arrowOffsetParent.clientHeight||0:arrowOffsetParent.clientWidth||0:0;
var centerToReference=endDiff / 2 - startDiff / 2;
var min=paddingObject[minProp];
var max=clientSize - arrowRect[len] - paddingObject[maxProp];
var center=clientSize / 2 - arrowRect[len] / 2 + centerToReference;
var offset=within(min, center, max);
var axisProp=axis;
state.modifiersData[name]=(_state$modifiersData$={}, _state$modifiersData$[axisProp]=offset, _state$modifiersData$.centerOffset=offset - center, _state$modifiersData$);
}
function effect$1(_ref2){
var state=_ref2.state,
options=_ref2.options;
var _options$element=options.element,
arrowElement=_options$element===void 0 ? '[data-popper-arrow]':_options$element;
if(arrowElement==null){
return;
}
if(typeof arrowElement==='string'){
arrowElement=state.elements.popper.querySelector(arrowElement);
if(!arrowElement){
return;
}}
if(!contains(state.elements.popper, arrowElement)){
return;
}
state.elements.arrow=arrowElement;
}
var arrow$1={
name: 'arrow',
enabled: true,
phase: 'main',
fn: arrow,
effect: effect$1,
requires: ['popperOffsets'],
requiresIfExists: ['preventOverflow']
};
var unsetSides={
top: 'auto',
right: 'auto',
bottom: 'auto',
left: 'auto'
};
function roundOffsetsByDPR(_ref){
var x=_ref.x,
y=_ref.y;
var win=window;
var dpr=win.devicePixelRatio||1;
return {
x: round(round(x * dpr) / dpr)||0,
y: round(round(y * dpr) / dpr)||0
};}
function mapToStyles(_ref2){
var _Object$assign2;
var popper=_ref2.popper,
popperRect=_ref2.popperRect,
placement=_ref2.placement,
offsets=_ref2.offsets,
position=_ref2.position,
gpuAcceleration=_ref2.gpuAcceleration,
adaptive=_ref2.adaptive,
roundOffsets=_ref2.roundOffsets;
var _ref3=roundOffsets===true ? roundOffsetsByDPR(offsets):typeof roundOffsets==='function' ? roundOffsets(offsets):offsets,
_ref3$x=_ref3.x,
x=_ref3$x===void 0 ? 0:_ref3$x,
_ref3$y=_ref3.y,
y=_ref3$y===void 0 ? 0:_ref3$y;
var hasX=offsets.hasOwnProperty('x');
var hasY=offsets.hasOwnProperty('y');
var sideX=left;
var sideY=top;
var win=window;
if(adaptive){
var offsetParent=getOffsetParent(popper);
var heightProp='clientHeight';
var widthProp='clientWidth';
if(offsetParent===getWindow(popper)){
offsetParent=getDocumentElement(popper);
if(getComputedStyle$1(offsetParent).position!=='static'){
heightProp='scrollHeight';
widthProp='scrollWidth';
}}
offsetParent=offsetParent;
if(placement===top){
sideY=bottom;
y -=offsetParent[heightProp] - popperRect.height;
y *=gpuAcceleration ? 1:-1;
}
if(placement===left){
sideX=right;
x -=offsetParent[widthProp] - popperRect.width;
x *=gpuAcceleration ? 1:-1;
}}
var commonStyles=Object.assign({
position: position
}, adaptive&&unsetSides);
if(gpuAcceleration){
var _Object$assign;
return Object.assign({}, commonStyles, (_Object$assign={}, _Object$assign[sideY]=hasY ? '0':'', _Object$assign[sideX]=hasX ? '0':'', _Object$assign.transform=(win.devicePixelRatio||1) < 2 ? "translate(" + x + "px, " + y + "px)":"translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
}
return Object.assign({}, commonStyles, (_Object$assign2={}, _Object$assign2[sideY]=hasY ? y + "px":'', _Object$assign2[sideX]=hasX ? x + "px":'', _Object$assign2.transform='', _Object$assign2));
}
function computeStyles(_ref4){
var state=_ref4.state,
options=_ref4.options;
var _options$gpuAccelerat=options.gpuAcceleration,
gpuAcceleration=_options$gpuAccelerat===void 0 ? true:_options$gpuAccelerat,
_options$adaptive=options.adaptive,
adaptive=_options$adaptive===void 0 ? true:_options$adaptive,
_options$roundOffsets=options.roundOffsets,
roundOffsets=_options$roundOffsets===void 0 ? true:_options$roundOffsets;
var commonStyles={
placement: getBasePlacement(state.placement),
popper: state.elements.popper,
popperRect: state.rects.popper,
gpuAcceleration: gpuAcceleration
};
if(state.modifiersData.popperOffsets!=null){
state.styles.popper=Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
offsets: state.modifiersData.popperOffsets,
position: state.options.strategy,
adaptive: adaptive,
roundOffsets: roundOffsets
})));
}
if(state.modifiersData.arrow!=null){
state.styles.arrow=Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
offsets: state.modifiersData.arrow,
position: 'absolute',
adaptive: false,
roundOffsets: roundOffsets
})));
}
state.attributes.popper=Object.assign({}, state.attributes.popper, {
'data-popper-placement': state.placement
});
}
var computeStyles$1={
name: 'computeStyles',
enabled: true,
phase: 'beforeWrite',
fn: computeStyles,
data: {}};
var passive={
passive: true
};
function effect(_ref){
var state=_ref.state,
instance=_ref.instance,
options=_ref.options;
var _options$scroll=options.scroll,
scroll=_options$scroll===void 0 ? true:_options$scroll,
_options$resize=options.resize,
resize=_options$resize===void 0 ? true:_options$resize;
var window=getWindow(state.elements.popper);
var scrollParents=[].concat(state.scrollParents.reference, state.scrollParents.popper);
if(scroll){
scrollParents.forEach(function (scrollParent){
scrollParent.addEventListener('scroll', instance.update, passive);
});
}
if(resize){
window.addEventListener('resize', instance.update, passive);
}
return function (){
if(scroll){
scrollParents.forEach(function (scrollParent){
scrollParent.removeEventListener('scroll', instance.update, passive);
});
}
if(resize){
window.removeEventListener('resize', instance.update, passive);
}};}
var eventListeners={
name: 'eventListeners',
enabled: true,
phase: 'write',
fn: function fn(){},
effect: effect,
data: {}};
var hash$1={
left: 'right',
right: 'left',
bottom: 'top',
top: 'bottom'
};
function getOppositePlacement(placement){
return placement.replace(/left|right|bottom|top/g, function (matched){
return hash$1[matched];
});
}
var hash={
start: 'end',
end: 'start'
};
function getOppositeVariationPlacement(placement){
return placement.replace(/start|end/g, function (matched){
return hash[matched];
});
}
function getWindowScroll(node){
var win=getWindow(node);
var scrollLeft=win.pageXOffset;
var scrollTop=win.pageYOffset;
return {
scrollLeft: scrollLeft,
scrollTop: scrollTop
};}
function getWindowScrollBarX(element){
return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
}
function getViewportRect(element){
var win=getWindow(element);
var html=getDocumentElement(element);
var visualViewport=win.visualViewport;
var width=html.clientWidth;
var height=html.clientHeight;
var x=0;
var y=0;
if(visualViewport){
width=visualViewport.width;
height=visualViewport.height;
if(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){
x=visualViewport.offsetLeft;
y=visualViewport.offsetTop;
}}
return {
width: width,
height: height,
x: x + getWindowScrollBarX(element),
y: y
};}
function getDocumentRect(element){
var _element$ownerDocumen;
var html=getDocumentElement(element);
var winScroll=getWindowScroll(element);
var body=(_element$ownerDocumen=element.ownerDocument)==null ? void 0:_element$ownerDocumen.body;
var width=max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth:0, body ? body.clientWidth:0);
var height=max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight:0, body ? body.clientHeight:0);
var x=-winScroll.scrollLeft + getWindowScrollBarX(element);
var y=-winScroll.scrollTop;
if(getComputedStyle$1(body||html).direction==='rtl'){
x +=max(html.clientWidth, body ? body.clientWidth:0) - width;
}
return {
width: width,
height: height,
x: x,
y: y
};}
function isScrollParent(element){
var _getComputedStyle=getComputedStyle$1(element),
overflow=_getComputedStyle.overflow,
overflowX=_getComputedStyle.overflowX,
overflowY=_getComputedStyle.overflowY;
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
}
function getScrollParent(node){
if(['html', 'body', '#document'].indexOf(getNodeName(node)) >=0){
return node.ownerDocument.body;
}
if(isHTMLElement(node)&&isScrollParent(node)){
return node;
}
return getScrollParent(getParentNode(node));
}
function listScrollParents(element, list){
var _element$ownerDocumen;
if(list===void 0){
list=[];
}
var scrollParent=getScrollParent(element);
var isBody=scrollParent===((_element$ownerDocumen=element.ownerDocument)==null ? void 0:_element$ownerDocumen.body);
var win=getWindow(scrollParent);
var target=isBody ? [win].concat(win.visualViewport||[], isScrollParent(scrollParent) ? scrollParent:[]):scrollParent;
var updatedList=list.concat(target);
return isBody ? updatedList :
updatedList.concat(listScrollParents(getParentNode(target)));
}
function rectToClientRect(rect){
return Object.assign({}, rect, {
left: rect.x,
top: rect.y,
right: rect.x + rect.width,
bottom: rect.y + rect.height
});
}
function getInnerBoundingClientRect(element){
var rect=getBoundingClientRect(element);
rect.top=rect.top + element.clientTop;
rect.left=rect.left + element.clientLeft;
rect.bottom=rect.top + element.clientHeight;
rect.right=rect.left + element.clientWidth;
rect.width=element.clientWidth;
rect.height=element.clientHeight;
rect.x=rect.left;
rect.y=rect.top;
return rect;
}
function getClientRectFromMixedType(element, clippingParent){
return clippingParent===viewport ? rectToClientRect(getViewportRect(element)):isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent):rectToClientRect(getDocumentRect(getDocumentElement(element)));
}
function getClippingParents(element){
var clippingParents=listScrollParents(getParentNode(element));
var canEscapeClipping=['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >=0;
var clipperElement=canEscapeClipping&&isHTMLElement(element) ? getOffsetParent(element):element;
if(!isElement(clipperElement)){
return [];
} // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
return clippingParents.filter(function (clippingParent){
return isElement(clippingParent)&&contains(clippingParent, clipperElement)&&getNodeName(clippingParent)!=='body';
});
}
function getClippingRect(element, boundary, rootBoundary){
var mainClippingParents=boundary==='clippingParents' ? getClippingParents(element):[].concat(boundary);
var clippingParents=[].concat(mainClippingParents, [rootBoundary]);
var firstClippingParent=clippingParents[0];
var clippingRect=clippingParents.reduce(function (accRect, clippingParent){
var rect=getClientRectFromMixedType(element, clippingParent);
accRect.top=max(rect.top, accRect.top);
accRect.right=min(rect.right, accRect.right);
accRect.bottom=min(rect.bottom, accRect.bottom);
accRect.left=max(rect.left, accRect.left);
return accRect;
}, getClientRectFromMixedType(element, firstClippingParent));
clippingRect.width=clippingRect.right - clippingRect.left;
clippingRect.height=clippingRect.bottom - clippingRect.top;
clippingRect.x=clippingRect.left;
clippingRect.y=clippingRect.top;
return clippingRect;
}
function getVariation(placement){
return placement.split('-')[1];
}
function computeOffsets(_ref){
var reference=_ref.reference,
element=_ref.element,
placement=_ref.placement;
var basePlacement=placement ? getBasePlacement(placement):null;
var variation=placement ? getVariation(placement):null;
var commonX=reference.x + reference.width / 2 - element.width / 2;
var commonY=reference.y + reference.height / 2 - element.height / 2;
var offsets;
switch (basePlacement){
case top:
offsets={
x: commonX,
y: reference.y - element.height
};
break;
case bottom:
offsets={
x: commonX,
y: reference.y + reference.height
};
break;
case right:
offsets={
x: reference.x + reference.width,
y: commonY
};
break;
case left:
offsets={
x: reference.x - element.width,
y: commonY
};
break;
default:
offsets={
x: reference.x,
y: reference.y
};}
var mainAxis=basePlacement ? getMainAxisFromPlacement(basePlacement):null;
if(mainAxis!=null){
var len=mainAxis==='y' ? 'height':'width';
switch (variation){
case start:
offsets[mainAxis]=offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
break;
case end:
offsets[mainAxis]=offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
break;
}}
return offsets;
}
function detectOverflow(state, options){
if(options===void 0){
options={};}
var _options=options,
_options$placement=_options.placement,
placement=_options$placement===void 0 ? state.placement:_options$placement,
_options$boundary=_options.boundary,
boundary=_options$boundary===void 0 ? clippingParents:_options$boundary,
_options$rootBoundary=_options.rootBoundary,
rootBoundary=_options$rootBoundary===void 0 ? viewport:_options$rootBoundary,
_options$elementConte=_options.elementContext,
elementContext=_options$elementConte===void 0 ? popper:_options$elementConte,
_options$altBoundary=_options.altBoundary,
altBoundary=_options$altBoundary===void 0 ? false:_options$altBoundary,
_options$padding=_options.padding,
padding=_options$padding===void 0 ? 0:_options$padding;
var paddingObject=mergePaddingObject(typeof padding!=='number' ? padding:expandToHashMap(padding, basePlacements));
var altContext=elementContext===popper ? reference:popper;
var referenceElement=state.elements.reference;
var popperRect=state.rects.popper;
var element=state.elements[altBoundary ? altContext:elementContext];
var clippingClientRect=getClippingRect(isElement(element) ? element:element.contextElement||getDocumentElement(state.elements.popper), boundary, rootBoundary);
var referenceClientRect=getBoundingClientRect(referenceElement);
var popperOffsets=computeOffsets({
reference: referenceClientRect,
element: popperRect,
strategy: 'absolute',
placement: placement
});
var popperClientRect=rectToClientRect(Object.assign({}, popperRect, popperOffsets));
var elementClientRect=elementContext===popper ? popperClientRect:referenceClientRect;
var overflowOffsets={
top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
right: elementClientRect.right - clippingClientRect.right + paddingObject.right
};
var offsetData=state.modifiersData.offset;
if(elementContext===popper&&offsetData){
var offset=offsetData[placement];
Object.keys(overflowOffsets).forEach(function (key){
var multiply=[right, bottom].indexOf(key) >=0 ? 1:-1;
var axis=[top, bottom].indexOf(key) >=0 ? 'y':'x';
overflowOffsets[key] +=offset[axis] * multiply;
});
}
return overflowOffsets;
}
function computeAutoPlacement(state, options){
if(options===void 0){
options={};}
var _options=options,
placement=_options.placement,
boundary=_options.boundary,
rootBoundary=_options.rootBoundary,
padding=_options.padding,
flipVariations=_options.flipVariations,
_options$allowedAutoP=_options.allowedAutoPlacements,
allowedAutoPlacements=_options$allowedAutoP===void 0 ? placements:_options$allowedAutoP;
var variation=getVariation(placement);
var placements$1=variation ? flipVariations ? variationPlacements:variationPlacements.filter(function (placement){
return getVariation(placement)===variation;
}):basePlacements;
var allowedPlacements=placements$1.filter(function (placement){
return allowedAutoPlacements.indexOf(placement) >=0;
});
if(allowedPlacements.length===0){
allowedPlacements=placements$1;
}
var overflows=allowedPlacements.reduce(function (acc, placement){
acc[placement]=detectOverflow(state, {
placement: placement,
boundary: boundary,
rootBoundary: rootBoundary,
padding: padding
})[getBasePlacement(placement)];
return acc;
}, {});
return Object.keys(overflows).sort(function (a, b){
return overflows[a] - overflows[b];
});
}
function getExpandedFallbackPlacements(placement){
if(getBasePlacement(placement)===auto){
return [];
}
var oppositePlacement=getOppositePlacement(placement);
return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
}
function flip(_ref){
var state=_ref.state,
options=_ref.options,
name=_ref.name;
if(state.modifiersData[name]._skip){
return;
}
var _options$mainAxis=options.mainAxis,
checkMainAxis=_options$mainAxis===void 0 ? true:_options$mainAxis,
_options$altAxis=options.altAxis,
checkAltAxis=_options$altAxis===void 0 ? true:_options$altAxis,
specifiedFallbackPlacements=options.fallbackPlacements,
padding=options.padding,
boundary=options.boundary,
rootBoundary=options.rootBoundary,
altBoundary=options.altBoundary,
_options$flipVariatio=options.flipVariations,
flipVariations=_options$flipVariatio===void 0 ? true:_options$flipVariatio,
allowedAutoPlacements=options.allowedAutoPlacements;
var preferredPlacement=state.options.placement;
var basePlacement=getBasePlacement(preferredPlacement);
var isBasePlacement=basePlacement===preferredPlacement;
var fallbackPlacements=specifiedFallbackPlacements||(isBasePlacement||!flipVariations ? [getOppositePlacement(preferredPlacement)]:getExpandedFallbackPlacements(preferredPlacement));
var placements=[preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement){
return acc.concat(getBasePlacement(placement)===auto ? computeAutoPlacement(state, {
placement: placement,
boundary: boundary,
rootBoundary: rootBoundary,
padding: padding,
flipVariations: flipVariations,
allowedAutoPlacements: allowedAutoPlacements
}):placement);
}, []);
var referenceRect=state.rects.reference;
var popperRect=state.rects.popper;
var checksMap=new Map();
var makeFallbackChecks=true;
var firstFittingPlacement=placements[0];
for (var i=0; i < placements.length; i++){
var placement=placements[i];
var _basePlacement=getBasePlacement(placement);
var isStartVariation=getVariation(placement)===start;
var isVertical=[top, bottom].indexOf(_basePlacement) >=0;
var len=isVertical ? 'width':'height';
var overflow=detectOverflow(state, {
placement: placement,
boundary: boundary,
rootBoundary: rootBoundary,
altBoundary: altBoundary,
padding: padding
});
var mainVariationSide=isVertical ? isStartVariation ? right:left:isStartVariation ? bottom:top;
if(referenceRect[len] > popperRect[len]){
mainVariationSide=getOppositePlacement(mainVariationSide);
}
var altVariationSide=getOppositePlacement(mainVariationSide);
var checks=[];
if(checkMainAxis){
checks.push(overflow[_basePlacement] <=0);
}
if(checkAltAxis){
checks.push(overflow[mainVariationSide] <=0, overflow[altVariationSide] <=0);
}
if(checks.every(function (check){
return check;
})){
firstFittingPlacement=placement;
makeFallbackChecks=false;
break;
}
checksMap.set(placement, checks);
}
if(makeFallbackChecks){
var numberOfChecks=flipVariations ? 3:1;
var _loop=function _loop(_i){
var fittingPlacement=placements.find(function (placement){
var checks=checksMap.get(placement);
if(checks){
return checks.slice(0, _i).every(function (check){
return check;
});
}});
if(fittingPlacement){
firstFittingPlacement=fittingPlacement;
return "break";
}};
for (var _i=numberOfChecks; _i > 0; _i--){
var _ret=_loop(_i);
if(_ret==="break") break;
}}
if(state.placement!==firstFittingPlacement){
state.modifiersData[name]._skip=true;
state.placement=firstFittingPlacement;
state.reset=true;
}}
var flip$1={
name: 'flip',
enabled: true,
phase: 'main',
fn: flip,
requiresIfExists: ['offset'],
data: {
_skip: false
}};
function getSideOffsets(overflow, rect, preventedOffsets){
if(preventedOffsets===void 0){
preventedOffsets={
x: 0,
y: 0
};}
return {
top: overflow.top - rect.height - preventedOffsets.y,
right: overflow.right - rect.width + preventedOffsets.x,
bottom: overflow.bottom - rect.height + preventedOffsets.y,
left: overflow.left - rect.width - preventedOffsets.x
};}
function isAnySideFullyClipped(overflow){
return [top, right, bottom, left].some(function (side){
return overflow[side] >=0;
});
}
function hide$1(_ref){
var state=_ref.state,
name=_ref.name;
var referenceRect=state.rects.reference;
var popperRect=state.rects.popper;
var preventedOffsets=state.modifiersData.preventOverflow;
var referenceOverflow=detectOverflow(state, {
elementContext: 'reference'
});
var popperAltOverflow=detectOverflow(state, {
altBoundary: true
});
var referenceClippingOffsets=getSideOffsets(referenceOverflow, referenceRect);
var popperEscapeOffsets=getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
var isReferenceHidden=isAnySideFullyClipped(referenceClippingOffsets);
var hasPopperEscaped=isAnySideFullyClipped(popperEscapeOffsets);
state.modifiersData[name]={
referenceClippingOffsets: referenceClippingOffsets,
popperEscapeOffsets: popperEscapeOffsets,
isReferenceHidden: isReferenceHidden,
hasPopperEscaped: hasPopperEscaped
};
state.attributes.popper=Object.assign({}, state.attributes.popper, {
'data-popper-reference-hidden': isReferenceHidden,
'data-popper-escaped': hasPopperEscaped
});
}
var hide$2={
name: 'hide',
enabled: true,
phase: 'main',
requiresIfExists: ['preventOverflow'],
fn: hide$1
};
function distanceAndSkiddingToXY(placement, rects, offset){
var basePlacement=getBasePlacement(placement);
var invertDistance=[left, top].indexOf(basePlacement) >=0 ? -1:1;
var _ref=typeof offset==='function' ? offset(Object.assign({}, rects, {
placement: placement
})):offset,
skidding=_ref[0],
distance=_ref[1];
skidding=skidding||0;
distance=(distance||0) * invertDistance;
return [left, right].indexOf(basePlacement) >=0 ? {
x: distance,
y: skidding
}:{
x: skidding,
y: distance
};}
function offset(_ref2){
var state=_ref2.state,
options=_ref2.options,
name=_ref2.name;
var _options$offset=options.offset,
offset=_options$offset===void 0 ? [0, 0]:_options$offset;
var data=placements.reduce(function (acc, placement){
acc[placement]=distanceAndSkiddingToXY(placement, state.rects, offset);
return acc;
}, {});
var _data$state$placement=data[state.placement],
x=_data$state$placement.x,
y=_data$state$placement.y;
if(state.modifiersData.popperOffsets!=null){
state.modifiersData.popperOffsets.x +=x;
state.modifiersData.popperOffsets.y +=y;
}
state.modifiersData[name]=data;
}
var offset$1={
name: 'offset',
enabled: true,
phase: 'main',
requires: ['popperOffsets'],
fn: offset
};
function popperOffsets(_ref){
var state=_ref.state,
name=_ref.name;
state.modifiersData[name]=computeOffsets({
reference: state.rects.reference,
element: state.rects.popper,
strategy: 'absolute',
placement: state.placement
});
}
var popperOffsets$1={
name: 'popperOffsets',
enabled: true,
phase: 'read',
fn: popperOffsets,
data: {}};
function getAltAxis(axis){
return axis==='x' ? 'y':'x';
}
function preventOverflow(_ref){
var state=_ref.state,
options=_ref.options,
name=_ref.name;
var _options$mainAxis=options.mainAxis,
checkMainAxis=_options$mainAxis===void 0 ? true:_options$mainAxis,
_options$altAxis=options.altAxis,
checkAltAxis=_options$altAxis===void 0 ? false:_options$altAxis,
boundary=options.boundary,
rootBoundary=options.rootBoundary,
altBoundary=options.altBoundary,
padding=options.padding,
_options$tether=options.tether,
tether=_options$tether===void 0 ? true:_options$tether,
_options$tetherOffset=options.tetherOffset,
tetherOffset=_options$tetherOffset===void 0 ? 0:_options$tetherOffset;
var overflow=detectOverflow(state, {
boundary: boundary,
rootBoundary: rootBoundary,
padding: padding,
altBoundary: altBoundary
});
var basePlacement=getBasePlacement(state.placement);
var variation=getVariation(state.placement);
var isBasePlacement = !variation;
var mainAxis=getMainAxisFromPlacement(basePlacement);
var altAxis=getAltAxis(mainAxis);
var popperOffsets=state.modifiersData.popperOffsets;
var referenceRect=state.rects.reference;
var popperRect=state.rects.popper;
var tetherOffsetValue=typeof tetherOffset==='function' ? tetherOffset(Object.assign({}, state.rects, {
placement: state.placement
})):tetherOffset;
var data={
x: 0,
y: 0
};
if(!popperOffsets){
return;
}
if(checkMainAxis||checkAltAxis){
var mainSide=mainAxis==='y' ? top:left;
var altSide=mainAxis==='y' ? bottom:right;
var len=mainAxis==='y' ? 'height':'width';
var offset=popperOffsets[mainAxis];
var min$1=popperOffsets[mainAxis] + overflow[mainSide];
var max$1=popperOffsets[mainAxis] - overflow[altSide];
var additive=tether ? -popperRect[len] / 2:0;
var minLen=variation===start ? referenceRect[len]:popperRect[len];
var maxLen=variation===start ? -popperRect[len]:-referenceRect[len];
var arrowElement=state.elements.arrow;
var arrowRect=tether&&arrowElement ? getLayoutRect(arrowElement):{
width: 0,
height: 0
};
var arrowPaddingObject=state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding:getFreshSideObject();
var arrowPaddingMin=arrowPaddingObject[mainSide];
var arrowPaddingMax=arrowPaddingObject[altSide];
var arrowLen=within(0, referenceRect[len], arrowRect[len]);
var minOffset=isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue:minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
var maxOffset=isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue:maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
var arrowOffsetParent=state.elements.arrow&&getOffsetParent(state.elements.arrow);
var clientOffset=arrowOffsetParent ? mainAxis==='y' ? arrowOffsetParent.clientTop||0:arrowOffsetParent.clientLeft||0:0;
var offsetModifierValue=state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis]:0;
var tetherMin=popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
var tetherMax=popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
if(checkMainAxis){
var preventedOffset=within(tether ? min(min$1, tetherMin):min$1, offset, tether ? max(max$1, tetherMax):max$1);
popperOffsets[mainAxis]=preventedOffset;
data[mainAxis]=preventedOffset - offset;
}
if(checkAltAxis){
var _mainSide=mainAxis==='x' ? top:left;
var _altSide=mainAxis==='x' ? bottom:right;
var _offset=popperOffsets[altAxis];
var _min=_offset + overflow[_mainSide];
var _max=_offset - overflow[_altSide];
var _preventedOffset=within(tether ? min(_min, tetherMin):_min, _offset, tether ? max(_max, tetherMax):_max);
popperOffsets[altAxis]=_preventedOffset;
data[altAxis]=_preventedOffset - _offset;
}}
state.modifiersData[name]=data;
}
var preventOverflow$1={
name: 'preventOverflow',
enabled: true,
phase: 'main',
fn: preventOverflow,
requiresIfExists: ['offset']
};
function getHTMLElementScroll(element){
return {
scrollLeft: element.scrollLeft,
scrollTop: element.scrollTop
};}
function getNodeScroll(node){
if(node===getWindow(node)||!isHTMLElement(node)){
return getWindowScroll(node);
}else{
return getHTMLElementScroll(node);
}}
function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed){
if(isFixed===void 0){
isFixed=false;
}
var documentElement=getDocumentElement(offsetParent);
var rect=getBoundingClientRect(elementOrVirtualElement);
var isOffsetParentAnElement=isHTMLElement(offsetParent);
var scroll={
scrollLeft: 0,
scrollTop: 0
};
var offsets={
x: 0,
y: 0
};
if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed){
if(getNodeName(offsetParent)!=='body'||// https://github.com/popperjs/popper-core/issues/1078
isScrollParent(documentElement)){
scroll=getNodeScroll(offsetParent);
}
if(isHTMLElement(offsetParent)){
offsets=getBoundingClientRect(offsetParent);
offsets.x +=offsetParent.clientLeft;
offsets.y +=offsetParent.clientTop;
}else if(documentElement){
offsets.x=getWindowScrollBarX(documentElement);
}}
return {
x: rect.left + scroll.scrollLeft - offsets.x,
y: rect.top + scroll.scrollTop - offsets.y,
width: rect.width,
height: rect.height
};}
function order(modifiers){
var map=new Map();
var visited=new Set();
var result=[];
modifiers.forEach(function (modifier){
map.set(modifier.name, modifier);
});
function sort(modifier){
visited.add(modifier.name);
var requires=[].concat(modifier.requires||[], modifier.requiresIfExists||[]);
requires.forEach(function (dep){
if(!visited.has(dep)){
var depModifier=map.get(dep);
if(depModifier){
sort(depModifier);
}}
});
result.push(modifier);
}
modifiers.forEach(function (modifier){
if(!visited.has(modifier.name)){
sort(modifier);
}});
return result;
}
function orderModifiers(modifiers){
var orderedModifiers=order(modifiers);
return modifierPhases.reduce(function (acc, phase){
return acc.concat(orderedModifiers.filter(function (modifier){
return modifier.phase===phase;
}));
}, []);
}
function debounce(fn){
var pending;
return function (){
if(!pending){
pending=new Promise(function (resolve){
Promise.resolve().then(function (){
pending=undefined;
resolve(fn());
});
});
}
return pending;
};}
function mergeByName(modifiers){
var merged=modifiers.reduce(function (merged, current){
var existing=merged[current.name];
merged[current.name]=existing ? Object.assign({}, existing, current, {
options: Object.assign({}, existing.options, current.options),
data: Object.assign({}, existing.data, current.data)
}):current;
return merged;
}, {});
return Object.keys(merged).map(function (key){
return merged[key];
});
}
var DEFAULT_OPTIONS={
placement: 'bottom',
modifiers: [],
strategy: 'absolute'
};
function areValidElements(){
for (var _len=arguments.length, args=new Array(_len), _key=0; _key < _len; _key++){
args[_key]=arguments[_key];
}
return !args.some(function (element){
return !(element&&typeof element.getBoundingClientRect==='function');
});
}
function popperGenerator(generatorOptions){
if(generatorOptions===void 0){
generatorOptions={};}
var _generatorOptions=generatorOptions,
_generatorOptions$def=_generatorOptions.defaultModifiers,
defaultModifiers=_generatorOptions$def===void 0 ? []:_generatorOptions$def,
_generatorOptions$def2=_generatorOptions.defaultOptions,
defaultOptions=_generatorOptions$def2===void 0 ? DEFAULT_OPTIONS:_generatorOptions$def2;
return function createPopper(reference, popper, options){
if(options===void 0){
options=defaultOptions;
}
var state={
placement: 'bottom',
orderedModifiers: [],
options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
modifiersData: {},
elements: {
reference: reference,
popper: popper
},
attributes: {},
styles: {}};
var effectCleanupFns=[];
var isDestroyed=false;
var instance={
state: state,
setOptions: function setOptions(options){
cleanupModifierEffects();
state.options=Object.assign({}, defaultOptions, state.options, options);
state.scrollParents={
reference: isElement(reference) ? listScrollParents(reference):reference.contextElement ? listScrollParents(reference.contextElement):[],
popper: listScrollParents(popper)
};
var orderedModifiers=orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers)));
state.orderedModifiers=orderedModifiers.filter(function (m){
return m.enabled;
});
runModifierEffects();
return instance.update();
},
forceUpdate: function forceUpdate(){
if(isDestroyed){
return;
}
var _state$elements=state.elements,
reference=_state$elements.reference,
popper=_state$elements.popper;
if(!areValidElements(reference, popper)){
return;
}
state.rects={
reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy==='fixed'),
popper: getLayoutRect(popper)
};
state.reset=false;
state.placement=state.options.placement;
state.orderedModifiers.forEach(function (modifier){
return state.modifiersData[modifier.name]=Object.assign({}, modifier.data);
});
for (var index=0; index < state.orderedModifiers.length; index++){
if(state.reset===true){
state.reset=false;
index=-1;
continue;
}
var _state$orderedModifie=state.orderedModifiers[index],
fn=_state$orderedModifie.fn,
_state$orderedModifie2=_state$orderedModifie.options,
_options=_state$orderedModifie2===void 0 ? {}:_state$orderedModifie2,
name=_state$orderedModifie.name;
if(typeof fn==='function'){
state=fn({
state: state,
options: _options,
name: name,
instance: instance
})||state;
}}
},
update: debounce(function (){
return new Promise(function (resolve){
instance.forceUpdate();
resolve(state);
});
}),
destroy: function destroy(){
cleanupModifierEffects();
isDestroyed=true;
}};
if(!areValidElements(reference, popper)){
return instance;
}
instance.setOptions(options).then(function (state){
if(!isDestroyed&&options.onFirstUpdate){
options.onFirstUpdate(state);
}});
function runModifierEffects(){
state.orderedModifiers.forEach(function (_ref3){
var name=_ref3.name,
_ref3$options=_ref3.options,
options=_ref3$options===void 0 ? {}:_ref3$options,
effect=_ref3.effect;
if(typeof effect==='function'){
var cleanupFn=effect({
state: state,
name: name,
instance: instance,
options: options
});
var noopFn=function noopFn(){};
effectCleanupFns.push(cleanupFn||noopFn);
}});
}
function cleanupModifierEffects(){
effectCleanupFns.forEach(function (fn){
return fn();
});
effectCleanupFns=[];
}
return instance;
};}
var createPopper$2=popperGenerator();
var defaultModifiers$1=[eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1];
var createPopper$1=popperGenerator({
defaultModifiers: defaultModifiers$1
});
var defaultModifiers=[eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$2];
var createPopper=popperGenerator({
defaultModifiers: defaultModifiers
});
var Popper=Object.freeze({
__proto__: null,
popperGenerator: popperGenerator,
detectOverflow: detectOverflow,
createPopperBase: createPopper$2,
createPopper: createPopper,
createPopperLite: createPopper$1,
top: top,
bottom: bottom,
right: right,
left: left,
auto: auto,
basePlacements: basePlacements,
start: start,
end: end,
clippingParents: clippingParents,
viewport: viewport,
popper: popper,
reference: reference,
variationPlacements: variationPlacements,
placements: placements,
beforeRead: beforeRead,
read: read,
afterRead: afterRead,
beforeMain: beforeMain,
main: main,
afterMain: afterMain,
beforeWrite: beforeWrite,
write: write,
afterWrite: afterWrite,
modifierPhases: modifierPhases,
applyStyles: applyStyles$1,
arrow: arrow$1,
computeStyles: computeStyles$1,
eventListeners: eventListeners,
flip: flip$1,
hide: hide$2,
offset: offset$1,
popperOffsets: popperOffsets$1,
preventOverflow: preventOverflow$1
});
const NAME$8='dropdown';
const DATA_KEY$7='bs.dropdown';
const EVENT_KEY$7=`.${DATA_KEY$7}`;
const DATA_API_KEY$4='.data-api';
const ESCAPE_KEY$2='Escape';
const SPACE_KEY='Space';
const TAB_KEY='Tab';
const ARROW_UP_KEY='ArrowUp';
const ARROW_DOWN_KEY='ArrowDown';
const RIGHT_MOUSE_BUTTON=2;
const REGEXP_KEYDOWN=new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY$2}`);
const EVENT_HIDE$4=`hide${EVENT_KEY$7}`;
const EVENT_HIDDEN$4=`hidden${EVENT_KEY$7}`;
const EVENT_SHOW$4=`show${EVENT_KEY$7}`;
const EVENT_SHOWN$4=`shown${EVENT_KEY$7}`;
const EVENT_CLICK=`click${EVENT_KEY$7}`;
const EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$7}${DATA_API_KEY$4}`;
const EVENT_KEYDOWN_DATA_API=`keydown${EVENT_KEY$7}${DATA_API_KEY$4}`;
const EVENT_KEYUP_DATA_API=`keyup${EVENT_KEY$7}${DATA_API_KEY$4}`;
const CLASS_NAME_SHOW$7='show';
const CLASS_NAME_DROPUP='dropup';
const CLASS_NAME_DROPEND='dropend';
const CLASS_NAME_DROPSTART='dropstart';
const CLASS_NAME_NAVBAR='navbar';
const SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="dropdown"]';
const SELECTOR_MENU='.dropdown-menu';
const SELECTOR_NAVBAR_NAV='.navbar-nav';
const SELECTOR_VISIBLE_ITEMS='.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
const PLACEMENT_TOP=isRTL() ? 'top-end':'top-start';
const PLACEMENT_TOPEND=isRTL() ? 'top-start':'top-end';
const PLACEMENT_BOTTOM=isRTL() ? 'bottom-end':'bottom-start';
const PLACEMENT_BOTTOMEND=isRTL() ? 'bottom-start':'bottom-end';
const PLACEMENT_RIGHT=isRTL() ? 'left-start':'right-start';
const PLACEMENT_LEFT=isRTL() ? 'right-start':'left-start';
const Default$7={
offset: [0, 2],
boundary: 'clippingParents',
reference: 'toggle',
display: 'dynamic',
popperConfig: null,
autoClose: true
};
const DefaultType$7={
offset: '(array|string|function)',
boundary: '(string|element)',
reference: '(string|element|object)',
display: 'string',
popperConfig: '(null|object|function)',
autoClose: '(boolean|string)'
};
class Dropdown extends BaseComponent {
constructor(element, config){
super(element);
this._popper=null;
this._config=this._getConfig(config);
this._menu=this._getMenuElement();
this._inNavbar=this._detectNavbar();
this._addEventListeners();
}
static get Default(){
return Default$7;
}
static get DefaultType(){
return DefaultType$7;
}
static get NAME(){
return NAME$8;
}
toggle(){
if(isDisabled(this._element)){
return;
}
const isActive=this._element.classList.contains(CLASS_NAME_SHOW$7);
if(isActive){
this.hide();
return;
}
this.show();
}
show(){
if(isDisabled(this._element)||this._menu.classList.contains(CLASS_NAME_SHOW$7)){
return;
}
const parent=Dropdown.getParentFromElement(this._element);
const relatedTarget={
relatedTarget: this._element
};
const showEvent=EventHandler.trigger(this._element, EVENT_SHOW$4, relatedTarget);
if(showEvent.defaultPrevented){
return;
}
if(this._inNavbar){
Manipulator.setDataAttribute(this._menu, 'popper', 'none');
}else{
if(typeof Popper==='undefined'){
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
}
let referenceElement=this._element;
if(this._config.reference==='parent'){
referenceElement=parent;
}else if(isElement$1(this._config.reference)){
referenceElement=getElement(this._config.reference);
}else if(typeof this._config.reference==='object'){
referenceElement=this._config.reference;
}
const popperConfig=this._getPopperConfig();
const isDisplayStatic=popperConfig.modifiers.find(modifier=> modifier.name==='applyStyles'&&modifier.enabled===false);
this._popper=createPopper(referenceElement, this._menu, popperConfig);
if(isDisplayStatic){
Manipulator.setDataAttribute(this._menu, 'popper', 'static');
}}
if('ontouchstart' in document.documentElement&&!parent.closest(SELECTOR_NAVBAR_NAV)){
[].concat(...document.body.children).forEach(elem=> EventHandler.on(elem, 'mouseover', noop));
}
this._element.focus();
this._element.setAttribute('aria-expanded', true);
this._menu.classList.toggle(CLASS_NAME_SHOW$7);
this._element.classList.toggle(CLASS_NAME_SHOW$7);
EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);
}
hide(){
if(isDisabled(this._element)||!this._menu.classList.contains(CLASS_NAME_SHOW$7)){
return;
}
const relatedTarget={
relatedTarget: this._element
};
this._completeHide(relatedTarget);
}
dispose(){
if(this._popper){
this._popper.destroy();
}
super.dispose();
}
update(){
this._inNavbar=this._detectNavbar();
if(this._popper){
this._popper.update();
}}
_addEventListeners(){
EventHandler.on(this._element, EVENT_CLICK, event=> {
event.preventDefault();
this.toggle();
});
}
_completeHide(relatedTarget){
const hideEvent=EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget);
if(hideEvent.defaultPrevented){
return;
}
if('ontouchstart' in document.documentElement){
[].concat(...document.body.children).forEach(elem=> EventHandler.off(elem, 'mouseover', noop));
}
if(this._popper){
this._popper.destroy();
}
this._menu.classList.remove(CLASS_NAME_SHOW$7);
this._element.classList.remove(CLASS_NAME_SHOW$7);
this._element.setAttribute('aria-expanded', 'false');
Manipulator.removeDataAttribute(this._menu, 'popper');
EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget);
}
_getConfig(config){
config={ ...this.constructor.Default,
...Manipulator.getDataAttributes(this._element),
...config
};
typeCheckConfig(NAME$8, config, this.constructor.DefaultType);
if(typeof config.reference==='object'&&!isElement$1(config.reference)&&typeof config.reference.getBoundingClientRect!=='function'){
throw new TypeError(`${NAME$8.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
}
return config;
}
_getMenuElement(){
return SelectorEngine.next(this._element, SELECTOR_MENU)[0];
}
_getPlacement(){
const parentDropdown=this._element.parentNode;
if(parentDropdown.classList.contains(CLASS_NAME_DROPEND)){
return PLACEMENT_RIGHT;
}
if(parentDropdown.classList.contains(CLASS_NAME_DROPSTART)){
return PLACEMENT_LEFT;
}
const isEnd=getComputedStyle(this._menu).getPropertyValue('--bs-position').trim()==='end';
if(parentDropdown.classList.contains(CLASS_NAME_DROPUP)){
return isEnd ? PLACEMENT_TOPEND:PLACEMENT_TOP;
}
return isEnd ? PLACEMENT_BOTTOMEND:PLACEMENT_BOTTOM;
}
_detectNavbar(){
return this._element.closest(`.${CLASS_NAME_NAVBAR}`)!==null;
}
_getOffset(){
const {
offset
}=this._config;
if(typeof offset==='string'){
return offset.split(',').map(val=> Number.parseInt(val, 10));
}
if(typeof offset==='function'){
return popperData=> offset(popperData, this._element);
}
return offset;
}
_getPopperConfig(){
const defaultBsPopperConfig={
placement: this._getPlacement(),
modifiers: [{
name: 'preventOverflow',
options: {
boundary: this._config.boundary
}}, {
name: 'offset',
options: {
offset: this._getOffset()
}}]
};
if(this._config.display==='static'){
defaultBsPopperConfig.modifiers=[{
name: 'applyStyles',
enabled: false
}];
}
return { ...defaultBsPopperConfig,
...(typeof this._config.popperConfig==='function' ? this._config.popperConfig(defaultBsPopperConfig):this._config.popperConfig)
};}
_selectMenuItem(event){
const items=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
if(!items.length){
return;
}
let index=items.indexOf(event.target);
if(event.key===ARROW_UP_KEY&&index > 0){
index--;
}
if(event.key===ARROW_DOWN_KEY&&index < items.length - 1){
index++;
}
index=index===-1 ? 0:index;
items[index].focus();
}
static dropdownInterface(element, config){
let data=Data.get(element, DATA_KEY$7);
const _config=typeof config==='object' ? config:null;
if(!data){
data=new Dropdown(element, _config);
}
if(typeof config==='string'){
if(typeof data[config]==='undefined'){
throw new TypeError(`No method named "${config}"`);
}
data[config]();
}}
static jQueryInterface(config){
return this.each(function (){
Dropdown.dropdownInterface(this, config);
});
}
static clearMenus(event){
if(event&&(event.button===RIGHT_MOUSE_BUTTON||event.type==='keyup'&&event.key!==TAB_KEY)){
return;
}
const toggles=SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
for (let i=0, len=toggles.length; i < len; i++){
const context=Data.get(toggles[i], DATA_KEY$7);
if(!context||context._config.autoClose===false){
continue;
}
if(!context._element.classList.contains(CLASS_NAME_SHOW$7)){
continue;
}
const relatedTarget={
relatedTarget: context._element
};
if(event){
const composedPath=event.composedPath();
const isMenuTarget=composedPath.includes(context._menu);
if(composedPath.includes(context._element)||context._config.autoClose==='inside'&&!isMenuTarget||context._config.autoClose==='outside'&&isMenuTarget){
continue;
}
if(context._menu.contains(event.target)&&(event.type==='keyup'&&event.key===TAB_KEY||/input|select|option|textarea|form/i.test(event.target.tagName))){
continue;
}
if(event.type==='click'){
relatedTarget.clickEvent=event;
}}
context._completeHide(relatedTarget);
}}
static getParentFromElement(element){
return getElementFromSelector(element)||element.parentNode;
}
static dataApiKeydownHandler(event){
if(/input|textarea/i.test(event.target.tagName) ? event.key===SPACE_KEY||event.key!==ESCAPE_KEY$2&&(event.key!==ARROW_DOWN_KEY&&event.key!==ARROW_UP_KEY||event.target.closest(SELECTOR_MENU)):!REGEXP_KEYDOWN.test(event.key)){
return;
}
const isActive=this.classList.contains(CLASS_NAME_SHOW$7);
if(!isActive&&event.key===ESCAPE_KEY$2){
return;
}
event.preventDefault();
event.stopPropagation();
if(isDisabled(this)){
return;
}
const getToggleButton=()=> this.matches(SELECTOR_DATA_TOGGLE$3) ? this:SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0];
if(event.key===ESCAPE_KEY$2){
getToggleButton().focus();
Dropdown.clearMenus();
return;
}
if(!isActive&&(event.key===ARROW_UP_KEY||event.key===ARROW_DOWN_KEY)){
getToggleButton().click();
return;
}
if(!isActive||event.key===SPACE_KEY){
Dropdown.clearMenus();
return;
}
Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
}}
EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);
EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event){
event.preventDefault();
Dropdown.dropdownInterface(this);
});
defineJQueryPlugin(Dropdown);
const SELECTOR_FIXED_CONTENT='.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
const SELECTOR_STICKY_CONTENT='.sticky-top';
const getWidth=()=> {
const documentWidth=document.documentElement.clientWidth;
return Math.abs(window.innerWidth - documentWidth);
};
const hide=(width=getWidth())=> {
_disableOverFlow();
_setElementAttributes('body', 'paddingRight', calculatedValue=> calculatedValue + width);
_setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue=> calculatedValue + width);
_setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue=> calculatedValue - width);
};
const _disableOverFlow=()=> {
const actualValue=document.body.style.overflow;
if(actualValue){
Manipulator.setDataAttribute(document.body, 'overflow', actualValue);
}
document.body.style.overflow='hidden';
};
const _setElementAttributes=(selector, styleProp, callback)=> {
const scrollbarWidth=getWidth();
SelectorEngine.find(selector).forEach(element=> {
if(element!==document.body&&window.innerWidth > element.clientWidth + scrollbarWidth){
return;
}
const actualValue=element.style[styleProp];
const calculatedValue=window.getComputedStyle(element)[styleProp];
Manipulator.setDataAttribute(element, styleProp, actualValue);
element.style[styleProp]=`${callback(Number.parseFloat(calculatedValue))}px`;
});
};
const reset=()=> {
_resetElementAttributes('body', 'overflow');
_resetElementAttributes('body', 'paddingRight');
_resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
_resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
};
const _resetElementAttributes=(selector, styleProp)=> {
SelectorEngine.find(selector).forEach(element=> {
const value=Manipulator.getDataAttribute(element, styleProp);
if(typeof value==='undefined'){
element.style.removeProperty(styleProp);
}else{
Manipulator.removeDataAttribute(element, styleProp);
element.style[styleProp]=value;
}});
};
const uriAttrs=new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i;
const SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i;
const DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
const allowedAttribute=(attr, allowedAttributeList)=> {
const attrName=attr.nodeName.toLowerCase();
if(allowedAttributeList.includes(attrName)){
if(uriAttrs.has(attrName)){
return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue)||DATA_URL_PATTERN.test(attr.nodeValue));
}
return true;
}
const regExp=allowedAttributeList.filter(attrRegex=> attrRegex instanceof RegExp);
for (let i=0, len=regExp.length; i < len; i++){
if(regExp[i].test(attrName)){
return true;
}}
return false;
};
const DefaultAllowlist={
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
a: ['target', 'href', 'title', 'rel'],
area: [],
b: [],
br: [],
col: [],
code: [],
div: [],
em: [],
hr: [],
h1: [],
h2: [],
h3: [],
h4: [],
h5: [],
h6: [],
i: [],
img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
pre: [],
s: [],
small: [],
span: [],
sub: [],
sup: [],
strong: [],
u: [],
ul: []
};
function sanitizeHtml(unsafeHtml, allowList, sanitizeFn){
if(!unsafeHtml.length){
return unsafeHtml;
}
if(sanitizeFn&&typeof sanitizeFn==='function'){
return sanitizeFn(unsafeHtml);
}
const domParser=new window.DOMParser();
const createdDocument=domParser.parseFromString(unsafeHtml, 'text/html');
const allowlistKeys=Object.keys(allowList);
const elements=[].concat(...createdDocument.body.querySelectorAll('*'));
for (let i=0, len=elements.length; i < len; i++){
const el=elements[i];
const elName=el.nodeName.toLowerCase();
if(!allowlistKeys.includes(elName)){
el.parentNode.removeChild(el);
continue;
}
const attributeList=[].concat(...el.attributes);
const allowedAttributes=[].concat(allowList['*']||[], allowList[elName]||[]);
attributeList.forEach(attr=> {
if(!allowedAttribute(attr, allowedAttributes)){
el.removeAttribute(attr.nodeName);
}});
}
return createdDocument.body.innerHTML;
}
const NAME$4='tooltip';
const DATA_KEY$4='bs.tooltip';
const EVENT_KEY$4=`.${DATA_KEY$4}`;
const CLASS_PREFIX$1='bs-tooltip';
const BSCLS_PREFIX_REGEX$1=new RegExp(`(^|\\s)${CLASS_PREFIX$1}\\S+`, 'g');
const DISALLOWED_ATTRIBUTES=new Set(['sanitize', 'allowList', 'sanitizeFn']);
const DefaultType$3={
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: '(array|string|function)',
container: '(string|element|boolean)',
fallbackPlacements: 'array',
boundary: '(string|element)',
customClass: '(string|function)',
sanitize: 'boolean',
sanitizeFn: '(null|function)',
allowList: 'object',
popperConfig: '(null|object|function)'
};
const AttachmentMap={
AUTO: 'auto',
TOP: 'top',
RIGHT: isRTL() ? 'left':'right',
BOTTOM: 'bottom',
LEFT: isRTL() ? 'right':'left'
};
const Default$3={
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: [0, 6],
container: false,
fallbackPlacements: ['top', 'right', 'bottom', 'left'],
boundary: 'clippingParents',
customClass: '',
sanitize: true,
sanitizeFn: null,
allowList: DefaultAllowlist,
popperConfig: null
};
const Event$2={
HIDE: `hide${EVENT_KEY$4}`,
HIDDEN: `hidden${EVENT_KEY$4}`,
SHOW: `show${EVENT_KEY$4}`,
SHOWN: `shown${EVENT_KEY$4}`,
INSERTED: `inserted${EVENT_KEY$4}`,
CLICK: `click${EVENT_KEY$4}`,
FOCUSIN: `focusin${EVENT_KEY$4}`,
FOCUSOUT: `focusout${EVENT_KEY$4}`,
MOUSEENTER: `mouseenter${EVENT_KEY$4}`,
MOUSELEAVE: `mouseleave${EVENT_KEY$4}`
};
const CLASS_NAME_FADE$3='fade';
const CLASS_NAME_MODAL='modal';
const CLASS_NAME_SHOW$3='show';
const HOVER_STATE_SHOW='show';
const HOVER_STATE_OUT='out';
const SELECTOR_TOOLTIP_INNER='.tooltip-inner';
const TRIGGER_HOVER='hover';
const TRIGGER_FOCUS='focus';
const TRIGGER_CLICK='click';
const TRIGGER_MANUAL='manual';
class Tooltip extends BaseComponent {
constructor(element, config){
if(typeof Popper==='undefined'){
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
}
super(element);
this._isEnabled=true;
this._timeout=0;
this._hoverState='';
this._activeTrigger={};
this._popper=null;
this._config=this._getConfig(config);
this.tip=null;
this._setListeners();
}
static get Default(){
return Default$3;
}
static get NAME(){
return NAME$4;
}
static get Event(){
return Event$2;
}
static get DefaultType(){
return DefaultType$3;
}
enable(){
this._isEnabled=true;
}
disable(){
this._isEnabled=false;
}
toggleEnabled(){
this._isEnabled = !this._isEnabled;
}
toggle(event){
if(!this._isEnabled){
return;
}
if(event){
const context=this._initializeOnDelegatedTarget(event);
context._activeTrigger.click = !context._activeTrigger.click;
if(context._isWithActiveTrigger()){
context._enter(null, context);
}else{
context._leave(null, context);
}}else{
if(this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)){
this._leave(null, this);
return;
}
this._enter(null, this);
}}
dispose(){
clearTimeout(this._timeout);
EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
if(this.tip&&this.tip.parentNode){
this.tip.parentNode.removeChild(this.tip);
}
if(this._popper){
this._popper.destroy();
}
super.dispose();
}
show(){
if(this._element.style.display==='none'){
throw new Error('Please use show on visible elements');
}
if(!(this.isWithContent()&&this._isEnabled)){
return;
}
const showEvent=EventHandler.trigger(this._element, this.constructor.Event.SHOW);
const shadowRoot=findShadowRoot(this._element);
const isInTheDom=shadowRoot===null ? this._element.ownerDocument.documentElement.contains(this._element):shadowRoot.contains(this._element);
if(showEvent.defaultPrevented||!isInTheDom){
return;
}
const tip=this.getTipElement();
const tipId=getUID(this.constructor.NAME);
tip.setAttribute('id', tipId);
this._element.setAttribute('aria-describedby', tipId);
this.setContent();
if(this._config.animation){
tip.classList.add(CLASS_NAME_FADE$3);
}
const placement=typeof this._config.placement==='function' ? this._config.placement.call(this, tip, this._element):this._config.placement;
const attachment=this._getAttachment(placement);
this._addAttachmentClass(attachment);
const {
container
}=this._config;
Data.set(tip, this.constructor.DATA_KEY, this);
if(!this._element.ownerDocument.documentElement.contains(this.tip)){
container.appendChild(tip);
EventHandler.trigger(this._element, this.constructor.Event.INSERTED);
}
if(this._popper){
this._popper.update();
}else{
this._popper=createPopper(this._element, tip, this._getPopperConfig(attachment));
}
tip.classList.add(CLASS_NAME_SHOW$3);
const customClass=typeof this._config.customClass==='function' ? this._config.customClass():this._config.customClass;
if(customClass){
tip.classList.add(...customClass.split(' '));
}
if('ontouchstart' in document.documentElement){
[].concat(...document.body.children).forEach(element=> {
EventHandler.on(element, 'mouseover', noop);
});
}
const complete=()=> {
const prevHoverState=this._hoverState;
this._hoverState=null;
EventHandler.trigger(this._element, this.constructor.Event.SHOWN);
if(prevHoverState===HOVER_STATE_OUT){
this._leave(null, this);
}};
const isAnimated=this.tip.classList.contains(CLASS_NAME_FADE$3);
this._queueCallback(complete, this.tip, isAnimated);
}
hide(){
if(!this._popper){
return;
}
const tip=this.getTipElement();
const complete=()=> {
if(this._isWithActiveTrigger()){
return;
}
if(this._hoverState!==HOVER_STATE_SHOW&&tip.parentNode){
tip.parentNode.removeChild(tip);
}
this._cleanTipClass();
this._element.removeAttribute('aria-describedby');
EventHandler.trigger(this._element, this.constructor.Event.HIDDEN);
if(this._popper){
this._popper.destroy();
this._popper=null;
}};
const hideEvent=EventHandler.trigger(this._element, this.constructor.Event.HIDE);
if(hideEvent.defaultPrevented){
return;
}
tip.classList.remove(CLASS_NAME_SHOW$3);
if('ontouchstart' in document.documentElement){
[].concat(...document.body.children).forEach(element=> EventHandler.off(element, 'mouseover', noop));
}
this._activeTrigger[TRIGGER_CLICK]=false;
this._activeTrigger[TRIGGER_FOCUS]=false;
this._activeTrigger[TRIGGER_HOVER]=false;
const isAnimated=this.tip.classList.contains(CLASS_NAME_FADE$3);
this._queueCallback(complete, this.tip, isAnimated);
this._hoverState='';
}
update(){
if(this._popper!==null){
this._popper.update();
}}
isWithContent(){
return Boolean(this.getTitle());
}
getTipElement(){
if(this.tip){
return this.tip;
}
const element=document.createElement('div');
element.innerHTML=this._config.template;
this.tip=element.children[0];
return this.tip;
}
setContent(){
const tip=this.getTipElement();
this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
tip.classList.remove(CLASS_NAME_FADE$3, CLASS_NAME_SHOW$3);
}
setElementContent(element, content){
if(element===null){
return;
}
if(isElement$1(content)){
content=getElement(content);
if(this._config.html){
if(content.parentNode!==element){
element.innerHTML='';
element.appendChild(content);
}}else{
element.textContent=content.textContent;
}
return;
}
if(this._config.html){
if(this._config.sanitize){
content=sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn);
}
element.innerHTML=content;
}else{
element.textContent=content;
}}
getTitle(){
let title=this._element.getAttribute('data-bs-original-title');
if(!title){
title=typeof this._config.title==='function' ? this._config.title.call(this._element):this._config.title;
}
return title;
}
updateAttachment(attachment){
if(attachment==='right'){
return 'end';
}
if(attachment==='left'){
return 'start';
}
return attachment;
}
_initializeOnDelegatedTarget(event, context){
const dataKey=this.constructor.DATA_KEY;
context=context||Data.get(event.delegateTarget, dataKey);
if(!context){
context=new this.constructor(event.delegateTarget, this._getDelegateConfig());
Data.set(event.delegateTarget, dataKey, context);
}
return context;
}
_getOffset(){
const {
offset
}=this._config;
if(typeof offset==='string'){
return offset.split(',').map(val=> Number.parseInt(val, 10));
}
if(typeof offset==='function'){
return popperData=> offset(popperData, this._element);
}
return offset;
}
_getPopperConfig(attachment){
const defaultBsPopperConfig={
placement: attachment,
modifiers: [{
name: 'flip',
options: {
fallbackPlacements: this._config.fallbackPlacements
}}, {
name: 'offset',
options: {
offset: this._getOffset()
}}, {
name: 'preventOverflow',
options: {
boundary: this._config.boundary
}}, {
name: 'arrow',
options: {
element: `.${this.constructor.NAME}-arrow`
}}, {
name: 'onChange',
enabled: true,
phase: 'beforeMain',
fn: data=> this._handlePopperPlacementChange(data)
}],
};
return { ...defaultBsPopperConfig,
...(typeof this._config.popperConfig==='function' ? this._config.popperConfig(defaultBsPopperConfig):this._config.popperConfig)
};}
_addAttachmentClass(attachment){
this.getTipElement().classList.add(`${CLASS_PREFIX$1}-auto`);
}
_getAttachment(placement){
return AttachmentMap[placement.toUpperCase()];
}
_setListeners(){
const triggers=this._config.trigger.split(' ');
triggers.forEach(trigger=> {
if(trigger==='click'){
EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event=> this.toggle(event));
}else if(trigger!==TRIGGER_MANUAL){
const eventIn=trigger===TRIGGER_HOVER ? this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN;
const eventOut=trigger===TRIGGER_HOVER ? this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;
EventHandler.on(this._element, eventIn, this._config.selector, event=> this._enter(event));
EventHandler.on(this._element, eventOut, this._config.selector, event=> this._leave(event));
}});
this._hideModalHandler=()=> {
if(this._element){
this.hide();
}};
EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
if(this._config.selector){
this._config={ ...this._config,
trigger: 'manual',
selector: ''
};}else{
this._fixTitle();
}}
_fixTitle(){
const title=this._element.getAttribute('title');
const originalTitleType=typeof this._element.getAttribute('data-bs-original-title');
if(title||originalTitleType!=='string'){
this._element.setAttribute('data-bs-original-title', title||'');
if(title&&!this._element.getAttribute('aria-label')&&!this._element.textContent&&'DIV'!=this._element.tagName){
this._element.setAttribute('aria-label', title);
}
this._element.setAttribute('title', '');
}}
_enter(event, context){
context=this._initializeOnDelegatedTarget(event, context);
if(event){
context._activeTrigger[event.type==='focusin' ? TRIGGER_FOCUS:TRIGGER_HOVER]=true;
}
if(context.getTipElement().classList.contains(CLASS_NAME_SHOW$3)||context._hoverState===HOVER_STATE_SHOW){
context._hoverState=HOVER_STATE_SHOW;
return;
}
clearTimeout(context._timeout);
context._hoverState=HOVER_STATE_SHOW;
if(!context._config.delay||!context._config.delay.show){
context.show();
return;
}
context._timeout=setTimeout(()=> {
if(context._hoverState===HOVER_STATE_SHOW){
context.show();
}}, context._config.delay.show);
}
_leave(event, context){
context=this._initializeOnDelegatedTarget(event, context);
if(event){
context._activeTrigger[event.type==='focusout' ? TRIGGER_FOCUS:TRIGGER_HOVER]=context._element.contains(event.relatedTarget);
}
if(context._isWithActiveTrigger()){
return;
}
clearTimeout(context._timeout);
context._hoverState=HOVER_STATE_OUT;
if(!context._config.delay||!context._config.delay.hide){
context.hide();
return;
}
context._timeout=setTimeout(()=> {
if(context._hoverState===HOVER_STATE_OUT){
context.hide();
}}, context._config.delay.hide);
}
_isWithActiveTrigger(){
for (const trigger in this._activeTrigger){
if(this._activeTrigger[trigger]){
return true;
}}
return false;
}
_getConfig(config){
const dataAttributes=Manipulator.getDataAttributes(this._element);
Object.keys(dataAttributes).forEach(dataAttr=> {
if(DISALLOWED_ATTRIBUTES.has(dataAttr)){
delete dataAttributes[dataAttr];
}});
config={ ...this.constructor.Default,
...dataAttributes,
...(typeof config==='object'&&config ? config:{})
};
config.container=config.container===false ? document.body:getElement(config.container);
if(typeof config.delay==='number'){
config.delay={
show: config.delay,
hide: config.delay
};}
if(typeof config.title==='number'){
config.title=config.title.toString();
}
if(typeof config.content==='number'){
config.content=config.content.toString();
}
typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
if(config.sanitize){
config.template=sanitizeHtml(config.template, config.allowList, config.sanitizeFn);
}
return config;
}
_getDelegateConfig(){
const config={};
if(this._config){
for (const key in this._config){
if(this.constructor.Default[key]!==this._config[key]){
config[key]=this._config[key];
}}
}
return config;
}
_cleanTipClass(){
const tip=this.getTipElement();
const tabClass=tip.getAttribute('class').match(BSCLS_PREFIX_REGEX$1);
if(tabClass!==null&&tabClass.length > 0){
tabClass.map(token=> token.trim()).forEach(tClass=> tip.classList.remove(tClass));
}}
_handlePopperPlacementChange(popperData){
const {
state
}=popperData;
if(!state){
return;
}
this.tip=state.elements.popper;
this._cleanTipClass();
this._addAttachmentClass(this._getAttachment(state.placement));
this.tip.setAttribute('data-popper-placement', state.placement);
}
static jQueryInterface(config){
return this.each(function (){
let data=Data.get(this, DATA_KEY$4);
const _config=typeof config==='object'&&config;
if(!data&&/dispose|hide/.test(config)){
return;
}
if(!data){
data=new Tooltip(this, _config);
}
if(typeof config==='string'){
if(typeof data[config]==='undefined'){
throw new TypeError(`No method named "${config}"`);
}
data[config]();
}});
}}
defineJQueryPlugin(Tooltip);
const NAME$2='scrollspy';
const DATA_KEY$2='bs.scrollspy';
const EVENT_KEY$2=`.${DATA_KEY$2}`;
const DATA_API_KEY$1='.data-api';
const Default$1={
offset: 10,
method: 'auto',
target: ''
};
const DefaultType$1={
offset: 'number',
method: 'string',
target: '(string|element)'
};
const EVENT_ACTIVATE=`activate${EVENT_KEY$2}`;
const EVENT_SCROLL=`scroll${EVENT_KEY$2}`;
const EVENT_LOAD_DATA_API=`load${EVENT_KEY$2}${DATA_API_KEY$1}`;
const CLASS_NAME_DROPDOWN_ITEM='dropdown-item';
const CLASS_NAME_ACTIVE$1='active';
const SELECTOR_DATA_SPY='[data-bs-spy="scroll"]';
const SELECTOR_NAV_LIST_GROUP$1='.nav, .list-group';
const SELECTOR_NAV_LINKS='.nav-link';
const SELECTOR_NAV_ITEMS='.nav-item';
const SELECTOR_LIST_ITEMS='.list-group-item';
const SELECTOR_DROPDOWN$1='.dropdown';
const SELECTOR_DROPDOWN_TOGGLE$1='.dropdown-toggle';
const METHOD_OFFSET='offset';
const METHOD_POSITION='position';
class ScrollSpy extends BaseComponent {
constructor(element, config){
super(element);
this._scrollElement=this._element.tagName==='BODY' ? window:this._element;
this._config=this._getConfig(config);
this._selector=`${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`;
this._offsets=[];
this._targets=[];
this._activeTarget=null;
this._scrollHeight=0;
EventHandler.on(this._scrollElement, EVENT_SCROLL, ()=> this._process());
this.refresh();
this._process();
}
static get Default(){
return Default$1;
}
static get NAME(){
return NAME$2;
}
refresh(){
const autoMethod=this._scrollElement===this._scrollElement.window ? METHOD_OFFSET:METHOD_POSITION;
const offsetMethod=this._config.method==='auto' ? autoMethod:this._config.method;
const offsetBase=offsetMethod===METHOD_POSITION ? this._getScrollTop():0;
this._offsets=[];
this._targets=[];
this._scrollHeight=this._getScrollHeight();
const targets=SelectorEngine.find(this._selector);
targets.map(element=> {
const targetSelector=getSelectorFromElement(element);
const target=targetSelector ? SelectorEngine.findOne(targetSelector):null;
if(target){
const targetBCR=target.getBoundingClientRect();
if(targetBCR.width||targetBCR.height){
if(this._scrollElement===this._scrollElement.window&&'offset'==offsetMethod){
return [targetBCR.top + this._scrollElement.window.pageYOffset + offsetBase, targetSelector];
}
return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
}}
return null;
}).filter(item=> item).sort((a, b)=> a[0] - b[0]).forEach(item=> {
this._offsets.push(item[0]);
this._targets.push(item[1]);
});
}
dispose(){
EventHandler.off(this._scrollElement, EVENT_KEY$2);
super.dispose();
}
_getConfig(config){
config={ ...Default$1,
...Manipulator.getDataAttributes(this._element),
...(typeof config==='object'&&config ? config:{})
};
if(typeof config.target!=='string'&&isElement$1(config.target)){
let {
id
}=config.target;
if(!id){
id=getUID(NAME$2);
config.target.id=id;
}
config.target=`#${id}`;
}
typeCheckConfig(NAME$2, config, DefaultType$1);
return config;
}
_getScrollTop(){
return this._scrollElement===window ? this._scrollElement.pageYOffset:this._scrollElement.scrollTop;
}
_getScrollHeight(){
return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
}
_getOffsetHeight(){
return this._scrollElement===window ? window.innerHeight:this._scrollElement.getBoundingClientRect().height;
}
_process(){
const scrollTop=this._getScrollTop() + this._config.offset;
const scrollHeight=this._getScrollHeight();
const maxScroll=this._config.offset + scrollHeight - this._getOffsetHeight();
if(this._scrollHeight!==scrollHeight){
this.refresh();
}
if(scrollTop >=maxScroll){
const target=this._targets[this._targets.length - 1];
if(this._activeTarget!==target){
this._activate(target);
}
return;
}
if(this._activeTarget&&scrollTop < this._offsets[0]&&this._offsets[0] > 0){
this._activeTarget=null;
this._clear();
return;
}
for (let i=this._offsets.length; i--;){
const isActiveTarget=this._activeTarget!==this._targets[i]&&scrollTop >=this._offsets[i]&&(typeof this._offsets[i + 1]==='undefined'||scrollTop < this._offsets[i + 1]);
if(isActiveTarget){
this._activate(this._targets[i]);
}}
}
_activate(target){
this._activeTarget=target;
this._clear();
const queries=this._selector.split(',').map(selector=> `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`);
const link=SelectorEngine.findOne(queries.join(','));
if(link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)){
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$1);
link.classList.add(CLASS_NAME_ACTIVE$1);
}else{
link.classList.add(CLASS_NAME_ACTIVE$1);
SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP$1).forEach(listGroup=> {
SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item=> item.classList.add(CLASS_NAME_ACTIVE$1));
SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem=> {
SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(item=> item.classList.add(CLASS_NAME_ACTIVE$1));
});
});
}
EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
relatedTarget: target
});
}
_clear(){
SelectorEngine.find(this._selector).filter(node=> node.classList.contains(CLASS_NAME_ACTIVE$1)).forEach(node=> node.classList.remove(CLASS_NAME_ACTIVE$1));
}
static jQueryInterface(config){
return this.each(function (){
const data=ScrollSpy.getInstance(this)||new ScrollSpy(this, typeof config==='object' ? config:{});
if(typeof config!=='string'){
return;
}
if(typeof data[config]==='undefined'){
throw new TypeError(`No method named "${config}"`);
}
data[config]();
});
}}
EventHandler.on(window, EVENT_LOAD_DATA_API, ()=> {
SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy=> new ScrollSpy(spy));
});
defineJQueryPlugin(ScrollSpy);
const NAME$1='tab';
const DATA_KEY$1='bs.tab';
const EVENT_KEY$1=`.${DATA_KEY$1}`;
const DATA_API_KEY='.data-api';
const EVENT_HIDE$1=`hide${EVENT_KEY$1}`;
const EVENT_HIDDEN$1=`hidden${EVENT_KEY$1}`;
const EVENT_SHOW$1=`show${EVENT_KEY$1}`;
const EVENT_SHOWN$1=`shown${EVENT_KEY$1}`;
const EVENT_CLICK_DATA_API=`click${EVENT_KEY$1}${DATA_API_KEY}`;
const CLASS_NAME_DROPDOWN_MENU='dropdown-menu';
const CLASS_NAME_ACTIVE='active';
const CLASS_NAME_FADE$1='fade';
const CLASS_NAME_SHOW$1='show';
const SELECTOR_DROPDOWN='.dropdown';
const SELECTOR_NAV_LIST_GROUP='.nav, .list-group';
const SELECTOR_ACTIVE='.active';
const SELECTOR_ACTIVE_UL=':scope > li > .active';
const SELECTOR_DATA_TOGGLE='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]';
const SELECTOR_DROPDOWN_TOGGLE='.dropdown-toggle';
const SELECTOR_DROPDOWN_ACTIVE_CHILD=':scope > .dropdown-menu .active';
class Tab extends BaseComponent {
static get NAME(){
return NAME$1;
}
show(){
if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(CLASS_NAME_ACTIVE)){
return;
}
let previous;
const target=getElementFromSelector(this._element);
const listElement=this._element.closest(SELECTOR_NAV_LIST_GROUP);
if(listElement){
const itemSelector=listElement.nodeName==='UL'||listElement.nodeName==='OL' ? SELECTOR_ACTIVE_UL:SELECTOR_ACTIVE;
previous=SelectorEngine.find(itemSelector, listElement);
previous=previous[previous.length - 1];
}
const hideEvent=previous ? EventHandler.trigger(previous, EVENT_HIDE$1, {
relatedTarget: this._element
}):null;
const showEvent=EventHandler.trigger(this._element, EVENT_SHOW$1, {
relatedTarget: previous
});
if(showEvent.defaultPrevented||hideEvent!==null&&hideEvent.defaultPrevented){
return;
}
this._activate(this._element, listElement);
const complete=()=> {
EventHandler.trigger(previous, EVENT_HIDDEN$1, {
relatedTarget: this._element
});
EventHandler.trigger(this._element, EVENT_SHOWN$1, {
relatedTarget: previous
});
};
if(target){
this._activate(target, target.parentNode, complete);
}else{
complete();
}}
_activate(element, container, callback){
const activeElements=container&&(container.nodeName==='UL'||container.nodeName==='OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container):SelectorEngine.children(container, SELECTOR_ACTIVE);
const active=activeElements[0];
const isTransitioning=callback&&active&&active.classList.contains(CLASS_NAME_FADE$1);
const complete=()=> this._transitionComplete(element, active, callback);
if(active&&isTransitioning){
active.classList.remove(CLASS_NAME_SHOW$1);
this._queueCallback(complete, element, true);
}else{
complete();
}}
_transitionComplete(element, active, callback){
if(active){
active.classList.remove(CLASS_NAME_ACTIVE);
const dropdownChild=SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
if(dropdownChild){
dropdownChild.classList.remove(CLASS_NAME_ACTIVE);
}
if(active.getAttribute('role')==='tab'){
active.setAttribute('aria-selected', false);
}}
element.classList.add(CLASS_NAME_ACTIVE);
if(element.getAttribute('role')==='tab'){
element.setAttribute('aria-selected', true);
}
reflow(element);
if(element.classList.contains(CLASS_NAME_FADE$1)){
element.classList.add(CLASS_NAME_SHOW$1);
}
let parent=element.parentNode;
if(parent&&parent.nodeName==='LI'){
parent=parent.parentNode;
}
if(parent&&parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)){
const dropdownElement=element.closest(SELECTOR_DROPDOWN);
if(dropdownElement){
SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement).forEach(dropdown=> dropdown.classList.add(CLASS_NAME_ACTIVE));
}
element.setAttribute('aria-expanded', true);
}
if(callback){
callback();
}}
static jQueryInterface(config){
return this.each(function (){
const data=Data.get(this, DATA_KEY$1)||new Tab(this);
if(typeof config==='string'){
if(typeof data[config]==='undefined'){
throw new TypeError(`No method named "${config}"`);
}
data[config]();
}});
}}
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event){
if(['A', 'AREA'].includes(this.tagName)){
event.preventDefault();
}
if(isDisabled(this)){
return;
}
const data=Data.get(this, DATA_KEY$1)||new Tab(this);
data.show();
});
defineJQueryPlugin(Tab);
var index_umd={
Alert,
Button,
Collapse,
Dropdown,
ScrollSpy,
Tab,
Tooltip,
SelectorEngine,
};
return index_umd;
})));
!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(jQuery)}(function(e){var n=/\+/g;function o(e){return r.raw?e:encodeURIComponent(e)}function i(e,o){var i=r.raw?e:function(e){0===e.indexOf('"')&&(e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return e=decodeURIComponent(e.replace(n," ")),r.json?JSON.parse(e):e}catch(o){}}(e);return"function"==typeof o?o(i):i}var r=e.cookie=function(n,t,u){if(t!==undefined&&"function"!=typeof t){if("number"==typeof(u=e.extend({},r.defaults,u)).expires){var c=u.expires,f=u.expires=new Date;f.setTime(+f+864e5*c)}return document.cookie=[o(n),"=",function(e){return o(r.json?JSON.stringify(e):String(e))}(t),u.expires?"; expires="+u.expires.toUTCString():"",u.path?"; path="+u.path:"",u.domain?"; domain="+u.domain:"",u.secure?"; secure":""].join("")}for(var d,a=n?undefined:{},p=document.cookie?document.cookie.split("; "):[],s=0,m=p.length;s<m;s++){var x=p[s].split("="),y=(d=x.shift(),r.raw?d:decodeURIComponent(d)),k=x.join("=");if(n&&n===y){a=i(k,t);break}n||(k=i(k))===undefined||(a[y]=k)}return a};r.defaults={},e.removeCookie=function(n,o){return e.cookie(n)!==undefined&&(e.cookie(n,"",e.extend({},o,{expires:-1})),!e.cookie(n))}});
!function(t,e,i,s){function n(e,i){this.settings=null,this.options=t.extend({},n.Defaults,i),this.$element=t(e),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},t.each(["onResize","onThrottledResize"],t.proxy((function(e,i){this._handlers[i]=t.proxy(this[i],this)}),this)),t.each(n.Plugins,t.proxy((function(t,e){this._plugins[t.charAt(0).toLowerCase()+t.slice(1)]=new e(this)}),this)),t.each(n.Workers,t.proxy((function(e,i){this._pipe.push({filter:i.filter,run:t.proxy(i.run,this)})}),this)),this.setup(),this.initialize()}n.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:e,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},n.Width={Default:"default",Inner:"inner",Outer:"outer"},n.Type={Event:"event",State:"state"},n.Plugins={},n.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(t){t.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(t){var e=this.settings.margin||"",i=!this.settings.autoWidth,s=this.settings.rtl,n={width:"auto","margin-left":s?e:"","margin-right":s?"":e};!i&&this.$stage.children().css(n),t.css=n}},{filter:["width","items","settings"],run:function(t){var e=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,i=null,s=this._items.length,n=!this.settings.autoWidth,o=[];for(t.items={merge:!1,width:e};s--;)i=this._mergers[s],i=this.settings.mergeFit&&Math.min(i,this.settings.items)||i,t.items.merge=i>1||t.items.merge,o[s]=n?e*i:this._items[s].width();this._widths=o}},{filter:["items","settings"],run:function(){var e=[],i=this._items,s=this.settings,n=Math.max(2*s.items,4),o=2*Math.ceil(i.length/2),r=s.loop&&i.length?s.rewind?n:Math.max(n,o):0,a="",h="";for(r/=2;r>0;)e.push(this.normalize(e.length/2,!0)),a+=i[e[e.length-1]][0].outerHTML,e.push(this.normalize(i.length-1-(e.length-1)/2,!0)),h=i[e[e.length-1]][0].outerHTML+h,r-=1;this._clones=e,t(a).addClass("cloned").appendTo(this.$stage),t(h).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var t=this.settings.rtl?1:-1,e=this._clones.length+this._items.length,i=-1,s=0,n=0,o=[];++i<e;)s=o[i-1]||0,n=this._widths[this.relative(i)]+this.settings.margin,o.push(s+n*t);this._coordinates=o}},{filter:["width","items","settings"],run:function(){var t=this.settings.stagePadding,e=this._coordinates,i={width:Math.ceil(Math.abs(e[e.length-1]))+2*t,"padding-left":t||"","padding-right":t||""};this.$stage.css(i)}},{filter:["width","items","settings"],run:function(t){var e=this._coordinates.length,i=!this.settings.autoWidth,s=this.$stage.children();if(i&&t.items.merge)for(;e--;)t.css.width=this._widths[this.relative(e)],s.eq(e).css(t.css);else i&&(t.css.width=t.items.width,s.css(t.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(t){t.current=t.current?this.$stage.children().index(t.current):0,t.current=Math.max(this.minimum(),Math.min(this.maximum(),t.current)),this.reset(t.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var t,e,i,s,n=this.settings.rtl?1:-1,o=2*this.settings.stagePadding,r=this.coordinates(this.current())+o,a=r+this.width()*n,h=[];for(i=0,s=this._coordinates.length;i<s;i++)t=this._coordinates[i-1]||0,e=Math.abs(this._coordinates[i])+o*n,(this.op(t,"<=",r)&&this.op(t,">",a)||this.op(e,"<",r)&&this.op(e,">",a))&&h.push(i);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+h.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],n.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=t("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(t("<div/>",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},n.prototype.initializeItems=function(){var e=this.$element.find(".owl-item");if(e.length)return this._items=e.get().map((function(e){return t(e)})),this._mergers=this._items.map((function(){return 1})),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},n.prototype.initialize=function(){var t,e,i;(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading"))&&(t=this.$element.find("img"),e=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:s,i=this.$element.children(e).width(),t.length&&i<=0&&this.preloadAutoWidthImages(t));this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},n.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},n.prototype.setup=function(){var e=this.viewport(),i=this.options.responsive,s=-1,n=null;i?(t.each(i,(function(t){t<=e&&t>s&&(s=Number(t))})),"function"==typeof(n=t.extend({},this.options,i[s])).stagePadding&&(n.stagePadding=n.stagePadding()),delete n.responsive,n.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+s))):n=t.extend({},this.options),this.trigger("change",{property:{name:"settings",value:n}}),this._breakpoint=s,this.settings=n,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},n.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},n.prototype.prepare=function(e){var i=this.trigger("prepare",{content:e});return i.data||(i.data=t("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(e)),this.trigger("prepared",{content:i.data}),i.data},n.prototype.update=function(){for(var e=0,i=this._pipe.length,s=t.proxy((function(t){return this[t]}),this._invalidated),n={};e<i;)(this._invalidated.all||t.grep(this._pipe[e].filter,s).length>0)&&this._pipe[e].run(n),e++;this._invalidated={},!this.is("valid")&&this.enter("valid")},n.prototype.width=function(t){switch(t=t||n.Width.Default){case n.Width.Inner:case n.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},n.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},n.prototype.onThrottledResize=function(){e.clearTimeout(this.resizeTimer),this.resizeTimer=e.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},n.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},n.prototype.registerEventHandlers=function(){t.support.transition&&this.$stage.on(t.support.transition.end+".owl.core",t.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(e,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",t.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",(function(){return!1}))),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",t.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",t.proxy(this.onDragEnd,this)))},n.prototype.onDragStart=function(e){var s=null;3!==e.which&&(t.support.transform?s={x:(s=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","))[16===s.length?12:4],y:s[16===s.length?13:5]}:(s=this.$stage.position(),s={x:this.settings.rtl?s.left+this.$stage.width()-this.width()+this.settings.margin:s.left,y:s.top}),this.is("animating")&&(t.support.transform?this.animate(s.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===e.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=t(e.target),this._drag.stage.start=s,this._drag.stage.current=s,this._drag.pointer=this.pointer(e),t(i).on("mouseup.owl.core touchend.owl.core",t.proxy(this.onDragEnd,this)),t(i).one("mousemove.owl.core touchmove.owl.core",t.proxy((function(e){var s=this.difference(this._drag.pointer,this.pointer(e));t(i).on("mousemove.owl.core touchmove.owl.core",t.proxy(this.onDragMove,this)),Math.abs(s.x)<Math.abs(s.y)&&this.is("valid")||(e.preventDefault(),this.enter("dragging"),this.trigger("drag"))}),this)))},n.prototype.onDragMove=function(t){var e=null,i=null,s=null,n=this.difference(this._drag.pointer,this.pointer(t)),o=this.difference(this._drag.stage.start,n);this.is("dragging")&&(t.preventDefault(),this.settings.loop?(e=this.coordinates(this.minimum()),i=this.coordinates(this.maximum()+1)-e,o.x=((o.x-e)%i+i)%i+e):(e=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),i=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),s=this.settings.pullDrag?-1*n.x/5:0,o.x=Math.max(Math.min(o.x,e+s),i+s)),this._drag.stage.current=o,this.animate(o.x))},n.prototype.onDragEnd=function(e){var s=this.difference(this._drag.pointer,this.pointer(e)),n=this._drag.stage.current,o=s.x>0^this.settings.rtl?"left":"right";t(i).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==s.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(n.x,0!==s.x?o:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=o,(Math.abs(s.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",(function(){return!1}))),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},n.prototype.closest=function(e,i){var n=-1,o=this.width(),r=this.coordinates();return this.settings.freeDrag||t.each(r,t.proxy((function(t,a){return"left"===i&&e>a-30&&e<a+30?n=t:"right"===i&&e>a-o-30&&e<a-o+30?n=t+1:this.op(e,"<",a)&&this.op(e,">",r[t+1]!==s?r[t+1]:a-o)&&(n="left"===i?t+1:t),-1===n}),this)),this.settings.loop||(this.op(e,">",r[this.minimum()])?n=e=this.minimum():this.op(e,"<",r[this.maximum()])&&(n=e=this.maximum())),n},n.prototype.animate=function(e){var i=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),i&&(this.enter("animating"),this.trigger("translate")),t.support.transform3d&&t.support.transition?this.$stage.css({transform:"translate3d("+e+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):i?this.$stage.animate({left:e+"px"},this.speed(),this.settings.fallbackEasing,t.proxy(this.onTransitionEnd,this)):this.$stage.css({left:e+"px"})},n.prototype.is=function(t){return this._states.current[t]&&this._states.current[t]>0},n.prototype.current=function(t){if(t===s)return this._current;if(0===this._items.length)return s;if(t=this.normalize(t),this._current!==t){var e=this.trigger("change",{property:{name:"position",value:t}});e.data!==s&&(t=this.normalize(e.data)),this._current=t,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},n.prototype.invalidate=function(e){return"string"==typeof e&&(this._invalidated[e]=!0,this.is("valid")&&this.leave("valid")),t.map(this._invalidated,(function(t,e){return e}))},n.prototype.reset=function(t){(t=this.normalize(t))!==s&&(this._speed=0,this._current=t,this.suppress(["translate","translated"]),this.animate(this.coordinates(t)),this.release(["translate","translated"]))},n.prototype.normalize=function(t,e){var i=this._items.length,n=e?0:this._clones.length;return!this.isNumeric(t)||i<1?t=s:(t<0||t>=i+n)&&(t=((t-n/2)%i+i)%i+n/2),t},n.prototype.relative=function(t){return t-=this._clones.length/2,this.normalize(t,!0)},n.prototype.maximum=function(t){var e,i,s,n=this.settings,o=this._coordinates.length;if(n.loop)o=this._clones.length/2+this._items.length-1;else if(n.autoWidth||n.merge){if(e=this._items.length)for(i=this._items[--e].width(),s=this.$element.width();e--&&!((i+=this._items[e].width()+this.settings.margin)>s););o=e+1}else o=n.center?this._items.length-1:this._items.length-n.items;return t&&(o-=this._clones.length/2),Math.max(o,0)},n.prototype.minimum=function(t){return t?0:this._clones.length/2},n.prototype.items=function(t){return t===s?this._items.slice():(t=this.normalize(t,!0),this._items[t])},n.prototype.mergers=function(t){return t===s?this._mergers.slice():(t=this.normalize(t,!0),this._mergers[t])},n.prototype.clones=function(e){var i=this._clones.length/2,n=i+this._items.length,o=function(t){return t%2==0?n+t/2:i-(t+1)/2};return e===s?t.map(this._clones,(function(t,e){return o(e)})):t.map(this._clones,(function(t,i){return t===e?o(i):null}))},n.prototype.speed=function(t){return t!==s&&(this._speed=t),this._speed},n.prototype.coordinates=function(e){var i,n=1,o=e-1;return e===s?t.map(this._coordinates,t.proxy((function(t,e){return this.coordinates(e)}),this)):(this.settings.center?(this.settings.rtl&&(n=-1,o=e+1),i=this._coordinates[e],i+=(this.width()-i+(this._coordinates[o]||0))/2*n):i=this._coordinates[o]||0,i=Math.ceil(i))},n.prototype.duration=function(t,e,i){return 0===i?0:Math.min(Math.max(Math.abs(e-t),1),6)*Math.abs(i||this.settings.smartSpeed)},n.prototype.to=function(t,e){var i=this.current(),s=null,n=t-this.relative(i),o=(n>0)-(n<0),r=this._items.length,a=this.minimum(),h=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(n)>r/2&&(n+=-1*o*r),(s=(((t=i+n)-a)%r+r)%r+a)!==t&&s-n<=h&&s-n>0&&(i=s-n,t=s,this.reset(i))):t=this.settings.rewind?(t%(h+=1)+h)%h:Math.max(a,Math.min(h,t)),this.speed(this.duration(i,t,e)),this.current(t),this.isVisible()&&this.update()},n.prototype.next=function(t){t=t||!1,this.to(this.relative(this.current())+1,t)},n.prototype.prev=function(t){t=t||!1,this.to(this.relative(this.current())-1,t)},n.prototype.onTransitionEnd=function(t){if(t!==s&&(t.stopPropagation(),(t.target||t.srcElement||t.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},n.prototype.viewport=function(){var s;return this.options.responsiveBaseElement!==e?s=t(this.options.responsiveBaseElement).width():e.innerWidth?s=e.innerWidth:i.documentElement&&i.documentElement.clientWidth?s=i.documentElement.clientWidth:console.warn("Can not detect viewport width."),s},n.prototype.replace=function(e){this.$stage.empty(),this._items=[],e&&(e=e instanceof jQuery?e:t(e)),this.settings.nestedItemSelector&&(e=e.find("."+this.settings.nestedItemSelector)),e.filter((function(){return 1===this.nodeType})).each(t.proxy((function(t,e){e=this.prepare(e),this.$stage.append(e),this._items.push(e),this._mergers.push(1*e.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)}),this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},n.prototype.add=function(e,i){var n=this.relative(this._current);i=i===s?this._items.length:this.normalize(i,!0),e=e instanceof jQuery?e:t(e),this.trigger("add",{content:e,position:i}),e=this.prepare(e),0===this._items.length||i===this._items.length?(0===this._items.length&&this.$stage.append(e),0!==this._items.length&&this._items[i-1].after(e),this._items.push(e),this._mergers.push(1*e.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[i].before(e),this._items.splice(i,0,e),this._mergers.splice(i,0,1*e.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[n]&&this.reset(this._items[n].index()),this.invalidate("items"),this.trigger("added",{content:e,position:i})},n.prototype.remove=function(t){(t=this.normalize(t,!0))!==s&&(this.trigger("remove",{content:this._items[t],position:t}),this._items[t].remove(),this._items.splice(t,1),this._mergers.splice(t,1),this.invalidate("items"),this.trigger("removed",{content:null,position:t}))},n.prototype.preloadAutoWidthImages=function(e){e.each(t.proxy((function(e,i){this.enter("pre-loading"),i=t(i),t(new Image).one("load",t.proxy((function(t){i.attr("src",t.target.src),i.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()}),this)).attr("src",i.attr("src")||i.attr("data-src")||i.attr("data-src-retina"))}),this))},n.prototype.destroy=function(){for(var s in this.$element.off(".owl.core"),this.$stage.off(".owl.core"),t(i).off(".owl.core"),!1!==this.settings.responsive&&(e.clearTimeout(this.resizeTimer),this.off(e,"resize",this._handlers.onThrottledResize)),this._plugins)this._plugins[s].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},n.prototype.op=function(t,e,i){var s=this.settings.rtl;switch(e){case"<":return s?t>i:t<i;case">":return s?t<i:t>i;case">=":return s?t<=i:t>=i;case"<=":return s?t>=i:t<=i}},n.prototype.on=function(t,e,i,s){t.addEventListener?t.addEventListener(e,i,s):t.attachEvent&&t.attachEvent("on"+e,i)},n.prototype.off=function(t,e,i,s){t.removeEventListener?t.removeEventListener(e,i,s):t.detachEvent&&t.detachEvent("on"+e,i)},n.prototype.trigger=function(e,i,s,o,r){var a={item:{count:this._items.length,index:this.current()}},h=t.camelCase(t.grep(["on",e,s],(function(t){return t})).join("-").toLowerCase()),l=t.Event([e,"owl",s||"carousel"].join(".").toLowerCase(),t.extend({relatedTarget:this},a,i));return this._supress[e]||(t.each(this._plugins,(function(t,e){e.onTrigger&&e.onTrigger(l)})),this.register({type:n.Type.Event,name:e}),this.$element.trigger(l),this.settings&&"function"==typeof this.settings[h]&&this.settings[h].call(this,l)),l},n.prototype.enter=function(e){t.each([e].concat(this._states.tags[e]||[]),t.proxy((function(t,e){this._states.current[e]===s&&(this._states.current[e]=0),this._states.current[e]++}),this))},n.prototype.leave=function(e){t.each([e].concat(this._states.tags[e]||[]),t.proxy((function(t,e){this._states.current[e]--}),this))},n.prototype.register=function(e){if(e.type===n.Type.Event){if(t.event.special[e.name]||(t.event.special[e.name]={}),!t.event.special[e.name].owl){var i=t.event.special[e.name]._default;t.event.special[e.name]._default=function(t){return!i||!i.apply||t.namespace&&-1!==t.namespace.indexOf("owl")?t.namespace&&t.namespace.indexOf("owl")>-1:i.apply(this,arguments)},t.event.special[e.name].owl=!0}}else e.type===n.Type.State&&(this._states.tags[e.name]?this._states.tags[e.name]=this._states.tags[e.name].concat(e.tags):this._states.tags[e.name]=e.tags,this._states.tags[e.name]=t.grep(this._states.tags[e.name],t.proxy((function(i,s){return t.inArray(i,this._states.tags[e.name])===s}),this)))},n.prototype.suppress=function(e){t.each(e,t.proxy((function(t,e){this._supress[e]=!0}),this))},n.prototype.release=function(e){t.each(e,t.proxy((function(t,e){delete this._supress[e]}),this))},n.prototype.pointer=function(t){var i={x:null,y:null};return(t=(t=t.originalEvent||t||e.event).touches&&t.touches.length?t.touches[0]:t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t).pageX?(i.x=t.pageX,i.y=t.pageY):(i.x=t.clientX,i.y=t.clientY),i},n.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))},n.prototype.difference=function(t,e){return{x:t.x-e.x,y:t.y-e.y}},t.fn.owlCarousel=function(e){var i=Array.prototype.slice.call(arguments,1);return this.each((function(){var s=t(this),o=s.data("owl.carousel");o||(o=new n(this,"object"==typeof e&&e),s.data("owl.carousel",o),t.each(["next","prev","to","destroy","refresh","replace","add","remove"],(function(e,i){o.register({type:n.Type.Event,name:i}),o.$element.on(i+".owl.carousel.core",t.proxy((function(t){t.namespace&&t.relatedTarget!==this&&(this.suppress([i]),o[i].apply(this,[].slice.call(arguments,1)),this.release([i]))}),o))}))),"string"==typeof e&&"_"!==e.charAt(0)&&o[e].apply(o,i)}))},t.fn.owlCarousel.Constructor=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){var n=function(e){this._core=e,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":t.proxy((function(t){t.namespace&&this._core.settings.autoRefresh&&this.watch()}),this)},this._core.options=t.extend({},n.Defaults,this._core.options),this._core.$element.on(this._handlers)};n.Defaults={autoRefresh:!0,autoRefreshInterval:500},n.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=e.setInterval(t.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},n.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},n.prototype.destroy=function(){var t,i;for(t in e.clearInterval(this._interval),this._handlers)this._core.$element.off(t,this._handlers[t]);for(i in Object.getOwnPropertyNames(this))"function"!=typeof this[i]&&(this[i]=null)},t.fn.owlCarousel.Constructor.Plugins.AutoRefresh=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){var n=function(e){this._core=e,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":t.proxy((function(e){if(e.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(e.property&&"position"==e.property.name||"initialized"==e.type)){var i=this._core.settings,s=i.center&&Math.ceil(i.items/2)||i.items,n=i.center&&-1*s||0,o=(e.property&&undefined!==e.property.value?e.property.value:this._core.current())+n,r=this._core.clones().length,a=t.proxy((function(t,e){this.load(e)}),this);for(i.lazyLoadEager>0&&(s+=i.lazyLoadEager,i.loop&&(o-=i.lazyLoadEager,s++));n++<s;)this.load(r/2+this._core.relative(o)),r&&t.each(this._core.clones(this._core.relative(o)),a),o++}}),this)},this._core.options=t.extend({},n.Defaults,this._core.options),this._core.$element.on(this._handlers)};n.Defaults={lazyLoad:!1,lazyLoadEager:0},n.prototype.load=function(i){var s=this._core.$stage.children().eq(i),n=s&&s.find(".owl-lazy");!n||t.inArray(s.get(0),this._loaded)>-1||(n.each(t.proxy((function(i,s){var n,o=t(s),r=e.devicePixelRatio>1&&o.attr("data-src-retina")||o.attr("data-src")||o.attr("data-srcset");this._core.trigger("load",{element:o,url:r},"lazy"),o.is("img")?o.one("load.owl.lazy",t.proxy((function(){o.addClass("owl-lazy-loaded"),this._core.trigger("loaded",{element:o,url:r},"lazy")}),this)).attr("src",r):o.is("source")?o.one("load.owl.lazy",t.proxy((function(){this._core.trigger("loaded",{element:o,url:r},"lazy")}),this)).attr("srcset",r):((n=new Image).onload=t.proxy((function(){o.css({"background-image":'url("'+r+'")',opacity:"1"}),this._core.trigger("loaded",{element:o,url:r},"lazy")}),this),n.src=r)}),this)),this._loaded.push(s.get(0)))},n.prototype.destroy=function(){var t,e;for(t in this.handlers)this._core.$element.off(t,this.handlers[t]);for(e in Object.getOwnPropertyNames(this))"function"!=typeof this[e]&&(this[e]=null)},t.fn.owlCarousel.Constructor.Plugins.Lazy=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){var n=function(i){this._core=i,this._previousHeight=null,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":t.proxy((function(t){t.namespace&&this._core.settings.autoHeight&&this.update()}),this),"changed.owl.carousel":t.proxy((function(t){t.namespace&&this._core.settings.autoHeight&&"position"===t.property.name&&this.update()}),this),"loaded.owl.lazy":t.proxy((function(t){t.namespace&&this._core.settings.autoHeight&&t.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()}),this)},this._core.options=t.extend({},n.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var s=this;t(e).on("load",(function(){s._core.settings.autoHeight&&s.update()})),t(e).on("resize",(function(){s._core.settings.autoHeight&&(null!=s._intervalId&&clearTimeout(s._intervalId),s._intervalId=setTimeout((function(){s.update()}),250))}))};n.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},n.prototype.update=function(){var e=this._core._current,i=e+this._core.settings.items,s=this._core.settings.lazyLoad,n=this._core.$stage.children().toArray().slice(e,i),o=[],r=0;t.each(n,(function(e,i){o.push(t(i).height())})),(r=Math.max.apply(null,o))<=1&&s&&this._previousHeight&&(r=this._previousHeight),this._previousHeight=r,this._core.$stage.parent().height(r).addClass(this._core.settings.autoHeightClass)},n.prototype.destroy=function(){var t,e;for(t in this._handlers)this._core.$element.off(t,this._handlers[t]);for(e in Object.getOwnPropertyNames(this))"function"!=typeof this[e]&&(this[e]=null)},t.fn.owlCarousel.Constructor.Plugins.AutoHeight=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){var n=function(e){this._core=e,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":t.proxy((function(t){t.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})}),this),"resize.owl.carousel":t.proxy((function(t){t.namespace&&this._core.settings.video&&this.isInFullScreen()&&t.preventDefault()}),this),"refreshed.owl.carousel":t.proxy((function(t){t.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()}),this),"changed.owl.carousel":t.proxy((function(t){t.namespace&&"position"===t.property.name&&this._playing&&this.stop()}),this),"prepared.owl.carousel":t.proxy((function(e){if(e.namespace){var i=t(e.content).find(".owl-video");i.length&&(i.css("display","none"),this.fetch(i,t(e.content)))}}),this)},this._core.options=t.extend({},n.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",t.proxy((function(t){this.play(t)}),this))};n.Defaults={video:!1,videoHeight:!1,videoWidth:!1},n.prototype.fetch=function(t,e){var i=t.attr("data-vimeo-id")?"vimeo":t.attr("data-vzaar-id")?"vzaar":"youtube",s=t.attr("data-vimeo-id")||t.attr("data-youtube-id")||t.attr("data-vzaar-id"),n=t.attr("data-width")||this._core.settings.videoWidth,o=t.attr("data-height")||this._core.settings.videoHeight,r=t.attr("href");if(!r)throw new Error("Missing video URL.");if((s=r.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/))[3].indexOf("youtu")>-1)i="youtube";else if(s[3].indexOf("vimeo")>-1)i="vimeo";else{if(!(s[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");i="vzaar"}s=s[6],this._videos[r]={type:i,id:s,width:n,height:o},e.attr("data-video",r),this.thumbnail(t,this._videos[r])},n.prototype.thumbnail=function(e,i){var s,n,o=i.width&&i.height?"width:"+i.width+"px;height:"+i.height+"px;":"",r=e.find("img"),a="src",h="",l=this._core.settings,c=function(i){'<div class="owl-video-play-icon"></div>',s=l.lazyLoad?t("<div/>",{class:"owl-video-tn "+h,srcType:i}):t("<div/>",{class:"owl-video-tn",style:"opacity:1;background-image:url("+i+")"}),e.after(s),e.after('<div class="owl-video-play-icon"></div>')};if(e.wrap(t("<div/>",{class:"owl-video-wrapper",style:o})),this._core.settings.lazyLoad&&(a="data-src",h="owl-lazy"),r.length)return c(r.attr(a)),r.remove(),!1;"youtube"===i.type?(n="//img.youtube.com/vi/"+i.id+"/hqdefault.jpg",c(n)):"vimeo"===i.type?t.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+i.id+".json",jsonp:"callback",dataType:"jsonp",success:function(t){n=t[0].thumbnail_large,c(n)}}):"vzaar"===i.type&&t.ajax({type:"GET",url:"//vzaar.com/api/videos/"+i.id+".json",jsonp:"callback",dataType:"jsonp",success:function(t){n=t.framegrab_url,c(n)}})},n.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},n.prototype.play=function(e){var i,s=t(e.target).closest("."+this._core.settings.itemClass),n=this._videos[s.attr("data-video")],o=n.width||"100%",r=n.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),s=this._core.items(this._core.relative(s.index())),this._core.reset(s.index()),(i=t('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>')).attr("height",r),i.attr("width",o),"youtube"===n.type?i.attr("src","//www.youtube.com/embed/"+n.id+"?autoplay=1&rel=0&v="+n.id):"vimeo"===n.type?i.attr("src","//player.vimeo.com/video/"+n.id+"?autoplay=1"):"vzaar"===n.type&&i.attr("src","//view.vzaar.com/"+n.id+"/player?autoplay=true"),t(i).wrap('<div class="owl-video-frame" />').insertAfter(s.find(".owl-video")),this._playing=s.addClass("owl-video-playing"))},n.prototype.isInFullScreen=function(){var e=i.fullscreenElement||i.mozFullScreenElement||i.webkitFullscreenElement;return e&&t(e).parent().hasClass("owl-video-frame")},n.prototype.destroy=function(){var t,e;for(t in this._core.$element.off("click.owl.video"),this._handlers)this._core.$element.off(t,this._handlers[t]);for(e in Object.getOwnPropertyNames(this))"function"!=typeof this[e]&&(this[e]=null)},t.fn.owlCarousel.Constructor.Plugins.Video=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){var n=function(e){this.core=e,this.core.options=t.extend({},n.Defaults,this.core.options),this.swapping=!0,this.previous=s,this.next=s,this.handlers={"change.owl.carousel":t.proxy((function(t){t.namespace&&"position"==t.property.name&&(this.previous=this.core.current(),this.next=t.property.value)}),this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":t.proxy((function(t){t.namespace&&(this.swapping="translated"==t.type)}),this),"translate.owl.carousel":t.proxy((function(t){t.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()}),this)},this.core.$element.on(this.handlers)};n.Defaults={animateOut:!1,animateIn:!1},n.prototype.swap=function(){if(1===this.core.settings.items&&t.support.animation&&t.support.transition){this.core.speed(0);var e,i=t.proxy(this.clear,this),s=this.core.$stage.children().eq(this.previous),n=this.core.$stage.children().eq(this.next),o=this.core.settings.animateIn,r=this.core.settings.animateOut;this.core.current()!==this.previous&&(r&&(e=this.core.coordinates(this.previous)-this.core.coordinates(this.next),s.one(t.support.animation.end,i).css({left:e+"px"}).addClass("animated owl-animated-out").addClass(r)),o&&n.one(t.support.animation.end,i).addClass("animated owl-animated-in").addClass(o))}},n.prototype.clear=function(e){t(e.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},n.prototype.destroy=function(){var t,e;for(t in this.handlers)this.core.$element.off(t,this.handlers[t]);for(e in Object.getOwnPropertyNames(this))"function"!=typeof this[e]&&(this[e]=null)},t.fn.owlCarousel.Constructor.Plugins.Animate=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){var n=function(e){this._core=e,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":t.proxy((function(t){t.namespace&&"settings"===t.property.name?this._core.settings.autoplay?this.play():this.stop():t.namespace&&"position"===t.property.name&&this._paused&&(this._time=0)}),this),"initialized.owl.carousel":t.proxy((function(t){t.namespace&&this._core.settings.autoplay&&this.play()}),this),"play.owl.autoplay":t.proxy((function(t,e,i){t.namespace&&this.play(e,i)}),this),"stop.owl.autoplay":t.proxy((function(t){t.namespace&&this.stop()}),this),"mouseover.owl.autoplay":t.proxy((function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()}),this),"mouseleave.owl.autoplay":t.proxy((function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()}),this),"touchstart.owl.core":t.proxy((function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()}),this),"touchend.owl.core":t.proxy((function(){this._core.settings.autoplayHoverPause&&this.play()}),this)},this._core.$element.on(this._handlers),this._core.options=t.extend({},n.Defaults,this._core.options)};n.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},n.prototype._next=function(s){this._call=e.setTimeout(t.proxy(this._next,this,s),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||i.hidden||this._core.next(s||this._core.settings.autoplaySpeed)},n.prototype.read=function(){return(new Date).getTime()-this._time},n.prototype.play=function(i,s){var n;this._core.is("rotating")||this._core.enter("rotating"),i=i||this._core.settings.autoplayTimeout,n=Math.min(this._time%(this._timeout||i),i),this._paused?(this._time=this.read(),this._paused=!1):e.clearTimeout(this._call),this._time+=this.read()%i-n,this._timeout=i,this._call=e.setTimeout(t.proxy(this._next,this,s),i-n)},n.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,e.clearTimeout(this._call),this._core.leave("rotating"))},n.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,e.clearTimeout(this._call))},n.prototype.destroy=function(){var t,e;for(t in this.stop(),this._handlers)this._core.$element.off(t,this._handlers[t]);for(e in Object.getOwnPropertyNames(this))"function"!=typeof this[e]&&(this[e]=null)},t.fn.owlCarousel.Constructor.Plugins.autoplay=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){"use strict";var n=function(e){this._core=e,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":t.proxy((function(e){e.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+t(e.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")}),this),"added.owl.carousel":t.proxy((function(t){t.namespace&&this._core.settings.dotsData&&this._templates.splice(t.position,0,this._templates.pop())}),this),"remove.owl.carousel":t.proxy((function(t){t.namespace&&this._core.settings.dotsData&&this._templates.splice(t.position,1)}),this),"changed.owl.carousel":t.proxy((function(t){t.namespace&&"position"==t.property.name&&this.draw()}),this),"initialized.owl.carousel":t.proxy((function(t){t.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))}),this),"refreshed.owl.carousel":t.proxy((function(t){t.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))}),this)},this._core.options=t.extend({},n.Defaults,this._core.options),this.$element.on(this._handlers)};n.Defaults={nav:!1,navText:['<span aria-label="Previous">&#x2039;</span>','<span aria-label="Next">&#x203a;</span>'],navSpeed:!1,navElement:'button type="button" aria-label="Owl carousel Navigation" role="button"',navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},n.prototype.initialize=function(){var e,i=this._core.settings;for(e in this._controls.$relative=(i.navContainer?t(i.navContainer):t("<div>").addClass(i.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=t("<"+i.navElement+">").addClass(i.navClass[0]).html(i.navText[0]).prependTo(this._controls.$relative).on("click",t.proxy((function(t){this.prev(i.navSpeed)}),this)),this._controls.$next=t("<"+i.navElement+">").addClass(i.navClass[1]).html(i.navText[1]).appendTo(this._controls.$relative).on("click",t.proxy((function(t){this.next(i.navSpeed)}),this)),i.dotsData||(this._templates=[t('<button aria-label="Owl Carousel Pagination"  role="button">').addClass(i.dotClass).append(t("<span>")).prop("outerHTML")]),this._controls.$absolute=(i.dotsContainer?t(i.dotsContainer):t("<div>").addClass(i.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","button",t.proxy((function(e){var s=t(e.target).parent().is(this._controls.$absolute)?t(e.target).index():t(e.target).parent().index();e.preventDefault(),this.to(s,i.dotsSpeed)}),this)),this._overrides)this._core[e]=t.proxy(this[e],this)},n.prototype.destroy=function(){var t,e,i,s,n;for(t in n=this._core.settings,this._handlers)this.$element.off(t,this._handlers[t]);for(e in this._controls)"$relative"===e&&n.navContainer?this._controls[e].html(""):this._controls[e].remove();for(s in this.overides)this._core[s]=this._overrides[s];for(i in Object.getOwnPropertyNames(this))"function"!=typeof this[i]&&(this[i]=null)},n.prototype.update=function(){var t,e,i=this._core.clones().length/2,s=i+this._core.items().length,n=this._core.maximum(!0),o=this._core.settings,r=o.center||o.autoWidth||o.dotsData?1:o.dotsEach||o.items;if("page"!==o.slideBy&&(o.slideBy=Math.min(o.slideBy,o.items)),o.dots||"page"==o.slideBy)for(this._pages=[],t=i,e=0,0;t<s;t++){if(e>=r||0===e){if(this._pages.push({start:Math.min(n,t-i),end:t-i+r-1}),Math.min(n,t-i)===n)break;e=0}e+=this._core.mergers(this._core.relative(t))}},n.prototype.draw=function(){var e,i=this._core.settings,s=this._core.items().length<=i.items,n=this._core.relative(this._core.current()),o=i.loop||i.rewind;this._controls.$relative.toggleClass("disabled",!i.nav||s),i.nav&&(this._controls.$previous.toggleClass("disabled",!o&&n<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!o&&n>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!i.dots||s),i.dots&&(e=this._pages.length-this._controls.$absolute.children().length,i.dotsData&&0!==e?this._controls.$absolute.html(this._templates.join("")):e>0?this._controls.$absolute.append(new Array(e+1).join(this._templates[0])):e<0&&this._controls.$absolute.children().slice(e).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(t.inArray(this.current(),this._pages)).addClass("active"))},n.prototype.onTrigger=function(e){var i=this._core.settings;e.page={index:t.inArray(this.current(),this._pages),count:this._pages.length,size:i&&(i.center||i.autoWidth||i.dotsData?1:i.dotsEach||i.items)}},n.prototype.current=function(){var e=this._core.relative(this._core.current());return t.grep(this._pages,t.proxy((function(t,i){return t.start<=e&&t.end>=e}),this)).pop()},n.prototype.getPosition=function(e){var i,s,n=this._core.settings;return"page"==n.slideBy?(i=t.inArray(this.current(),this._pages),s=this._pages.length,e?++i:--i,i=this._pages[(i%s+s)%s].start):(i=this._core.relative(this._core.current()),s=this._core.items().length,e?i+=n.slideBy:i-=n.slideBy),i},n.prototype.next=function(e){t.proxy(this._overrides.to,this._core)(this.getPosition(!0),e)},n.prototype.prev=function(e){t.proxy(this._overrides.to,this._core)(this.getPosition(!1),e)},n.prototype.to=function(e,i,s){var n;!s&&this._pages.length?(n=this._pages.length,t.proxy(this._overrides.to,this._core)(this._pages[(e%n+n)%n].start,i)):t.proxy(this._overrides.to,this._core)(e,i)},t.fn.owlCarousel.Constructor.Plugins.Navigation=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){"use strict";var n=function(i){this._core=i,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":t.proxy((function(i){i.namespace&&"URLHash"===this._core.settings.startPosition&&t(e).trigger("hashchange.owl.navigation")}),this),"prepared.owl.carousel":t.proxy((function(e){if(e.namespace){var i=t(e.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!i)return;this._hashes[i]=e.content}}),this),"changed.owl.carousel":t.proxy((function(i){if(i.namespace&&"position"===i.property.name){var s=this._core.items(this._core.relative(this._core.current())),n=t.map(this._hashes,(function(t,e){return t===s?e:null})).join();if(!n||e.location.hash.slice(1)===n)return;e.location.hash=n}}),this)},this._core.options=t.extend({},n.Defaults,this._core.options),this.$element.on(this._handlers),t(e).on("hashchange.owl.navigation",t.proxy((function(t){var i=e.location.hash.substring(1),s=this._core.$stage.children(),n=this._hashes[i]&&s.index(this._hashes[i]);undefined!==n&&n!==this._core.current()&&this._core.to(this._core.relative(n),!1,!0)}),this))};n.Defaults={URLhashListener:!1},n.prototype.destroy=function(){var i,s;for(i in t(e).off("hashchange.owl.navigation"),this._handlers)this._core.$element.off(i,this._handlers[i]);for(s in Object.getOwnPropertyNames(this))"function"!=typeof this[s]&&(this[s]=null)},t.fn.owlCarousel.Constructor.Plugins.Hash=n}(window.jQuery||window.Zepto,window,document),function(t,e,i,s){var n=t("<support>").get(0).style,o="Webkit Moz O ms".split(" "),r={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},a=function(){return!!c("transform")},h=function(){return!!c("perspective")},l=function(){return!!c("animation")};function c(e,i){var r=!1,a=e.charAt(0).toUpperCase()+e.slice(1);return t.each((e+" "+o.join(a+" ")+a).split(" "),(function(t,e){if(n[e]!==s)return r=!i||e,!1})),r}function p(t){return c(t,!0)}(function(){return!!c("transition")})()&&(t.support.transition=new String(p("transition")),t.support.transition.end=r.transition.end[t.support.transition]),l()&&(t.support.animation=new String(p("animation")),t.support.animation.end=r.animation.end[t.support.animation]),a()&&(t.support.transform=new String(p("transform")),t.support.transform3d=h())}(window.jQuery||window.Zepto,window,document);
!function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,Array.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=Array.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",c.mainEl&&c.mainEl.length?b.ev=c.mainEl.eq(0):b.ev=d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=x("bg").on("click"+p,function(){b.close()}),b.wrap=x("wrap").attr("tabindex",-1).on("click"+p,function(a){b._checkIfClose(a.target)&&b.close()}),b.container=x("container",b.wrap)),b.contentContainer=x("content"),b.st.preloader&&(b.preloader=x("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var j=i[e];j=j.charAt(0).toUpperCase()+j.slice(1),b["init"+j].call(b)}y("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(w(l,function(a,b,c,d){c.close_replaceWith=z(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(z())),b.st.alignTop&&(f+=" mfp-align-top"),b.fixedContentPos?b.wrap.css({overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}):b.wrap.css({top:v.scrollTop(),position:"absolute"}),(b.st.fixedBgPos===!1||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup"+p,function(a){27===a.keyCode&&b.close()}),v.on("resize"+p,function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var k=b.wH=v.height(),n={};if(b.fixedContentPos&&b._hasScrollBar(k)){var o=b._getScrollbarSize();o&&(n.marginRight=o)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):n.overflow="hidden");var r=b.st.mainClass;return b.isIE7&&(r+=" mfp-ie7"),r&&b._addClassToMFP(r),b.updateItemHTML(),y("BuildControls"),a("html").css(n),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP(q),b._setFocus()):b.bgOverlay.addClass(q),d.on("focusin"+p,b._onFocusIn)},16),b.isOpen=!0,b.updateSize(k),y(m),c},close:function(){b.isOpen&&(y(i),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP(r),setTimeout(function(){b._close()},b.st.removalDelay)):b._close())},_close:function(){y(h);var c=r+" "+q+" ";if(b.bgOverlay.detach(),b.wrap.detach(),b.container.empty(),b.st.mainClass&&(c+=b.st.mainClass+" "),b._removeClassFromMFP(c),b.fixedContentPos){var e={marginRight:""};b.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}d.off("keyup"+p+" focusin"+p),b.ev.off(p),b.wrap.attr("class","mfp-wrap").removeAttr("style"),b.bgOverlay.attr("class","mfp-bg"),b.container.attr("class","mfp-container"),!b.st.showCloseBtn||b.st.closeBtnInside&&b.currTemplate[b.currItem.type]!==!0||b.currTemplate.closeBtn&&b.currTemplate.closeBtn.detach(),b.st.autoFocusLast&&b._lastFocusedEl&&a(b._lastFocusedEl).trigger('focus'),b.currItem=null,b.content=null,b.currTemplate=null,b.prevHeight=0,y(j)},updateSize:function(a){if(b.isIOS){var c=document.documentElement.clientWidth/window.innerWidth,d=window.innerHeight*c;b.wrap.css("height",d),b.wH=d}else b.wH=a||v.height();b.fixedContentPos||b.wrap.css("height",b.wH),y("Resize")},updateItemHTML:function(){var c=b.items[b.index];b.contentContainer.detach(),b.content&&b.content.detach(),c.parsed||(c=b.parseEl(b.index));var d=c.type;if(y("BeforeChange",[b.currItem?b.currItem.type:"",d]),b.currItem=c,!b.currTemplate[d]){var f=b.st[d]?b.st[d].markup:!1;y("FirstMarkupParse",f),f?b.currTemplate[d]=a(f):b.currTemplate[d]=!0}e&&e!==c.type&&b.container.removeClass("mfp-"+e+"-holder");var g=b["get"+d.charAt(0).toUpperCase()+d.slice(1)](c,b.currTemplate[d]);b.appendContent(g,d),c.preloaded=!0,y(n,c),e=c.type,b.container.prepend(b.contentContainer),y("AfterChange")},appendContent:function(a,c){b.content=a,a?b.st.showCloseBtn&&b.st.closeBtnInside&&b.currTemplate[c]===!0?b.content.find(".mfp-close").length||b.content.append(z()):b.content=a:b.content="",y(k),b.container.addClass("mfp-"+c+"-holder"),b.contentContainer.append(b.content)},parseEl:function(c){var d,e=b.items[c];if(e.tagName?e={el:a(e)}:(d=e.type,e={data:e,src:e.src}),e.el){for(var f=b.types,g=0;g<f.length;g++)if(e.el.hasClass("mfp-"+f[g])){d=f[g];break}e.src=e.el.attr("data-mfp-src"),e.src||(e.src=e.el.attr("href"))}return e.type=d||b.st.type||"inline",e.index=c,e.parsed=!0,b.items[c]=e,y("ElementParse",e),b.items[c]},addGroup:function(a,c){var d=function(d){d.mfpEl=this,b._openClick(d,a,c)};c||(c={});var e="click.magnificPopup";c.mainEl=a,c.items?(c.isObj=!0,a.off(e).on(e,d)):(c.isObj=!1,c.delegate?a.off(e).on(e,c.delegate,d):(c.items=a,a.off(e).on(e,d)))},_openClick:function(c,d,e){var f=void 0!==e.midClick?e.midClick:a.magnificPopup.defaults.midClick;if(f||!(2===c.which||c.ctrlKey||c.metaKey||c.altKey||c.shiftKey)){var g=void 0!==e.disableOn?e.disableOn:a.magnificPopup.defaults.disableOn;if(g)if(a.isFunction(g)){if(!g.call(b))return!0}else if(v.width()<g)return!0;c.type&&(c.preventDefault(),b.isOpen&&c.stopPropagation()),e.el=a(c.mfpEl),e.delegate&&(e.items=d.find(e.delegate)),b.open(e)}},updateStatus:function(a,d){if(b.preloader){c!==a&&b.container.removeClass("mfp-s-"+c),d||"loading"!==a||(d=b.st.tLoading);var e={status:a,text:d};y("UpdateStatus",e),a=e.status,d=e.text,b.preloader.html(d),b.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),b.container.addClass("mfp-s-"+a),c=a}},_checkIfClose:function(c){if(!a(c).hasClass(s)){var d=b.st.closeOnContentClick,e=b.st.closeOnBgClick;if(d&&e)return!0;if(!b.content||a(c).hasClass("mfp-close")||b.preloader&&c===b.preloader[0])return!0;if(c===b.content[0]||a.contains(b.content[0],c)){if(d)return!0}else if(e&&a.contains(document,c))return!0;return!1}},_addClassToMFP:function(a){b.bgOverlay.addClass(a),b.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),b.wrap.removeClass(a)},_hasScrollBar:function(a){return(b.isIE7?d.height():document.body.scrollHeight)>(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).trigger('focus')},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split("_"),e.length>1){var f=b.find(p+"-"+e[0]);if(f.length>0){var g=e[1];"replaceWith"===g?f[0]!==d[0]&&f.replaceWith(d):"img"===g?f.is("img")?f.attr("src",d):f.replaceWith(a("<img>").attr("src",d).attr("class",f.attr("class"))):f.attr(e[1],d)}}else b.find(p+"-"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&#215;</button>',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("<div>");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('<img class="mfp-img" />').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()});
jQuery('.tips').each(function(){
let $this=jQuery(this);
$this.attr('data-bs-title', $this.data('title') );
});
if(!String.prototype.endsWith){
String.prototype.endsWith=function(search, this_len){
if(this_len===undefined||this_len > this.length){
this_len=this.length;
}
return this.substring(this_len - search.length, this_len)===search;
};}
if(window.NodeList&&!NodeList.prototype.forEach){
NodeList.prototype.forEach=Array.prototype.forEach;
}
if(!String.prototype.trim){
String.prototype.trim=function(){
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};}
(function($, sr){
'use strict';
var debounce=function(func, threshold, execAsap){
var timeout;
return function debounced(){
var obj=this, args=arguments;
function delayed(){
if(!execAsap)
func.apply(obj, args);
timeout=null;
}
if(timeout&&timeout.val)
theme.deleteTimeout(timeout);
else if(execAsap)
func.apply(obj, args);
timeout=theme.requestTimeout(delayed, threshold||100);
};};
jQuery.fn[sr]=function(fn){ return fn ? this.on('resize', debounce(fn) ):this.trigger(sr); };})(jQuery, 'smartresize');
jQuery.extend(jQuery.easing, {
def: 'easeOutQuad',
swing: function(x, t, b, c, d){
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
},
easeOutQuad: function(x, t, b, c, d){
return -c *(t /=d) *(t - 2) + b;
},
easeInOutQuart: function(x, t, b, c, d){
if(( t /=d / 2) < 1) return c / 2 * t * t * t * t + b;
return -c / 2 *(( t -=2) * t * t * t - 2) + b;
},
easeOutQuint: function(x, t, b, c, d){
return c *(( t=t / d - 1) * t * t * t * t + 1) + b;
}});
(function($){
$.fn.visible=function(partial, hidden, direction, container){
if(this.length < 1)
return;
var $t=this.length > 1 ? this.eq(0):this,
isContained=typeof container!=='undefined'&&container!==null,
$w=isContained ? $(container):$(window),
wPosition=isContained ? $w.position():0,
t=$t.get(0),
vpWidth=$w.outerWidth(),
vpHeight=$w.outerHeight(),
direction=(direction) ? direction:'both',
clientSize=hidden===true ? t.offsetWidth * t.offsetHeight:true;
if(typeof t.getBoundingClientRect==='function'){
var rec=t.getBoundingClientRect(),
tViz=isContained ?
rec.top - wPosition.top >=0&&rec.top < vpHeight + wPosition.top :
rec.top >=0&&rec.top < vpHeight,
bViz=isContained ?
rec.bottom - wPosition.top > 0&&rec.bottom <=vpHeight + wPosition.top :
rec.bottom > 0&&rec.bottom <=vpHeight,
lViz=isContained ?
rec.left - wPosition.left >=0&&rec.left < vpWidth + wPosition.left :
rec.left >=0&&rec.left < vpWidth,
rViz=isContained ?
rec.right - wPosition.left > 0&&rec.right < vpWidth + wPosition.left :
rec.right > 0&&rec.right <=vpWidth,
vVisible=partial ? tViz||bViz:tViz&&bViz,
hVisible=partial ? lViz||rViz:lViz&&rViz;
if(direction==='both')
return clientSize&&vVisible&&hVisible;
else if(direction==='vertical')
return clientSize&&vVisible;
else if(direction==='horizontal')
return clientSize&&hVisible;
}else{
var viewTop=isContained ? 0:wPosition,
viewBottom=viewTop + vpHeight,
viewLeft=$w.scrollLeft(),
viewRight=viewLeft + vpWidth,
position=$t.position(),
_top=position.top,
_bottom=_top + $t.height(),
_left=position.left,
_right=_left + $t.width(),
compareTop=partial===true ? _bottom:_top,
compareBottom=partial===true ? _top:_bottom,
compareLeft=partial===true ? _right:_left,
compareRight=partial===true ? _left:_right;
if(direction==='both')
return !!clientSize&&(( compareBottom <=viewBottom)&&(compareTop >=viewTop) )&&(( compareRight <=viewRight)&&(compareLeft >=viewLeft) );
else if(direction==='vertical')
return !!clientSize&&(( compareBottom <=viewBottom)&&(compareTop >=viewTop) );
else if(direction==='horizontal')
return !!clientSize&&(( compareRight <=viewRight)&&(compareLeft >=viewLeft) );
}};})(jQuery);
window.theme||(window.theme={});
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
rtl: js_porto_vars.rtl=='1' ? true:false,
rtl_browser: $('html').hasClass('browser-rtl'),
ajax_url: js_porto_vars.ajax_url,
request_error: js_porto_vars.request_error,
change_logo: js_porto_vars.change_logo=='1' ? true:false,
show_sticky_header: js_porto_vars.show_sticky_header=='1' ? true:false,
show_sticky_header_tablet: js_porto_vars.show_sticky_header_tablet=='1' ? true:false,
show_sticky_header_mobile: js_porto_vars.show_sticky_header_mobile=='1' ? true:false,
category_ajax: js_porto_vars.category_ajax=='1' ? true:false,
prdctfltr_ajax: js_porto_vars.prdctfltr_ajax=='1' ? true:false,
container_width: parseInt(js_porto_vars.container_width),
grid_gutter_width: parseInt(js_porto_vars.grid_gutter_width),
screen_xl: parseInt(js_porto_vars.screen_xl),
screen_xxl: parseInt(js_porto_vars.screen_xxl),
slider_loop: js_porto_vars.slider_loop=='1' ? true:false,
slider_autoplay: js_porto_vars.slider_autoplay=='1' ? true:false,
slider_autoheight: js_porto_vars.slider_autoheight=='1' ? true:false,
slider_speed: js_porto_vars.slider_speed ? js_porto_vars.slider_speed:5000,
slider_nav: js_porto_vars.slider_nav=='1' ? true:false,
slider_nav_hover: js_porto_vars.slider_nav_hover=='1' ? true:false,
slider_margin: js_porto_vars.slider_margin=='1' ? 40:0,
slider_dots: js_porto_vars.slider_dots=='1' ? true:false,
slider_animatein: js_porto_vars.slider_animatein ? js_porto_vars.slider_animatein:'',
slider_animateout: js_porto_vars.slider_animateout ? js_porto_vars.slider_animateout:'',
product_thumbs_count: js_porto_vars.product_thumbs_count ? parseInt(js_porto_vars.product_thumbs_count, 10):4,
product_zoom: js_porto_vars.product_zoom=='1' ? true:false,
product_zoom_mobile: js_porto_vars.product_zoom_mobile=='1' ? true:false,
product_image_popup: js_porto_vars.product_image_popup=='1' ? 'fadeOut':false,
innerHeight: window.innerHeight,
animation_support: !$('html').hasClass('no-csstransitions'),
owlConfig: {
rtl: js_porto_vars.rtl=='1' ? true:false,
loop: js_porto_vars.slider_loop=='1' ? true:false,
autoplay: js_porto_vars.slider_autoplay=='1' ? true:false,
autoHeight: js_porto_vars.slider_autoheight=='1' ? true:false,
autoplayTimeout: js_porto_vars.slider_speed ? js_porto_vars.slider_speed:7000,
autoplayHoverPause: true,
lazyLoad: true,
nav: js_porto_vars.slider_nav=='1' ? true:false,
navText: ["", ""],
dots: js_porto_vars.slider_dots=='1' ? true:false,
stagePadding:(js_porto_vars.slider_nav_hover!='1'&&js_porto_vars.slider_margin=='1') ? 40:0,
animateOut: js_porto_vars.slider_animateout ? js_porto_vars.slider_animateout:'',
animateIn: js_porto_vars.slider_animatein ? js_porto_vars.slider_animatein:''
},
sticky_nav_height: 0,
is_device_mobile: /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent||navigator.vendor||window.opera)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(( navigator.userAgent||navigator.vendor||window.opera).substr(0, 4) ),
getScrollbarWidth: function(){
if(this.scrollbarSize===undefined){
this.scrollbarSize=window.innerWidth - document.documentElement.clientWidth;
}
return this.scrollbarSize;
},
isTablet: function(){
if(window.innerWidth < 992)
return true;
return false;
},
isMobile: function(){
if(window.innerWidth <=480)
return true;
return false;
},
isIOS: function (){
return [
'iPad Simulator',
'iPhone Simulator',
'iPod Simulator',
'iPad',
'iPhone',
'iPod'
].includes(navigator.platform)
|| (navigator.userAgent.includes("Mac")&&"ontouchend" in document);
},
refreshVCContent: function($elements){
if($elements||$(document.body).hasClass('elementor-page') ){
$(window).trigger('resize', [ $elements ]);
}
theme.refreshStickySidebar(true);
if(typeof window.vc_js=='function')
window.vc_js();
$(document.body).trigger('porto_refresh_vc_content', [$elements]);
},
adminBarHeight: function(){
if(theme.adminBarHeightNum||0===theme.adminBarHeightNum){
return theme.adminBarHeightNum;
}
var obj=document.getElementById('wpadminbar'),
fixed_top=$('.porto-scroll-progress.fixed-top:not(.fixed-under-header)');
if(fixed_top.length&&'0px'==fixed_top.css('margin-top') ){
theme.adminBarHeightNum=fixed_top.height();
}else{
theme.adminBarHeightNum=0;
}
if(obj&&obj.offsetHeight&&window.innerWidth > 600){
theme.adminBarHeightNum +=obj.offsetHeight;
}
return theme.adminBarHeightNum;
},
refreshStickySidebar: function(timeout, $sticky_sidebar){
if(typeof $sticky_sidebar=='undefined'){
$sticky_sidebar=$('.sidebar [data-plugin-sticky]');
}
if($sticky_sidebar.get(0) ){
if(timeout){
theme.requestTimeout(function(){
$sticky_sidebar.trigger('recalc.pin');
}, 400);
}else{
$sticky_sidebar.trigger('recalc.pin');
}}
},
scrolltoContainer: function($container, timeout){
if($container.get(0) ){
if(window.innerWidth < 992){
$('.sidebar-overlay').trigger('click');
}
if(!timeout){
timeout=600;
}
$('html, body').stop().animate({
scrollTop: $container.offset().top - theme.StickyHeader.sticky_height - theme.adminBarHeight() - theme.sticky_nav_height - 18
}, timeout, 'easeOutQuad');
}},
requestFrame: function(fn){
var handler=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;
if(!handler){
return setTimeout(fn, 1000 / 60);
}
var rt=new Object()
rt.val=handler(fn);
return rt;
},
requestTimeout: function(fn, delay){
var handler=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;
if(!handler){
return setTimeout(fn, delay);
}
var start, rt=new Object();
function loop(timestamp){
if(!start){
start=timestamp;
}
var progress=timestamp - start;
progress >=delay ? fn.call():rt.val=handler(loop);
};
rt.val=handler(loop);
return rt;
},
deleteTimeout: function(timeoutID){
if(!timeoutID){
return;
}
var handler=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame;
if(!handler){
return clearTimeout(timeoutID);
}
if(timeoutID.val){
return handler(timeoutID.val);
}},
execPluginFunction: function(functionName, context){
var args=Array.prototype.slice.call(arguments, 2);
var namespaces=functionName.split(".");
var func=namespaces.pop();
for(var i=0; i < namespaces.length; i++){
context=context[namespaces[i]];
}
return context[func].apply(context, args);
},
getOptions: function(opts){
if(typeof(opts)=='object'){
return opts;
}else if(typeof(opts)=='string'){
try {
return JSON.parse(opts.replace(/'/g, '"').replace(';', '') );
} catch(e){
return {};}}else{
return {};}},
mergeOptions: function(obj1, obj2){
var obj3={};
for(var attrname in obj1){ obj3[attrname]=obj1[attrname]; }
for(var attrname in obj2){ obj3[attrname]=obj2[attrname]; }
return obj3;
},
intObs: function(selector, functionName, accY){
var $el;
if(typeof selector=='string'){
$el=document.querySelectorAll(selector);
}else{
$el=selector;
}
var intersectionObserverOptions={
rootMargin: '200px'
}
if(typeof accY!='undefined'){
intersectionObserverOptions.rootMargin='0px 0px ' + Number(accY) + 'px 0px';
}
var observer=new IntersectionObserver(function(entries){
for(var i=0; i < entries.length; i++){
var entry=entries[i];
if(entry.intersectionRatio > 0){
var $this=$(entry.target),
opts;
if(typeof functionName=='string'){
var pluginOptions=theme.getOptions($this.data('plugin-options') );
if(pluginOptions)
opts=pluginOptions;
theme.execPluginFunction(functionName, $this, opts);
}else{
var callback=functionName;
callback.call($this);
}
observer.unobserve(entry.target);
}}
}, intersectionObserverOptions);
Array.prototype.forEach.call($el, function(obj){
observer.observe(obj);
});
},
dynIntObsInit: function(selector, functionName, pluginDefaults){
var $el;
if(typeof selector=='string'){
$el=document.querySelectorAll(selector);
}else{
$el=selector;
}
Array.prototype.forEach.call($el, function(obj){
var $this=$(obj),
opts;
if($this.data('observer-init') ){
return;
}
var pluginOptions=theme.getOptions($this.data('plugin-options') );
if(pluginOptions)
opts=pluginOptions;
var mergedPluginDefaults=theme.mergeOptions(pluginDefaults, opts)
var intersectionObserverOptions={
rootMargin: '0px 0px 200px 0px',
thresholds: 0
}
if(mergedPluginDefaults.accY){
intersectionObserverOptions.rootMargin='0px 0px ' + Number(mergedPluginDefaults.accY) + 'px 0px';
}
var observer=new IntersectionObserver(function(entries){
for(var i=0; i < entries.length; i++){
var entry=entries[i];
if(entry.intersectionRatio > 0){
theme.execPluginFunction(functionName, $this, mergedPluginDefaults);
observer.unobserve(entry.target);
}}
}, intersectionObserverOptions);
observer.observe(obj);
$this.data('observer-init', true);
});
}});
if(theme.isIOS()){
document.body.classList.add('ios');
}
$.extend(theme, {
add_query_arg: function(key, value){
key=escape(key); value=escape(value);
var s=document.location.search;
var kvp=key + "=" + value;
var r=new RegExp("(&|\\?)" + key + "=[^\&]*");
s=s.replace(r, "$1" + kvp);
if(!RegExp.$1){ s +=(s.length > 0 ? '&':'?') + kvp; };
return s;
},
addUrlParam: function (href, name, value){
var url=document.createElement('a'), s, r;
href=decodeURIComponent(decodeURI(href));
url.href=href;
s=url.search;
if(0 <=s.indexOf(name + '=')){
r=s.replace(new RegExp(name + '=[^&]*'), name + '=' + value);
}else{
r=(s.length&&0 <=s.indexOf('?')) ? s:'?';
r.endsWith('?')||(r +='&');
r +=name + '=' + value;
}
return encodeURI(href.replace(s, '') + r.replace(/&+/, '&'));
},
removeUrlParam: function (href, name){
var url=document.createElement('a'), s, r;
href=decodeURIComponent(decodeURI(href));
url.href=href;
s=url.search;
if(0 <=s.indexOf(name + '=')){
r=s.replace(new RegExp(name + '=[^&]*'), '').replace(/&+/, '&').replace('?&', '?');
r.endsWith('&')&&(r=r.substr(0, r.length - 1));
r.endsWith('?')&&(r=r.substr(0, r.length - 1));
r=r.replace('&&', '&');
}else{
r=s;
}
return encodeURI(href.replace(s, '') + r);
}});
}).apply(this, [window.theme, jQuery]);
!function(){ "use strict"; if("object"==typeof window) if("IntersectionObserver" in window&&"IntersectionObserverEntry" in window&&"intersectionRatio" in window.IntersectionObserverEntry.prototype) "isIntersecting" in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype, "isIntersecting", { get: function(){ return this.intersectionRatio > 0 }}); else { var t=function(t){ for(var e=window.document, o=i(e); o;)o=i(e=o.ownerDocument); return e }(), e=[], o=null, n=null; s.prototype.THROTTLE_TIMEOUT=100, s.prototype.POLL_INTERVAL=null, s.prototype.USE_MUTATION_OBSERVER = !0, s._setupCrossOriginUpdater=function(){ return o||(o=function(t, o){ n=t&&o ? l(t, o):{ top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 }, e.forEach(function(t){ t._checkForIntersections() }) }), o }, s._resetCrossOriginUpdater=function(){ o=null, n=null }, s.prototype.observe=function(t){ if(!this._observationTargets.some(function(e){ return e.element==t }) ){ if(!t||1!=t.nodeType) throw new Error("target must be an Element"); this._registerInstance(), this._observationTargets.push({ element: t, entry: null }), this._monitorIntersections(t.ownerDocument), this._checkForIntersections() }}, s.prototype.unobserve=function(t){ this._observationTargets=this._observationTargets.filter(function(e){ return e.element!=t }), this._unmonitorIntersections(t.ownerDocument), 0==this._observationTargets.length&&this._unregisterInstance() }, s.prototype.disconnect=function(){ this._observationTargets=[], this._unmonitorAllIntersections(), this._unregisterInstance() }, s.prototype.takeRecords=function(){ var t=this._queuedEntries.slice(); return this._queuedEntries=[], t }, s.prototype._initThresholds=function(t){ var e=t||[0]; return Array.isArray(e)||(e=[e]), e.sort().filter(function(t, e, o){ if("number"!=typeof t||isNaN(t)||t < 0||t > 1) throw new Error("threshold must be a number between 0 and 1 inclusively"); return t!==o[e - 1] }) }, s.prototype._parseRootMargin=function(t){ var e=(t||"0px").split(/\s+/).map(function(t){ var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t); if(!e) throw new Error("rootMargin must be specified in pixels or percent"); return { value: parseFloat(e[1]), unit: e[2] }}); return e[1]=e[1]||e[0], e[2]=e[2]||e[0], e[3]=e[3]||e[1], e }, s.prototype._monitorIntersections=function(e){ var o=e.defaultView; if(o&&-1==this._monitoringDocuments.indexOf(e) ){ var n=this._checkForIntersections, r=null, s=null; this.POLL_INTERVAL ? r=o.setInterval(n, this.POLL_INTERVAL):(h(o, "resize", n, !0), h(e, "scroll", n, !0), this.USE_MUTATION_OBSERVER&&"MutationObserver" in o&&(s=new o.MutationObserver(n) ).observe(e, { attributes: !0, childList: !0, characterData: !0, subtree: !0 }) ), this._monitoringDocuments.push(e), this._monitoringUnsubscribes.push(function(){ var t=e.defaultView; t&&(r&&t.clearInterval(r), c(t, "resize", n, !0) ), c(e, "scroll", n, !0), s&&s.disconnect() }); var u=this.root&&(this.root.ownerDocument||this.root)||t; if(e!=u){ var a=i(e); a&&this._monitorIntersections(a.ownerDocument) }} }, s.prototype._unmonitorIntersections=function(e){ var o=this._monitoringDocuments.indexOf(e); if(-1!=o){ var n=this.root&&(this.root.ownerDocument||this.root)||t; if(!this._observationTargets.some(function(t){ var o=t.element.ownerDocument; if(o==e) return !0; for(; o&&o!=n;){ var r=i(o); if(( o=r&&r.ownerDocument)==e) return !0 } return !1 }) ){ var r=this._monitoringUnsubscribes[o]; if(this._monitoringDocuments.splice(o, 1), this._monitoringUnsubscribes.splice(o, 1), r(), e!=n){ var s=i(e); s&&this._unmonitorIntersections(s.ownerDocument) }} }}, s.prototype._unmonitorAllIntersections=function(){ var t=this._monitoringUnsubscribes.slice(0); this._monitoringDocuments.length=0, this._monitoringUnsubscribes.length=0; for(var e=0; e < t.length; e++)t[e]() }, s.prototype._checkForIntersections=function(){ if(this.root||!o||n){ var t=this._rootIsInDom(), e=t ? this._getRootRect():{ top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 }; this._observationTargets.forEach(function(n){ var i=n.element, s=u(i), h=this._rootContainsTarget(i), c=n.entry, a=t&&h && this._computeTargetAndRootIntersection(i, s, e), l=null; this._rootContainsTarget(i) ? o&&!this.root||(l=e):l={ top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 }; var f=n.entry=new r( { time: window.performance&&performance.now&&performance.now(), target: i, boundingClientRect: s, rootBounds: l, intersectionRect: a }); c ? t&&h ? this._hasCrossedThreshold(c, f)&&this._queuedEntries.push(f):c&&c.isIntersecting&&this._queuedEntries.push(f):this._queuedEntries.push(f) }, this), this._queuedEntries.length&&this._callback(this.takeRecords(), this) }}, s.prototype._computeTargetAndRootIntersection=function(e, i, r){ if("none"!=window.getComputedStyle(e).display){ for(var s, h, c, a, f, d, g, m, v=i, _=p(e), b = !1; !b&&_;){ var w=null, y=1==_.nodeType ? window.getComputedStyle(_):{}; if("none"==y.display) return null; if(_==this.root||9==_.nodeType) if(b = !0, _==this.root||_==t) o&&!this.root ? !n||0==n.width&&0==n.height ?(_=null, w=null, v=null):w=n:w=r; else { var I=p(_), E=I&&u(I), T=I&&this._computeTargetAndRootIntersection(I, E, r); E&&T ?(_=I, w=l(E, T) ):(_=null, v=null) }else{ var R=_.ownerDocument; _!=R.body&&_!=R.documentElement&&"visible"!=y.overflow&&(w=u(_) ) } if(w&&(s=w, h=v, c=void 0, a=void 0, f=void 0, d=void 0, g=void 0, m=void 0, c=Math.max(s.top, h.top), a=Math.min(s.bottom, h.bottom), f=Math.max(s.left, h.left), d=Math.min(s.right, h.right), m=a - c, v=(g=d - f) >=0&&m >=0&&{ top: c, bottom: a, left: f, right: d, width: g, height: m }||null), !v) break; _=_&&p(_) } return v }}, s.prototype._getRootRect=function(){ var e; if(this.root&&!d(this.root) ) e=u(this.root); else { var o=d(this.root) ? this.root:t, n=o.documentElement, i=o.body; e={ top: 0, left: 0, right: n.clientWidth||i.clientWidth, width: n.clientWidth||i.clientWidth, bottom: n.clientHeight||i.clientHeight, height: n.clientHeight||i.clientHeight }} return this._expandRectByRootMargin(e) }, s.prototype._expandRectByRootMargin=function(t){ var e=this._rootMarginValues.map(function(e, o){ return "px"==e.unit ? e.value:e.value *(o % 2 ? t.width:t.height) / 100 }), o={ top: t.top - e[0], right: t.right + e[1], bottom: t.bottom + e[2], left: t.left - e[3] }; return o.width=o.right - o.left, o.height=o.bottom - o.top, o }, s.prototype._hasCrossedThreshold=function(t, e){ var o=t&&t.isIntersecting ? t.intersectionRatio||0:-1, n=e.isIntersecting ? e.intersectionRatio||0:-1; if(o!==n) for(var i=0; i < this.thresholds.length; i++){ var r=this.thresholds[i]; if(r==o||r==n||r < o!=r < n) return !0 }}, s.prototype._rootIsInDom=function(){ return !this.root||f(t, this.root) }, s.prototype._rootContainsTarget=function(e){ var o=this.root&&(this.root.ownerDocument||this.root)||t; return f(o, e)&&(!this.root||o==e.ownerDocument) }, s.prototype._registerInstance=function(){ e.indexOf(this) < 0&&e.push(this) }, s.prototype._unregisterInstance=function(){ var t=e.indexOf(this); -1!=t&&e.splice(t, 1) }, window.IntersectionObserver=s, window.IntersectionObserverEntry=r } function i(t){ try { return t.defaultView&&t.defaultView.frameElement||null } catch(t){ return null }} function r(t){ this.time=t.time, this.target=t.target, this.rootBounds=a(t.rootBounds), this.boundingClientRect=a(t.boundingClientRect), this.intersectionRect=a(t.intersectionRect||{ top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 }), this.isIntersecting = !!t.intersectionRect; var e=this.boundingClientRect, o=e.width * e.height, n=this.intersectionRect, i=n.width * n.height; this.intersectionRatio=o ? Number(( i / o).toFixed(4) ):this.isIntersecting ? 1:0 } function s(t, e){ var o, n, i, r=e||{}; if("function"!=typeof t) throw new Error("callback must be a function"); if(r.root&&1!=r.root.nodeType&&9!=r.root.nodeType) throw new Error("root must be a Document or Element"); this._checkForIntersections=(o=this._checkForIntersections.bind(this), n=this.THROTTLE_TIMEOUT, i=null, function(){ i||(i=setTimeout(function(){ o(), i=null }, n) ) }), this._callback=t, this._observationTargets=[], this._queuedEntries=[], this._rootMarginValues=this._parseRootMargin(r.rootMargin), this.thresholds=this._initThresholds(r.threshold), this.root=r.root||null, this.rootMargin=this._rootMarginValues.map(function(t){ return t.value + t.unit }).join(" "), this._monitoringDocuments=[], this._monitoringUnsubscribes=[] } function h(t, e, o, n){ "function"==typeof t.addEventListener ? t.addEventListener(e, o, n||!1):"function"==typeof t.attachEvent&&t.attachEvent("on" + e, o) } function c(t, e, o, n){ "function"==typeof t.removeEventListener ? t.removeEventListener(e, o, n||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on" + e, o) } function u(t){ var e; try { e=t.getBoundingClientRect() } catch(t){ } return e ?(e.width&&e.height||(e={ top: e.top, right: e.right, bottom: e.bottom, left: e.left, width: e.right - e.left, height: e.bottom - e.top }), e):{ top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 }} function a(t){ return !t||"x" in t ? t:{ top: t.top, y: t.top, bottom: t.bottom, left: t.left, x: t.left, right: t.right, width: t.width, height: t.height }} function l(t, e){ var o=e.top - t.top, n=e.left - t.left; return { top: o, left: n, height: e.height, width: e.width, bottom: o + e.height, right: n + e.width }} function f(t, e){ for(var o=e; o;){ if(o==t) return !0; o=p(o) } return !1 } function p(e){ var o=e.parentNode; return 9==e.nodeType&&e!=t ? i(e):(o&&o.assignedSlot&&(o=o.assignedSlot.parentNode), o&&11==o.nodeType&&o.host ? o.host:o) } function d(t){ return t&&9===t.nodeType }}();
(function($){
'use strict';
$.extend({
browserSelector: function(){
var hasTouch='ontouchstart' in window||navigator.msMaxTouchPoints;
var u=navigator.userAgent,
ua=u.toLowerCase(),
is=function(t){
return ua.indexOf(t) > -1;
},
g='gecko',
w='webkit',
s='safari',
o='opera',
h=document.documentElement,
b=[(!(/opera|webtv/i.test(ua) )&&/msie\s(\d)/.test(ua) ) ?('ie ie' + parseFloat(navigator.appVersion.split("MSIE")[1]) ):is('firefox/2') ? g + ' ff2':is('firefox/3.5') ? g + ' ff3 ff3_5':is('firefox/3') ? g + ' ff3':is('gecko/') ? g:is('opera') ? o +(/version\/(\d+)/.test(ua) ? ' ' + o + RegExp.jQuery1:(/opera(\s|\/)(\d+)/.test(ua) ? ' ' + o + RegExp.jQuery2:'') ):is('konqueror') ? 'konqueror':is('chrome') ? w + ' chrome':is('iron') ? w + ' iron':is('applewebkit/') ? w + ' ' + s +(/version\/(\d+)/.test(ua) ? ' ' + s + RegExp.jQuery1:''):is('mozilla/') ? g:'', is('j2me') ? 'mobile':is('iphone') ? 'iphone':is('ipod') ? 'ipod':is('mac') ? 'mac':is('darwin') ? 'mac':is('webtv') ? 'webtv':is('win') ? 'win':is('freebsd') ? 'freebsd':(is('x11')||is('linux') ) ? 'linux':'', 'js'];
var c=b.join(' ');
if(theme.is_device_mobile){
c +=' mobile';
}
if(hasTouch){
c +=' touch';
}
h.className +=' ' + c;
var isIE11 = !(window.ActiveXObject)&&"ActiveXObject" in window;
if(isIE11){
$('html').removeClass('gecko').addClass('ie ie11');
return;
}}
});
$.browserSelector();
})(jQuery);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__accordion';
var Accordion=function($el, opts){
return this.initialize($el, opts);
};
Accordion.defaults={
};
Accordion.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, this);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, Accordion.defaults, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
var polyfillCollapse=function(selector){
$(selector).each(function(){
let $this=$(this);
$this.addClass('show');
$this.prev().find('.accordion-toggle').removeClass('collapsed').attr('aria-expanded', true);
});
}
var $el=this.options.wrapper,
$collapse=$el.find('.collapse'),
collapsible=$el.data('collapsible'),
active_num=$el.data('active-tab');
if($collapse.length > 0){
if($el.data('use-accordion')&&'yes'==$el.data('use-accordion') ){
$el.find('.collapse').attr('data-bs-parent', '#' + $el.attr('id') );
}
if(collapsible=='yes'){
if($.fn.collapse){
$collapse.collapse({ toggle: false, parent: '#' + $el.attr('id') });
}}else if(!isNaN(active_num)&&active_num==parseInt(active_num)&&$el.find('.collapse').length >=active_num){
if(!$.fn.collapse){
polyfillCollapse($el.find('.collapse').eq(active_num - 1) );
}else{
$el.find('.collapse').collapse({ toggle: false, parent: '#' + $el.attr('id') });
$el.find('.collapse').eq(active_num - 1).collapse('toggle');
}}else{
if(!$.fn.collapse){
polyfillCollapse($el.find('.collapse') );
}else{
$el.find('.collapse').collapse({ parent: '#' + $el.attr('id') });
}}
}
return this;
}};
$.extend(theme, {
Accordion: Accordion
});
$.fn.themeAccordion=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this.data(instanceName);
}else{
return new theme.Accordion($this, opts);
}});
};}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__accordionMenu';
var AccordionMenu=function($el, opts){
return this.initialize($el, opts);
};
AccordionMenu.defaults={
};
AccordionMenu.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, this);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, AccordionMenu.defaults, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
var self=this,
$el=this.options.wrapper;
$el.find('li.menu-item.active').each(function(){
var $this=$(this);
if($this.find('> .arrow').get(0) )
$this.find('> .arrow').trigger('click');
});
$el.on('click', '.arrow', function(e){
e.preventDefault();
e.stopPropagation();
var $this=$(this),
$parent=$this.closest('li');
if(typeof self.options.open_one!='undefined'){
$parent.siblings('.open').children('.arrow').next().hide();
$parent.siblings('.open').removeClass('open');
$this.next().stop().toggle();
}else{
$this.next().stop().slideToggle();
}
if($parent.hasClass('open') ){
$parent.removeClass('open');
}else{
$parent.addClass('open');
}
if($this.closest('.header-side-nav .sidebar-menu').length){
$('.header-side-nav [data-plugin-sticky]').trigger('recalc.pin');
}
return false;
});
$el.find('.menu-item-has-children').each(function (){
var $this=$(this);
if($this.find('>.sub-menu > li:not(.hidden-item)').length==0){
$this.addClass('hidden-item');
}});
return this;
}};
$.extend(theme, {
AccordionMenu: AccordionMenu
});
$.fn.themeAccordionMenu=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this.data(instanceName);
}else{
return new theme.AccordionMenu($this, opts);
}});
};}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__flickrZoom';
var FlickrZoom=function($el, opts){
return this.initialize($el, opts);
};
FlickrZoom.defaults={
};
FlickrZoom.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, this);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, FlickrZoom.defaults, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
var $el=this.options.wrapper,
links=[],
i=0,
$flickr_links=$el.find('.flickr_badge_image > a');
$flickr_links.each(function(){
var slide={},
$image=$(this).find('> img');
slide.src=$image.attr('src').replace('_s.', '_b.');
slide.title=$image.attr('title');
links[i]=slide;
i++;
});
$flickr_links.on('click', function(e){
e.preventDefault();
if($.fn.magnificPopup){
$.magnificPopup.close();
$.magnificPopup.open($.extend(true, {}, theme.mfpConfig, {
items: links,
gallery: {
enabled: true
},
type: 'image'
}), $flickr_links.index($(this) ));
}});
return this;
}};
$.extend(theme, {
FlickrZoom: FlickrZoom
});
$.fn.themeFlickrZoom=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this.data(instanceName);
}else{
return new theme.FlickrZoom($this, opts);
}});
}}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__masonry';
var Masonry=function($el, opts){
return this.initialize($el, opts);
};
Masonry.defaults={
itemSelector: 'li',
isOriginLeft: !theme.rtl
};
Masonry.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, this);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, Masonry.defaults, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
if(!$.fn.isotope){
return this;
}
var self=this,
$el=this.options.wrapper,
trigger_timer=null;
$el.isotope(this.options);
$el.isotope('on', 'layoutComplete', function(){
if(typeof this.options.callback=='function'){
this.options.callback.call();
}
if($el.find('.porto-lazyload:not(.lazy-load-loaded):visible').length){
$(window).trigger('scroll');
}});
$el.isotope('layout');
self.resize();
$(window).smartresize(function(){
self.resize()
});
return this;
},
resize: function(){
var self=this,
$el=this.options.wrapper;
if(self.resizeTimer){
theme.deleteTimeout(self.resizeTimer);
}
self.resizeTimer=theme.requestTimeout(function(){
if($el.data('isotope') ){
$el.isotope('layout');
}
delete self.resizeTimer;
}, 600);
}};
$.extend(theme, {
Masonry: Masonry
});
$.fn.themeMasonry=function(opts){
return this.map(function(){
var $this=$(this);
imagesLoaded(this, function(){
if($this.data(instanceName) ){
return $this.data(instanceName);
}else{
return new theme.Masonry($this, opts);
}});
});
}}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__toggle';
var Toggle=function($el, opts){
return this.initialize($el, opts);
};
Toggle.defaults={
};
Toggle.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, this);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, Toggle.defaults, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
var $el=this.options.wrapper;
if($el.hasClass('active') )
$el.find("> div.toggle-content").stop().slideDown(350, function(){
$(this).attr('style', '').show();
});
$el.on('click', "> label", function(e){
var parentSection=$(this).parent(),
parentWrapper=$(this).closest("div.toogle"),
parentToggles=$(this).closest(".porto-toggles"),
isAccordion=parentWrapper.hasClass("toogle-accordion"),
toggleContent=parentSection.find("> div.toggle-content");
if(isAccordion&&typeof(e.originalEvent)!="undefined"){
parentWrapper.find("section.toggle.active > label").trigger("click");
}
if(!parentSection.hasClass("active") ){
if(parentToggles.length){
if(parentToggles.data('view')=='one-toggle'){
parentToggles.find('.toggle').each(function(){
$(this).removeClass('active');
$(this).find("> div.toggle-content").stop().slideUp(350, function(){
$(this).attr('style', '').hide();
});
});
}}
toggleContent.stop().slideDown(350, function(){
$(this).attr('style', '').show();
theme.refreshVCContent(toggleContent);
});
parentSection.addClass("active");
}else{
if(!parentToggles.length||parentToggles.data('view')!='one-toggle'){
toggleContent.stop().slideUp(350, function(){
$(this).attr('style', '').hide();
});
parentSection.removeClass("active");
}}
});
return this;
}};
$.extend(theme, {
Toggle: Toggle
});
$.fn.themeToggle=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this.data(instanceName);
}else{
return new theme.Toggle($this, opts);
}});
}}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
$.fn.themePin=function(options){
var scrollY=0, lastScrollY=0, elements=[], disabled=false, $window=$(window), fixedSideTop=[], fixedSideBottom=[], prevDataTo=[];
options=options||{};
var recalculateLimits=function(){
for(var i=0, len=elements.length; i < len; i++){
var $this=elements[i];
if(options.minWidth&&window.innerWidth < options.minWidth){
if($this.parent().hasClass("pin-wrapper") ){
if(options.hasWrap){
$this.parent().css('height', '');
}else{
$this.unwrap();
}}
$this.css({ width: "", left: "", top: "", position: "" });
if(options.activeClass){ $this.removeClass(options.activeClass); }
$this.removeClass('sticky-transition');
$this.removeClass('sticky-absolute');
disabled=true;
continue;
}else{
disabled=false;
}
var $container=options.containerSelector ?($this.closest(options.containerSelector).length ? $this.closest(options.containerSelector):$(options.containerSelector) ):$(document.body),
offset=$this.offset();
if(options.hasWrap&&$container.height() < $this.closest('.pin-wrapper').outerHeight()){
$container=$this.closest('.pin-wrapper');
}
var containerOffset=$container.offset();
if(typeof containerOffset=='undefined'){
continue;
}
if(!$this.parent().hasClass("pin-wrapper") ){
$this.wrap("<div class='pin-wrapper'>");
if($this.hasClass('elementor-element-populated') ){
var $el_cont=$this.closest('.elementor-container');
if($el_cont.length){
var matches=$el_cont.attr('class').match(/elementor-column-gap-([a-z]*)/g);
if(matches&&matches.length){
var gap=matches[0].replace('elementor-column-gap-', '');
$this.addClass('porto-gap-' + gap);
}}
}}
var parentOffset=$this.parent().offset();
var pad=$.extend({
top: 0,
bottom: 0
}, options.padding||{});
var $pin=$this.parent(),
pt=parseInt($pin.parent().css('padding-top') ), pb=parseInt($pin.parent().css('padding-bottom') );
if(options.autoInit){
if($('#header').hasClass('header-side') ){
pad.top=theme.adminBarHeight();
}else{
pad.top=theme.adminBarHeight();
if($('#header > .main-menu-wrap').length||!$('#header').hasClass('sticky-menu-header') ){
pad.top +=(theme.StickyHeader.sticky_height ? theme.StickyHeader.sticky_height:0);
}}
if(typeof options.paddingOffsetTop!='undefined'){
pad.top +=parseInt(options.paddingOffsetTop, 10);
}else{
pad.top +=18;
}
if(typeof options.paddingOffsetBottom!='undefined'){
pad.bottom=parseInt(options.paddingOffsetBottom, 10);
}else{
pad.bottom=0;
}}
var bb=$this.css('border-bottom'), h=$this.outerHeight();
$this.css('border-bottom', '1px solid transparent');
var o_h=$this.outerHeight() - h - 1;
$this.css('border-bottom', bb);
$this.css({ width: $this.outerWidth() <=$pin.width() ? $this.outerWidth():$pin.width() });
$pin.css("height", $this.outerHeight() + o_h);
if(( !options.autoFit&&!options.fitToBottom)||$this.outerHeight() <=$window.height()){
$this.data("themePin", {
pad: pad,
from:(options.containerSelector ? containerOffset.top:offset.top) - pad.top + pt,
pb: pb,
parentTop: parentOffset.top - pt,
offset: o_h,
stickyOffset: options.stickyOffset ? options.stickyOffset:0
});
}else{
$this.data("themePin", {
pad: pad,
fromFitTop:(options.containerSelector ? containerOffset.top:offset.top) - pad.top + pt,
from:(options.containerSelector ? containerOffset.top:offset.top) + $this.outerHeight() - window.innerHeight + pt,
pb: pb,
parentTop: parentOffset.top - pt,
offset: o_h,
stickyOffset: options.stickyOffset ? options.stickyOffset:0
});
}}
};
var onScroll=function(){
if(disabled){ return; }
scrollY=$window.scrollTop();
var window_height=window.innerHeight||$window.height();
for(var i=0, len=elements.length; i < len; i++){
var $this=$(elements[i]),
data=$this.data("themePin"),
sidebarTop;
let contentWrap=$this.closest('.porto-products-filter-body');
let sidebarWrap=$this.closest('.sidebar');
if(contentWrap.length&&sidebarWrap.length){
if($.contains(contentWrap[0], sidebarWrap[0])&&!contentWrap.hasClass('opened') ){
continue;
}}
if(!data||typeof data.pad=='undefined'){
continue;
}
var $container=options.containerSelector ?($this.closest(options.containerSelector).length ? $this.closest(options.containerSelector):$(options.containerSelector) ):$(document.body),
isFitToTop=(!options.autoFit&&!options.fitToBottom)||($this.outerHeight() + data.pad.top) <=window_height;
if(options.hasWrap&&$container.height() < $this.closest('.pin-wrapper').outerHeight()){
$container=$this.closest('.pin-wrapper');
}
data.end=$container.offset().top + $container.height();
if(isFitToTop){
data.to=$container.offset().top + $container.height() - $this.outerHeight() - data.pad.bottom - data.pb;
}else{
data.to=$container.offset().top + $container.height() - window_height - data.pb;
data.to2=$container.height() - $this.outerHeight() - data.pad.bottom - data.pb;
}
if(prevDataTo[i]===0){
prevDataTo[i]=data.to;
}
if(isFitToTop){
var from=data.from - data.pad.bottom,
to=data.to - data.pad.top - data.offset,
$parent=$this.closest('.sticky-nav-wrapper'),
widgetTop;
if($parent.length){
widgetTop=$parent.offset().top - data.pad.top;
if(widgetTop > from){
from=widgetTop;
}}
if(typeof data.fromFitTop!='undefined'&&data.fromFitTop){
from=data.fromFitTop - data.pad.bottom;
}
if(from + $this.outerHeight() > data.end||from >=to){
$this.css({ position: "", top: "", left: "" });
if(options.activeClass){ $this.removeClass(options.activeClass); }
$this.removeClass('sticky-transition');
$this.removeClass('sticky-absolute');
continue;
}
if(scrollY > from + data.stickyOffset&&scrollY < to){
!($this.css("position")=="fixed")&&$this.css({
left: $this.offset().left,
top: data.pad.top
}).css("position", "fixed");
if(options.activeClass){ $this.addClass(options.activeClass); }
$this.removeClass('sticky-transition');
$this.removeClass('sticky-absolute');
}else if(scrollY >=to){
$this.css({
left: "",
top: to - data.parentTop + data.pad.top
}).css("position", "absolute");
if(options.activeClass){ $this.addClass(options.activeClass); }
if($this.hasClass('sticky-absolute') ) $this.addClass('sticky-transition');
$this.addClass('sticky-absolute');
}else{
$this.css({ position: "", top: "", left: "" });
if(options.activeClass){ $this.removeClass(options.activeClass); }
$this.removeClass('sticky-transition');
$this.removeClass('sticky-absolute');
}}else if(options.fitToBottom){
var from=data.from,
to=data.to;
if(data.from + window_height > data.end||data.from >=to){
$this.css({ position: "", top: "", bottom: "", left: "" });
if(options.activeClass){ $this.removeClass(options.activeClass); }
$this.removeClass('sticky-transition');
$this.removeClass('sticky-absolute');
continue;
}
if(scrollY > from&&scrollY < to){
!($this.css("position")=="fixed")&&$this.css({
left: $this.offset().left,
bottom: data.pad.bottom,
top: ""
}).css("position", "fixed");
if(options.activeClass){ $this.addClass(options.activeClass); }
$this.removeClass('sticky-transition');
$this.removeClass('sticky-absolute');
}else if(scrollY >=to){
$this.css({
left: "",
top: data.to2,
bottom: ""
}).css("position", "absolute");
if(options.activeClass){ $this.addClass(options.activeClass); }
if($this.hasClass('sticky-absolute') ) $this.addClass('sticky-transition');
$this.addClass('sticky-absolute');
}else{
$this.css({ position: "", top: "", bottom: "", left: "" });
if(options.activeClass){ $this.removeClass(options.activeClass); }
$this.removeClass('sticky-transition');
$this.removeClass('sticky-absolute');
}}else{
var this_height=$this.outerHeight()
if(prevDataTo[i]!=data.to){
if(fixedSideBottom[i]&&this_height + $this.offset().top + data.pad.bottom < scrollY + window_height){
fixedSideBottom[i]=false;
}}
if(( this_height + data.pad.top + data.pad.bottom) > window_height||fixedSideTop[i]||fixedSideBottom[i]){
var padTop=parseInt($this.parent().parent().css('padding-top') );
if(scrollY + data.pad.top - padTop <=data.parentTop){
$this.css({ position: "", top: "", bottom: "", left: "" });
fixedSideTop[i]=fixedSideBottom[i]=false;
if(options.activeClass){ $this.removeClass(options.activeClass); }}else if(scrollY >=data.to){
$this.css({
left: "",
top: data.to2,
bottom: ""
}).css("position", "absolute");
if(options.activeClass){ $this.addClass(options.activeClass); }}else{
if(scrollY >=lastScrollY){
if(fixedSideTop[i]){
fixedSideTop[i]=false;
sidebarTop=$this.offset().top - data.parentTop;
$this.css({
left: "",
top: sidebarTop,
bottom: ""
}).css("position", "absolute");
if(options.activeClass){ $this.addClass(options.activeClass); }}else if(!fixedSideBottom[i]&&this_height + $this.offset().top + data.pad.bottom < scrollY + window_height){
fixedSideBottom[i]=true;
!($this.css("position")=="fixed")&&$this.css({
left: $this.offset().left,
bottom: data.pad.bottom,
top: ""
}).css("position", "fixed");
if(options.activeClass){ $this.addClass(options.activeClass); }}
}else if(scrollY < lastScrollY){
if(fixedSideBottom[i]){
fixedSideBottom[i]=false;
sidebarTop=$this.offset().top - data.parentTop;
$this.css({
left: "",
top: sidebarTop,
bottom: ""
}).css("position", "absolute");
if(options.activeClass){ $this.addClass(options.activeClass); }}else if(!fixedSideTop[i]&&$this.offset().top >=scrollY + data.pad.top){
fixedSideTop[i]=true;
!($this.css("position")=="fixed")&&$this.css({
left: $this.offset().left,
top: data.pad.top,
bottom: ''
}).css("position", "fixed");
if(options.activeClass){ $this.addClass(options.activeClass); }}else if(!fixedSideBottom[i]&&fixedSideTop[i]&&$this.css('position')=='absolute'&&$this.offset().top >=scrollY + data.pad.top){
fixedSideTop[i]=false;
}}
}}else{
if(scrollY >=(data.parentTop - data.pad.top) ){
$this.css({
position: 'fixed',
top: data.pad.top
});
}else{
$this.css({ position: "", top: "", bottom: "", left: "" });
if(options.activeClass){ $this.removeClass(options.activeClass); }}
fixedSideTop[i]=fixedSideBottom[i]=false;
}}
prevDataTo[i]=data.to;
}
lastScrollY=scrollY;
};
var update=function(){ recalculateLimits(); onScroll(); },
r_timer=null;
this.each(function(){
var $this=$(this),
data=$this.data('themePin')||{};
if(data&&data.update){ return; }
elements.push($this);
$("img", this).one("load", function(){
if(r_timer){
theme.deleteTimeout(r_timer);
}
r_timer=theme.requestFrame(recalculateLimits);
});
data.update=update;
$this.data('themePin', data);
fixedSideTop.push(false);
fixedSideBottom.push(false);
prevDataTo.push(0);
});
window.addEventListener('touchmove', onScroll, { passive: true });
window.addEventListener('scroll', onScroll, { passive: true });
recalculateLimits();
if(!theme.isLoaded){
$window.on('load', update);
}else{
update();
}
$(this).on('recalc.pin', function(){
recalculateLimits();
onScroll();
});
return this;
};
theme=theme||{};
var instanceName='__sticky';
var Sticky=function($el, opts){
return this.initialize($el, opts);
};
Sticky.defaults={
autoInit: false,
minWidth: 767,
activeClass: 'sticky-active',
padding: {
top: 0,
bottom: 0
},
offsetTop: 0,
offsetBottom: 0,
autoFit: false,
fitToBottom: false,
stickyOffset: 0
};
Sticky.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, this);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, Sticky.defaults, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
if(!$.fn.themePin){
return this;
}
var self=this,
$el=this.options.wrapper,
stickyResizeTrigger;
if($el.hasClass('porto-sticky-nav') ){
this.options.padding.top=(theme.StickyHeader.sticky_height ? theme.StickyHeader.sticky_height:0) + theme.adminBarHeight();
this.options.activeClass='sticky-active';
this.options.containerSelector='.main-content-wrap';
theme.sticky_nav_height=$el.outerHeight();
if(this.options.minWidth > window.innerWidth)
theme.sticky_nav_height=0;
var porto_progress_obj=$('.porto-scroll-progress.fixed-top:not(.fixed-under-header)');
if(porto_progress_obj.length){
var flag=false;
if(porto_progress_obj.is(':hidden') ){
porto_progress_obj.show();
flag=true;
}
if(flag){
porto_progress_obj.hide();
}}
var offset=theme.adminBarHeight() +(theme.StickyHeader.sticky_height ? theme.StickyHeader.sticky_height:0) - 1,
$transitionOffset=(offset > 100) ? offset:100;
this.options.stickyOffset=theme.sticky_nav_height + $transitionOffset;
var init_filter_widget_sticky=function(){
var prevScrollPos=$el.data('prev-pos') ? $el.data('prev-pos'):0,
scrollUpOffset=0,
objHeight=$el.outerHeight() + parseInt($el.css('margin-bottom') ),
scrollTop=$(window).scrollTop();
if($('.page-wrapper').hasClass('sticky-scroll-up') ){
if(scrollTop > prevScrollPos){
$el.addClass('scroll-down');
}else{
$el.removeClass('scroll-down');
}
scrollUpOffset=- theme.StickyHeader.sticky_height;
if('undefined'==typeof(theme.StickyHeader.sticky_height) ){
$el.data('prev-pos', 0);
}else{
if($el.parent().offset().top + objHeight + $transitionOffset < scrollTop + offset + scrollUpOffset){
$el.addClass('sticky-ready');
}else{
$el.removeClass('sticky-ready');
}
$el.data('prev-pos', scrollTop);
}}
}
if(this.options.minWidth <=window.innerWidth){
window.removeEventListener('scroll', init_filter_widget_sticky);
window.addEventListener('scroll', init_filter_widget_sticky, { passive: true });
init_filter_widget_sticky();
}}
$el.themePin(this.options);
$(window).smartresize(function(){
if(stickyResizeTrigger){
clearTimeout(stickyResizeTrigger);
}
stickyResizeTrigger=setTimeout(function(){
$el.trigger('recalc.pin');
}, 800);
var $parent=$el.parent();
$el.outerWidth($parent.width());
if($el.css('position')=='fixed'){
$el.css('left', $parent.offset().left);
}
if($el.hasClass('porto-sticky-nav') ){
theme.sticky_nav_height=$el.outerHeight();
if(self.options.minWidth > window.innerWidth)
theme.sticky_nav_height=0;
}});
return this;
}};
$.extend(theme, {
Sticky: Sticky
});
$.fn.themeSticky=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
$this.trigger('recalc.pin');
setTimeout(function(){
$this.trigger('recalc.pin');
}, 800);
return $this.data(instanceName);
}else{
return new theme.Sticky($this, opts);
}});
}}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
$(function(){
$(document.body).on('click', '.mobile-toggle', function(e){
var $nav_panel=$('#nav-panel');
if($nav_panel.length > 0){
if($(this).closest('.header-main').length&&$nav_panel.closest('.header-builder-p').length&&!$nav_panel.parent('.header-main').length){
$nav_panel.appendTo($(this).closest('.header-main') );
}else if($(this).closest('.header-main').length&&$nav_panel.closest('.wp-block-template-part').length){
$nav_panel.insertAfter($(this).closest('.header-main') );
}
if($nav_panel.is(':visible')&&$('#header').hasClass('sticky-header') ){
var h_h=$('#header').height(), p_h=$nav_panel.outerHeight();
if(h_h > p_h + 30){
$('#header').css('height', h_h - p_h);
}}
$nav_panel.stop().slideToggle();
}else if($('#side-nav-panel').length > 0){
$('html').toggleClass('panel-opened');
$('.panel-overlay').toggleClass('active');
if($('#side-nav-panel').hasClass('panel-right') ){
$('html').addClass('panel-right-opened');
}}
if($('#nav-panel .skeleton-body, #side-nav-panel .skeleton-body').length){
theme.lazyload_menu(1, 'mobile_menu');
}
e.preventDefault();
});
$(document.body).on('click', '.panel-overlay', function(){
$('html').css('transition', 'margin .3s').removeClass('panel-opened').removeClass('panel-right-opened');
theme.requestTimeout(function(){
$('html').css('transition', '');
}, 260);
$(this).removeClass('active');
});
$(document.body).on('click', '.side-nav-panel-close', function(e){
e.preventDefault();
$('.panel-overlay').trigger('click');
});
$(document.body).on('click', '#side-nav-panel .mobile-tab-items .nav-item', function(e){
e.preventDefault();
var $this=$(this),
$id=$this.attr('pane-id'),
$parent=$this.closest('.mobile-tabs');
if($id){
$parent.find('.active').removeClass('active');
$this.addClass('active');
$parent.find('.mobile-tab-content [tab-id="' + $id + '"]').addClass('active');
}});
$(window).on('resize', function(){
if(window.innerWidth > 991){
$('#nav-panel').hide();
if($('html').hasClass('panel-opened') ){
$('.panel-overlay').trigger('click');
}}
});
});
}).apply(this, [window.theme, jQuery]);
var scrolltotop={
setting: { startline: 100, scrollto: 0, scrollduration: 1000, fadeduration: [500, 100] },
controlHTML: '<img src="assets/img/up.png" style="width:40px; height:40px" />',
controlattrs: { offsetx: 10, offsety: 10 },
anchorkeyword: '#top',
state: { isvisible: false, shouldvisible: false },
scrollup: function(){
if(!this.cssfixedsupport)
this.$control.css({ opacity: 0 });
var dest=isNaN(this.setting.scrollto) ? this.setting.scrollto:parseInt(this.setting.scrollto);
if(typeof dest=="string"&&jQuery('#' + dest).length==1)
dest=jQuery('#' + dest).offset().top;
else
dest=0;
this.$body.stop().animate({ scrollTop: dest }, this.setting.scrollduration);
},
keepfixed: function(){
var $window=jQuery(window);
var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx;
var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety;
this.$control.css({ left: controlx + 'px', top: controly + 'px' });
},
togglecontrol: function(){
var scrolltop=jQuery(window).scrollTop();
if(!this.cssfixedsupport)
this.keepfixed();
this.state.shouldvisible=(scrolltop >=this.setting.startline) ? true:false;
if(this.state.shouldvisible&&!this.state.isvisible){
this.$control.stop().animate({ opacity: 1 }, this.setting.fadeduration[0]);
this.state.isvisible=true;
}
else if(this.state.shouldvisible==false&&this.state.isvisible){
this.$control.stop().animate({ opacity: 0 }, this.setting.fadeduration[1]);
this.state.isvisible=false;
}},
init: function(){
jQuery(document).ready(function($){
var mainobj=scrolltotop;
var iebrws=document.all;
mainobj.cssfixedsupport = !iebrws||iebrws&&document.compatMode=="CSS1Compat"&&window.XMLHttpRequest
mainobj.$body=(window.opera) ?(document.compatMode=="CSS1Compat" ? $('html'):$('body') ):$('html,body');
mainobj.$control=$('<div id="topcontrol">' + mainobj.controlHTML + '</div>')
.css({ position: mainobj.cssfixedsupport ? 'fixed':'absolute', bottom: mainobj.controlattrs.offsety, opacity: 0, cursor: 'pointer' })
.attr({ title: '' })
.on('click', function(){ mainobj.scrollup(); return false; })
.appendTo('body');
if(document.all&&!window.XMLHttpRequest&&mainobj.$control.text()!='')
mainobj.$control.css({ width: mainobj.$control.width() });
mainobj.togglecontrol();
$('a[href="' + mainobj.anchorkeyword + '"]').on('click', function(){
mainobj.scrollup();
return false;
});
$(window).on('scroll resize', function(e){
mainobj.togglecontrol();
});
});
}};
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
ScrollToTop: {
defaults: {
html: '<i class="fas fa-chevron-up"></i>',
offsetx: 10,
offsety: 0
},
initialize: function(html, offsetx, offsety){
if($('#topcontrol').length){
return this;
}
this.html=(html||this.defaults.html);
this.offsetx=(offsetx||this.defaults.offsetx);
this.offsety=(offsety||this.defaults.offsety);
this.build();
return this;
},
build: function(){
var self=this;
if(typeof scrolltotop!=='undefined'){
scrolltotop.controlHTML=self.html;
scrolltotop.controlattrs={ offsetx: self.offsetx, offsety: self.offsety };
scrolltotop.init();
}
return self;
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
MegaMenu: {
defaults: {
menu: $('.mega-menu')
},
initialize: function($menu){
this.$menu=($menu||this.defaults.menu);
this.events();
return this;
},
popupWidth: function(){
var winWidth=window.innerWidth,
popupWidth=theme.bodyWidth - theme.grid_gutter_width * 2;
if(!$('body').hasClass('wide') ){
if(winWidth >=1140 + theme.grid_gutter_width&&winWidth <=theme.container_width + 2 * theme.grid_gutter_width - 1&&theme.container_width >=1360)
popupWidth=1140 - theme.grid_gutter_width;
else if(winWidth >=theme.container_width + theme.grid_gutter_width - 1)
popupWidth=theme.container_width - theme.grid_gutter_width;
else if(winWidth >=992)
popupWidth=960 - theme.grid_gutter_width;
else if(winWidth >=768)
popupWidth=720 - theme.grid_gutter_width;
}
return popupWidth;
},
calcMenuPosition: function(menu_obj, is_left){
var menu=menu_obj,
$menuWrap;
if($(menu).closest('.elementor-top-section').length){
$menuWrap=$(menu).closest('.elementor-top-section');
}else if($(menu).closest('.e-con.e-parent').length){
$menuWrap=$(menu).closest('.e-con.e-parent');
}else if($(menu).closest('.e-con').length){
$menuWrap=$(menu).closest('.e-con');
}else if($(menu).closest('.header-main').length){
$menuWrap=$(menu).closest('.header-main');
}else if($(menu).closest('.main-menu-wrap').length){
$menuWrap=$(menu).closest('.main-menu-wrap');
}else if($(menu).closest('.header-top').length){
$menuWrap=$(menu).closest('.header-top');
}else if($(menu).closest('.header-bottom').length){
$menuWrap=$(menu).closest('.header-bottom');
}else{
$menuWrap=$(menu).closest('.top-row');
}
var $headerContainer=$menuWrap;
var ctSpacing=0;
if($menuWrap.children('.elementor-container').length){
$headerContainer=$menuWrap.children('.elementor-container');
}else if($menuWrap.find('.container-fluid').length){
$headerContainer=$menuWrap.find('.container-fluid');
}else if($menuWrap.find('.container').length){
$headerContainer=$menuWrap.find('.container');
}else if($menuWrap.find('.e-con-inner').length){
$headerContainer=$menuWrap.find('.e-con-inner');
}else if($menuWrap.find('.vc_column_container').length){
ctSpacing=2 * parseInt($menuWrap.find('.vc_column_container').css('padding-left') );
}
if($headerContainer.length >=1){
var isParent=false;
$headerContainer.each(function (){
var $this=$(this);
if($this.find(menu).length&&! isParent){
$headerContainer=$this;
isParent=true;
}});
if(! isParent){
$headerContainer=$menuWrap;
}}
if(! $headerContainer.length){
return;
}
var menuContainerWidth=$headerContainer.outerWidth() - parseInt($headerContainer.css('padding-left') ) - parseInt($headerContainer.css('padding-right') ) - ctSpacing;
if(menuContainerWidth < 900) return;
if(menu.parent().hasClass('pos-fullwidth') ){
menu.get(0).style.width=menuContainerWidth + 'px';
}
var browserWidth=document.body.offsetWidth,
menuLeftPos=menu.offset().left -(( browserWidth - menuContainerWidth) / 2),
l=false;
if('center'==is_left){
var remainWidth=menuContainerWidth -(menuLeftPos + menu.width());
if(remainWidth <=0){
l=remainWidth;
}else if(menuLeftPos <=0){
l=-menuLeftPos;
}}else if('justify'==is_left){
if(window.theme.rtl){
menuLeftPos=browserWidth -(menu.offset().left + menu.outerWidth()) -(browserWidth - menuContainerWidth) / 2;
}
var menuWidth=menu.width(),
remainWidth=menuContainerWidth -(menuLeftPos + menuWidth);
if(menuLeftPos > remainWidth&&menuLeftPos < menuWidth){
l=(menuLeftPos + remainWidth) / 3;
}
if(remainWidth <=0){
l=-remainWidth;
}}else if(false!==is_left){
var remainWidth=menuContainerWidth -(menuLeftPos + menu.width());
if(remainWidth <=0){
l=-remainWidth;
}}else if(menuLeftPos <=0){
l=-menuLeftPos;
}
return l;
},
build: function($menu){
var self=this;
if(!$menu){
$menu=self.$menu;
}
$menu.each(function(){
var $menu=$(this),
$menu_container=$menu.closest('.container'),
container_width=self.popupWidth();
if($menu.closest('.porto-popup-menu').length){
return false;
}
var $menu_items=$menu.children('li.has-sub');
$menu_items.each(function(){
var $menu_item=$(this),
$popup=$menu_item.children('.popup');
if($popup.length){
var popup_obj=$popup.get(0);
popup_obj.style.display='block';
if($menu_item.hasClass('wide') ){
popup_obj.style.left=0;
var padding=parseInt($popup.css('padding-left') ) + parseInt($popup.css('padding-right') ) +
parseInt($popup.find('> .inner').css('padding-left') ) + parseInt($popup.find('> .inner').css('padding-right') );
var row_number=4;
if($menu_item.hasClass('col-1') ) row_number=1;
if($menu_item.hasClass('col-2') ) row_number=2;
if($menu_item.hasClass('col-3') ) row_number=3;
if($menu_item.hasClass('col-4') ) row_number=4;
if($menu_item.hasClass('col-5') ) row_number=5;
if($menu_item.hasClass('col-6') ) row_number=6;
if(window.innerWidth < 992)
row_number=1;
var col_length=0;
$popup.find('> .inner > ul > li').each(function(){
var cols=parseFloat($(this).attr('data-cols') );
if(cols <=0||!cols)
cols=1;
if(cols > row_number)
cols=row_number;
col_length +=cols;
});
if(col_length > row_number) col_length=row_number;
var popup_max_width=$popup.data('popup-mw') ? $popup.data('popup-mw'):$popup.find('.inner').css('max-width'),
col_width=container_width / row_number;
if('none'!==popup_max_width&&parseInt(popup_max_width) < container_width){
col_width=parseInt(popup_max_width) / row_number;
}
$popup.find('> .inner > ul > li').each(function(){
var cols=parseFloat($(this).data('cols') );
if(cols <=0)
cols=1;
if(cols > row_number)
cols=row_number;
if($menu_item.hasClass('pos-center')||$menu_item.hasClass('pos-left')||$menu_item.hasClass('pos-right') )
this.style.width=(100 / col_length * cols) + '%';
else
this.style.width=(100 / row_number * cols) + '%';
});
if($menu_item.hasClass('pos-center') ){
var width=col_width * col_length - padding;
$popup.find('> .inner > ul').get(0).style.width=width + 'px';
var left_position=($menu_item.outerWidth() - width) / 2;
popup_obj.style.left=left_position + 'px';
popup_obj.style.right='auto';
self.SetMenuPosition(popup_obj, $popup, 'center', left_position);
}else if($menu_item.hasClass('pos-left') ){
$popup.find('> .inner > ul').get(0).style.width=(col_width * col_length - padding) + 'px';
popup_obj.style.left='0';
popup_obj.style.right='auto';
self.SetMenuPosition(popup_obj, $popup);
}else if($menu_item.hasClass('pos-right') ){
$popup.find('> .inner > ul').get(0).style.width=(col_width * col_length - padding) + 'px';
popup_obj.style.right='0';
popup_obj.style.left='auto';
self.SetMenuPosition(popup_obj, $popup, false);
}else if($menu_item.hasClass('pos-fullwidth') ){
popup_obj.style.right='auto';
popup_obj.style.left='0';
self.SetMenuPosition(popup_obj, $popup);
}else{
$popup.find('> .inner > ul').get(0).style.width=(container_width - padding) + 'px';
if(theme.rtl){
popup_obj.style.right='0';
popup_obj.style.left='auto';
}else{
popup_obj.style.left='0';
popup_obj.style.right='auto';
}
self.SetMenuPosition(popup_obj, $popup, 'justify');
}}else{
if($menu_item.hasClass('pos-left') ){
if($popup.offset().left + $popup.width() > window.innerWidth){
$menu_item.removeClass('pos-left').addClass('pos-right');
}}else if($menu_item.hasClass('pos-right') ){
if($popup.offset().left < 0){
$menu_item.removeClass('pos-right').addClass('pos-left');
}}else{
if($popup.offset().left + $popup.width() > window.innerWidth){
$menu_item.addClass('pos-right');
}else if($popup.find('> .inner > ul').length){
var $sub_menu=$popup.find('> .inner > ul').eq(0);
if($sub_menu.offset().left + $sub_menu.width() + 200 > window.innerWidth){
$sub_menu.addClass('pos-left');
}}
}}
$menu_item.addClass('sub-ready');
}});
});
return self;
},
SetMenuPosition: function(popup_obj, $popup, is_left=true, offsetWidth=0){
setTimeout(()=> {
var self=this,
left_position=self.calcMenuPosition($popup, is_left);
if(0!==left_position){
if('center'==is_left){
if(false!==left_position){
popup_obj.style.left=(offsetWidth + left_position) + 'px';
popup_obj.style.right='auto';
}}else if('justify'==is_left){
if(theme.rtl){
popup_obj.style.left='auto';
if(left_position){
popup_obj.style.right='-' + left_position + 'px';
}else{
if(! $('body').hasClass('wide') ){
popup_obj.style.right='-15px';
}else{
popup_obj.style.right='0';
}}
}else{
popup_obj.style.right='auto';
if(left_position){
popup_obj.style.left='-' + left_position + 'px';
}else{
if(! $('body').hasClass('wide') ){
popup_obj.style.left='-15px';
}else{
popup_obj.style.left='0';
}}
}}else{
if(is_left){
popup_obj.style.right='auto';
if(false!==left_position){
popup_obj.style.left='-' + left_position + 'px';
}else{
if(! $('body').hasClass('wide') ){
popup_obj.style.left='-15px';
}else{
popup_obj.style.left='0';
}}
}else{
popup_obj.style.left='auto';
if(false!==left_position){
popup_obj.style.right='-' + left_position + 'px';
}else{
if(! $('body').hasClass('wide') ){
popup_obj.style.right='-15px';
}else{
popup_obj.style.right='0';
}}
}}
}
$popup.parent().addClass('loaded');
});
},
events: function(){
var self=this;
$(window).smartresize(function(e){
if(e.originalEvent){
self.build();
}});
if(theme.isLoaded){
theme.requestFrame(function(){
self.build();
});
}else{
$(window).on('load', function(){
theme.requestFrame(function(){
self.build();
});
});
}
if(self.$menu.length){
self.$menu.on('mouseenter', '.menu-item.has-sub', function(e){
var $thePopup=$(e.currentTarget).find('>.popup');
if($thePopup.find('.owl-carousel:not(.owl-loaded)').length==0){
return;
}
$thePopup.find('.owl-carousel:not(.owl-loaded)').each(function(){
var $this=$(this),
opts;
if(! $this.hasClass('owl-loaded') ){
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
if($.fn.themeCarousel){
$this.themeCarousel(opts);
}}
});
});
}
return self;
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
StickyHeader: {
defaults: {
header: $('#header')
},
initialize: function($header){
this.$header=($header||this.defaults.header);
this.sticky_height=0;
this.sticky_pos=0;
this.change_logo=theme.change_logo;
if(!theme.show_sticky_header||!this.$header.length||$('.side-header-narrow-bar').length)
return this;
var self=this;
var $menu_wrap=self.$header.find('> .main-menu-wrap');
if($menu_wrap.length){
self.$menu_wrap=$menu_wrap;
self.menu_height=$menu_wrap.height();
}else{
self.$menu_wrap=false;
}
self.$header_main=self.$header.find('.header-main');
if(self.$header_main.length > 1){
self.$header_main=$(self.$header_main[0]);
}
if(!self.$header_main.length&&self.$header.children('.elementor-location-header').length){
self.$header_main=self.$header.children('.elementor-location-header').last().addClass('header-main');
}
if(!self.$header_main.length){
return this;
}
self.reveal=self.$header.parents('.header-wrapper').hasClass('header-reveal');
self.is_sticky=false;
self.reset()
.build()
.events();
return self;
},
build: function(){
var self=this;
if(!self.is_sticky&&(window.innerHeight + self.header_height + theme.adminBarHeight() + parseInt(self.$header.css('border-top-width') ) >=$(document).height()) ){
return self;
}
if(window.innerHeight > $(document.body).height())
window.scrollTo(0, 0);
var scroll_top=$(window).scrollTop(),
$pageWrapper=$('.page-wrapper');
if(self.$menu_wrap&&!theme.isTablet()){
self.$header_main.stop().css('top', 0);
if(self.$header.parent().hasClass('fixed-header') )
self.$header.parent().attr('style', '');
if($('.page-wrapper').hasClass('sticky-scroll-up') ){
scroll_top -=self.sticky_height;
if(scroll_top > self.sticky_pos + 100){
self.$header.addClass('sticky-ready');
}else{
self.$header.removeClass('sticky-ready');
}}
if(scroll_top > self.sticky_pos){
if(!self.$header.hasClass('sticky-header')&&(! $pageWrapper.hasClass('sticky-scroll-up')||($pageWrapper.hasClass('sticky-scroll-up')&&'undefined'!==typeof($pageWrapper.data('prev-scrollpos') )) )){
var header_height=self.$header.outerHeight();
self.$header.addClass('sticky-header').css('height', header_height);
self.$menu_wrap.stop().css('top', theme.adminBarHeight());
var selectric=self.$header.find('.header-main .searchform select').data('selectric');
if(selectric&&typeof selectric.close!='undefined')
selectric.close();
if(self.$header.parent().hasClass('fixed-header') ){
self.$header_main.hide();
self.$header.css('height', '');
}
if(!self.init_toggle_menu){
self.init_toggle_menu=true;
theme.MegaMenu.build();
if($('#main-toggle-menu').length){
if($('#main-toggle-menu').hasClass('show-always') ){
$('#main-toggle-menu').data('show-always', true);
$('#main-toggle-menu').removeClass('show-always');
}
$('#main-toggle-menu').addClass('closed');
$('#main-toggle-menu .menu-title').addClass('closed');
$('#main-toggle-menu .toggle-menu-wrap').attr('style', '');
}}
self.is_sticky=true;
}}else{
if(self.$header.hasClass('sticky-header') ){
self.$header.removeClass('sticky-header');
self.$header.css('height', '');
self.$menu_wrap.stop().css('top', 0);
self.$header_main.show();
var selectric=self.$header.find('.main-menu-wrap .searchform select').data('selectric');
if(selectric&&typeof selectric.close!='undefined')
selectric.close();
if(self.init_toggle_menu){
self.init_toggle_menu=false;
theme.MegaMenu.build();
if($('#main-toggle-menu').length){
if($('#main-toggle-menu').data('show-always') ){
$('#main-toggle-menu').addClass('show-always');
$('#main-toggle-menu').removeClass('closed');
$('#main-toggle-menu .menu-title').removeClass('closed');
$('#main-toggle-menu .toggle-menu-wrap').attr('style', '');
}}
}
self.is_sticky=false;
}}
}else{
self.$header_main.show();
if(self.$header.parent().hasClass('fixed-header')&&$('#wpadminbar').length&&$('#wpadminbar').css('position')=='absolute'){
}else if(self.$header.parent().hasClass('fixed-header') ){
self.$header.parent().attr('style', '');
}else{
if(self.$header.parent().hasClass('fixed-header') )
self.$header.parent().attr('style', '');
}
if(self.$header.hasClass('sticky-menu-header')&&!theme.isTablet()){
self.$header_main.stop().css('top', 0);
if(self.change_logo) self.$header_main.removeClass('change-logo');
self.$header_main.removeClass('sticky');
self.$header.removeClass('sticky-header');
self.is_sticky=false;
self.sticky_height=0;
}else{
if(self.$menu_wrap)
self.$menu_wrap.stop().css('top', 0);
if($pageWrapper.hasClass('sticky-scroll-up') ){
scroll_top -=self.sticky_height;
if(scroll_top > self.sticky_pos + 100){
self.$header.addClass('sticky-ready');
}else{
self.$header.removeClass('sticky-ready');
}}
if(scroll_top > self.sticky_pos&&(!theme.isTablet()||(theme.isTablet()&&(!theme.isMobile()&&theme.show_sticky_header_tablet)||(theme.isMobile()&&theme.show_sticky_header_tablet&&theme.show_sticky_header_mobile) )) ){
if(! self.$header.hasClass('sticky-header')&&(! $pageWrapper.hasClass('sticky-scroll-up')||($pageWrapper.hasClass('sticky-scroll-up')&&'undefined'!==typeof($pageWrapper.data('prev-scrollpos') )) )){
var header_height=self.$header.outerHeight();
self.$header.addClass('sticky-header').css('height', header_height);
self.$header_main.addClass('sticky');
if(self.change_logo) self.$header_main.addClass('change-logo');
self.$header_main.stop().css('top', theme.adminBarHeight());
if(!self.init_toggle_menu){
self.init_toggle_menu=true;
theme.MegaMenu.build();
if($('#main-toggle-menu').length){
if($('#main-toggle-menu').hasClass('show-always') ){
$('#main-toggle-menu').data('show-always', true);
$('#main-toggle-menu').removeClass('show-always');
}
$('#main-toggle-menu').addClass('closed');
$('#main-toggle-menu .menu-title').addClass('closed');
$('#main-toggle-menu .toggle-menu-wrap').attr('style', '');
}}
self.is_sticky=true;
}}else{
if(self.$header.hasClass('sticky-header') ){
if(self.change_logo) self.$header_main.removeClass('change-logo');
self.$header_main.removeClass('sticky');
self.$header.removeClass('sticky-header');
self.$header.css('height', '');
self.$header_main.stop().css('top', 0);
if(self.init_toggle_menu){
self.init_toggle_menu=false;
theme.MegaMenu.build();
if($('#main-toggle-menu').length){
if($('#main-toggle-menu').data('show-always') ){
$('#main-toggle-menu').addClass('show-always');
$('#main-toggle-menu').removeClass('closed');
$('#main-toggle-menu .menu-title').removeClass('closed');
$('#main-toggle-menu .toggle-menu-wrap').attr('style', '');
}}
}
self.is_sticky=false;
}}
}}
if(!self.$header.hasClass('header-loaded') )
self.$header.addClass('header-loaded');
if(!self.$header.find('.logo').hasClass('logo-transition') )
self.$header.find('.logo').addClass('logo-transition');
if(self.$header.find('.overlay-logo').get(0)&&!self.$header.find('.overlay-logo').hasClass('overlay-logo-transition') )
self.$header.find('.overlay-logo').addClass('overlay-logo-transition');
return self;
},
reset: function(){
var self=this;
if(self.$header.find('.logo').hasClass('logo-transition') )
self.$header.find('.logo').removeClass('logo-transition');
if(self.$header.find('.overlay-logo').get(0)&&self.$header.find('.overlay-logo').hasClass('overlay-logo-transition') )
self.$header.find('.overlay-logo').removeClass('overlay-logo-transition');
if(self.$menu_wrap&&!theme.isTablet()){
self.$header.addClass('sticky-header sticky-header-calc');
self.$header_main.addClass('sticky');
if(self.change_logo) self.$header_main.addClass('change-logo');
self.sticky_height=self.$menu_wrap.height() + parseInt(self.$menu_wrap.css('padding-top') ) + parseInt(self.$menu_wrap.css('padding-bottom') );
if(self.change_logo) self.$header_main.removeClass('change-logo');
self.$header_main.removeClass('sticky');
self.$header.removeClass('sticky-header sticky-header-calc');
self.header_height=self.$header.height() + parseInt(self.$header.css('margin-top') );
self.menu_height=self.$menu_wrap.height() + parseInt(self.$menu_wrap.css('padding-top') ) + parseInt(self.$menu_wrap.css('padding-bottom') );
self.sticky_pos=(self.header_height - self.sticky_height) + parseInt($('body').css('padding-top') ) + parseInt(self.$header.css('border-top-width') );
if($('.banner-before-header').length){
self.sticky_pos +=$('.banner-before-header').height();
}
if($('.porto-block-html-top').length){
self.sticky_pos +=$('.porto-block-html-top').height();
}}else{
self.$header.addClass('sticky-header sticky-header-calc');
self.$header_main.addClass('sticky');
if(self.change_logo) self.$header_main.addClass('change-logo');
self.sticky_height=self.$header_main.outerHeight();
if(self.change_logo) self.$header_main.removeClass('change-logo');
self.$header_main.removeClass('sticky');
self.$header.removeClass('sticky-header sticky-header-calc');
self.header_height=self.$header.height() + parseInt(self.$header.css('margin-top') );
self.main_height=self.$header_main.height();
if(!(!theme.isTablet()||(theme.isTablet()&&!theme.isMobile()&&theme.show_sticky_header_tablet)||(theme.isMobile()&&theme.show_sticky_header_tablet&&theme.show_sticky_header_mobile) )){
self.sticky_height=0;
}
self.sticky_pos=self.$header.offset().top + self.header_height - self.sticky_height - theme.adminBarHeight() + parseInt(self.$header.css('border-top-width') );
}
if(self.reveal){
if(self.menu_height){
self.sticky_pos +=self.menu_height + 30;
}else{
self.sticky_pos +=30;
}}
if(self.sticky_pos < 0){
self.sticky_pos=0;
}
self.init_toggle_menu=false;
self.$header_main.removeAttr('style');
if(!theme.isTablet()&&self.$header.hasClass('header-side')&&typeof self.$header.attr('data-plugin-sticky')!='undefined'){
self.$header.css('height', '');
}else{
self.$header.removeAttr('style');
}
return self;
},
events: function(){
var self=this, win_width=0;
$(window).smartresize(function(){
if(win_width!=window.innerWidth){
self.reset().build();
win_width=window.innerWidth;
}});
var scrollEffect=function (){
theme.requestFrame(function(){
self.build();
var $pageWrapper=$('.page-wrapper');
if($pageWrapper.hasClass('sticky-scroll-up')&&! $('html').hasClass('porto-search-opened') ){
var prevScrollPos=0,
scrollTop=$(window).scrollTop();
if($pageWrapper.data('prev-scrollpos') ){
prevScrollPos=$pageWrapper.data('prev-scrollpos');
}
if(scrollTop > prevScrollPos){
self.$header.addClass('scroll-down');
}else{
self.$header.removeClass('scroll-down');
}
$pageWrapper.data('prev-scrollpos', scrollTop);
}});
}
window.addEventListener('scroll', scrollEffect, { passive: true });
scrollEffect();
return self;
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
HashScroll: {
initialize: function(){
this.build()
.events();
return this;
},
build: function(){
var self=this;
try {
var hash=window.location.hash;
var target=$(hash);
if(target.length&&!(hash=='#review_form'||hash=='#reviews'||hash.indexOf('#comment-')!=-1) ){
$('html, body').delay(600).stop().animate({
scrollTop: target.offset().top - theme.StickyHeader.sticky_height - theme.adminBarHeight() - theme.sticky_nav_height + 1
}, 600, 'easeOutQuad');
}
return self;
} catch(err){
return self;
}},
getTarget: function(href){
if('#'==href||href.endsWith('#') ){
return false;
}
var target;
if(href.indexOf('#')==0){
target=$(href);
}else{
var url=window.location.href;
url=url.substring(url.indexOf('://') + 3);
if(url.indexOf('#')!=-1)
url=url.substring(0, url.indexOf('#') );
href=href.substring(href.indexOf('://') + 3);
href=href.substring(href.indexOf(url) + url.length);
if(href.indexOf('#')==0){
target=$(href);
}}
return target;
},
activeMenuItem: function(){
var self=this;
var scroll_pos=$(window).scrollTop();
var $menu_items=$('.menu-item > a[href*="#"], .porto-sticky-nav .nav > li > a[href*="#"]');
if($menu_items.length){
$menu_items.each(function(){
var $this=$(this),
href=$this.attr('href'),
target=self.getTarget(href);
if(target&&target.get(0) ){
if($this.parent().is(':last-child')&&scroll_pos + window.innerHeight >=target.offset().top + target.outerHeight()){
$this.parent().siblings().removeClass('active');
$this.parent().addClass('active');
}else{
var scroll_to=target.offset().top - theme.StickyHeader.sticky_height - theme.adminBarHeight() - theme.sticky_nav_height + 1,
$parent=$this.parent();
if(scroll_to <=scroll_pos + 5){
$parent.siblings().removeClass('active');
$parent.addClass('active');
if($parent.closest('.secondary-menu').length){
$parent.closest('#header').find('.main-menu').eq(0).children('.menu-item.active').removeClass('active');
}}else{
$parent.removeClass('active');
}}
}});
}
return self;
},
events: function(){
var self=this;
$('.menu-item > a[href*="#"], .porto-sticky-nav .nav > li > a[href*="#"], a[href*="#"].hash-scroll, .hash-scroll-wrap a[href*="#"]').on('click', function(e){
e.preventDefault();
var $this=$(this),
href=$this.attr('href'),
target=self.getTarget(href);
if(target&&target.get(0) ){
var $parent=$this.parent();
var scroll_to=target.offset().top - theme.StickyHeader.sticky_height - theme.adminBarHeight() - theme.sticky_nav_height + 1;
$('html, body').stop().animate({
scrollTop: scroll_to
}, 600, 'easeOutQuad', function(){
$parent.siblings().removeClass('active');
$parent.addClass('active');
});
if($this.closest('.porto-popup-menu.opened').length){
$this.closest('.porto-popup-menu.opened').children('.hamburguer-btn').trigger('click');
}}else if(( '#'!=href||!$this.closest('.porto-popup-menu.opened').length)&&!$this.hasClass('nolink') ){
window.location.href=$this.attr('href');
}});
var $menu_items=$('.menu-item > a[href*="#"], .porto-sticky-nav .nav > li > a[href*="#"]');
$menu_items.each(function(){
var rootMargin='-20% 0px -79.9% 0px',
isLast=$(this).parent().is(':last-child');
if(isLast){
var obj=document.getElementById(this.hash.replace('#', '') );
if(obj&&document.body.offsetHeight - obj.offsetTop < window.innerHeight){
var ratio=(window.innerHeight - document.body.offsetHeight + obj.offsetTop) / window.innerHeight * 0.8;
ratio=Math.round(ratio * 100);
rootMargin='-' +(20 + ratio) + '% 0px -' +(79.9 - ratio) + '% 0px';
}}
var callback=function(){
if(this&&typeof this[0]!='undefined'&&this[0].id){
$('.menu-item > a[href*="#' + this[0].id + '"], .porto-sticky-nav .nav > li > a[href*="#' + this[0].id + '"]').parent().addClass('active').siblings().removeClass('active');
}};
self.scrollSpyIntObs(this.hash, callback, {
rootMargin: rootMargin,
thresholds: 0
}, true, isLast, true, $menu_items, $(this).parent().index());
});
return self;
},
scrollSpyIntObs: function(selector, functionName, intObsOptions, alwaysObserve, isLast, firstLoad, $allItems, index){
if(typeof IntersectionObserver=='undefined'){
return this;
}
var obj=document.getElementById(selector.replace('#', '') );
if(!obj){
return this;
}
var self=this;
var intersectionObserverOptions={
rootMargin: '0px 0px 200px 0px'
}
if(Object.keys(intObsOptions).length){
intersectionObserverOptions=$.extend(intersectionObserverOptions, intObsOptions);
}
var observer=new IntersectionObserver(function(entries){
for(var i=0; i < entries.length; i++){
var entry=entries[i];
if(entry.intersectionRatio > 0){
if(typeof functionName==='string'){
var func=Function('return ' + functionName)();
}else{
var callback=functionName;
callback.call($(entry.target) );
}}else{
if(firstLoad==false){
if(isLast&&! $allItems.closest('.porto-sticky-nav').length){
$allItems.filter('[href*="' + entry.target.id + '"]').parent().prev().addClass('active').siblings().removeClass('active');
}}
firstLoad=false;
}}
}, intersectionObserverOptions);
observer.observe(obj);
return this;
}}
});
}).apply(this, [window.theme, jQuery]);
function porto_init($wrap='', initial=false){
jQuery(window).on('touchstart', function(){ });
if(!$wrap){
$wrap=jQuery(document.body);
}
var wrapObj=$wrap.get(0);
$wrap.trigger('porto_init_start', [wrapObj]);
(function($){
if($.fn.themeAccordion){
$(function(){
$wrap.find('.accordion:not(.manual)').each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
$this.themeAccordion(opts);
});
});
}
if($.fn.themeAccordionMenu){
$(function(){
$wrap.find('.accordion-menu:not(.manual)').each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
$this.themeAccordionMenu(opts);
});
});
}
if($.fn.themeFlickrZoom){
$(function(){
$wrap.find('.wpb_flickr_widget:not(.manual)').each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
$this.themeFlickrZoom(opts);
});
});
}
if($.fn.themeMasonry){
$(function(){
$wrap.find('[data-plugin-masonry]:not(.manual)').each(function(){
var $this=$(this),
opts;
if($this.hasClass('elementor-row') ){
$this.children('.elementor-column').addClass('porto-grid-item');
}
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
$this.themeMasonry(opts);
});
$wrap.find('.posts-masonry .posts-container:not(.manual)').each(function(){
var pluginOptions=$(this).data('plugin-options');
if(!pluginOptions){
pluginOptions={};}
pluginOptions.itemSelector='.post';
$(this).themeMasonry(pluginOptions);
});
$wrap.find('.page-portfolios .portfolio-row:not(.manual)').each(function(){
if($(this).closest('.porto-grid-container').length > 0||typeof $(this).attr('data-plugin-masonry')!='undefined'){
return;
}
var $parent=$(this).parent(), layoutMode='masonry', options, columnWidth='.portfolio:not(.w2)', timer=null;
if($parent.hasClass('portfolios-grid') ){
}else if($parent.hasClass('portfolios-masonry') ){
if(!$parent.children('.bounce-loader').length){
$parent.append('<div class="bounce-loader"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>');
}}
options={
itemSelector: '.portfolio',
layoutMode: layoutMode,
callback: function(){
timer&&clearTimeout(timer);
timer=setTimeout(function(){
if(typeof theme.FilterZoom!=='undefined'){
theme.FilterZoom.initialize($('.page-portfolios') );
}
$parent.addClass('portfolio-iso-active');
}, 400);
}};
if(layoutMode=='masonry'){
if(!$parent.find('.portfolio:not(.w2)').length)
columnWidth='.portfolio';
options=$.extend(true, {}, options, {
masonry: { columnWidth: columnWidth }});
}
$(this).themeMasonry(options);
});
$wrap.find('.page-members .member-row:not(.manual)').each(function(){
$(this).themeMasonry({
itemSelector: '.member',
callback: function(){
setTimeout(function(){
if(typeof theme.FilterZoom!=='undefined'){
theme.FilterZoom.initialize($('.page-members') );
}}, 400);
}});
});
});
}
if($.fn.themeToggle){
$(function(){
$wrap.find('section.toggle:not(.manual)').each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
$this.themeToggle(opts);
});
});
}
if($.fn.themeSticky){
$(function(){
$wrap.find('[data-plugin-sticky]:not(.manual), .porto-sticky:not(.manual), .porto-sticky-nav:not(.manual)').each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
if($this.is(':visible') ){
$this.themeSticky(opts);
}});
});
}
if(typeof bootstrap!='undefined'&&typeof wrapObj!='undefined'){
var tooltipTriggerList=[].slice.call(wrapObj.querySelectorAll("[data-bs-tooltip]:not(.manual), [data-toggle='tooltip']:not(.manual), .star-rating:not(.manual)") );
tooltipTriggerList.map(function(tooltipTriggerEl){
return new bootstrap.Tooltip(tooltipTriggerEl)
});
}
$wrap.find('a[data-bs-toggle="tab"]').off('shown.bs.tab').on('shown.bs.tab', function(e){
let $this=$(this);
if($this.closest('.custom-nav-sidebar').length){
return;
}
$this.parents('.nav-tabs').find('.active').removeClass('active');
$this.addClass('active').parent().addClass('active');
if($this.closest('.tabs') ){
var _tabCarousel=$this.closest('.tabs').find('.tab-content>.active').find('.owl-carousel');
if(! _tabCarousel.data('owl.carousel') ){
_tabCarousel.themeCarousel(_tabCarousel.data('plugin-options'));
}}
});
if(typeof theme.initAsync=='function'){
theme.initAsync($wrap, wrapObj);
}else{
$(document.body).on('porto_async_init', function(){
theme.initAsync($wrap, wrapObj);
});
}})(jQuery);
jQuery(document.body).trigger('porto_init', [$wrap, initial]);
}
(function(theme, $){
'use strict';
$(document).ready(function(){
var win_width=0;
$(window).smartresize(function(){
if(win_width!=window.innerWidth){
theme.adminBarHeightNum=null;
win_width=window.innerWidth;
}
theme.bodyWidth=document.body.offsetWidth;
});
if(typeof theme.ScrollToTop!=='undefined'){
theme.ScrollToTop.initialize();
}
setTimeout(function(){
if(typeof theme.StickyHeader!=='undefined'){
theme.StickyHeader.initialize();
}
porto_init($(document.body), true);
}, 0);
(function(){
theme.bodyWidth=theme.bodyWidth||document.body.offsetWidth;
if(typeof theme.MegaMenu!=='undefined'){
theme.MegaMenu.initialize();
}})();
setTimeout(()=> {
if(typeof theme.HashScroll!=='undefined'){
theme.HashScroll.initialize();
}});
$(document).trigger('porto_theme_init');
theme.isReady=true;
});
$(window).on('load', function(){
$(document).on('click', '.sidebar-toggle', function(e){
e.preventDefault();
var $html=$('html'),
$main=$('#main'),
$this=$(this);
if($this.siblings('.porto-product-filters').length){
if($html.hasClass('filter-sidebar-opened') ){
$html.removeClass('filter-sidebar-opened');
$this.siblings('.sidebar-overlay').removeClass('active');
if($html.hasClass('sidebar-right-opened') ){
$html.removeClass('sidebar-right-opened');
}}else{
$html.removeClass('sidebar-opened');
$html.addClass('filter-sidebar-opened');
$this.siblings('.sidebar-overlay').addClass('active');
if($main.hasClass('column2-right-sidebar')||$main.hasClass('column2-wide-right-sidebar') ){
$html.addClass('sidebar-right-opened');
}}
}else{
if($html.hasClass('sidebar-opened') ){
$html.removeClass('sidebar-opened');
$('.sidebar-overlay').removeClass('active');
if($html.hasClass('sidebar-right-opened') ){
$html.removeClass('sidebar-right-opened');
}}else{
$html.addClass('sidebar-opened');
$('.sidebar-overlay').addClass('active');
if($main.hasClass('column2-right-sidebar')||$main.hasClass('column2-wide-right-sidebar') ){
$html.addClass('sidebar-right-opened');
}}
}});
$('#header .mini-cart').on('click', function(e){
let $body=$('body');
if(js_porto_vars.cart_url&&($body.hasClass('woocommerce-cart')||$body.hasClass('woocommerce-checkout') )){
location.href=js_porto_vars.cart_url;
}});
$('.minicart-offcanvas .cart-head').on('click', function(){
let $body=$('body');
if(js_porto_vars.cart_url&&($body.hasClass('woocommerce-cart')||$body.hasClass('woocommerce-checkout') )){
return;
}
var $this=$(this);
$this.closest('.minicart-offcanvas').toggleClass('minicart-opened');
if($this.closest('.minicart-offcanvas').hasClass('minicart-opened') ){
$('html').css('margin-right', theme.getScrollbarWidth());
$('html').css('overflow', 'hidden');
}else{
$('html').css('overflow', '');
$('html').css('margin-right', '');
}});
$('.minicart-offcanvas .minicart-overlay').on('click', function(){
$(this).closest('.minicart-offcanvas').removeClass('minicart-opened');
$('.d-none .minicart-offcanvas.minicart-opened').removeClass('minicart-opened');
$('html').css('overflow', '');
$('html').css('margin-right', '');
});
$(document.body).on('click', '.sidebar-overlay', function(){
var $html=$('html');
$html.removeClass('sidebar-opened');
$html.removeClass('filter-sidebar-opened');
$(this).removeClass('active');
$html.removeClass('sidebar-right-opened');
});
$(document.body).on('click', '.section-tabs .nav-link', function(e){
e.preventDefault();
var $this=$(this),
nav_id=$this.data('tab'),
$section_tab=$this.closest('.section-tabs'),
$nav_wrap=$section_tab.children('ul.nav'),
$tab_content=$section_tab.children('.tab-content');
if(nav_id){
$nav_wrap.find('.active').removeClass('active');
$this.addClass('active').parent('.nav-item').addClass('active');
$tab_content.find('>.active').removeClass('show active');
$tab_content.find('>.tab-pane[id="' + nav_id + '"]').addClass('active');
let _offsetHeight=$tab_content.find('>.active').get(0).offsetHeight;
$tab_content.find('>.active').addClass('show');
var _tabCarousel=$tab_content.find('>.active').find('.owl-carousel');
if(! _tabCarousel.data('owl.carousel') ){
_tabCarousel.themeCarousel(_tabCarousel.data('plugin-options'));
}}
});
$(window).on('resize', function(e){
if(e.originalEvent&&window.innerWidth > 991&&$('html').hasClass('sidebar-opened') ){
$('.sidebar-overlay').trigger('click');
}});
var $matchHeightObj=$('.tabs-simple .featured-box .box-content, .porto-content-box .featured-box .box-content, .vc_general.vc_cta3, .match-height');
if($matchHeightObj.length){
if($.fn.matchHeight){
$matchHeightObj.matchHeight();
}else{
var script=document.createElement("script");
script.addEventListener("load", function(event){
$matchHeightObj.matchHeight();
});
script.src=js_porto_vars.ajax_loader_url.replace('/images/ajax-loader@2x.gif', '/js/libs/jquery.matchHeight.min.js');
script.async=true;
document.body.appendChild(script);
}}
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ){
$('.share-whatsapp').css('display', 'inline-block');
}
$(document).ajaxComplete(function(event, xhr, options){
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ){
$('.share-whatsapp').css('display', 'inline-block');
}});
var ua=window.navigator.userAgent,
ie12=ua.indexOf('Edge/') > 0;
if(ie12) $('html').addClass('ie12');
$(document).on('click', '.portfolios-lightbox a.portfolio-link', function(e){
$(this).find('.thumb-info-zoom').trigger('click');
return false;
});
$('.porto-faqs').each(function(){
if($(this).find('.faq .toggle.active').length < 1){
$(this).find('.faq').eq(0).find('.toggle').addClass('active');
$(this).find('.faq').eq(0).find('.toggle-content').show();
}});
$(document).on('shown.bs.collapse', '.collapse', function(){
var panel=$(this);
theme.refreshVCContent(panel);
});
$(document).on('shown.bs.tab', 'a[data-bs-toggle="tab"]', function(e){
var panel=$($(e.target).attr('href') );
theme.refreshVCContent(panel);
});
$('.porto-tooltip .tooltip-icon').on('click', function(){
if($(this).parent().children(".tooltip-popup").css("display")=="none"){
$(this).parent().children(".tooltip-popup").fadeIn(200);
}else{
$(this).parent().children(".tooltip-popup").fadeOut(200);
}});
$('.porto-tooltip .tooltip-close').on('click', function(){
$(this).parent().fadeOut(200);
});
$('body').css('--porto-scroll-w', theme.getScrollbarWidth() + 'px');
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $, undefined){
"use strict";
$(document).ready(function(){
$(window).on('vc_reload', function(){
porto_init();
$('.type-post').addClass('post');
$('.type-portfolio').addClass('portfolio');
$('.type-member').addClass('member');
$('.type-block').addClass('block');
});
});
var timelineHeightAdjust={
$timeline: $('#exp-timeline'),
$timelineBar: $('#exp-timeline .timeline-bar'),
$firstTimelineItem: $('#exp-timeline .timeline-box').first(),
$lastTimelineItem: $('#exp-timeline .timeline-box').last(),
build: function(){
var self=this;
self.adjustHeight();
},
adjustHeight: function(){
var self=this,
calcFirstItemHeight=(self.$firstTimelineItem.outerHeight(true) / 2) + 5,
calcLastItemHeight=(self.$lastTimelineItem.outerHeight(true) / 2) + 5;
self.$timelineBar.css({
top: calcFirstItemHeight,
bottom: calcLastItemHeight
});
}}
if($('#exp-timeline').get(0) ){
var timeline_timer=null;
$(window).smartresize(function(){
if(timeline_timer){
clearTimeout(timeline_timer);
}
timeline_timer=setTimeout(function(){
timelineHeightAdjust.build();
}, 800);
});
timelineHeightAdjust.build();
}
$('.custom-view-our-location').on('click', function(e){
e.preventDefault();
var this_=$(this);
$('.custom-googlemap').slideDown('1000', function(){
this_.delay(700).hide();
});
});
window.addEventListener('LazyLoad::Initialized',
function(event){
theme.w3tcLazyLoadInstance=event.detail.instance;
},
false
);
})(window.theme, jQuery);
(function(theme, $, undefined){
'use strict';
window.addEventListener('load', function(){
theme.isLoaded=true;
});
$(window).on('elementor/frontend/init', function(){
if(typeof elementorFrontend!='undefined'){
elementorFrontend.hooks.addFilter('frontend/handlers/menu_anchor/scroll_top_distance', function(scrollTop){
if(theme&&theme.StickyHeader&&typeof theme.sticky_nav_height!='undefined'){
if(elementorFrontend.elements.$wpAdminBar.length){
scrollTop +=elementorFrontend.elements.$wpAdminBar.height();
}
scrollTop=scrollTop - theme.adminBarHeight() - theme.StickyHeader.sticky_height - theme.sticky_nav_height + 1;
}
return scrollTop;
});
elementorFrontend.elements.$window.on('elementor/nested-tabs/activate', function(e, content){
var _tabCarousel=$(content).find('.owl-carousel');
if(! _tabCarousel.data('owl.carousel') ){
_tabCarousel.themeCarousel(_tabCarousel.data('plugin-options') );
}});
}});
$('#footer .widget_wysija .wysija-submit:not(.btn)').addClass('btn btn-default');
if($('[data-vc-parallax] .owl-carousel').length){
theme.requestTimeout(function(){ if(typeof window.vcParallaxSkroll=='object'){ window.vcParallaxSkroll.refresh(); }}, 200);
}
if($('.page-content > .alignfull, .post-content > .alignfull').length){
var initAlignFull=function(){
$('.page-content > .alignfull, .post-content > .alignfull').each(function(){
$(this).css('left', -1 * $(this).parent().offset().left).css('right', -1 * $(this).parent().offset().left).css('width', $('body').width() -(parseInt($(this).css('margin-left'), 10) + parseInt($(this).css('margin-right'), 10) ));
});
};
initAlignFull();
$(window).smartresize(function(){
initAlignFull();
});
}})(window.theme, jQuery);
!function(e,a){"use strict";var r=a("#header .header-main"),t=a("#header .main-menu-wrap");a(".porto-sticky-navbar").length>0&&window.addEventListener("scroll",(function(){if(window.innerWidth<576){var e=-1,h=a(window).scrollTop();r.length&&(e=Math.max(r.scrollTop()+r.height(),e)),t.length&&(e=Math.max(t.scrollTop()+t.height(),e)),e<=0&&(e=a("#header").length>0&&a("#header").height()>10?a("#header").scrollTop()+a("#header").height():100),e<=h?a(".porto-sticky-navbar").addClass("fixed"):a(".porto-sticky-navbar").removeClass("fixed")}}),{passive:!0})}(window.theme,jQuery);
(function(e,n){"use strict";e=e||{},n.extend(e,{lazyload_menu:function(a,o,i){if((js_porto_vars.lazyload_menu||"mobile_menu"==o)&&o){var l=!1,r={action:"porto_lazyload_menu",menu_type:o,nonce:js_porto_vars.porto_nonce};i&&(r.menu_id=i);var t=function(i){if(i){var m=n(i);if("mobile_menu"!=o&&a.each((function(a){var o=n(this),i=m.children(".mega-menu, .sidebar-menu").eq(a);i.length||(i=m.find(".mega-menu, .sidebar-menu").eq(a)),o.children("li.menu-item-has-children").each((function(e){var a=i.children("li.menu-item-has-children").eq(e).children(".popup, .sub-menu");a.hasClass("popup")&&(a=a.children(".inner")),a.length&&(n(this).children(".popup").length?n(this).children(".popup").children(".inner").replaceWith(a):o.hasClass("overlay")?(n(this).children(".sub-menu").remove(),n(this).append(a)):n(this).children(".sub-menu").replaceWith(a))})),o.hasClass("mega-menu")?e.MegaMenu.build(o):o.hasClass("side-menu-accordion")?o.themeAccordionMenu({open_one:!0}):e.SidebarMenu.build(o),o.addClass("sub-ready").trigger("sub-loaded")})),m.find("#nav-panel, #side-nav-panel").length||"mobile_menu"==o){var d=!1;if(n("#nav-panel").length)(u=m.find(".mobile-nav-wrap > *")).length?(n("#nav-panel .mobile-nav-wrap > *").replaceWith(u),n("#nav-panel .mobile-nav-wrap").removeClass("skeleton-body porto-ajax-loading"),n("#nav-panel .accordion-menu").themeAccordionMenu()):d=!0;else if(n("#side-nav-panel").length){var u;(u=m.find("#side-nav-panel")).length?(n("#side-nav-panel").replaceWith(u),n("#side-nav-panel .accordion-menu").themeAccordionMenu()):d=!0}if(d&&!l){l=!0,d=!1;var s=r;s.porto_lazyload_menu_2=1,n.post(window.location.href,s,t)}}"object"==typeof a&&a.length&&(n.fn.themePluginLazyLoad&&a.find(".porto-lazyload:not(.lazy-load-loaded)").themePluginLazyLoad({}),a.find(".porto-carousel").each((function(){n(this).themeCarousel(n(this).data("plugin-options"))})),a.find("[data-appear-animation]").each((function(){n(this).themeAnimate(n(this).data("plugin-options"))})))}},m=window.location.href;e.WooEvents&&e.WooEvents.removeParameterFromUrl&&(m=e.WooEvents.removeParameterFromUrl(m,"add-to-cart")),n.post(m,r,t)}}})}).apply(this,[window.theme,jQuery]),jQuery(document).ready((function(e){if(js_porto_vars.lazyload_menu){var n;function a(e,n,a){var o=!1;"pageload"==js_porto_vars.lazyload_menu?theme.lazyload_menu(e,n,a):"firsthover"==js_porto_vars.lazyload_menu&&e.one("mouseenter touchstart","li.menu-item-has-children",(function(){if(o)return!0;theme.lazyload_menu(e,n,a),o=!0}))}e(".secondary-menu.mega-menu").length&&(n="secondary_menu",a(e(".secondary-menu.mega-menu"),n)),e(".mega-menu.main-menu:not(.scroll-wrapper):not(.secondary-menu)").length&&(n="main_menu",a(e(".mega-menu.main-menu:not(.scroll-wrapper):not(.secondary-menu)"),n)),e(".toggle-menu-wrap .sidebar-menu").length&&(n="toggle_menu",a(e(".toggle-menu-wrap .sidebar-menu"),n)),e(".main-sidebar-menu .sidebar-menu").length&&(n="sidebar_menu",e(".main-sidebar-menu .sidebar-menu").each((function(){let o=e(this);a(o,n,o.closest(".main-sidebar-menu").data("menu"))}))),e(".header-side-nav .sidebar-menu").length&&(n="header_side_menu",a(e(".header-side-nav .sidebar-menu"),n)),e("#nav-panel .skeleton-body, #side-nav-panel .skeleton-body").length&&"pageload"==js_porto_vars.lazyload_menu&&theme.lazyload_menu(1,"mobile_menu")}}));
(function($){
window.theme=window.theme||{};
if(typeof window.theme.animation_support=='undefined'){
theme.animation_support = !window.jQuery('html').hasClass('no-csstransitions');
theme.getOptions=function(opts){
if(typeof(opts)=='object'){
return opts;
}else if(typeof(opts)=='string'){
try {
return JSON.parse(opts.replace(/'/g, '"').replace(';', '') );
} catch(e){
return {};}}else{
return {};}}
theme.execPluginFunction=function(functionName, context){
var args=Array.prototype.slice.call(arguments, 2);
var namespaces=functionName.split(".");
var func=namespaces.pop();
for(var i=0; i < namespaces.length; i++){
context=context[namespaces[i]];
}
return context[func].apply(context, args);
}
theme.mergeOptions=function(obj1, obj2){
var obj3={};
for(var attrname in obj1){ obj3[attrname]=obj1[attrname]; }
for(var attrname in obj2){ obj3[attrname]=obj2[attrname]; }
return obj3;
}
theme.dynIntObsInit=function(selector, functionName, pluginDefaults){
var $el;
if(typeof selector=='string'){
$el=document.querySelectorAll(selector);
}else{
$el=selector;
}
Array.prototype.forEach.call($el, function(obj){
var $this=$(obj),
opts;
if($this.data('observer-init') ){
return;
}
var pluginOptions=theme.getOptions($this.data('plugin-options') );
if(pluginOptions)
opts=pluginOptions;
var mergedPluginDefaults=theme.mergeOptions(pluginDefaults, opts)
var intersectionObserverOptions={
rootMargin: '0px 0px 200px 0px',
thresholds: 0
}
if(mergedPluginDefaults.accY){
intersectionObserverOptions.rootMargin='0px 0px ' + Number(mergedPluginDefaults.accY) + 'px 0px';
}
var observer=new IntersectionObserver(function(entries){
for(var i=0; i < entries.length; i++){
var entry=entries[i];
if(entry.intersectionRatio > 0){
theme.execPluginFunction(functionName, $this, mergedPluginDefaults);
observer.unobserve(entry.target);
}}
}, intersectionObserverOptions);
observer.observe(obj);
$this.data('observer-init', true);
});
}}
})(window.jQuery);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__animate';
var Animate=function($el, opts){
return this.initialize($el, opts);
};
Animate.defaults={
accX: 0,
accY: -120,
delay: 1,
duration: 1000
};
Animate.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, true);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, Animate.defaults, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
var self=this,
$el=this.options.wrapper,
delay=0,
duration=0;
if($el.data('appear-animation-svg') ){
$el.find('[data-appear-animation]').each(function(){
var $this=$(this),
opts;
var pluginOptions=theme.getOptions($this.data('plugin-options') );
if(pluginOptions)
opts=pluginOptions;
$this.themeAnimate(opts);
});
return this;
}
$el.addClass('appear-animation');
var el_obj=$el.get(0);
delay=Math.abs($el.data('appear-animation-delay') ? $el.data('appear-animation-delay'):self.options.delay);
duration=Math.abs($el.data('appear-animation-duration') ? $el.data('appear-animation-duration'):self.options.duration);
if('undefined'!==typeof $el.data('appear-animation')&&$el.data('appear-animation').includes('revealDir') ){
if(delay > 1){
el_obj.style.setProperty('--porto-reveal-animation-delay', delay + 'ms');
}
if(duration!=1000){
el_obj.style.setProperty('--porto-reveal-animation-duration', duration + 'ms');
}
if($el.data('animation-reveal-clr') ){
el_obj.style.setProperty('--porto-reveal-clr', $el.data('animation-reveal-clr') );
}}else{
if(delay > 1){
el_obj.style.animationDelay=delay + 'ms';
}
if(duration!=1000){
el_obj.style.animationDuration=duration + 'ms';
}}
$el.addClass($el.data('appear-animation') + ' appear-animation-visible');
return this;
}};
$.extend(theme, {
Animate: Animate
});
$.fn.themeAnimate=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this;
}else{
return new theme.Animate($this, opts);
}});
};}).apply(this, [window.theme, jQuery]);
(function(theme, $){
theme=theme||{};
var funcAnimate=function($wrap, wrapObj){
if($.fn.themeAnimate&&typeof wrapObj!='undefined'){
$(function(){
var svgAnimates=wrapObj.querySelectorAll('svg [data-appear-animation]');
if(svgAnimates.length){
$(svgAnimates).closest('svg').attr('data-appear-animation-svg', '1');
}
var $animates=wrapObj.querySelectorAll('[data-plugin-animate], [data-appear-animation], [data-appear-animation-svg]');
if($animates.length){
var animateResize=function(){
if(window.innerWidth < 768){
window.removeEventListener('resize', animateResize);
$animates.forEach(function(o){
o.classList.add('appear-animation-visible');
});
}};
if(theme.animation_support){
window.addEventListener('resize', animateResize);
theme.dynIntObsInit($animates, 'themeAnimate', theme.Animate.defaults);
}else{
$animates.forEach(function(o){
o.classList.add('appear-animation-visible');
});
}}
});
}}
funcAnimate('', document.body);
$(document.body).on('porto_after_async_init', function(e, $wrap, wrapObj){
if(theme.isAsyncInit!=-1){
funcAnimate($wrap, wrapObj);
}});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
mfpConfig: {
tClose: js_porto_vars.popup_close,
tLoading: '<div class="porto-ajax-loading"><i class="porto-loading-icon"></i></div>',
gallery: {
tPrev: js_porto_vars.popup_prev,
tNext: js_porto_vars.popup_next,
tCounter: js_porto_vars.mfp_counter
},
image: {
tError: js_porto_vars.mfp_img_error
},
ajax: {
tError: js_porto_vars.mfp_ajax_error
},
callbacks: {
open: function(){
$('body').addClass('lightbox-opened');
var fixed=this.st.fixedContentPos;
if(fixed){
$('#header.sticky-header .header-main.sticky, #header.sticky-header .main-menu-wrap, .fixed-header #header.sticky-header .header-main, .fixed-header #header.sticky-header .main-menu-wrap').css(theme.rtl_browser ? 'left':'right', theme.getScrollbarWidth());
}
var that=$(this._lastFocusedEl);
if(( that.closest('.portfolios-lightbox').hasClass('with-thumbs') )&&$(document).width() >=1024){
var portfolio_lightbox_thumbnails_base=that.closest('.portfolios-lightbox.with-thumbs').find('.porto-portfolios-lighbox-thumbnails').clone(),
magnificPopup=$.magnificPopup.instance;
$('body').prepend(portfolio_lightbox_thumbnails_base);
var $portfolios_lightbox_thumbnails=$('body > .porto-portfolios-lighbox-thumbnails'),
$portfolios_lightbox_thumbnails_carousel=$portfolios_lightbox_thumbnails.children('.owl-carousel');
$portfolios_lightbox_thumbnails_carousel.themeCarousel($portfolios_lightbox_thumbnails_carousel.data('plugin-options') );
$portfolios_lightbox_thumbnails_carousel.trigger('refresh.owl.carousel');
var $carousel_items_wrapper=$portfolios_lightbox_thumbnails_carousel.find('.owl-stage');
$carousel_items_wrapper.find('.owl-item').removeClass('current');
$carousel_items_wrapper.find('.owl-item').eq(magnificPopup.currItem.index).addClass('current');
$.magnificPopup.instance.next=function(){
var magnificPopup=$.magnificPopup.instance;
$.magnificPopup.proto.next.call(this);
$carousel_items_wrapper.find('.owl-item').removeClass('current');
$carousel_items_wrapper.find('.owl-item').eq(magnificPopup.currItem.index).addClass('current');
};
$.magnificPopup.instance.prev=function(){
var magnificPopup=$.magnificPopup.instance;
$.magnificPopup.proto.prev.call(this);
$carousel_items_wrapper.find('.owl-item').removeClass('current');
$carousel_items_wrapper.find('.owl-item').eq(magnificPopup.currItem.index).addClass('current');
};
$carousel_items_wrapper.find('.owl-item').on('click', function(){
$carousel_items_wrapper.find('.owl-item').removeClass('current');
$.magnificPopup.instance.goTo($(this).index());
$(this).addClass('current');
});
}
},
close: function(){
$('body').removeClass('lightbox-opened');
var fixed=this.st.fixedContentPos;
if(fixed){
$('#header.sticky-header .header-main.sticky, #header.sticky-header .main-menu-wrap, .fixed-header #header.sticky-header .header-main, .fixed-header #header.sticky-header .main-menu-wrap').css(theme.rtl_browser ? 'left':'right', '');
}
$('.owl-carousel .owl-stage').each(function(){
var $this=$(this),
w=$this.width() + parseInt($this.css('padding-left') ) + parseInt($this.css('padding-right') );
$this.css({ 'width': w + 200 });
setTimeout(function(){
$this.css({ 'width': w });
}, 0);
});
var that=$(this._lastFocusedEl);
if(( that.parents('.portfolios-lightbox').hasClass('with-thumbs') )&&$(document).width() >=1024){
$(' body > .porto-portfolios-lighbox-thumbnails').remove();
}
}}
},
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
Search: {
defaults: {
popup: $('.searchform-popup'),
form: $('.searchform')
},
initialize: function($popup, $form){
this.$popup=($popup||this.defaults.popup);
this.$form=($form||this.defaults.form);
this.form_layout=this.$form.hasClass('search-layout-overlay') ? 'overlay':this.$form.hasClass('search-layout-reveal') ? 'reveal':false;
this.build()
.events();
return this;
},
build: function(){
var self=this;
var $search_form_texts=self.$form.find('.text input'),
$search_form_cats=self.$form.find('.cat');
if($('.searchform .cat').get(0)&&$.fn.selectric){
$('.searchform .cat').selectric({
arrowButtonMarkup: '',
expandToItemText: true,
maxHeight: 240
});
}
$search_form_texts.on('change', function(){
var $this=$(this),
val=$this.val();
$search_form_texts.each(function(){
if($this!=$(this) ) $(this).val(val);
});
});
$search_form_cats.on('change', function(){
var $this=$(this),
val=$this.val();
$search_form_cats.each(function(){
if($this!=$(this) ) $(this).val(val);
});
});
$(document).on('focus', '.searchform-popup .text input', function (e){
let $this=$(this);
$this.trigger('porto_sh_before_open');
if($this.closest('.searchform-popup').find('.search-list:not(.search-history-list)').length){
$this.closest('.searchform-popup').find('.search-lists').addClass('show');
}});
return this;
},
events: function(){
var self=this;
$('body').on('click', '.searchform-popup', function(e){
e.stopPropagation();
});
$('body').off('click', '.searchform-popup .search-toggle').on('click', '.searchform-popup .search-toggle', function(e){
var $this=$(this),
$form=$this.next();
$this.toggleClass('opened');
if('overlay'==self.form_layout){
$this.siblings('.search-layout-overlay').addClass('show');
$('html').addClass('porto-search-opened porto-search-overlay-wrap');
$this.closest('.vc_row.vc_row-flex>.vc_column_container>.vc_column-inner').css('z-index', '999');
}else if('reveal'==self.form_layout){
self.parents=[];
var $element=self.$popup;
while(!(( $element.hasClass('elementor-container')&&! $element.parent().hasClass('elementor-inner-container') )||($element.hasClass('e-con-inner')&&! $element.parent().hasClass('e-child') )||($element.parent().hasClass('vc_row')&&! $element.parent().hasClass('vc_inner') )||'header'==$element.parent().attr('id')||$element.parent().hasClass('header-main')||$element.parent().hasClass('header-top')||$element.parent().hasClass('header-bottom') )){
$element=$element.parent();
$element.addClass('position-static');
self.parents.push($element);
}
if('static'==$element.parent().css('position') ){
self.topParent=$element.parent();
self.topParent.addClass('position-relative');
}
$form.toggle();
window.setTimeout(function (){
$('body').addClass('porto-search-opened');
$form.find('.text>input[name="s"]').focus();
}, 100);
}else{
$form.toggle();
}
if($this.hasClass('opened') ){
$('#mini-cart.open').removeClass('open');
$this.next().find('input[type="text"]').focus();
if(self.$popup.find('.btn-close-search-form').length){
self.$popup.parent().addClass('position-static');
}}else if('reveal'==self.form_layout){
self.removeFormStyle();
}
e.preventDefault();
e.stopPropagation();
});
$('html,body').on('click', function(){
self.removeFormStyle();
$('.search-lists').removeClass('show');
});
if(!('ontouchstart' in document) ){
$(window).on('resize', function(){
self.removeFormStyle();
});
}
$('.btn-close-search-form').on('click', function(e){
e.preventDefault();
self.removeFormStyle();
});
return self;
},
removeFormStyle: function(){
this.$form.removeAttr('style');
var $searchToggle=this.$popup.find('.search-toggle');
$searchToggle.removeClass('opened');
if('overlay'==this.form_layout){
$('html').removeClass('porto-search-opened porto-search-overlay-wrap');
$searchToggle.siblings('.search-layout-overlay').removeClass('show');
$searchToggle.closest('.vc_row.vc_row-flex>.vc_column_container>.vc_column-inner').css('z-index', '');
}else if('reveal'==this.form_layout&&this.parents&&this.parents.length >=1){
$('body').removeClass('porto-search-opened');
this.parents.forEach($element=> {
$element.removeClass('position-static');
});
if(this.topParent){
this.topParent.removeClass('position-relative');
}}
if(this.$popup.find('.btn-close-search-form').length){
this.$popup.parent().removeClass('position-static');
}}
}});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__carousel';
var Carousel=function($el, opts){
return this.initialize($el, opts);
};
Carousel.defaults=$.extend({}, {
loop: true,
navText: [],
themeConfig: false,
lazyLoad: true,
lg: 0,
md: 0,
sm: 0,
xs: 0,
single: false,
rtl: theme.rtl
});
Carousel.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, true);
return this;
},
setOptions: function(opts){
if(( opts&&opts.themeConfig)||!opts){
this.options=$.extend(true, {}, Carousel.defaults, theme.owlConfig, opts, {
wrapper: this.$el,
themeConfig: true
});
}else{
this.options=$.extend(true, {}, Carousel.defaults, opts, {
wrapper: this.$el
});
}
return this;
},
calcOwlHeight: function($el){
var h=0;
$el.find('.owl-item.active').each(function(){
if(h < $(this).height())
h=$(this).height();
});
$el.children('.owl-stage-outer').height(h);
},
build: function(){
if(!$.fn.owlCarousel){
return this;
}
var $el=this.options.wrapper,
loop=this.options.loop,
lg=this.options.lg,
md=this.options.md,
sm=this.options.sm,
xs=this.options.xs,
single=this.options.single,
zoom=$el.find('.zoom').filter(function(){
if($(this).closest('.tb-image-type-slider').length){
return false;
}
return true;
}).get(0),
responsive={},
items,
count=$el.find('.owl-item').length > 0 ? $el.find('.owl-item:not(.cloned)').length:$el.find('> *').length,
fullscreen=typeof this.options.fullscreen=='undefined' ? false:this.options.fullscreen;
/*if(fullscreen){
$el.children().width(window.innerWidth - theme.getScrollbarWidth());
$el.children().height($el.closest('.fullscreen-carousel').length ? $el.closest('.fullscreen-carousel').height():window.innerHeight);
$el.children().css('max-height', '100%');
$(window).on('resize', function(){
$el.find('.owl-item').children().width(window.innerWidth - theme.getScrollbarWidth());
$el.find('.owl-item').children().height($el.closest('.fullscreen-carousel').length ? $el.closest('.fullscreen-carousel').height():window.innerHeight);
$el.find('.owl-item').children().css('max-height', '100%');
});
}*/
if(single){
items=1;
}else if(typeof this.options.responsive!='undefined'){
for(var w in this.options.responsive){
var number_items=Number(this.options.responsive[w]);
responsive[Number(w)]={ items: number_items, loop:(loop&&count >=number_items) ? true:false };}}else{
items=this.options.items ? this.options.items:(lg ? lg:1);
var isResponsive=(this.options.xxl||this.options.xl||lg||md||sm||xs);
if(isResponsive){
if(this.options.xxl){
responsive[theme.screen_xxl]={ items: this.options.xxl, loop:(loop&&count > this.options.xxl) ? true:false, mergeFit: this.options.mergeFit };}else if(lg&&items > lg + 1){
responsive[theme.screen_xxl]={ items: items, loop:(loop&&count > items) ? true:false, mergeFit: this.options.mergeFit };
responsive[theme.screen_xl]={ items: lg + 1, loop:(loop&&count > lg + 1) ? true:false, mergeFit: this.options.mergeFit };}
if(this.options.xl){
responsive[theme.screen_xl]={ items: this.options.xl, loop:(loop&&count > this.options.xl) ? true:false, mergeFit: this.options.mergeFit };}else if(typeof responsive[theme.screen_xl]=='undefined'&&(! lg||items!=lg) ){
responsive[theme.screen_xl]={ items: items, loop:(loop&&count >=items) ? true:false, mergeFit: this.options.mergeFit };}
if(lg) responsive[992]={ items: lg, loop:(loop&&count >=lg) ? true:false, mergeFit: this.options.mergeFit_lg };
if(md) responsive[768]={ items: md, loop:(loop&&count > md) ? true:false, mergeFit: this.options.mergeFit_md };
if(sm){
responsive[576]={ items: sm, loop:(loop&&count > sm) ? true:false, mergeFit: this.options.mergeFit_sm };}else{
if(xs&&xs > 1){
responsive[576]={ items: xs, loop:(loop&&count > xs) ? true:false, mergeFit: this.options.mergeFit_sm };}else{
responsive[576]={ items: 1, mergeFit: false };}}
if(xs){
responsive[0]={ items: xs, loop:(loop&&count > xs) ? true:false, mergeFit: this.options.mergeFit_xs };}else{
responsive[0]={ items: 1 };}}
}
if(!$el.hasClass('show-nav-title')&&this.options.themeConfig&&theme.slider_nav&&theme.slider_nav_hover){
$el.addClass('show-nav-hover');
}
this.options=$.extend(true, {}, this.options, {
items: items,
loop:(loop&&count > items) ? true:false,
responsive: responsive,
onInitialized: function(){
if($el.hasClass('stage-margin') ){
$el.find('.owl-stage-outer').css({
'margin-left': this.options.stagePadding,
'margin-right': this.options.stagePadding
});
}
var heading_cls='.porto-u-heading, .vc_custom_heading, .slider-title, .elementor-widget-heading, .porto-heading';
if($el.hasClass('show-dots-title')&&($el.prev(heading_cls).length||$el.closest('.slider-wrapper').prev(heading_cls).length||$el.closest('.porto-recent-posts').prev(heading_cls).length||$el.closest('.elementor-widget-porto_recent_posts, .elementor-section').prev(heading_cls).length) ){
var $obj=$el.prev(heading_cls);
if(!$obj.length){
$obj=$el.closest('.slider-wrapper').prev(heading_cls);
}
if(!$obj.length){
$obj=$el.closest('.porto-recent-posts').prev(heading_cls);
}
if(!$obj.length){
$obj=$el.closest('.elementor-widget-porto_recent_posts, .elementor-section').prev(heading_cls);
}
try {
var innerWidth=$obj.addClass('w-auto').css('display', 'inline-block').width();
$obj.removeClass('w-auto').css('display', '');
if(innerWidth + 15 + $el.find('.owl-dots').width() <=$obj.width()){
$el.find('.owl-dots').css(( $('body').hasClass('rtl') ? 'right':'left'), innerWidth + 15 +($el.width() - $obj.width()) / 2);
$el.find('.owl-dots').css('top', -1 * $obj.height() / 2 - parseInt($obj.css('margin-bottom') ) - $el.find('.owl-dots').height() / 2 + 2);
}else{
$el.find('.owl-dots').css('position', 'static');
}} catch(e){ }}
}});
if(this.options.autoHeight){
var thisobj=this;
$(window).on('resize', function(){
thisobj.calcOwlHeight($el);
});
if(theme.isLoaded){
setTimeout(function(){
thisobj.calcOwlHeight($el);
}, 100);
}else{
$(window).on('load', function(){
thisobj.calcOwlHeight($el);
});
}}
var links=false;
if(zoom){
links=[];
var i=0;
$el.find('.zoom').each(function(){
var slide={},
$zoom=$(this);
slide.src=$zoom.data('src') ? $zoom.data('src'):$zoom.data('mfp-src');
slide.title=$zoom.data('title');
links[i]=slide;
$zoom.data('index', i);
i++;
});
}
if($el.hasClass('show-nav-title') ){
this.options.stagePadding=0;
}else{
if(this.options.themeConfig&&theme.slider_nav&&theme.slider_nav_hover)
$el.addClass('show-nav-hover');
if(this.options.themeConfig&&!theme.slider_nav_hover&&theme.slider_margin)
$el.addClass('stage-margin');
}
if($el.hasClass('has-ccols-spacing') ){
$el.removeClass('has-ccols-spacing');
}
$el.owlCarousel(this.options);
if(zoom&&links){
$el.on('click', '.zoom', function(e){
e.preventDefault();
if($.fn.magnificPopup){
var image_index=$(this).data('index');
if(typeof image_index=='undefined'){
image_index=($(this).closest('.owl-item').index() - $el.find('.cloned').length / 2) % $el.data('owl.carousel').items().length;
}
$.magnificPopup.close();
$.magnificPopup.open($.extend(true, {}, theme.mfpConfig, {
items: links,
gallery: {
enabled: true
},
type: 'image'
}), image_index);
}
return false;
});
}
return this;
}}
$.extend(theme, {
Carousel: Carousel
});
$.fn.themeCarousel=function(opts, zoom){
if(typeof $.fn.owlCarousel!='function'){
return this;
}
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this;
}else{
return new theme.Carousel($this, opts, zoom);
}});
}}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
var instanceName='__lightbox';
var Lightbox=function($el, opts){
return this.initialize($el, opts);
};
Lightbox.defaults={
callbacks: {
open: function(){
$('body').addClass('lightbox-opened');
},
close: function(){
$('body').removeClass('lightbox-opened');
}}
};
Lightbox.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, this);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, Lightbox.defaults, theme.mfpConfig, opts, {
wrapper: this.$el
});
return this;
},
build: function(){
if(!$.fn.magnificPopup){
return this;
}
this.options.wrapper.magnificPopup(this.options);
return this;
}};
$.extend(theme, {
Lightbox: Lightbox
});
$.fn.themeLightbox=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this.data(instanceName);
}else{
return new theme.Lightbox($this, opts);
}});
}}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
PostFilter: {
cache: {
},
defaults: {
elements: '.portfolio-filter'
},
initialize: function($elements, post_type){
this.$elements=($elements||$(this.defaults.elements) );
this.build(post_type);
return this;
},
filterFn: function(e){
if(typeof e=='undefined'||typeof e.data=='undefined'||typeof e.data.elements=='undefined'||!e.data.elements||!e.data.elements.length){
return;
}
var self=e.data.selfobj;
if(self.isLoading){
return false;
}
var $this=e.data.thisobj,
$elements=e.data.elements,
position=e.data.position,
post_type=e.data.post_type,
$parent=e.data.parent,
$posts_wrap=e.data.posts_wrap,
use_ajax=e.data.use_ajax,
page_path=e.data.page_path,
infinite_load=e.data.infinite_load,
load_more=e.data.load_more;
e.preventDefault();
if($(this).hasClass('active') ){
return;
}
self.isLoading=true;
var selector=$(this).attr('data-filter');
if('sidebar'==position){
$('.sidebar-overlay').trigger('click');
}
$this.find('.active').removeClass('active');
if(use_ajax){
var current_cat='*'==selector ? '':selector;
if(!page_path){
page_path=$posts_wrap.data('page_path');
}
if(page_path){
$posts_wrap.data('page_path', page_path.replace(/&category=[^&]*&/, '&category=' + current_cat + '&') );
}
$(this).addClass('active');
self.load_posts(current_cat, infinite_load||load_more ? true:false, $parent, post_type, $posts_wrap, undefined, $(this).children('a').attr('href') );
}else if('faq'==post_type){
$parent.find('.faq').each(function(){
var $that=$(this), easing="easeInOutQuart", timeout=300;
if(selector=='*'){
if($that.css('display')=='none') $that.stop(true).slideDown(timeout, easing, function(){
$(this).attr('style', '').show();
});
selected++;
}else{
if($that.hasClass(selector) ){
if($that.css('display')=='none') $that.stop(true).slideDown(timeout, easing, function(){
$(this).attr('style', '').show();
});
selected++;
}else{
if($that.css('display')!='none') $that.stop(true).slideUp(timeout, easing, function(){
$(this).attr('style', '').hide();
});
}}
});
if(!selected&&$parent.find('.faqs-infinite').length&&typeof($.fn.infinitescroll)!='undefined'){
$parent.find('.faqs-infinite').infinitescroll('retrieve');
}}else if($parent.hasClass('portfolios-timeline') ){
var selected=0;
$parent.find('.portfolio').each(function(){
var $that=$(this), easing="easeInOutQuart", timeout=300;
if(selector=='*'){
if($that.css('display')=='none') $that.stop(true).slideDown(timeout, easing, function(){
$(this).attr('style', '').show();
});
selected++;
}else{
if($that.hasClass(selector) ){
if($that.css('display')=='none') $that.stop(true).slideDown(timeout, easing, function(){
$(this).attr('style', '').show();
});
selected++;
}else{
if($that.css('display')!='none') $that.stop(true).slideUp(timeout, easing, function(){
$(this).attr('style', '').hide();
});
}}
});
if(!selected&&$parent.find('.portfolios-infinite').length&&typeof($.fn.infinitescroll)!='undefined'){
$parent.find('.portfolios-infinite').infinitescroll('retrieve');
}
setTimeout(function(){
theme.FilterZoom.initialize($parent);
}, 400);
}else{
$parent.find('.' + post_type + '-row').isotope({
filter: selector=='*' ? selector:'.' + selector
});
}
if(!use_ajax){
$(this).addClass('active');
self.isLoading=false;
}
if(position=='sidebar'){
self.$elements.each(function(){
var $that=$(this);
if($that==$this&&$that.data('position')!='sidebar') return;
$that.find('li').removeClass('active');
$that.find('li[data-filter="' + selector + '"]').addClass('active');
});
}
if(!use_ajax){
window.location.hash='#' + selector;
}
theme.refreshVCContent();
return false;
},
build: function(post_type_param){
var self=this;
self.$elements.each(function(){
var $this=$(this),
position=$this.data('position'),
$parent,
post_type;
if(typeof post_type_param=='undefined'){
if($this.hasClass('member-filter') ){
post_type='member';
}else if($this.hasClass('faq-filter') ){
post_type='faq';
}else if($this.hasClass('product-filter') ){
post_type='product';
}else if($this.hasClass('post-filter') ){
post_type='post';
}else if($this.hasClass('portfolio-filter') ){
post_type='portfolio';
}else{
post_type=$this.attr('data-filter-type');
}}else{
post_type=post_type_param;
}
if('sidebar'==position){
$parent=$('.main-content .page-' + post_type + 's');
}else if('global'==position){
$parent=$('.main-content .page-' + post_type + 's');
}else{
$parent=$this.closest('.page-' + post_type + 's');
}
if(!$parent.length){
$parent=$this.closest('.porto-posts-grid');
}
if(!$parent||!$parent.length){
return;
}
var use_ajax=$this.hasClass('porto-ajax-filter'),
infinite_load=$parent.hasClass('load-infinite'),
load_more=$parent.hasClass('load-more');
var $posts_wrap=$parent.find('.' + post_type + 's-container'),
page_path;
if(use_ajax&&(( !infinite_load&&!load_more)||!$parent.data('ajax_load_options') )){
var current_url=window.location.href;
if(-1!==current_url.indexOf('#') ){
current_url=current_url.split('#')[0];
}
page_path=theme.ajax_url +(-1===theme.ajax_url.indexOf('?') ? '?':'&')  + 'action=porto_ajax_posts&nonce=' + js_porto_vars.porto_nonce + '&post_type=' + post_type + '&current_link=' + current_url + '&category=&page=%cur_page%';
if($parent.data('post_layout') ){
page_path +='&post_layout=' + $parent.data('post_layout');
}
$posts_wrap.data('page_path', page_path);
}
$this.find('li').on('click', { thisobj: $this, selfobj: self, elements: self.$elements, position: position, parent: $parent, post_type: post_type, posts_wrap: $posts_wrap, use_ajax: use_ajax, page_path: page_path, infinite_load: infinite_load, load_more: load_more }, self.filterFn);
});
$(window).on('hashchange', { elements: self.$elements }, self.hashchange);
self.hashchange({ data: { elements: self.$elements }});
return self;
},
hashchange: function(e){
if(typeof e=='undefined'||typeof e.data=='undefined'||typeof e.data.elements=='undefined'||!e.data.elements||!e.data.elements.length){
return;
}
var $elements=e.data.elements,
$filter=$($elements.get(0) ),
hash=window.location.hash;
if(hash){
var $o=$filter.find('li[data-filter="' + hash.replace('#', '') + '"]');
if(!$o.hasClass('active') ){
$o.trigger('click');
}}
},
set_elements: function($elements){
var self=this;
if(typeof $elements=='undefined'||!$elements||!$elements.length){
self.destroy(self.$elements);
return;
}
self.$elements=$elements;
$(window).off('hashchange', self.hashchange).on('hashchange', { elements: $elements }, self.hashchange);
},
destroy: function($elements){
if(typeof $elements=='undefined'||!$elements||!$elements.length){
return;
}
var self=this;
$elements.find('li').off('click', self.filterFn);
$(window).off('hashchange', self.hashchange);
},
load_posts: function(cat, is_infinite, $parent, post_type, $posts_wrap, default_args, page_url){
var _gridcookie='';
if($parent.hasClass('archive-products') ){
_gridcookie=new URLSearchParams(location.search.substring(1) ).get('gridcookie');
if(!(_gridcookie==null||_gridcookie==''||_gridcookie=='grid') ){
page_url=theme.addUrlParam(page_url, 'gridcookie', _gridcookie);
}}
var pid=$parent.attr('id'),
self=this,
is_archive=$parent.hasClass('archive-posts'),
successfn=function(res, directcall){
if(!res){
return;
}
if(( typeof directcall=='undefined'||true!==directcall)&&typeof default_args=='undefined'&&pid){
if(!self.cache[pid]){
self.cache[pid]={};}
self.cache[pid][cat + _gridcookie]=res;
}
var $res=$(res),
is_shop=$parent.hasClass('archive-products'),
$posts=$res.find(is_archive ? '.archive-posts .posts-wrap':'.posts-wrap').children();
if(!$posts.length){
return;
}
if(typeof $posts_wrap=='undefined'||is_archive){
$posts_wrap=$parent.find('.' + post_type + 's-container');
}
if(!$posts_wrap.length){
return;
}
if($posts_wrap.data('isotope') ){
$posts_wrap.isotope('remove', $posts_wrap.children());
}else{
$posts_wrap.children().remove();
}
if($posts_wrap.hasClass('owl-loaded') ){
$posts_wrap.removeClass('owl-loaded');
}
$posts.children().addClass('fadeInUp animated');
$posts_wrap.append($posts);
theme.refreshVCContent($posts);
var $old_filter=$parent.find('.' + post_type + '-filter');
if($old_filter.length&&!$old_filter.hasClass('porto-ajax-filter')&&!$parent.hasClass('load-infinite')&&!$parent.hasClass('load-more') ){
var $new_filter=$res.find(( is_archive ? '.archive-posts ':'') + '.' + post_type + '-filter');
if($new_filter.length){
$old_filter.find('li:first-child').trigger('click');
theme.PostFilter.destroy($old_filter);
$old_filter.replaceWith($new_filter);
theme.PostFilter.initialize($new_filter, post_type);
theme.PostFilter.set_elements($('ul[data-filter-type], ul.portfolio-filter, ul.member-filter, ul.faq-filter, .porto-ajax-filter.product-filter, .porto-ajax-filter.post-filter') );
}}
porto_init($parent);
var behavior_action='';
if(post_type!='product'&&post_type!='member'&&post_type!='faq'&&post_type!='portfolio'&&post_type!='post'){
behavior_action='ptu';
}else{
behavior_action=post_type;
}
theme.PostsInfinite[behavior_action + 'Behavior']($posts, $posts_wrap);
$(document.body).trigger('porto_init_countdown', [$posts_wrap]);
var $old_pagination=$parent.find('.pagination-wrap'),
$new_pagination=$res.find(( is_archive ? '.archive-posts ':'') + '.pagination-wrap').eq(0),
has_pagination=false,
nst_pagination=false;
if($old_pagination.length){
if($new_pagination.length){
$old_pagination.replaceWith($new_pagination);
has_pagination=true;
nst_pagination=true;
}else{
$old_pagination.children().remove();
}}else if($new_pagination.length){
$parent.append($new_pagination);
has_pagination=true;
nst_pagination=true;
}
if(is_shop){
let _paginationWrap=$('.woocommerce-pagination');
var $old_pagination=_paginationWrap.find('ul.page-numbers'),
$new_pagination=$res.find('.woocommerce-pagination ul.page-numbers').eq(0),
has_pagination=false;
if($old_pagination.length){
if($new_pagination.length){
$old_pagination.replaceWith($new_pagination);
has_pagination=true;
}else{
$old_pagination.children().remove();
}}else if($new_pagination.length){
_paginationWrap.append($new_pagination);
has_pagination=true;
}}
if(is_infinite){
var infinitescroll_ins=$posts_wrap.data('infinitescroll');
if(has_pagination||(is_shop&&nst_pagination) ){
var $new_posts_wrap=$res.find(is_archive ? '.archive-posts .posts-wrap':'.posts-wrap');
if($new_posts_wrap.data('cur_page') ){
$posts_wrap.data('cur_page', $new_posts_wrap.data('cur_page') );
$posts_wrap.data('max_page', $new_posts_wrap.data('max_page') );
}
var should_init_again=true;
if(infinitescroll_ins){
if(infinitescroll_ins.options.state.isDestroyed){
$posts_wrap.removeData('infinitescroll');
}else{
should_init_again=false;
if($new_posts_wrap.data('cur_page') ){
infinitescroll_ins.update({
maxPage: $new_posts_wrap.data('max_page'),
state: {
currPage: $new_posts_wrap.data('cur_page')
}});
}
if(infinitescroll_ins.options.state.isPaused){
infinitescroll_ins.resume();
}}
}
if(should_init_again){
var ins=$posts_wrap.data('__postsinfinite');
if(ins){
ins.destroy();
}
var selector_product='.' + post_type + ', .timeline-date';
if(is_shop){
selector_product='.archive-products .product';
if($('.elementor-widget-wc-archive-products').length){
selector_product='.elementor-widget-wc-archive-products .product';
}}
new theme.PostsInfinite($posts_wrap, selector_product, $posts_wrap.data('infiniteoptions'), post_type);
}
if(is_archive){
var page_path=$posts_wrap.siblings('.pagination-wrap').find('.next').attr('href');
if(page_path){
page_path +=(-1!==page_path.indexOf('?') ? '&':'?') + 'portoajax=1&load_posts_only=2';
page_path=page_path.replace(/(paged=)(\d+)|(page\/)(\d+)/, '$1$3%cur_page%');
$posts_wrap.data('page_path', page_path);
}}
var selector_product='.' + post_type + ', .timeline-date';
if(is_shop){
selector_product='.archive-products .product';
if($('.elementor-widget-wc-archive-products').length){
selector_product='.elementor-widget-wc-archive-products .product';
}}
new theme.PostsInfinite($posts_wrap, selector_product, $posts_wrap.data('infiniteoptions'), post_type);
}}
if(is_archive){
$('.sidebar-content').each(function(index){
var $this=$(this),
$that=$($res.find('.sidebar-content').get(index) );
$this.html($that.html());
if(is_shop){
if(typeof updateSelect2!='undefined'&&updateSelect2){
if(jQuery().selectWoo){
var porto_wc_layered_nav_select=function(){
$this.find('select.woocommerce-widget-layered-nav-dropdown').each(function(){
$(this).selectWoo({
placeholder: $(this).find('option').eq(0).text(),
minimumResultsForSearch: 5,
width: '100%',
allowClear: typeof $(this).attr('multiple')!='undefined'&&$(this).attr('multiple')=='multiple' ? 'false':'true'
});
});
};
porto_wc_layered_nav_select();
}
$('body').children('span.select2-container').remove();
}}
});
if(is_shop){
var $script=$res.filter('script:contains("var woocommerce_price_slider_params")').first();
if($script&&$script.length&&$script.text().indexOf('{')!==-1&&$script.text().indexOf('}')!==-1){
var arrStr=$script.text().substring($script.text().indexOf('{'), $script.text().indexOf('}') + 1);
window.woocommerce_price_slider_params=JSON.parse(arrStr);
}
var $title=$('.entry-title');
if($title.length){
var $newTitle=$res.find('.entry-title').eq(0);
if($newTitle.length){
$title.html($newTitle.html());
}}
var $desc=$('.entry-description');
if($desc.length){
var $newDesc=$res.find('.entry-description').eq(0);
if($newDesc.length){
$desc.html($newDesc.html());
}}
var shop_before='.shop-loop-before',
$shop_before=$(shop_before);
if($shop_before.length){
if($res.find(shop_before).length){
$shop_before.each(function(index){
var $res_shop_before=$res.find(shop_before).eq(index);
if($res_shop_before.length){
$(this).html($res_shop_before.html()).show();
}});
}else{
$shop_before.empty();
}}
var $count=$('.woocommerce-result-count');
if($count.length){
var $newCount=$res.find('.woocommerce-result-count').eq(0);
if($newCount.length){
$count[0].outerHTML=$newCount.length ? $newCount[0].outerHTML:'';
}}
$(document).trigger('yith_wcan_init_shortcodes');
$(document).trigger('yith-wcan-ajax-filtered');
}
if(page_url&&!navigator.userAgent.match(/msie/i) ){
window.history.pushState({ 'pageTitle':(res&&res.pageTitle)||'' }, '', page_url);
}}
$(document.body).trigger('porto_load_posts_end', [$parent.parent()]);
};
if(typeof default_args=='undefined'&&typeof self.cache[pid]!='undefined'&&typeof self.cache[pid][cat+ _gridcookie]!='undefined'&&self.cache[pid][cat+ _gridcookie]){
successfn(self.cache[pid][cat+ _gridcookie], true);
self.isLoading=false;
$parent.removeClass('porto-ajax-loading').removeClass('loading').find('.porto-loading-icon').remove();
return;
}
var ajax_load_options=$parent.data('ajax_load_options');
if(( $parent.hasClass('archive-products')&&-1!=js_porto_vars.use_skeleton_screen.indexOf('shop') ) ||
(is_archive&&-1!=js_porto_vars.use_skeleton_screen.indexOf('blog') )){
$posts_wrap=$parent.find('.' + post_type + 's-container');
if(ajax_load_options){
var tag_name='div';
if('product'==post_type&&'ul'==$posts_wrap.get(0).tagName.toLowerCase()){
tag_name='li';
}
$posts_wrap.addClass('skeleton-body').empty();
for(var i=0; i < Number(ajax_load_options.count||(ajax_load_options.columns&&ajax_load_options.columns * 3)||12); i++){
$posts_wrap.append('<' + tag_name + ' class="porto-tb-item post ' + post_type +('product'==post_type ? ' product-col':'') + '"></' + tag_name + '>');
}}else{
$posts_wrap.addClass('skeleton-body').children().empty();
}}else{
if(!$parent.children('.porto-loading-icon').length){
$parent.append('<i class="porto-loading-icon"></i>');
}
$parent.addClass('porto-ajax-loading');
}
var current_url=window.location.href;
if(-1!==current_url.indexOf('#') ){
current_url=current_url.split('#')[0];
}
var args, load_url=theme.ajax_url;
if($parent.hasClass('archive-posts') ){
args={
portoajax: true,
load_posts_only: true
};
if($parent.closest('.porto-block').length){
args['builder_id']=$parent.closest('.porto-block').data('id');
}
load_url=typeof page_url!='undefined' ? page_url:current_url;
}else{
args={
action: 'porto_ajax_posts',
nonce: js_porto_vars.porto_nonce,
post_type: post_type,
current_link: current_url
};
if($parent.data('post_layout') ){
args['post_layout']=$parent.data('post_layout');
}
if(ajax_load_options){
args['extra']=ajax_load_options;
}
if(typeof default_args!='undefined'){
args=$.extend(args, default_args);
}}
if(cat){
args['category']=cat;
}
$.ajax({
url: load_url,
type: 'post',
data: args,
success: successfn,
complete: function(){
self.isLoading=false;
$posts_wrap.removeClass('skeleton-body');
$parent.removeClass('porto-ajax-loading').removeClass('loading').find('.porto-loading-icon').remove();
}});
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
'use strict';
theme=theme||{};
$.extend(theme, {
FilterZoom: {
defaults: {
elements: null
},
initialize: function($elements){
this.$elements=($elements||this.defaults.elements);
this.build();
return this;
},
build: function(){
var self=this;
self.$elements.each(function(){
var $this=$(this),
zoom=$this.find('.zoom, .thumb-info-zoom').get(0);
if(!zoom) return;
$this.find('.zoom, .thumb-info-zoom').off('click');
var links=[];
var i=0;
$this.find('article').each(function(){
var $that=$(this);
if($that.css('display')!='none'){
var $zoom=$that.find('.zoom, .thumb-info-zoom'),
slide,
src=$zoom.data('src'),
title=$zoom.data('title');
$zoom.data('index', i);
if(Array.isArray(src) ){
$.each(src, function(index, value){
slide={};
slide.src=value;
slide.title=title[index];
links[i]=slide;
i++;
});
}else{
slide={};
slide.src=src;
slide.title=title;
links[i]=slide;
i++;
}}
});
$this.find('article').each(function(){
var $that=$(this);
if($that.css('display')!='none'){
$that.off('click', '.zoom, .thumb-info-zoom').on('click', '.zoom, .thumb-info-zoom', function(e){
var $zoom=$(this), $parent=$zoom.parents('.thumb-info'), offset=0;
if($parent.get(0) ){
var $slider=$parent.find('.porto-carousel');
if($slider.get(0) ){
offset=$slider.data('owl.carousel').current() - $slider.find('.cloned').length / 2;
}}
e.preventDefault();
if($.fn.magnificPopup){
$.magnificPopup.close();
$.magnificPopup.open($.extend(true, {}, theme.mfpConfig, {
items: links,
gallery: {
enabled: true
},
type: 'image'
}), $zoom.data('index') + offset);
}
return false;
});
}});
});
return self;
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
theme.initAsync=function($wrap, wrapObj){
if($.fn.themeCarousel){
$(function(){
var portoImgNavMiddle=function($el){
var $images=$el.find('.owl-item img'),
height=0;
for(var i=0; i < $images.length; i++){
var imgHeight=$images.eq(i).height();
if(height < imgHeight){
height=imgHeight;
}}
if($el.hasClass('products-slider') ){
$el.children('.owl-nav').css('top',(5 + height / 2) + 'px');
}else{
$el.children('.owl-nav').css('top', height / 2 + 'px');
}};
var portoCarouselInit=function(e){
var $this=$(e.currentTarget);
$this.find('[data-appear-animation]:not(.appear-animation)').addClass('appear-animation');
if($this.find('.owl-item.cloned').length){
var $not_loaded=$this.find('img.lazy:not(.loaded)');
if($not_loaded.length){
if(typeof window.w3tc_lazyload=='object'){
window.w3tc_lazyload.update();
}else if(theme.w3tcLazyLoadInstance){
theme.w3tcLazyLoadInstance.update();
}}
if($.fn.themePluginLazyLoad){
$this.find('.porto-lazyload:not(.lazy-load-loaded)').themePluginLazyLoad({ effect: 'fadeIn', effect_speed: 400 });
}
var $animates=e.currentTarget.querySelectorAll('.appear-animation');
if($animates.length){
if(theme.animation_support){
}else{
$animates.forEach(function(o){
o.classList.add('appear-animation-visible');
});
}}
if($.fn.themePluginAnimatedLetters&&($(this).find('.owl-item.cloned [data-plugin-animated-letters]:not(.manual)').length) ){
theme.dynIntObsInit($(this).find('.owl-item.cloned [data-plugin-animated-letters]:not(.manual)'), 'themePluginAnimatedLetters');
}}
setTimeout(function(){
var $hiddenItems=$this.find('.owl-item:not(.active)');
if(theme.animation_support){
$hiddenItems.find('.appear-animation').removeClass('appear-animation-visible');
$hiddenItems.find('.appear-animation').each(function(){
var $el=$(this),
delay=Math.abs($el.data('appear-animation-delay') ? $el.data('appear-animation-delay'):0);
if(delay > 1){
this.style.animationDelay=delay + 'ms';
}
var duration=Math.abs($el.data('appear-animation-duration') ? $el.data('appear-animation-duration'):1000);
if(1000!=duration){
this.style.animationDuration=duration + 'ms';
}});
}
if(window.innerWidth >=1200){
$hiddenItems.find('[data-vce-animate]').removeAttr('data-vcv-o-animated');
}
if($this.hasClass('nav-center-images-only') ){
portoImgNavMiddle($this);
}}, 300);
};
var portoCarouselTranslated=function(e){
var $this=$(e.currentTarget);
var $active=$this.find('.owl-item.active');
if($active.hasClass('translating') ){
$active.removeClass('translating');
return;
}
$this.find('.owl-item.translating').removeClass('translating');
$this.find('[data-plugin-animated-letters]').removeClass('invisible');
$this.find('.owl-item.active [data-plugin-animated-letters]').trigger('animated.letters.initialize');
if(window.innerWidth > 767){
$this.find('.appear-animation').removeClass('appear-animation-visible');
$active.find('.appear-animation').each(function(){
var $animation_item=$(this),
anim_name=$animation_item.data('appear-animation');
$animation_item.addClass(anim_name + ' appear-animation-visible');
});
}
if(window.innerWidth > 991){
if($this.closest('[data-plugin-sticky]').length){
theme.refreshStickySidebar(false, $this.closest('[data-plugin-sticky]') );
}}
$active.find('.slide-animate').each(function(){
var $animation_item=$(this),
settings=$animation_item.data('settings');
if(settings&&(settings._animation||settings.animation) ){
var animation=settings._animation||settings.animation,
delay=settings._animation_delay||settings.animation_delay||0;
theme.requestTimeout(function(){
$animation_item.removeClass('elementor-invisible').addClass('animated ' + animation);
}, delay);
}});
if(window.innerWidth >=1200){
$this.find('[data-vce-animate]').removeAttr('data-vcv-o-animated').removeAttr('data-vcv-o-animated-fully');
$active.find('[data-vce-animate]').each(function(){
var $animation_item=$(this);
if($animation_item.data('porto-origin-anim') ){
var anim_name=$animation_item.data('porto-origin-anim');
$animation_item.attr('data-vce-animate', anim_name).attr('data-vcv-o-animated', true);
var duration=parseFloat(window.getComputedStyle(this)['animationDuration']) * 1000,
delay=parseFloat(window.getComputedStyle(this)['animationDelay']) * 1000;
window.setTimeout(function(){
$animation_item.attr('data-vcv-o-animated-fully', true);
}, delay + duration + 5);
}});
}};
var portoCarouselTranslateVC=function(e){
var $this=$(e.currentTarget);
$this.find('.owl-item.active').addClass('translating');
if(window.innerWidth >=1200){
$this.find('[data-vce-animate]').each(function(){
var $animation_item=$(this);
$animation_item.data('porto-origin-anim', $animation_item.data('vce-animate') ).attr('data-vce-animate', '');
});
}};
var portoCarouselTranslateElementor=function(e){
var $this=$(e.currentTarget);
$this.find('.owl-item.active').addClass('translating');
$this.find('.owl-item:not(.active) .slide-animate').addClass('elementor-invisible');
$this.find('.slide-animate').each(function(){
var $animation_item=$(this),
settings=$animation_item.data('settings');
if(settings._animation||settings.animation){
$animation_item.removeClass(settings._animation||settings.animation);
}});
};
var portoCarouselTranslateWPB=function(e){
if(window.innerWidth > 767){
var $this=$(e.currentTarget);
$this.find('.owl-item.active').addClass('translating');
$this.find('.appear-animation').each(function(){
var $animation_item=$(this);
$animation_item.removeClass($animation_item.data('appear-animation') );
});
}};
var carouselItems=$wrap.find('.owl-carousel:not(.manual)');
carouselItems.on('initialized.owl.carousel refreshed.owl.carousel', portoCarouselInit).on('translated.owl.carousel', portoCarouselTranslated);
carouselItems.on('translate.owl.carousel', function(){
$(this).find('[data-plugin-animated-letters]').addClass('invisible');
$(this).find('[data-plugin-animated-letters]').trigger('animated.letters.destroy');
});
carouselItems.on('resized.owl.carousel', function (){
var $this=$(this);
if($this.hasClass('nav-center-images-only') ){
portoImgNavMiddle($this);
}})
carouselItems.filter(function(){
if($(this).find('[data-vce-animate]').length){
return true;
}
return false;
}).on('translate.owl.carousel', portoCarouselTranslateVC);
carouselItems.filter(function(){
var $anim_obj=$(this).find('.elementor-invisible');
if($anim_obj.length){
$anim_obj.addClass('slide-animate');
return true;
}
return false;
}).on('translate.owl.carousel', portoCarouselTranslateElementor);
carouselItems.filter(function(){
if($(this).find('.appear-animation, [data-appear-animation]').length){
return true;
}
return false;
}).on('translate.owl.carousel', portoCarouselTranslateWPB);
$wrap.find('[data-plugin-carousel]:not(.manual), .porto-carousel:not(.manual)').each(function(){
var $this=$(this),
opts;
if($this.closest('.tab-pane').length&&! $this.closest('.tab-pane').hasClass('active') ){
return;
}
if($this.closest('.e-n-tabs-content > .e-con').length&&! $this.closest('.e-n-tabs-content > .e-con').hasClass('e-active') ){
return;
}
if($this.closest('.sidebar-menu:not(.side-menu-accordion) .menu-block').length){
return;
}
if($this.closest('.mega-menu .menu-block').length){
return;
}
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
setTimeout(function(){
$this.themeCarousel(opts);
}, 0);
});
});
}
$wrap.find('.video-fixed').each(function(){
var $this=$(this),
$video=$this.find('video, iframe');
if($video.length){
window.addEventListener('scroll', function(){
var offset=$(window).scrollTop() - $this.position().top + theme.adminBarHeight();
$video.css("cssText", "top: " + offset + "px !important;");
}, { passive: true });
}});
setTimeout(function(){
if(typeof theme.Search!=='undefined'){
theme.Search.initialize();
}}, 0);
if(typeof theme.isAsyncInit=='undefined'){
theme.isAsyncInit=-1;
}
$(document.body).trigger('porto_after_async_init', [ $wrap, wrapObj ]);
theme.isAsyncInit=1;
};
$(document.body).trigger('porto_async_init');
}).apply(this, [window.theme, jQuery]);
jQuery(document).ready(function($){
'use strict';
function porto_modal_open($this){
var trigger=$this.data('trigger-id'),
overlayClass=$this.data('overlay-class'),
disableOverlay=$this.data('disable-overlay'),
extraClass=$this.data('extra-class') ? $this.data('extra-class'):'',
type=$this.data('type'),
buttonPopup=false,
isExist=0;
if(typeof trigger!='undefined'){
if(typeof type=='undefined'){
type='inline';
}
if(type=='inline'){
trigger='#' + escape(trigger);
}
if(typeof $.magnificPopup.instance!='undefined'&&$.magnificPopup.instance.isOpen){
isExist=350;
$.magnificPopup.close();
}
try {
if(document.querySelector(trigger) ){
if('script'==document.querySelector(trigger).nodeName.toLowerCase()){
trigger=$(trigger).html();
disableOverlay=$(trigger).data('disable-overlay');
overlayClass=$(trigger).data('overlay-class');
extraClass='button-popup ';
buttonPopup=true;
}}
} catch(e){
}
var args={
items: {
src: trigger
},
type: type,
mainClass: extraClass +(disableOverlay ? ' popup-builder-disable-overlay ':''),
prependTo: $('.page-wrapper')
};
if(trigger=='#popup-builder'){
args['fixedContentPos']=true;
}
var $popupModal=$this;
if(buttonPopup){
args['fixedContentPos']=true;
if(disableOverlay){
args['closeOnBgClick']=false;
args['fixedContentPos']=false;
args['focus']='.bb-none';
}
args['callbacks']={
'open': function (){
if(disableOverlay){
$('.button-popup.mfp-bg').remove();
}
var $popup_builder=$('.button-popup.mfp-wrap');
if(typeof theme.porto_init_builder_tooltip=='function'){
theme.porto_init_builder_tooltip($popup_builder.get(0));
}
porto_init($popup_builder);
if($popup_builder.find('.wpcf7').length){
var $wpcf7=$popup_builder.find('.wpcf7 .wpcf7-form');
if(typeof wpcf7=='object'){
if(typeof wpcf7.initForm=='function'){
wpcf7.initForm($wpcf7);
}else if(typeof wpcf7.init=='function'){
wpcf7.init($wpcf7.get(0) );
$wpcf7.get(0).classList.replace("no-js", "js");
}}
}
if($popup_builder.find('.wpforms-container').length){
if(typeof wpforms=='object'&&typeof wpforms.init=='function'){
wpforms.init();
}}
}};}
if($this.hasClass('porto-onload')||$this.hasClass('porto-exit-intent') ){
if(disableOverlay){
args['closeOnBgClick']=false;
args['fixedContentPos']=false;
args['focus']='.bb-none';
}
args['callbacks']={
'beforeClose': function(){
if($('.mfp-wrap .porto-disable-modal-onload').length&&($('.mfp-wrap .porto-disable-modal-onload').is(':checked')||$('.mfp-wrap .porto-disable-modal-onload input[type="checkbox"]').is(':checked') )){
$.cookie('porto_modal_disable_onload', 'true', { expires: 7 });
}else if('undefined'!==typeof $popupModal.data('expired')&&'undefined'!==typeof $popupModal.data('popup-id') ){
$.cookie('porto_modal_disable_period_onload_' + $popupModal.data('popup-id'), $popupModal.data('expired'), { expires: $popupModal.data('expired') });
}},
'afterClose': function(){
if($('#header .minicart-opened').length){
$('html').css(theme.rtl_browser ? 'margin-left':'margin-right', theme.getScrollbarWidth());
$('html').css('overflow', 'hidden');
}},
'open': function (){
if(disableOverlay){
$('.popup-builder.mfp-bg').remove();
}
var $popup_builder=$('.mfp-wrap .porto-block[data-bs-original-title]');
if($popup_builder.length){
bootstrap.Tooltip.getInstance($popup_builder[0]).update();
}
if($popup_builder.find('.marquee').length&&$.isFunction($.fn.marquee) ){
$popup_builder.find('.marquee').marquee({
duration: 5000,
gap: 0,
delayBeforeStart: 0,
direction: 'left',
duplicated: true
});
}
if($('.mfp-wrap .porto-block .owl-carousel') ){
$('.mfp-wrap .porto-block .owl-carousel').trigger('refresh.owl.carousel');
}}
};}
if(typeof overlayClass!="undefined"&&overlayClass){
args.mainClass +=escape(overlayClass);
}
setTimeout(()=> {
$.magnificPopup.open($.extend(true, {}, theme.mfpConfig, args), 0);
}, isExist);
}}
theme.porto_modal_open=porto_modal_open;
function porto_init_magnific_popup_functions($wrap){
if(typeof $wrap=='undefined'||!$wrap.length){
$wrap=$(document.body);
}
$wrap.find('.lightbox:not(.manual)').each(function(){
var $this=$(this),
opts;
if($this.find('>.lb-dataContainer').length){
return;
}
var pluginOptions=$this.data('lightbox-options');
if(pluginOptions){
opts=pluginOptions;
}else{
pluginOptions=$this.data('plugin-options');
if(typeof pluginOptions!='object'){
pluginOptions=JSON.parse(pluginOptions);
}
if(pluginOptions){
opts=pluginOptions;
}}
$this.themeLightbox(opts);
});
$wrap.find('.porto-popup-iframe').magnificPopup($.extend(true, {}, theme.mfpConfig, {
disableOn: 700,
type: 'iframe',
mainClass: 'mfp-fade',
removalDelay: 160,
preloader: false,
fixedContentPos: false
}) );
$wrap.find('.porto-popup-ajax').magnificPopup($.extend(true, {}, theme.mfpConfig, {
type: 'ajax'
}) );
$wrap.find('.porto-popup-content').each(function(){
var animation=$(this).attr('data-animation');
$(this).magnificPopup($.extend(true, {}, theme.mfpConfig, {
type: 'inline',
fixedContentPos: false,
fixedBgPos: true,
overflowY: 'auto',
closeBtnInside: true,
preloader: false,
midClick: true,
removalDelay: 300,
mainClass: animation
}) );
});
$wrap.find('.popup-youtube, .popup-vimeo, .popup-gmaps').each(function(index){
var overlayClass=$(this).find('.porto-modal-trigger').data('overlay-class'),
args={
type: 'iframe',
removalDelay: 160,
preloader: false,
fixedContentPos: false
};
if(typeof overlayClass!="undefined"&&overlayClass){
args.mainClass=escape(overlayClass);
}
$(this).magnificPopup(args);
});
$wrap.find('[href*=porto-action_popup-id-]').each(function(){
var $this=$(this), popupId=$this.attr('href');
if(popupId=popupId.match(/#porto-action_popup-id-(\d+)/)[1]){
$this.attr('data-trigger-id', 'popup-id-' + popupId);
$this.addClass('porto-modal-trigger');
}});
if($wrap.find('.porto-modal-trigger.porto-onload').length){
var $obj=$wrap.find('.porto-modal-trigger.porto-onload').eq(0),
timeout=0;
if($obj.data('timeout') ){
timeout=parseInt($obj.data('timeout'), 10);
}
setTimeout(function(){
porto_modal_open($obj);
}, timeout);
}
$wrap.on('click', '.porto-modal-trigger', function(e){
e.preventDefault();
porto_modal_open($(this) );
});
if($wrap.hasClass('login-popup') ){
$wrap.find('.porto-link-login, .porto-link-register').magnificPopup({
items: {
src: theme.ajax_url +(-1===theme.ajax_url.indexOf('?') ? '?':'&')  + 'action=porto_account_login_popup&nonce=' + js_porto_vars.porto_nonce,
type: 'ajax'
},
tLoading: '<i class="porto-loading-icon"></i>',
callbacks: {
ajaxContentAdded: function(){
$(window).trigger('porto_login_popup_opened');
}}
});
}
if(typeof PhotoSwipe!='undefined'){
let _images=$wrap.find('.product-images'), links=[], i=0;
_images.find('img').each(function(){
var slide={};
slide.src=$(this).attr('href');
slide.title=$(this).attr('alt');
slide.w=parseInt($(this).attr('data-large_image_width') );
slide.h=parseInt($(this).attr('data-large_image_height') );
links[i]=slide;
i++;
});
_images.data('links', links);
_images.on('click', '.img-thumbnail a.zoom', function(e){
e.preventDefault();
var options=$.extend({
index: $(this).closest('.img-thumbnail').index(),
addCaptionHTMLFn: function(item, captionEl){
if(! item.title){
captionEl.children[0].textContent='';
return false;
}
captionEl.children[0].textContent=item.title;
return true;
}}, wc_single_product_params.photoswipe_options);
var photoswipe=new PhotoSwipe($('.pswp')[0], PhotoSwipeUI_Default, _images.data('links'), options);
photoswipe.init();
});
}else{
$wrap.find('.product-images').magnificPopup($.extend(true, {}, theme.mfpConfig, {
delegate: '.img-thumbnail a.zoom',
type: 'image',
gallery: { enabled: true }})
);
}
$wrap.find('.porto-posts-grid').each(function(){
$(this).magnificPopup($.extend(true, {}, theme.mfpConfig, {
delegate: '.porto-tb-featured-image span.zoom, .porto-tb-featured-image a.zoom, .post-image span.zoom',
type: 'image',
gallery: { enabled: true }})
);
});
$wrap.find('.porto-posts-grid .tb-image-type-slider div.zoom').each(function(){
var $this=$(this),
links=[];
$this.find('a').each(function(){
var slide={};
slide.src=$(this).attr('href');
slide.title=$(this).attr('title');
links.push(slide);
});
if(links.length){
$this.on('click', function(){
var $slider=$this.siblings('.porto-carousel');
if($slider.length){
var offset=$slider.data('owl.carousel').current() - $slider.find('.cloned').length / 2;
$.magnificPopup.open($.extend(true, {}, theme.mfpConfig, {
items: links,
gallery: {
enabled: true
},
type: 'image'
}), offset);
}});
}});
}
if($.fn.magnificPopup){
porto_init_magnific_popup_functions();
}else{
setTimeout(function(){
if($.fn.magnificPopup){
porto_init_magnific_popup_functions();
}}, 500);
}
$(document.body).on('porto_load_posts_end', function(e, $posts_wrap){
if($.fn.magnificPopup){
porto_init_magnific_popup_functions($posts_wrap);
}});
if(typeof theme.PostFilter!=='undefined'){
var $postFilterElements=$('ul[data-filter-type], .portfolio-filter, .member-filter, .faq-filter, .porto-ajax-filter.product-filter, .porto-ajax-filter.post-filter');
if($postFilterElements.length){
theme.PostFilter.initialize($postFilterElements);
}}
$('body').on('click', '.porto-ajax-load .pagination:not(.load-more) .page-numbers', function(e){
var $this=$(this);
if($this.hasClass('current')||$this.hasClass('dots') ){
return;
}
e.preventDefault();
var $wrap=$this.closest('.porto-ajax-load'),
post_type=$wrap.data('post_type'),
$obj=$wrap.find('.' + post_type + 's-container');
if(!$obj.length||$wrap.hasClass('loading') ){
return;
}
$wrap.addClass('loading');
var $filter=$wrap.find('.porto-ajax-filter'),
cat=$filter.length&&$filter.children('.active').length&&$filter.children('.active').data('filter');
if('*'==cat){
cat='';
}
var default_args={},
page=$this.attr('href').match(/paged=(\d+)|page\/(\d+)/);
if(page&&Array.isArray(page)&&(page[1]||page[2]) ){
default_args['page']=parseInt(page[1]||page[2]);
}else{
if($this.hasClass('prev') ){
default_args['page']=parseInt($this.next().text());
}else if($this.hasClass('next') ){
default_args['page']=parseInt($this.prev().text());
}else{
default_args['page']=parseInt($this.text());
}}
if(cat==''&&$wrap.find('input[type=hidden].category').length){
cat=$wrap.find('input[type=hidden].category').val();
default_args['taxonomy']=$wrap.find('input[type=hidden].taxonomy').val();
}
theme.PostFilter.load_posts(cat, $wrap.hasClass('load-infinite'), $wrap, post_type, $obj, default_args, $this.attr('href') );
});
if(typeof theme.FilterZoom!=='undefined'){
theme.FilterZoom.initialize($('.page-portfolios') );
theme.FilterZoom.initialize($('.page-members') );
theme.FilterZoom.initialize($('.blog-posts-related') );
}
var $minicart_offcanvas=$('.minicart-offcanvas'),
$wl_offcanvas=$('.wishlist-offcanvas'),
$mobile_sidebar=$('.mobile-sidebar'),
$mobile_panel=$('#side-nav-panel'),
$overlay_search=$('#header .btn-close-search-form'),
$html=$('html');
if($minicart_offcanvas.length||$wl_offcanvas.length||$mobile_sidebar.length||$mobile_panel.length||$('.skeleton-loading').length||$overlay_search.length){
$(document.documentElement).on('keyup', function(e){
try {
if(e.keyCode==27){
$minicart_offcanvas.removeClass('minicart-opened');
$wl_offcanvas.removeClass('minicart-opened');
if($mobile_sidebar.length){
$html.removeClass('filter-sidebar-opened');
$html.removeClass('sidebar-opened');
$('.sidebar-overlay').removeClass('active');
$('html').css('overflow', '');
$('html').css(theme.rtl_browser ? 'margin-left':'margin-right', '');
}
if($mobile_panel.length&&$html.hasClass('panel-opened') ){
$html.removeClass('panel-opened');
$('.panel-overlay').removeClass('active');
}
if($overlay_search.length){
$overlay_search.trigger('click');
}}
} catch(err){ }});
$('.skeleton-loading').on('skeleton-loaded', function(){
$mobile_sidebar=$('.mobile-sidebar');
});
}});
(function(){
'use strict';
if(typeof yith_wcwl_l10n!='undefined'){
yith_wcwl_l10n.enable_tooltip=false;
}
jQuery(document).on('yith_wcwl_add_to_wishlist_data yith_woocompare_product_added', function(e, $el){
if($el.length){
$el.tooltip('dispose');
}
if($el.$initiator){
$el.$initiator.tooltip('dispose');
}});
jQuery(document).on('click', 'a.compare.added', function(e){
jQuery(this).tooltip('dispose');
});
function portoCalcSliderButtonsPosition($parent, padding){
var $buttons=$parent.find('.show-nav-title .owl-nav');
if($buttons.length){
if(window.theme.rtl){
$buttons.css('left', padding);
}else{
$buttons.css('right', padding);
}
if($buttons.closest('.porto-products').length&&$buttons.closest('.porto-products').parent().children('.products-slider-title').length){
var $title=$buttons.closest('.porto-products').parent().children('.products-slider-title'), newMT=$title.offset().top - $parent.offset().top - parseInt($title.css('padding-top'), 10) - parseInt($title.css('line-height'), 10) / 2 + $buttons.children().outerHeight() - parseInt($buttons.children().css('margin-top'), 10);
$buttons.css('margin-top', newMT);
}}
}
if(typeof jQuery.fn.owlCarousel=='function'){
(function(theme, $){
theme=theme||{};
var instanceName='__wooProductsSlider';
var WooProductsSlider=function($el, opts){
return this.initialize($el, opts);
};
WooProductsSlider.defaults={
rtl: theme.rtl,
autoplay: theme.slider_autoplay=='1' ? true:false,
autoplayTimeout: theme.slider_speed ? theme.slider_speed:5000,
loop: theme.slider_loop,
nav: false,
navText: ["", ""],
dots: false,
autoplayHoverPause: true,
items: 1,
responsive: {},
autoHeight: true,
lazyLoad: true
};
WooProductsSlider.prototype={
initialize: function($el, opts){
if($el.data(instanceName) ){
return this;
}
this.$el=$el;
this
.setData()
.setOptions(opts)
.build();
return this;
},
setData: function(){
this.$el.data(instanceName, true);
return this;
},
setOptions: function(opts){
this.options=$.extend(true, {}, WooProductsSlider.defaults, opts, {
wrapper: this.$el
});
return this;
},
calcOwlHeight: function($el){
var h=0;
$el.find('.owl-item.active').each(function(){
if(h < $(this).height())
h=$(this).height();
});
$el.find('.owl-stage-outer').height(h);
},
build: function(){
var self=this,
$el=this.options.wrapper,
lg=this.options.lg,
md=this.options.md,
xs=this.options.xs,
ls=this.options.ls,
$slider_wrapper=$el.closest('.slider-wrapper'),
single=this.options.single,
dots=this.options.dots,
nav=this.options.nav,
responsive={},
items,
scrollWidth=0,
count=$el.find('> *').length,
w_xs=576 - scrollWidth,
w_md=768 - scrollWidth,
w_xl=theme.screen_xl - scrollWidth,
w_sl=theme.screen_xxl - scrollWidth;
if($el.find('.product-col').get(0) ){
portoCalcSliderButtonsPosition($slider_wrapper, $el.find('.product-col').css('padding-left') );
}
if(single){
items=1;
}else{
items=lg ? lg:1;
if(this.options.xl){
responsive[w_sl]={ items: this.options.xl, loop:(this.options.loop&&count > this.options.xl) ? true:false };}
responsive[w_xl]={ items: items, loop:(this.options.loop&&count > items) ? true:false };
if(md) responsive[w_md]={ items: md, loop:(this.options.loop&&count > md) ? true:false };
if(xs) responsive[w_xs]={ items: xs, loop:(this.options.loop&&count > xs) ? true:false };
if(ls) responsive[0]={ items: ls, loop:(this.options.loop&&count > ls) ? true:false };}
this.options=$.extend(true, {}, this.options, {
loop:(this.options.loop&&count > items) ? true:false,
items: items,
responsive: responsive,
onRefresh: function(){
if($el.find('.product-col').get(0) ){
portoCalcSliderButtonsPosition($slider_wrapper, $el.find('.product-col').css('padding-left') );
}},
onInitialized: function(){
if($el.find('.product-col').get(0) ){
portoCalcSliderButtonsPosition($slider_wrapper, $el.find('.product-col').css('padding-left') );
}
if($el.find('.owl-item.cloned').length){
setTimeout(function(){
if($.fn.themePluginLazyLoad){
var ins=$el.find('.owl-item.cloned .porto-lazyload:not(.lazy-load-loaded)').themePluginLazyLoad({ effect: 'fadeIn', effect_speed: 400 });
if(ins&&ins.loadAndDestroy){
ins.loadAndDestroy();
}}
}, 100);
}},
touchDrag:(count==1) ? false:true,
mouseDrag:(count==1) ? false:true
});
if(this.options.autoHeight){
var thisobj=this;
$(window).on('resize', function(){
thisobj.calcOwlHeight($el);
});
if(theme.isLoaded){
setTimeout(function(){
thisobj.calcOwlHeight($el);
}, 100);
}else{
$(window).on('load', function(){
thisobj.calcOwlHeight($el);
});
}}
if($el.hasClass('has-ccols-spacing') ){
$el.removeClass('has-ccols-spacing');
}
$el.owlCarousel(this.options);
return this;
}};
$.extend(theme, {
WooProductsSlider: WooProductsSlider
});
$.fn.themeWooProductsSlider=function(opts){
return this.map(function(){
var $this=$(this);
if($this.data(instanceName) ){
return $this;
}else{
return new theme.WooProductsSlider($this, opts);
}});
}}).apply(this, [window.theme, jQuery]);
}
(function(theme, $){
var $supports_html5_storage;
try {
$supports_html5_storage=('sessionStorage' in window&&window.sessionStorage!==null);
window.sessionStorage.setItem('wc', 'test');
window.sessionStorage.removeItem('wc');
} catch(err){
$supports_html5_storage=false;
}
var setCartCreationTimestamp=function(){
if($supports_html5_storage){
sessionStorage.setItem('wc_cart_created',(new Date()).getTime());
}};
var setCartHash=function(cart_hash){
if($supports_html5_storage&&wc_cart_fragments_params){
localStorage.setItem(wc_cart_fragments_params.cart_hash_key, cart_hash);
sessionStorage.setItem(wc_cart_fragments_params.cart_hash_key, cart_hash);
}};
var initAjaxRemoveCartItem=function(){
$(document).off('click', '.widget_shopping_cart .remove-product, .shop_table.cart .remove-product, .shop_table.review-order .remove-product').on('click', '.widget_shopping_cart .remove-product, .shop_table.cart .remove-product, .shop_table.review-order .remove-product', function(e){
e.preventDefault();
var $this=$(this);
var cart_id=$this.data("cart_id");
var product_id=$this.data("product_id");
var is_checkout=false;
$this.closest('li').find('.ajax-loading').show();
if('undefined'==typeof cart_id){
is_checkout=true;
cart_id=$this.closest('.cart_item').data('key');
}
$.ajax({
type: 'POST',
dataType: 'json',
url: theme.ajax_url,
data: {
action: "porto_cart_item_remove",
nonce: js_porto_vars.porto_nonce,
cart_id: cart_id
},
success: function(response){
updateCartFragment(response);
$(document.body).trigger('wc_fragments_refreshed');
var this_page=window.location.toString(),
item_count=$(response.fragments['div.widget_shopping_cart_content']).find('.mini_cart_item').length;
this_page=this_page.replace('add-to-cart', 'added-to-cart');
$('.viewcart-' + product_id).removeClass('added');
$('.porto_cart_item_' + cart_id).remove();
if(item_count==0&&($('body').hasClass('woocommerce-cart')||$('body').hasClass('woocommerce-checkout') )){
$('.page-content').fadeTo(400, 0.8).block({
message: null,
overlayCSS: {
opacity: 0.2
}});
}else{
$('form.woocommerce-cart-form, #order_review, .updating, .cart_totals').fadeTo(400, 0.8).block({
message: null,
overlayCSS: {
opacity: 0.2
}});
}
$('.widget_shopping_cart, .updating').stop(true).css('opacity', '1').unblock();
if(item_count==0&&($('body').hasClass('woocommerce-cart')||$('body').hasClass('woocommerce-checkout') )){
$('.page-content').load(this_page + ' .page-content:eq(0) > *', function(){
$('.page-content').stop(true).css('opacity', '1').unblock();
});
}else{
$('form.woocommerce-cart-form').load(this_page + ' form.woocommerce-cart-form:eq(0) > *', function(){
$('form.woocommerce-cart-form').stop(true).css('opacity', '1').unblock();
});
$('.cart_totals').load(this_page + ' .cart_totals:eq(0) > *', function(){
$('.cart_totals').stop(true).css('opacity', '1').unblock();
});
$('#order_review').load(this_page + ' #order_review:eq(0) > *', function(){
$('#order_review').stop(true).css('opacity', '1').unblock();
});
}}
});
return false;
});
};
var refreshCartFragment=function(){
initAjaxRemoveCartItem();
if($.cookie('woocommerce_items_in_cart') > 0){
$('.hide_cart_widget_if_empty').closest('.widget_shopping_cart').show();
}else{
$('.hide_cart_widget_if_empty').closest('.widget_shopping_cart').hide();
}};
var updateCartFragment=function(data){
if(data&&data.fragments){
var fragments=data.fragments,
cart_hash=data.cart_hash;
$.each(fragments, function(key, value){
$(key).replaceWith(value);
});
if(typeof wc_cart_fragments_params==='undefined'){
return;
}
if($supports_html5_storage){
var prev_cart_hash=sessionStorage.getItem('wc_cart_hash');
if(prev_cart_hash===null||prev_cart_hash===undefined||prev_cart_hash===''){
setCartCreationTimestamp();
}
sessionStorage.setItem(wc_cart_fragments_params.fragment_name, JSON.stringify(fragments) );
setCartHash(cart_hash);
}}
};
$(function(){
refreshCartFragment();
$(document).on('click', '.add_to_cart_button', function(e){
var $this=$(this);
if(typeof theme.noAjaxCart=='undefined'){
theme.noAjaxCart = ! $('#wc-add-to-cart-js').length;
}
if($this.is('.product_type_simple')||$this.is('.jck_wssv_add_to_cart') ){
if('SPAN'==$this.prop('tagName')&&(theme.noAjaxCart||! $this.attr('data-product_id') )){
window.location.href=$this.attr('href');
}
if($.fn.tooltip){
$this.tooltip('hide');
}
if($this.attr('data-product_id') ){
$this.addClass('product-adding');
if($this.hasClass('viewcart-style-2')||$this.hasClass('viewcart-style-3') ){
if($this.closest('.porto-hotspot').length==0&&$this.closest('.menu-block').length==0&&! $('#loading-mask').length){
$('body').append('<div id="loading-mask"><div class="background-overlay"></div></div>');
}
if(!$(this).closest('.product').find('.loader-container').length){
$(this).closest('.product').find('.product-image').append('<div class="loader-container"><div class="loader"><i class="porto-ajax-loader"></i></div></div>');
}
$(this).closest('.product').find('.loader-container').show();
}}
}else if('SPAN'==$this.prop('tagName') ){
window.location.href=$this.attr('href');
}});
$(document.body).on('added_to_cart', function(){
$('ul.products li.product .added_to_cart, .porto-tb-item .added_to_cart').remove();
initAjaxRemoveCartItem();
});
$(document.body).on('wc_cart_button_updated', function(){
$('ul.products li.product .added_to_cart, .porto-tb-item .added_to_cart').remove();
});
$(document.body).on('wc_fragments_refreshed wc_fragments_loaded', function(){
refreshCartFragment();
});
$(document).on('click', '.product-image .viewcart, .after-loading-success-message .viewcart', function(e){
if(wc_add_to_cart_params.cart_url){
window.location.href=wc_add_to_cart_params.cart_url;
}
e.preventDefault();
});
var porto_product_add_cart_timer=null;
$(document).on('added_to_cart', 'body', function(event){
var $mc_item=$('#mini-cart .cart-items');
if($mc_item.length){
$mc_item.addClass('count-updating');
setTimeout(function(){
$mc_item.removeClass('count-updating');
}, 1000);
}
$('body #loading-mask').remove();
$('.add_to_cart_button.product-adding').each(function(){
var $link=$(this);
$link.removeClass('product-adding');
if($('.woocommerce-wishlist.woocommerce-page').length){
return;
}
if($link.hasClass('viewcart-style-1') ){
$link.closest('.product').find('.viewcart').addClass('added');
$('.minicart-offcanvas').addClass('minicart-opened');
}else{
$link.closest('.product').find('.loader-container').hide();
if($link.closest('li.outofstock').length){
return;
}
var $msg;
if($link.hasClass('viewcart-style-2') ){
$msg=$('.after-loading-success-message .success-message-container').eq(0);
$msg.find('.product-name').text($link.closest('.product').find('.woocommerce-loop-product__title, .product-loop-title, .post-title a').text());
}else{
$msg=$('.after-loading-success-message .success-message-container').last().clone().removeClass('d-none');
$msg.find('.product-name').empty().append($link.closest('.product').find('.product-loop-title, .post-title a').clone());
}
$msg.find('.msg-box img').remove();
if($link.closest('.product').find('.product-image img').length){
var $img=$link.closest('.product').find('.product-image img').eq(0);
$('<img />').attr('src', $img.data('oi') ? $img.data('oi'):$img.attr('src') ).appendTo($msg.find('.msg-box') ).attr('alt', $msg.find('.msg .product-name').text());
}else if(typeof js_porto_vars.wc_placeholder_img!='undefined'){
$('<img />').attr('src', js_porto_vars.wc_placeholder_img).appendTo($msg.find('.msg-box') ).attr('alt', $msg.find('.msg .product-name').text());
}
$('.after-loading-success-message').eq(0).stop().show();
if($link.hasClass('viewcart-style-2') ){
if(porto_product_add_cart_timer){
clearTimeout(porto_product_add_cart_timer);
}
porto_product_add_cart_timer=setTimeout(function(){ $('.after-loading-success-message').eq(0).hide(); }, 4000);
}else{
$msg.prependTo('.after-loading-success-message');
theme.requestTimeout(function(){
$msg.addClass('active');
}, 50);
setTimeout(function(){ $msg.find('.mfp-close').trigger('click'); }, 5000);
}}
});
});
$('.after-loading-success-message .continue_shopping').on('click', function(){
$('.after-loading-success-message').eq(0).fadeOut(200);
});
$('.after-loading-success-message').on('click', '.mfp-close', function(){
var $obj=$(this).closest('.success-message-container');
$obj.removeClass('active');
theme.requestTimeout(function(){
$obj.slideUp(300, function(){
$obj.remove();
});
}, 350);
});
$(document.body).on('click', '.variations_form .variations .filter-item-list .filter-color, .variations_form .variations .filter-item-list .filter-item', function(e){
e.preventDefault();
var $this=$(this),
$selector=$this.closest('ul').siblings('select');
if(!$selector.length||$this.hasClass('disabled') ){
return;
}
var $li_obj=$this.closest('li');
if($li_obj.hasClass('active') ){
$li_obj.removeClass('active');
$selector.val('');
}else{
$li_obj.addClass('active').siblings().removeClass('active');
$selector.val($this.data('value') );
}
$selector.trigger('change.wc-variation-form');
});
$(document.body).on('click', '.porto-general-swatch .filter-color, .porto-general-swatch .filter-item', function(e){
e.preventDefault();
var $this=$(this),
$swatch_li=$this.parent();
var $product=$(this).closest('.product, .product-col');
var $product_img;
if($product.hasClass('porto-tb-item') ){
$product_img=$product.find('.porto-tb-featured-image img').eq(0);
}else if($product.hasClass('product-col') ){
$product_img=$product.find('div.product-image .inner img:first-child');
}
var srcOrig=$product_img.data('original-src'),
srcsetOrig=$product_img.data('original-srcset '),
sizesOrig=$product_img.data('original-sizes');
if(typeof srcOrig=='undefined'){
$product_img.data('original-src', $product_img.attr('src') );
if(typeof srcsetOrig=='undefined'&&$product_img.attr('srcset') ){
$product_img.data('original-srcset', $product_img.attr('srcset') );
}
if(typeof sizesOrig=='undefined'&&$product_img.attr('sizes') ){
$product_img.data('original-sizes', $product_img.attr('sizes') );
}}
var image_src='',
image_srcset='',
image_sizes='';
if($this.parent().hasClass('active') ){
$swatch_li.removeClass('active');
}else{
$this.closest('ul').find('li').removeClass('active');
$swatch_li.addClass('active');
if($swatch_li.data('image-src') ){
image_src=$swatch_li.data('image-src');
image_srcset=$swatch_li.data('image-srcset');
image_sizes=$swatch_li.data('image-sizes');
}}
if(! image_src){
var $active_swatch=$this.closest('.porto-general-swatch').find('li.active');
if($active_swatch.length&&$active_swatch.data('image-src') ){
image_src=$active_swatch.data('image-src');
image_srcset=$active_swatch.data('image-srcset');
image_sizes=$active_swatch.data('image-sizes');
}else{
if($product_img.data('original-src') ){
image_src=$product_img.data('original-src');
}
if($product_img.data('original-srcset') ){
image_srcset=$product_img.data('original-srcset');
}
if($product_img.data('original-sizes') ){
image_sizes=$product_img.data('original-sizes');
}}
}
if(image_src){
$product_img.attr('src', image_src).attr('srcset', image_srcset).attr('image_sizes', image_sizes);
var $image_slider=$product.find('.owl-carousel');
if($image_slider.length){
$image_slider.trigger('to.owl.carousel', [0, 300, true]);
}}
});
$(document).on('wc_variation_form', '.variations_form', function(){
$(this).addClass('vf_init');
if($(this).find('.filter-item-list').length < 1){
return;
}
$(this).find('.variations select').trigger('focusin');
});
$(document).on('updated_wc_div', function(){
if($.fn.themePluginLazyLoad){
$('.woocommerce-cart-form .porto-lazyload').themePluginLazyLoad();
}});
$(document).on('found_variation reset_data', '.variations_form', function(e, args){
var $this=$(this);
if($this.find('.product-attr-description').length){
if(typeof args=='undefined'){
$this.find('.product-attr-description').removeClass('active');
}else{
$this.find('.product-attr-description').addClass('active');
$this.find('.product-attr-description .attr-desc').removeClass('active');
$this.find('.variations select').each(function(){
var $obj=$(this);
$this.find('.product-attr-description .attr-desc[data-attrid="' + $obj.val() + '"]').addClass('active');
});
}}
if($this.find(".filter-item-list").length < 1){
return;
}
$this.find(".filter-item-list").each(function(){
if($(this).next("select").length < 1){
return;
}
var selector=$(this).next("select"),
$list=$(this);
$list.find('li.active').removeClass('active');
$list.find('.filter-color, .filter-item').removeClass('enabled').removeClass('disabled');
selector.children("option").each(function(){
if(!$(this).val()){
return;
}
$list.find('[data-value="' + $(this).val().replace(/"/g, '\\\"') + '"]').addClass('enabled');
if($(this).val()==selector.val()){
$list.find('[data-value="' + $(this).val().replace(/"/g, '\\\"') + '"]').parent().addClass('active');
}
/*html +='<li';
if($(this).val()==selector.val()){
html +=' class="active"';
}
html +='><a href="#" data-value="'+ escape($(this).val()) +'" class="' + spanClass + '"';
if(isColor){
html +=' style="background-color: #' + escape($(this).data('color').replace('#','')) + '"';
}
if(isImage){
html +=' style="background-image:url(' + $(this).data('image') + ')"';
}
html +='>';
if(!isColor){
html +=$(this).text();
}
html +='</a></li>';*/
});
$list.find('.filter-color:not(.enabled), .filter-item:not(.enabled)').addClass('disabled');
});
});
$(document).on('found_variation reset_data', '.variations_form', function(e, obj){
var $wrapper=$(this).closest('.product'),
$timer=$wrapper.find('.sale-product-daily-deal.for-some-variations');
if(!$timer.length){
$timer=$wrapper.find('.porto-product-sale-timer').eq(0);
if(!$timer.length){
return;
}}
if(obj&&obj.is_purchasable&&typeof obj.porto_date_on_sale_to!='undefined'&&obj.porto_date_on_sale_to){
var saleTimer=$timer.find('.porto_countdown-dateAndTime');
if(saleTimer.data('terminal-date')!=obj.porto_date_on_sale_to){
var newDate=new Date(obj.porto_date_on_sale_to);
saleTimer.porto_countdown('option', { until: newDate });
saleTimer.data('terminal-date', obj.porto_date_on_sale_to);
}
$timer.slideDown();
}else{
if($timer.is(':hidden') ){
$timer.hide();
}else{
$timer.slideUp();
}}
});
$('body').on('click', '.product-attr-description > a', function(e){
e.preventDefault();
$(this).next().stop().slideToggle(400);
});
if($(document.body).hasClass('single-product') ){
$(document).on('woocommerce_variation_has_changed', '.variations_form', function(e, variation){
$(document.body).removeClass('single-add-to-cart');
});
$(document).on('found_variation', '.variations_form', function(e, variation){
try {
var cart_items=JSON.parse(sessionStorage.getItem(wc_cart_fragments_params.fragment_name) );
if(cart_items['div.widget_shopping_cart_content']){
var cart_item=$(cart_items['div.widget_shopping_cart_content']).find('.porto-variation-' + variation.variation_id);
if(cart_item.length){
theme.requestFrame(function(){
$(document.body).addClass('single-add-to-cart');
});
}}
} catch(e){
}});
}
var timeout;
$(document).on('change input', '.cart_list .quantity .qty, .woocommerce-checkout-review-order-table .quantity .qty', function(){
var input=$(this);
var itemID='';
var qtyVal=input.val();
var maxValue=input.attr('max');
var is_checkout=false;
clearTimeout(timeout);
if(parseInt(qtyVal) > parseInt(maxValue) ){
qtyVal=maxValue;
}
if(input.closest('.cart_list').length){
itemID=input.parents('.woocommerce-mini-cart-item').data('key');
}else{
is_checkout=true;
itemID=input.closest('.cart_item').data('key');
}
timeout=setTimeout(function(){
if(! is_checkout){
input.parents('.mini_cart_item').find('.ajax-loading').show();
}
$.ajax({
url:theme.ajax_url,
data:{
action:'porto_update_cart_item',
item_id: itemID,
qty:qtyVal
},
success:function(data){
if(data&&data.fragments){
updateCartFragment(data);
$(document.body).trigger('wc_fragments_refreshed');
}
if(is_checkout){
input.closest('form.checkout').trigger('update');
}else{
input.parents('.mini_cart_item').find('.ajax-loading').hide();
}},
dataType: 'json',
method:'GET'
});
}, 500);
});
if($('form.woocommerce-cart-form button.update-button-hidden').length > 0){
$(document).on('change input', 'form.woocommerce-cart-form .product-quantity input', function (){
var $form=$(this).closest('form'),
$updateBtn=$form.find('.update-button-hidden');
$updateBtn.removeAttr('disabled');
$updateBtn.click();
});
}
if('undefined'!==typeof yith_wcwl_l10n&&yith_wcwl_l10n.reload_on_found_variation&&$('.products-container .variations_form').length){
var porto_update_reload_wishlist_fn=function(){
yith_wcwl_l10n.reload_on_found_variation=true;
if($(this).closest('.products-container').length){
yith_wcwl_l10n.reload_on_found_variation=false;
}};
$('.products-container').one('woocommerce_variation_has_changed woocommerce_variation_select_change', '.variations_form', function(){
yith_wcwl_l10n.reload_on_found_variation=true;
$(document).off('update_variation_values', '.variations_form', porto_update_reload_wishlist_fn);
});
$(document).on('update_variation_values', '.variations_form', porto_update_reload_wishlist_fn);
}});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
theme=theme||{};
var duration=300,
flag=false;
$.extend(theme, {
WooProductImageSlider: {
defaults: {
elements: '.product-image-slider'
},
initialize: function($elements){
this.$elements=($elements||$(this.defaults.elements) );
if(!this.$elements.length&&!$('.product-images-block').length){
return this;
}
/*
if(!$.fn.owlCarousel){
this.$elements.each(function(){
var links=[],
$this=$(this);
if(theme.product_image_popup){
var i=0;
$this.find('img').each(function(){
var slide={};
slide.src=$(this).attr('href');
slide.title=$(this).attr('alt');
slide.w=parseInt($(this).attr('data-large_image_width') );
slide.h=parseInt($(this).attr('data-large_image_height') );
links[i]=slide;
i++;
});
}
$this.data('links', links);
if(theme.product_image_popup){
var $zoom_buttons=$this.siblings('.zoom');
$zoom_buttons.off('click').on('click', function(e){
if(! $this.data('links').length){
return;
}
e.preventDefault();
if(typeof PhotoSwipe=='undefined'){
return;
}
var options=$.extend({
index: 0,
addCaptionHTMLFn: function(item, captionEl){
if(! item.title){
captionEl.children[0].textContent='';
return false;
}
captionEl.children[0].textContent=item.title;
return true;
}}, wc_single_product_params.photoswipe_options);
var photoswipe=new PhotoSwipe($('.pswp')[0], PhotoSwipeUI_Default, $this.data('links'), options);
photoswipe.init();
});
}});
return false;
}
*/
this.build();
return this;
},
build: function(){
var self=this,
thumbs_count=theme.product_thumbs_count;
if(theme.product_zoom&&(!('ontouchstart' in document)||(( 'ontouchstart' in document)&&theme.product_zoom_mobile) )){
var zoomConfig={
responsive: true,
zoomWindowFadeIn: 200,
zoomWindowFadeOut: 100,
zoomType: js_porto_vars.zoom_type,
cursor: 'grab'
};
if(js_porto_vars.zoom_type=='lens'){
zoomConfig.scrollZoom=js_porto_vars.zoom_scroll;
zoomConfig.lensSize=js_porto_vars.zoom_lens_size;
zoomConfig.lensShape=js_porto_vars.zoom_lens_shape;
zoomConfig.containLensZoom=js_porto_vars.zoom_contain_lens;
zoomConfig.lensBorderSize=js_porto_vars.zoom_lens_border;
zoomConfig.borderColour=js_porto_vars.zoom_border_color;
}
if(js_porto_vars.zoom_type=='inner'){
zoomConfig.borderSize=0;
}else{
zoomConfig.borderSize=js_porto_vars.zoom_border;
}
zoomConfig.zoomActivation='dbltouch';
if(!self.$elements.length){
var $images_grid=$('.product-images-block');
if($images_grid.length){
self.initZoom($images_grid, zoomConfig);
}}
}
self.$elements.each(function(){
var $this=$(this),
$product=$this.closest('.product');
if(!$product.length){
$product=$this.closest('.product_layout, .product-layout-image').eq(0);
}
var $thumbs_slider=$product.find('.product-thumbs-slider'),
$thumbs=$product.find('.product-thumbnails-inner'),
$thumbs_vertical_slider=$product.find('.product-thumbs-vertical-slider'),
currentSlide=0,
count=$this.find('> *').length;
$this.find('> *:first-child').imagesLoaded(function(){
var links=[];
if(theme.product_image_popup){
var i=0;
$this.find('.img-thumbnail img').each(function(){
var slide={}, _imageItem=$(this);
if(_imageItem.closest('.vd-image').length){
return;
}
slide.src=_imageItem.attr('href');
slide.title=_imageItem.attr('alt');
slide.w=parseInt(_imageItem.attr('data-large_image_width') );
slide.h=parseInt(_imageItem.attr('data-large_image_height') );
links[i]=slide;
i++;
});
}
if($.fn.owlCarousel){
$thumbs_slider.removeClass('has-ccols-spacing');
$thumbs_slider.owlCarousel({
rtl: theme.rtl,
loop: false,
autoplay: false,
items: thumbs_count,
nav: false,
navText: ["", ""],
dots: false,
rewind: true,
margin: 8,
stagePadding: 1,
lazyLoad: true,
onInitialized: function(){
self.selectThumb(null, $thumbs_slider, 0);
if($thumbs_slider.find('.owl-item').length >=thumbs_count)
$thumbs_slider.append('<div class="thumb-nav"><div class="thumb-prev"></div><div class="thumb-next"></div></div>');
}}).on('click', '.owl-item', function(){
self.selectThumb($this, $thumbs_slider, $(this).index());
});
if($thumbs_vertical_slider.length > 0&&typeof $.fn.slick=='function'){
var slickOptions={
dots: false,
vertical: true,
slidesToShow: thumbs_count,
slidesToScroll: 1,
infinite: false,
}
if(thumbs_count >=5){
slickOptions['responsive']=[
{
breakpoint: 992,
settings: {
slidesToShow: 4,
}},
{
breakpoint: 768,
settings: {
slidesToShow: 3,
}}
]
}
$thumbs_vertical_slider.slick(slickOptions).on('click', '.slick-slide', function(){
self.selectVerticalSliderThumb($this, $thumbs_vertical_slider, $(this).data('slick-index') );
});
$('.product-layout-transparent .product-image-slider').on('resized.owl.carousel', function(){
$(window).trigger('resize.slick');
});
self.selectVerticalSliderThumb(null, $thumbs_vertical_slider, 0);
if($thumbs_vertical_slider.find('.porto-lazyload').length){
theme.requestTimeout(function(){
$thumbs_vertical_slider.find('.slick-cloned .porto-lazyload:not(.lazy-load-loaded)').each(function(){
$(this).attr('src', $(this).data('oi') ).removeAttr('data-oi').addClass('lazy-load-loaded');
});
}, 100);
}}
self.selectVerticalThumb(null, $thumbs, 0);
$thumbs.off('click', '.img-thumbnail').on('click', '.img-thumbnail', function(){
self.selectVerticalThumb($this, $thumbs, $(this).index());
});
$thumbs_slider.off('click', '.thumb-prev').on('click', '.thumb-prev', function(e){
var currentThumb=$thumbs_slider.data('currentThumb');
self.selectThumb($this, $thumbs_slider, --currentThumb);
});
$thumbs_slider.off('click', '.thumb-next').on('click', '.thumb-next', function(e){
var currentThumb=$thumbs_slider.data('currentThumb');
self.selectThumb($this, $thumbs_slider, ++currentThumb);
});
var itemsCount=typeof $this.data('items')!='undefined' ? $this.data('items'):1,
itemsResponsive=typeof $this.data('responsive')!='undefined' ? $this.data('responsive'):{},
centerItem=typeof $this.data('centeritem')!='undefined' ? true:false,
margin=typeof $this.data('margin')!='undefined' ? $this.data('margin'):0,
loop=(count > 1) ?(typeof $this.data('loop')!='undefined' ? $this.data('loop'):true):false;
for(var itemCount in itemsResponsive){
itemsResponsive[itemCount]={ items: itemsResponsive[itemCount] };}
$this.removeClass('has-ccols-spacing');
$this.owlCarousel({
rtl: theme.rtl,
loop: loop,
autoplay: false,
items: itemsCount,
margin: margin,
responsive: itemsResponsive,
autoHeight: true,
nav: true,
navText: ["", ""],
dots: false,
rewind: true,
lazyLoad: true,
center: centerItem,
onInitialized: function(){
if($this.find('.owl-item.cloned').length){
setTimeout(function(){
if($.fn.themePluginLazyLoad){
var ins=$this.find('.owl-item.cloned .porto-lazyload:not(.lazy-load-loaded)').themePluginLazyLoad({ effect: 'fadeIn', effect_speed: 400 });
if(ins&&ins.loadAndDestroy){
ins.loadAndDestroy();
}}
}, 100);
}
self.initZoom($this, zoomConfig);
},
onTranslate: function(event){
currentSlide=event.item.index - $this.find('.cloned').length / 2;
currentSlide=(currentSlide + event.item.count) % event.item.count;
self.selectThumb(null, $thumbs_slider, currentSlide);
self.selectVerticalThumb(null, $thumbs, currentSlide);
self.selectVerticalSliderThumb(null, $thumbs_vertical_slider, currentSlide);
},
onRefreshed: function(){
if(theme.product_zoom&&(!('ontouchstart' in document)||(( 'ontouchstart' in document)&&theme.product_zoom_mobile) )){
$this.find('img').each(function(){
var $this=$(this),
src=typeof $this.attr('href')!='undefined' ? $this.attr('href'):($this.data('oi') ? $this.data('oi'):$this.attr('src') ),
elevateZoom=$this.data('elevateZoom'),
smallImage=$this.data('src') ? $this.data('src'):($this.data('oi') ? $this.data('oi'):$this.attr('src') );
if(typeof elevateZoom!='undefined'){
elevateZoom.startZoom();
elevateZoom.swaptheimage(smallImage, src);
}else if($.fn.elevateZoom){
zoomConfig.zoomContainer=$this.parent();
if(! $this.closest('.vd-image').length){
$this.elevateZoom(zoomConfig);
}}
});
}}
});
}else{
self.initZoom($this, zoomConfig);
}
$this.data('links', links);
if(theme.product_image_popup){
var $zoom_buttons=$this.siblings('.zoom');
$zoom_buttons.off('click').on('click', function(e){
if(! $this.data('links').length){
return;
}
e.preventDefault();
if(typeof PhotoSwipe=='undefined'){
return;
}
var options=$.extend({
index: currentSlide ? currentSlide:0,
addCaptionHTMLFn: function(item, captionEl){
if(! item.title){
captionEl.children[0].textContent='';
return false;
}
captionEl.children[0].textContent=item.title;
return true;
}}, wc_single_product_params.photoswipe_options);
var photoswipe=new PhotoSwipe($('.pswp')[0], PhotoSwipeUI_Default, $this.data('links'), options);
photoswipe.init();
});
}});
});
return self;
},
selectThumb: function($image_slider, $thumbs_slider, index){
if(flag||!$thumbs_slider.length) return;
flag=true;
var len=$thumbs_slider.find('.owl-item').length,
actives=[],
i=0;
index=(index + len) % len;
if($image_slider){
$image_slider.trigger('to.owl.carousel', [index, duration, true]);
}
$thumbs_slider.find('.owl-item').removeClass('selected');
$thumbs_slider.find('.owl-item:eq(' + index + ')').addClass('selected');
$thumbs_slider.data('currentThumb', index);
$thumbs_slider.find('.owl-item.active').each(function(){
actives[i++]=$(this).index();
});
if($.inArray(index, actives)==-1){
if(Math.abs(index - actives[0]) > Math.abs(index - actives[actives.length - 1]) ){
$thumbs_slider.trigger('to.owl.carousel', [(index - actives.length + 1) % len, duration, true]);
}else{
$thumbs_slider.trigger('to.owl.carousel', [index % len, duration, true]);
}}
flag=false;
},
selectVerticalSliderThumb: function($image_slider, $thumbs_vertical_slider, index){
if(flag||!$thumbs_vertical_slider.length) return;
flag=true;
if('undefined'==typeof $thumbs_vertical_slider[0].slick){
return;
}
var len=$thumbs_vertical_slider[0].slick.slideCount,
actives=[],
i=0;
index=(index + len) % len;
if($image_slider){
$image_slider.trigger('to.owl.carousel', [index, duration, true]);
}
$thumbs_vertical_slider.find('.slick-slide').removeClass('selected');
$thumbs_vertical_slider.find('.slick-slide:eq(' + index + ')').addClass('selected');
$thumbs_vertical_slider.data('currentThumb', index);
$thumbs_vertical_slider.find('.slick-slide.slick-active').each(function(){
actives[i++]=$(this).index();
});
if($.inArray(index, actives)==-1){
if(Math.abs(index - actives[0]) > Math.abs(index - actives[actives.length - 1]) ){
$thumbs_vertical_slider.get(0).slick.goTo(( index - actives.length + 1) % len, false);
}else{
$thumbs_vertical_slider.get(0).slick.goTo(index % len, false);
}}
flag=false;
},
selectVerticalThumb: function($image_slider, $thumbs, index){
if(flag||!$thumbs.length) return;
flag=true;
var len=$thumbs.find('.img-thumbnail').length,
i=0;
index=(index + len) % len;
if($image_slider){
$image_slider.trigger('to.owl.carousel', [index, duration, true]);
}
$thumbs.find('.img-thumbnail').removeClass('selected');
$thumbs.find('.img-thumbnail:eq(' + index + ')').addClass('selected');
$thumbs.data('currentThumb', index);
flag=false;
},
initZoom: function($this, zoomConfig){
if(theme.product_zoom&&(!('ontouchstart' in document)||(( 'ontouchstart' in document)&&theme.product_zoom_mobile) )){
$this.find('img').each(function(){
var $this=$(this);
zoomConfig.zoomContainer=$this.parent();
if($.fn.elevateZoom){
if(! $this.closest('.vd-image').length){
$this.elevateZoom(zoomConfig);
}}else{
setTimeout(function(){
if($.fn.elevateZoom){
if(! $this.closest('.vd-image').length){
$this.elevateZoom(zoomConfig);
}}
}, 1000);
}});
}}
}});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
theme=theme||{};
$.extend(theme, {
WooQuickView: {
initialize: function(){
this.events();
return this;
},
events: function(){
var self=this;
$(document).on('click', '.quickview', function(e){
e.preventDefault();
if(!$.fn.elevateZoom&&!$('#porto-script-jquery-elevatezoom').length){
var js=document.createElement('script');
js.id='porto-script-jquery-elevatezoom';
$(js).appendTo('body').attr('src', js_porto_vars.ajax_loader_url.replace('/images/ajax-loader@2x.gif', '/js/libs/jquery.elevatezoom.min.js') );
}
var $this=$(this),
pid=$this.attr('data-id');
function init_quick_view_window(){
var args={
href: theme.ajax_url,
ajax: {
data: {
action: 'porto_product_quickview',
variation_flag: typeof wc_add_to_cart_variation_params!=='undefined',
pid: pid,
nonce: js_porto_vars.porto_nonce
}},
type: 'ajax',
helpers: {
overlay: {
locked: true,
fixed: true
}},
tpl: {
error: '<p class="fancybox-error">' + theme.request_error + '</p>',
closeBtn: '<a title="' + js_porto_vars.popup_close + '" class="fancybox-item fancybox-close" href="javascript:;"></a>',
next: '<a title="' + js_porto_vars.popup_next + '" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
prev: '<a title="' + js_porto_vars.popup_prev + '" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
},
autoSize: true,
autoWidth: true,
afterShow: function(flag){
theme.requestTimeout(function(){
var $quickviewEl=$('.quickview-wrap-' + pid);
if($quickviewEl.length==0&&$('.woocommerce-wishlist').length){
$quickviewEl=$('.quickview-wrap');
}
if(typeof flag=='undefined'||flag){
porto_woocommerce_init();
}
theme.WooProductImageSlider.initialize($quickviewEl.find('.product-image-slider') );
if($(document.body).hasClass('yith-booking') ){
$(document).trigger('yith-wcbk-init-booking-form');
}
var form_variation=$quickviewEl.find('form.variations_form');
if(form_variation.length > 0){
form_variation.wc_variation_form();
}
if($('.quickview-wrap-' + pid + ' .porto_countdown').length&&! theme.isFirstLoad&&typeof $.fn.porto_countdown=='undefined'){
theme.isFirstLoad=true;
var scripts=['countdown.min.js', 'countdown-loader.min.js'];
for(let index=0; index < scripts.length; index++){
if(!document.getElementById(scripts[index]) ){
var wf, script;
wf=document.createElement('script');
script=document.scripts[0];
wf.id=scripts[index];
wf.src=js_porto_vars.func_url + 'shortcodes/assets/js/' + scripts[index];
script.parentNode.insertBefore(wf, script);
}}
}
$(document.body).trigger('porto_init_countdown', [$quickviewEl]);
if(( 'undefined'!==typeof yith_wcwl_l10n)&&yith_wcwl_l10n.enable_ajax_loading){
if($('.fancybox-opened .wishlist-fragment').length){
var options={},
$product=$('.fancybox-opened .wishlist-fragment'),
id=$product.attr('class').split(' ').filter(( val)=> {
return val.length&&val!=='exists';
}).join(yith_wcwl_l10n.fragments_index_glue);
options[id]=$product.data('fragment-options');
if(!options){
return;
}
var ajaxData={
action: yith_wcwl_l10n.actions.load_fragments,
context: 'frontend',
fragments: options
};
if(typeof yith_wcwl_l10n.nonce!='undefined'){
ajaxData.nonce=yith_wcwl_l10n.nonce.load_fragments_nonce;
}
$.ajax({
ajaxData,
method: 'post',
success: function(data){
if(typeof data.fragments!=='undefined'){
$.each(data.fragments, function(i, v){
var itemSelector='.' + i.split(yith_wcwl_l10n.fragments_index_glue).filter(( val)=> { return val.length&&val!=='exists'&&val!=='with-count'; }).join('.'),
toReplace=$(itemSelector);
var replaceWith=$(v).filter(itemSelector);
if(!replaceWith.length){
replaceWith=$(v).find(itemSelector);
}
if(toReplace.length&&replaceWith.length){
toReplace.replaceWith(replaceWith);
}});
}},
url: yith_wcwl_l10n.ajax_url
});
}}
$(document).trigger('woo_variation_gallery_init');
}, 200);
},
onUpdate: function(){
theme.requestTimeout(function(){
var $quickviewEl=$('.quickview-wrap-' + pid);
if($quickviewEl.length==0&&$('.woocommerce-wishlist').length){
$quickviewEl=$('.quickview-wrap');
}
if(js_porto_vars.use_skeleton_screen.indexOf('quickview')==-1||!js_porto_vars.quickview_skeleton){
porto_woocommerce_init();
}
var $slider=$quickviewEl.find('.product-image-slider');
if(typeof $slider.data('owl.carousel')!='undefined'&&typeof $slider.data('owl.carousel')._invalidated!='undefined')
$slider.data('owl.carousel')._invalidated.width=true;
$slider.trigger('refresh.owl.carousel');
$(document.body).trigger('porto_init_countdown', [$quickviewEl]);
}, 300);
}};
if(js_porto_vars.use_skeleton_screen.indexOf('quickview')!=-1&&js_porto_vars.quickview_skeleton){
delete args['href'];
delete args['ajax'];
args['type']='inline';
$.fancybox.open(js_porto_vars.quickview_skeleton,
args
);
$.ajax({
url: theme.ajax_url,
type: 'post',
dataType: 'html',
data: {
action: 'porto_product_quickview',
variation_flag: typeof wc_add_to_cart_variation_params!=='undefined',
pid: pid,
nonce: js_porto_vars.porto_nonce
},
success: function(res){
var $res=$(res);
$res.imagesLoaded(function(){
$('.skeleton-body.product').replaceWith($res);
theme.WooQtyField.initialize();
$(window).trigger('resize');
args['afterShow'].call(false);
});
}});
}else{
if(typeof $.fancybox=='function'){
$.fancybox(args);
}else if(typeof $.fancybox=='object'&&$.fancybox.version&&0===$.fancybox.version.indexOf('3') ){
args['src']=args['href'];
args['ajax']['settings']={
data: args['ajax']['data']
};
$.fancybox.open(args);
}}
}
if($.fn.fancybox){
init_quick_view_window();
}else if(!$('#porto-script-jquery-fancybox').length){
var js1=document.createElement('script');
js1.id='porto-script-jquery-fancybox';
$(js1).appendTo('body').on('load', function(){
init_quick_view_window();
}).attr('src', js_porto_vars.ajax_loader_url.replace('/images/ajax-loader@2x.gif', '/js/libs/jquery.fancybox.min.js') );
}
return false;
});
if(typeof wc_add_to_cart_params!='undefined'){
$(document.body).on('click', '.single-product .single_add_to_cart_button:not(.disabled, .wpcbn-btn)', function(e){
if($(this).closest('.single-product').hasClass('product-type-external')||$(this).closest('.single-product').hasClass('product-type-grouped') ){
return true;
}
if($(this).hasClass('readmore') ){
return true;
}
e.preventDefault();
var $button=$(this),
product_id=$button.val(),
variation_id=$button.closest('form').find('input[name="variation_id"]').val(),
quantity=$button.closest('form').find('input[name="quantity"]').val();
if($button.hasClass('loading') ){
return false;
}
$button.removeClass('added');
$button.addClass('loading');
$button.parent().addClass('porto-ajax-loading');
if(!$button.siblings('.porto-loading-icon').length){
let $last=$button.siblings('button:last-of-type');
$('<span class="porto-loading-icon"></span>').insertAfter($last.length ? $last:$button);
}
var data={
action: 'porto_add_to_cart',
product_id: variation_id ? variation_id:product_id,
quantity: quantity
};
if(variation_id){
var $variations=$button.closest('form').find('.variations select');
if($variations.length){
$variations.each(function(){
var name=$(this).data('attribute_name'),
val=$(this).val();
if(name&&val){
data[name]=val;
}});
}}
$(document.body).trigger('adding_to_cart', [$button, data]);
$.ajax({
type: 'POST',
url: theme.ajax_url,
data: data,
dataType: 'json',
success: function(response){
$button.parent().removeClass('porto-ajax-loading');
if(!response){
return;
}
if(response.error&&response.product_url){
window.location=response.product_url;
return;
}
if(wc_add_to_cart_params.cart_redirect_after_add==='yes'){
window.location=wc_add_to_cart_params.cart_url;
return;
}
$(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, $button]);
}});
});
}
return self;
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
theme=theme||{};
$.extend(theme, {
WooQtyField: {
initialize: function(){
this.build()
.events();
return this;
},
qty_handler: function(){
var $obj=$(this);
if($obj.closest('.quantity').next('.add_to_cart_button[data-quantity]').length){
var count=$obj.val();
if(count){
$obj.closest('.quantity').next('.add_to_cart_button[data-quantity]').attr('data-quantity', count);
}}
},
build: function(){
var self=this;
$('div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)').addClass('buttons_added').append('<button type="button" value="+" class="plus">+</button>').prepend('<button type="button" value="-" class="minus">-</button>');
$('input.qty:not(.product-quantity input.qty)').each(function(){
var min=parseFloat($(this).attr('min') );
if(min&&min > 0&&parseFloat($(this).val()) < min){
$(this).val(min);
}});
$('input.qty:not(.product-quantity input.qty)').off('change', self.qty_handler).on('change', self.qty_handler);
$(document).off('click', '.quantity .plus, .quantity .minus').on('click', '.quantity .plus, .quantity .minus', function(){
var $qty=$(this).closest('.quantity').find('.qty'),
currentVal=parseFloat($qty.val()),
max=parseFloat($qty.attr('max') ),
min=parseFloat($qty.attr('min') ),
step=$qty.attr('step');
if(!currentVal||currentVal===''||currentVal==='NaN') currentVal=0;
if(max===''||max==='NaN') max='';
if(min===''||min==='NaN') min=0;
if(step==='any'||step===''||step===undefined||parseFloat(step)==='NaN') step=1;
if($(this).is('.plus') ){
if(max&&(max==currentVal||currentVal > max) ){
$qty.val(max);
}else{
$qty.val(currentVal + parseFloat(step) );
}}else{
if(min&&(min==currentVal||currentVal < min) ){
$qty.val(min);
}else if(currentVal > 0){
$qty.val(currentVal - parseFloat(step) );
}}
$qty.trigger('change');
});
return self;
},
events: function(){
var self=this;
$(document).ajaxComplete(function(event, xhr, options){
self.build();
});
return self;
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
theme=theme||{};
var duration=300;
$.extend(theme, {
WooVariationForm: {
initialize: function(){
this.init().events();
return this;
},
init: function(){
$('.variations_form').each(function(){
var $variation_form=$(this),
$reset_variations=$variation_form.find('.reset_variations');
if($reset_variations.css('visibility')=='hidden')
$reset_variations.hide();
});
return this;
},
events: function(){
var self=this;
$(document).on('check_variations', '.variations_form', function(event, exclude, focus){
var $variation_form=$(this),
$reset_variations=$variation_form.find('.reset_variations');
if($reset_variations.css('visibility')=='hidden')
$reset_variations.hide();
});
$(document).on('reset_image', '.variations_form', function(event){
var $product=$(this).closest('.product, .product-col'),
$product_img=$product.find('div.product-images .woocommerce-main-image');
if($product.hasClass('porto-tb-item') ){
$product_img=$product.find('.porto-tb-featured-image img').eq(0);
}else if($product.hasClass('product-col') ){
$product_img=$product.find('div.product-image .inner img:first-child');
}
var o_src=$product_img.attr('data-o_src'),
o_title=$product_img.attr('data-o_title'),
o_href=$product_img.attr('data-o_href'),
$thumb_img=$product.find('.woocommerce-main-thumb'),
o_thumb_src=$thumb_img.attr('data-o_src');
var $image_slider=$product.find('.product-image-slider'),
$thumbs_slider=$product.find('.product-thumbs-slider'),
links;
if($image_slider.length){
$image_slider.trigger('to.owl.carousel', [0, duration, true]);
links=$image_slider.data('links');
}
if($thumbs_slider.length){
$thumbs_slider.trigger('to.owl.carousel', [0, duration, true]);
$thumbs_slider.find('.owl-item:eq(0)').trigger('click');
}
if(o_src){
$product_img
.attr('src', o_src)
.attr('srcset', '')
.attr('alt', o_title)
.attr('href', o_href);
$product_img.each(function(){
var elevateZoom=$(this).data('elevateZoom');
if(typeof elevateZoom!='undefined'){
elevateZoom.swaptheimage($(this).attr('src'), $(this).attr('src') );
}});
if(theme.product_image_popup&&typeof links!='undefined'){
links[0].src=o_href;
links[0].title=o_title;
}}
if(o_thumb_src){
$thumb_img.attr('src', o_thumb_src);
}});
$(document).on('found_variation', '.variations_form', function(event, variation){
if(typeof variation=='undefined'){
return;
}
var $product=$(this).closest('.product, .product-col'),
$image_slider=$product.find('.product-image-slider'),
$thumbs_slider=$product.find('.product-thumbs-slider'),
links;
if($image_slider.length){
$image_slider.trigger('to.owl.carousel', [0, duration, true]);
links=$image_slider.data('links');
}
if($thumbs_slider.length){
$thumbs_slider.trigger('to.owl.carousel', [0, duration, true]);
$thumbs_slider.find('.owl-item:eq(0)').trigger('click');
}
var $shop_single_image=$product.find('div.product-images .woocommerce-main-image').length ? $product.find('div.product-images .woocommerce-main-image'):$('.single-product div.product-images .woocommerce-main-image'),
productimage=$shop_single_image.attr('data-o_src'),
imagetitle=$shop_single_image.attr('data-o_title'),
imagehref=$shop_single_image.attr('data-o_href'),
$shop_thumb_image=$product.find('.woocommerce-main-thumb'),
thumbimage=$shop_thumb_image.attr('data-o_src'),
variation_image=variation.image_src,
variation_link=variation.image_link,
variation_title=variation.image_title,
variation_thumb=variation.image_thumb;
if($product.hasClass('porto-tb-item') ){
$shop_single_image=$product.find('.porto-tb-featured-image img').eq(0);
productimage=$shop_single_image.attr('data-o_src');
variation_image=variation.image.thumb_src;
}else if($product.hasClass('product-col') ){
$shop_single_image=$product.find('div.product-image .inner img:first-child');
productimage=$shop_single_image.attr('data-o_src');
variation_image=variation.image.thumb_src;
}
if(!productimage){
productimage=$shop_single_image.attr('data-oi') ? $shop_single_image.attr('data-oi'):(( !$shop_single_image.attr('src') ) ? '':$shop_single_image.attr('src') );
$shop_single_image.attr('data-o_src', productimage);
}
if(!imagehref){
imagehref=(!$shop_single_image.attr('href') ) ? '':$shop_single_image.attr('href');
$shop_single_image.attr('data-o_href', imagehref);
}
if(!imagetitle){
imagetitle=(!$shop_single_image.attr('alt') ) ? '':$shop_single_image.attr('alt');
$shop_single_image.attr('data-o_title', imagetitle);
}
if(!thumbimage){
thumbimage=$shop_thumb_image.attr('data-oi') ? $shop_thumb_image.attr('data-oi'):(( !$shop_thumb_image.attr('src') ) ? '':$shop_thumb_image.attr('src') );
$shop_thumb_image.attr('data-o_src', thumbimage);
}
if(variation_image){
$shop_single_image.attr('src', variation_image);
$shop_single_image.attr('srcset', '');
$shop_single_image.attr('alt', variation_title);
$shop_single_image.attr('href', variation_link);
$shop_thumb_image.attr('src', variation_thumb);
if(theme.product_image_popup&&typeof links!='undefined'){
links[0].src=variation_link;
links[0].title=variation_title;
}}else{
$shop_single_image.attr('src', productimage);
$shop_single_image.attr('srcset', '');
$shop_single_image.attr('alt', imagetitle);
$shop_single_image.attr('href', imagehref);
$shop_thumb_image.attr('src', thumbimage);
if(theme.product_image_popup&&typeof links!='undefined'){
links[0].src=imagehref;
links[0].title=imagetitle;
}}
$shop_single_image.each(function(){
var elevateZoom=$(this).data('elevateZoom');
if(typeof elevateZoom!='undefined'){
elevateZoom.swaptheimage($(this).attr('src'), $(this).attr('src') );
}});
});
var porto_fb_update_trigger=null;
$(document).on('found_variation reset_image', '.variations_form', function(event, variation){
if($(this).closest('.fancybox-inner').length&&$.fancybox){
$(window).off('resize.fb', $.fancybox.update);
if(porto_fb_update_trigger){
theme.deleteTimeout(porto_fb_update_trigger);
}
porto_fb_update_trigger=theme.requestTimeout(function(){
$(window).on('resize.fb', $.fancybox.update);
$.fancybox.reposition();
porto_fb_update_trigger=false;
}, 600);
}});
return self;
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
theme=theme||{};
$.extend(theme, {
WooEvents: {
initialize: function(){
this.events();
return this;
},
events: function(){
var self=this;
$(document).on('click', '.wcml-switcher li', function(){
if($(this).parent().attr('disabled')=='disabled')
return;
var currency=$(this).attr('rel');
self.loadCurrency(currency);
});
$(document).on('click', '.woocs-switcher li', function(){
if($(this).parent().attr('disabled')=='disabled')
return;
var currency=$(this).attr('rel');
self.loadWoocsCurrency(currency);
});
return self;
},
loadCurrency: function(currency){
$('.wcml-switcher').attr('disabled', 'disabled');
$('.wcml-switcher').append('<li class="loading"></li>');
var data={ action: 'wcml_switch_currency', currency: currency };
$.ajax({
type: 'post',
url: theme.ajax_url,
data: {
action: 'wcml_switch_currency',
currency: currency
},
success: function(response){
$('.wcml-switcher').removeAttr('disabled');
$('.wcml-switcher').find('.loading').remove();
window.location=window.location.href;
}});
},
loadWoocsCurrency: function(currency){
$('.woocs-switcher').attr('disabled', 'disabled');
$('.woocs-switcher').append('<li class="loading"></li>');
var l=window.location.href;
l=l.split('?');
l=l[0];
var string_of_get='?';
woocs_array_of_get.currency=currency;
if(Object.keys(woocs_array_of_get).length > 0){
jQuery.each(woocs_array_of_get, function(index, value){
string_of_get=string_of_get + "&" + index + "=" + value;
});
}
window.location=l + string_of_get;
},
removeParameterFromUrl: function(url, parameter){
return url
.replace(new RegExp('[?&]' + parameter + '=[^&#]*(#.*)?$'), '$1')
.replace(new RegExp('([?&])' + parameter + '=[^&]*&'), '$1');
}}
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $){
$(document).ready(function(){
if(typeof theme.WooQtyField!=='undefined'){
theme.WooQtyField.initialize();
}
if(typeof theme.WooQuickView!=='undefined'){
theme.WooQuickView.initialize();
}
if(typeof theme.WooEvents!=='undefined'){
theme.WooEvents.initialize();
}
if(!('ontouchstart' in document) ){
$('.mini-cart').on('hide.bs.dropdown', function(){
return false;
});
}else{
$('#mini-cart .cart-head').on('click', function(e){
$(this).parent().toggleClass('open');
});
$('html,body').on('click', function(e){
if($('#mini-cart').hasClass('open')&&!$(e.target).closest('#mini-cart').length){
$('#mini-cart').removeClass('open');
}});
}
$(document).on('tabactivate', '.woocommerce-tabs', function(e, ui){
var label=$(ui).attr('data-target');
var panel=$(ui).closest('.woocommerce-tabs').find('[aria-labelledby="' + label + '"');
theme.refreshVCContent(panel);
});
$(document).find('.pwb-columns a[href="' + window.location.href + '"').each(function(){
$(this).addClass('active');
})
});
}).apply(this, [window.theme, jQuery]);
(function(theme, $, undefined){
$(document).ready(function(){
if(! theme.isMobile()){
$(document).on('yith_wcwl_init_after_ajax', function(){
$('.product-col .add_to_wishlist:not([data-bs-original-title]), .product-col .yith-wcwl-wishlistaddedbrowse > a:not([data-bs-original-title]), .product-col .yith-wcwl-wishlistexistsbrowse > a:not([data-bs-original-title])').each(function(){
let _this=$(this);
if(! _this.attr('title') ){
_this.attr('title', _this.text().trim());
}
_this.tooltip();
});
});
}
theme.WooVariationForm.initialize();
if(typeof theme.initAsync=='function'){
theme.WooProductImageSlider.initialize();
porto_woocommerce_init();
}else{
$.when(theme.asyncDeferred).done(function(){
theme.WooProductImageSlider.initialize();
porto_woocommerce_init();
});
}
$(document).on('yith_wccl_product_gallery_loaded', function(){
theme.WooProductImageSlider.initialize();
});
$(window).on('vc_reload', function(){
porto_woocommerce_init();
$('.type-product').addClass('product');
});
$(document).on('click', '.porto-product-filters-toggle a', function(e){
e.preventDefault();
$(this).closest('.porto-product-filters-toggle').toggleClass('opened');
var $products_wrapper=$(this).closest('#main').find('.main-content').find('ul.products'), offset, $main=$(this).closest('#main').find('.main-content-wrap');
$main.toggleClass('opened');
if($main.hasClass('opened') ){
offset=-1;
}else{
offset=1;
}
if($products_wrapper.hasClass('grid') ){
var cols_lg_index=0, cols_md_index=0, width_lg_index=0, width_md_index=0;
for(var i=1; i <=8; i++){
if(!cols_lg_index&&$products_wrapper.hasClass('ccols-xl-' + i) ){
cols_lg_index=i;
if(i + offset >=1){
$products_wrapper.removeClass('ccols-xl-' + i);
$products_wrapper.addClass('ccols-xl-' +(i + offset) );
}}
if(!cols_md_index&&$products_wrapper.hasClass('ccols-lg-' + i) ){
cols_md_index=i;
if(i + offset >=1){
$products_wrapper.removeClass('ccols-lg-' + i);
if(offset===-1){
$products_wrapper.addClass('ccols-md-' + i);
}
$products_wrapper.addClass('ccols-lg-' +(i + offset) );
}}
if(!width_lg_index&&$products_wrapper.hasClass('pwidth-lg-' + i) ){
width_lg_index=i;
if(i + offset >=1){
$products_wrapper.removeClass('pwidth-lg-' + i);
$products_wrapper.addClass('pwidth-lg-' +(i + offset) );
}}
if(!width_md_index&&$products_wrapper.hasClass('pwidth-md-' + i) ){
width_md_index=i;
if(i + offset >=1){
$products_wrapper.removeClass('pwidth-md-' + i);
$products_wrapper.addClass('pwidth-md-' +(i + offset) );
}}
}}
theme.requestTimeout(function(){
$(window).trigger('scroll');
$(document).find('.owl-carousel').each(function(e){
var $this=$(this);
if($this.data('owl.carousel') ){
$this.trigger('refresh.owl.carousel');
}});
$(document).find('.swiper-container').each(function(e){
var $this=$(this),
$instance=$this.data('swiper');
if($instance){
$instance.update();
}});
}, 300);
if($main.hasClass('opened') ){
$.cookie('porto_horizontal_filter', 'opened');
}else{
$.cookie('porto_horizontal_filter', 'closed');
}
theme.refreshStickySidebar(true);
return false;
});
if($.cookie&&'opened'==$.cookie('porto_horizontal_filter')&&$('#main .porto-products-filter-body').length&&!theme.isTablet()){
$('.porto-product-filters-toggle a').trigger('click');
$('#main .porto-products-filter-body [data-plugin-sticky]:not(.manual)').addClass('manual');
setTimeout(function(){
var $obj=$('#main .porto-products-filter-body [data-plugin-sticky].manual'),
pluginOptions=$obj.data('plugin-options');
$obj.removeClass('manual').themeSticky(pluginOptions);
theme.requestTimeout(function(){
$(window).trigger('scroll');
}, 100);
}, 500);
}
$(document).on('click', '.porto-product-filters.style2 .widget-title', function(e){
e.preventDefault();
if($(this).next().is(':hidden') ){
$('.porto-product-filters.style2 .widget-title').next().hide();
$('.porto-product-filters.style2 .widget').removeClass('opened');
$(this).next().show();
$(this).next().find('input[type="text"]:first-child').focus();
}else{
$(this).next().hide();
}
$(this).parent().toggleClass('opened');
return false;
});
$('body').on('click', function(e){
if(!$(e.target).is('.porto-product-filters')&&!$(e.target).is('.porto-product-filters *') ){
$('.porto-product-filters.style2 .widget-title').next().hide();
$('.porto-product-filters.style2 .widget').removeClass('opened');
}});
$('body').on('click', '#login-form-popup form .woocommerce-Button', function(e){
var $this=$(this),
$form=$this.closest('form'),
isLogin=$this.hasClass('login-btn');
if(!isLogin&&!$this.hasClass('register-btn') ){
isLogin=$form.hasClass('login');
}
$form.find('#email').val($form.find('#username').val());
$form.find('p.status').show().text(js_porto_vars.login_popup_waiting_msg ? js_porto_vars.login_popup_waiting_msg:'Please wait...').addClass('loading');
$form.find('button[type=submit]').attr('disabled', 'disabled');
$.ajax({
type: 'POST',
dataType: 'json',
url: theme.ajax_url,
data: $form.serialize() + '&action=porto_account_login_popup_' +(isLogin ? 'login':'register'),
success: function(data){
$form.find('p.status').html(data.message.replace('/<script.*?\/script>/s', '') ).removeClass('loading');
$form.find('button[type=submit]').removeAttr('disabled');
if(data.loggedin===true){
window.location.reload();
}}
});
e.preventDefault();
});
var $ajax_tab_cache={};
$(document).on('click', '.porto-products.show-category .product-categories a', function(e){
e.preventDefault();
var $this=$(this), $form=$this.closest('.porto-products').find('.pagination-form'), id=$this.closest('.porto-products').attr('id'), group=[];
$(this).parent().siblings().removeClass('current');
$(this).parent().addClass('current');
if(typeof $this.data('sort_id')!='undefined'){
$form.find('input[name="orderby"]').val($this.data('sort_id') );
group=$this.data('sort_id');
$form.find('input[name="category"]').val('');
}
if(typeof $this.data('cat_id')!='undefined'){
if(typeof $this.data('sort_id')=='undefined'){
$form.find('input[name="orderby"]').val($form.find('input[name="original_orderby"]').val());
group=$form.find('input[name="original_orderby"]').val();
}
if(typeof $form.data('original_cat_id')=='undefined'){
$form.data('original_cat_id', $form.find('input[name="category"]').val());
group=$form.find('input[name="category"]').val();
}
if($this.data('cat_id') ){
$form.find('input[name="category"]').val($this.data('cat_id') );
group=$this.data('cat_id');
}else{
if($form.data('original_cat_id') ){
$form.find('input[name="category"]').val($form.data('original_cat_id') );
group=$form.data('original_cat_id');
}else{
$form.find('input[name="category"]').val('');
group='';
}}
}
var data=$form.serialize() + '&product-page=1&action=porto_woocommerce_shortcodes_products&nonce=' + js_porto_vars.porto_nonce;
$this.closest('.porto-products').find('ul.products').trigger('porto_update_products', [data, '', $this, id, group]);
});
$(document).on('click', '.porto-products .page-numbers a', function(e){
var $this=$(this), pagination_style,
$shop_container=$this.closest('.porto-products').find('ul.products'),
cur_page=$shop_container.data('cur_page'),
max_page=$shop_container.data('max_page'),
$form=$this.closest('.porto-products').find('.pagination-form');
e.preventDefault();
if($this.closest('.pagination').hasClass('load-more') ){
if(!cur_page||!max_page||++cur_page > max_page){
return;
}
pagination_style='load_more';
$this.data('text', $this.text());
$this.text(js_porto_vars.loader_text);
}else{
var url=new RegExp("product-page(=|/)([^(&|/)]*)", "i").exec(this.href);
cur_page=url&&unescape(url[2])||"";
pagination_style='default';
}
var page_var=cur_page ? '&product-page=' + escape(cur_page):'', data=$form.serialize() + page_var + '&action=porto_woocommerce_shortcodes_products&nonce=' + js_porto_vars.porto_nonce;
$shop_container.trigger('porto_update_products', [data, pagination_style, $this]);
if('default'==pagination_style){
theme.scrolltoContainer($shop_container);
}});
$(document).on('porto_update_products', 'ul.products', function(e, data, pagination_style, $obj, id, group){
var $this=$(this);
if(undefined==$ajax_tab_cache[id]||-1==Object.keys($ajax_tab_cache[id]).indexOf(group) ){
porto_ajax_load_products($this, data, pagination_style, $ajax_tab_cache, id, group);
}else{
var response=$ajax_tab_cache[id][group];
$this.css('opacity', 0);
$this.animate({
'opacity': 1,
},
400,
function(){
$this.css('opacity', '');
}
);
porto_ajax_load_products_success($this, response, pagination_style);
}});
var skeletonLoadingTrigger;
$('.skeleton-loading').on('skeleton-loaded', function(){
var $this=$(this);
if(skeletonLoadingTrigger){
theme.deleteTimeout(skeletonLoadingTrigger);
}
porto_woocommerce_variations_init($this);
if($this.hasClass('products')||$this.hasClass('product') ){
$(document).trigger('yith_infs_added_elem');
}
skeletonLoadingTrigger=theme.requestTimeout(function(){
porto_woocommerce_init();
if($('body').hasClass('single-product') ){
theme.WooVariationForm.init();
var $image_slider=$('.product-image-slider');
if($image_slider.length&&$image_slider.data('owl.carousel') ){
$image_slider.trigger('refresh.owl.carousel');
}else{
theme.WooProductImageSlider.initialize();
}
$('.wc-tabs-wrapper, .woocommerce-tabs, #rating').trigger('init');
if($(document.body).hasClass('yith-booking') ){
$(document).trigger('yith-wcbk-init-booking-form');
}}
if($this.find('.widget_shopping_cart_content').length){
$(document.body).trigger('wc_fragment_refresh');
}}, 100);
});
});
var stickyShop=function(){
var $sticky_product_obj=$('.single-product .sticky-product'),
is_elementor_editor=$(document.body).hasClass('elementor-editor-active'),
$sticky_product_form;
var init_sticky_add_to_cart_fn=function($sticky_product_obj, is_elementor_editor){
if(is_elementor_editor&&elementorFrontend&&elementorFrontend.hooks){
elementorFrontend.hooks.addAction('frontend/element_ready/porto_cp_addcart_sticky.default', function($obj){
$sticky_product_obj=$('.single-product .sticky-product');
window.dispatchEvent(new Event('scroll') );
});
}
$sticky_product_form=$('form.cart:visible').eq(0);
window.addEventListener('scroll', function(){
var scrollTop=$(window).scrollTop(),
offset=theme.adminBarHeight() +(theme.StickyHeader.sticky_height > 1 ? theme.StickyHeader.sticky_height:0),
prevScrollPos=$sticky_product_obj.data('prev-pos') ? $sticky_product_obj.data('prev-pos'):0;
if(! $sticky_product_obj.hasClass('show-mobile')&&$(window).width() < 768){
$('body').css('padding-bottom', '');
}else if($sticky_product_form.length&&$sticky_product_form.offset().top + $sticky_product_form.height() / 2 <=scrollTop + offset){
if($('.page-wrapper').hasClass('sticky-scroll-up')&&! $('html').hasClass('porto-search-opened')&&$sticky_product_obj.hasClass('pos-top') ){
if(scrollTop >=prevScrollPos){
$sticky_product_obj.addClass('scroll-down');
}else{
$sticky_product_obj.removeClass('scroll-down');
}
var scrollUpOffset=- theme.StickyHeader.sticky_height;
if('undefined'==typeof(theme.StickyHeader.sticky_height) ){
$sticky_product_obj.data('prev-pos', 0);
}else{
var $transitionOffset=(offset > 100) ? offset:100;
if($('form.cart').offset().top + $sticky_product_obj.outerHeight() + $transitionOffset < scrollTop + offset + scrollUpOffset){
$sticky_product_obj.addClass('sticky-ready');
}else{
$sticky_product_obj.removeClass('sticky-ready');
}
$sticky_product_obj.data('prev-pos', scrollTop);
}}
var porto_progress_obj=$('.porto-scroll-progress.fixed-top.fixed-under-header');
if(porto_progress_obj.length > 0){
offset +=porto_progress_obj.height();
}
$sticky_product_obj.removeClass('hide');
if(!$sticky_product_obj.hasClass('pos-bottom') ){
$sticky_product_obj.css('top', offset);
}else if($sticky_product_obj.hasClass('show-mobile')||(! $sticky_product_obj.hasClass('show-mobile')&&$(window).width() >=768) ){
$('body').css('padding-bottom', $sticky_product_obj.outerHeight());
}}else{
$sticky_product_obj.addClass('hide');
if($sticky_product_obj.hasClass('pos-bottom')&&($sticky_product_obj.hasClass('show-mobile')||(! $sticky_product_obj.hasClass('show-mobile')&&$(window).width() >=768) )){
$('body').css('padding-bottom', '');
}}
}, { passive: true });
$sticky_product_obj.find('.add-to-cart .button').on('click', function(e){
e.preventDefault();
if($sticky_product_obj.find('.add-to-cart .qty').length){
$('.single-product form .quantity .qty').filter(function(){
if($(this).closest('.product-col').length){
return false;
}
return true;
}).val($sticky_product_obj.find('.add-to-cart .qty').val());
}
$('.single-product form .single_add_to_cart_button').filter(function(){
if($(this).closest('.product-col').length){
return false;
}
return true;
}).eq(0).trigger('click');
});
$('.single-product .entry-summary .quantity').clone().prependTo('.single-product .sticky-product .add-to-cart');
var origin_img=$sticky_product_obj.find('.sticky-image img').data('oi') ? $sticky_product_obj.find('.sticky-image img').data('oi'):$sticky_product_obj.find('.sticky-image img').attr('src'),
origin_price=$sticky_product_obj.find('.price').html(),
origin_stock=$sticky_product_obj.find('.availability').html(),
is_variation=false;
$(document).on('found_variation reset_data', '.variations_form', function(e, obj){
if($(e.currentTarget).closest('.product-col').length==0){
if(obj){
is_variation=true;
$sticky_product_obj.find('.sticky-image img').attr('src', obj.image_thumb ? obj.image_thumb:origin_img);
$sticky_product_obj.find('.price').replaceWith(obj.price_html);
$sticky_product_obj.find('.availability').html(obj.availability_html ? obj.availability_html:origin_stock);
}else if(is_variation){
is_variation=false;
$sticky_product_obj.find('.sticky-image img').attr('src', origin_img);
$sticky_product_obj.find('.price').html(origin_price);
$sticky_product_obj.find('.availability').html(origin_stock);
}}
});
};
if($sticky_product_obj.length||is_elementor_editor){
init_sticky_add_to_cart_fn($sticky_product_obj, is_elementor_editor);
}else if($('div.product.skeleton-loading').length){
$('div.product.skeleton-loading').on('skeleton-loaded', function(){
$sticky_product_obj=$('.single-product .sticky-product');
init_sticky_add_to_cart_fn($sticky_product_obj, is_elementor_editor);
});
}else{
$(document.body).on('porto_elementor_editor_init', function(){
var $sticky_product_obj=$('.single-product .sticky-product'),
is_elementor_editor=$(document.body).hasClass('elementor-editor-active');
if($sticky_product_obj.length||is_elementor_editor){
init_sticky_add_to_cart_fn($sticky_product_obj, is_elementor_editor);
}});
}
if(1===$('.shop-loop-before').length){
var porto_progress_obj=$('.porto-scroll-progress.fixed-top.fixed-under-header'),
porto_progress_height=0;
if(porto_progress_obj.length > 0){
var flag=false;
if(porto_progress_obj.is(':hidden') ){
porto_progress_obj.show();
flag=true;
}
porto_progress_height=porto_progress_obj.height();
if(flag){
porto_progress_obj.hide();
}}else{
porto_progress_height=0;
}
var init_filter_sticky=function(){
var $obj=$('.shop-loop-before'),
prevScrollPos=$obj.data('prev-pos') ? $obj.data('prev-pos'):0,
scrollUpOffset=0,
$pageWrapper=$('.page-wrapper');
if('none'==$obj.css('display') ){
return;
}
if(!$obj.prev('.filter-placeholder').length){
$('<div class="filter-placeholder m-0"></div>').insertBefore($obj);
}
var $ph=$obj.prev('.filter-placeholder'),
scrollTop=$(window).scrollTop(),
offset=theme.adminBarHeight() + theme.StickyHeader.sticky_height + porto_progress_height - 1,
objHeight=$obj.outerHeight() + parseInt($obj.css('margin-bottom') );
if($('.page-wrapper').hasClass('sticky-scroll-up') ){
if(scrollTop >=prevScrollPos){
$obj.addClass('scroll-down');
}else{
$obj.removeClass('scroll-down');
}
scrollUpOffset=- theme.StickyHeader.sticky_height;
if('undefined'==typeof(theme.StickyHeader.sticky_height) ){
$obj.data('prev-pos', 0);
}else{
var $transitionOffset=(offset > 100) ? offset:100;
if($ph.offset().top + objHeight + $transitionOffset < scrollTop + offset + scrollUpOffset){
$obj.addClass('sticky-ready');
}else{
$obj.removeClass('sticky-ready');
}
$obj.data('prev-pos', scrollTop);
}}
if(( $ph.offset().top + objHeight < scrollTop + offset + scrollUpOffset) ){
if(! $pageWrapper.hasClass('sticky-scroll-up')||($pageWrapper.hasClass('sticky-scroll-up')&&0!==prevScrollPos) ){
$ph.css('height', objHeight);
$obj.css('top', offset);
$obj.addClass('sticky');
}}else{
$ph.css('height', '');
$obj.removeClass('sticky').css('top', '');
}};
if(window.innerWidth < 992){
window.removeEventListener('scroll', init_filter_sticky);
window.addEventListener('scroll', init_filter_sticky, { passive: true });
init_filter_sticky();
}
var request_timer=null,
old_win_width=window.innerWidth;
$(window).on('resize', function(){
if(old_win_width!=window.innerWidth){
if(request_timer){
theme.deleteTimeout(request_timer);
request_timer=false;
}
if(window.innerWidth < 992){
request_timer=theme.requestTimeout(function(){
window.removeEventListener('scroll', init_filter_sticky);
window.addEventListener('scroll', init_filter_sticky, { passive: true });
$(window).trigger('scroll');
}, 100);
}else{
window.removeEventListener('scroll', init_filter_sticky);
$('.shop-loop-before').removeClass('sticky').css('top', '').prev('.filter-placeholder').css('height', '');
}
if($sticky_product_obj.length){
$sticky_product_form=$('form.cart:visible').eq(0);
}
old_win_width=window.innerWidth;
}});
}}
if(theme.isReady){
stickyShop();
}
$(document).on('porto_theme_init', stickyShop);
$('.cart-v2 .cart_totals .accordion-toggle.out').removeClass('out');
$(document).ajaxComplete(function(event, xhr, options){
$('.cart-v2 .cart_totals .accordion-toggle.out').each(function(){
if($($(this).attr('href') ).length&&$($(this).attr('href') ).is(':hidden') ){
$(this).removeClass('collapsed');
$($(this).attr('href') ).addClass('show');
}});
});
$('.porto_products_filter_form .btn-submit').on('click', function(e){
e.preventDefault();
var data=$(this).closest('form').serializeArray(),
submit_data='';
for(var i in data){
var param=data[i];
if(param.value){
if(submit_data){
submit_data +='&';
}
submit_data +=param.name + '=' + param.value;
if('min_price'==param.name){
var max_price=$(this).closest('form').find('.porto_dropdown_price_range option:selected').data('maxprice');
if(max_price){
submit_data +='&max_price=' + max_price;
}}
}}
var action_url=$(this).closest('form').attr('action');
location.href=action_url +(-1===action_url.indexOf('?') ? '?':'&') + submit_data;
});
if($('.wishlist_table.responsive').length){
$(window).on('resize', function(){
var media=window.matchMedia('(max-width: 768px)'),
$wishlist_table=$('.wishlist_table.responsive');
if($wishlist_table.hasClass('traditional') ){
if(media.matches){
$wishlist_table.addClass('mobile');
}else{
$wishlist_table.removeClass('mobile');
}}
});
}
if(js_porto_vars.pre_order){
var porto_pre_order={
init: function(){
this.$add_to_cart_btn=$('.product-summary-wrap .single_add_to_cart_button:not(.wpcbn-btn)');
this.add_to_cart_label=this.$add_to_cart_btn.html();
$('.product-summary-wrap form.variations_form').on('show_variation', function(e, v, p){
if(v.porto_pre_order){
porto_pre_order.$add_to_cart_btn.html(v.porto_pre_order_label);
if(v.porto_pre_order_date){
$(this).find('.woocommerce-variation-description').append(v.porto_pre_order_date);
}}else{
porto_pre_order.$add_to_cart_btn.html(porto_pre_order.add_to_cart_label);
}}).on('hide_variation', function(){
porto_pre_order.$add_to_cart_btn.html(porto_pre_order.add_to_cart_label);
});
}};
if($('div.product.skeleton-loading').length){
$('div.product.skeleton-loading').on('skeleton-loaded', function(){
porto_pre_order.init();
});
}else{
porto_pre_order.init();
}}
if($('#header .my-wishlist .wishlist-count').length){
$(document.body).on('added_to_wishlist removed_from_wishlist added_to_cart', function(e){
var $obj=$('#header .my-wishlist .wishlist-count');
if($obj.text()){
$.ajax({
type: 'POST',
dataType: 'json',
url: theme.ajax_url,
data: {
action: 'porto_refresh_wishlist_count',
nonce: js_porto_vars.porto_nonce,
},
success: function(response){
if(response||0===response){
$obj.addClass('count-updating').text(Number(response) );
setTimeout(function(){
$obj.removeClass('count-updating');
}, 1000);
}}
});
}});
}
if($(document.body).hasClass('woocommerce-cart')&&$('.wpcf7 .screen-reader-response').length){
$('.wpcf7 .screen-reader-response').attr('role', '');
}
$('#dokan-store-listing-filter-form-wrap .store-search-input').on('keydown', function(e){
if(e.which&&event.which==13){
$(this).closest('form').find('#apply-filter-btn').trigger('click');
e.preventDefault();
}});
if($.fn.block){
var funcBlock=$.fn.block;
$.fn.block=function(opts){
if(this.hasClass('yith-wcwl-add-to-wishlist') ){
this.children().addClass('pe-none opacity-6');
return this;
}
if(this.is('.woocommerce-checkout') ){
this.append('<div class="loader-container d-block"><div class="loader"><i class="porto-ajax-loader"></i></div></div>');
}
return funcBlock.call(this, opts);
}
var funcUnblock=$.fn.unblock;
$.fn.unblock=function(opts){
if(this.hasClass('yith-wcwl-add-to-wishlist') ){
this.children().removeClass('pe-none opacity-6');
return this;
}
funcUnblock.call(this, opts);
this.is('.processing')||(this.is('.woocommerce-checkout')&&this.children('.loader-container').remove());
return this;
}}
$('body').on('click', '.single_add_to_cart_button.scroll-to-sticky', function (e){
$('html, body').animate({ scrollTop: $('form.cart').offset().top - 200 }
);
})
})(window.theme, jQuery);
(function(theme, $){
$('body').on('click', '.yith_woocompare_colorbox #cboxClose, #cboxOverlay', function(){
$('html').css({ 'overflow': '', 'margin-right': '' });
});
})(window.theme, window.jQuery);
})();
function porto_woocommerce_init($wrap){
'use strict';
if(!$wrap){
$wrap=jQuery(document.body);
}
(function($){
if($.fn.themeWooWidgetToggle){
$(function(){
$wrap.find('.widget_filter_by_brand, .widget_product_categories, .widget_price_filter, .widget_layered_nav, .widget_layered_nav_filters, .widget_rating_filter, .widget-woof, .porto_widget_price_filter, #wcfmmp-store .widget.sidebar-box, #wcfmmp-store-lists-sidebar .sidebar-box').find('.widget-title').each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
$this.themeWooWidgetToggle(opts);
});
});
}
if($.fn.themeWooWidgetAccordion){
$(function(){
$wrap.find('.widget_filter_by_brand, .widget_product_categories, .widget_price_filter, .widget_layered_nav, .widget_layered_nav_filters, .widget_rating_filter, .widget-woof, #wcfmmp-store .widget.sidebar-box, #wcfmmp-store-lists-sidebar .sidebar-box').each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
$this.themeWooWidgetAccordion(opts);
});
});
}
if($.fn.themeWooProductsSlider){
$(function(){
var $direct_carousels=$wrap.find('.products-slider:not(.manual)').filter(function(){
if($(this).closest('.porto-carousel:not(.owl-loaded)').length){
return false;
}
return true;
});
var $parent_carousel=$wrap.find('.porto-carousel:not(.owl-loaded)').filter(function(){
if($(this).find('.products-slider:not(.manual)').length){
return true;
}
return false;
});
if($parent_carousel.length){
$parent_carousel.one('initialized.owl.carousel', function(){
$(this).find('.products-slider:not(.manual)').each(function(){
var $this=$(this);
$this.themeWooProductsSlider($this.data('plugin-options') );
});
});
}
$direct_carousels.each(function(){
var $this=$(this),
opts;
var pluginOptions=$this.data('plugin-options');
if(pluginOptions)
opts=pluginOptions;
setTimeout(function(){
$this.themeWooProductsSlider(opts);
}, 0);
});
});
}
if(! theme.isMobile()){
$wrap.find('.product-col .quickview, .product-col .add_to_cart_read_more, .product-col .add_to_cart_button, .product-col a.compare, .product-col .add_to_wishlist, .product-col .yith-wcwl-wishlistaddedbrowse > a, .product-col .yith-wcwl-wishlistexistsbrowse > a').each(function(){
let _this=$(this);
let $productCol=_this.closest('.product-col');
if(_this.closest('.porto-tb-woo-link').hasClass('no-tooltip') ){
return;
}
if(_this.hasClass('add_to_cart_read_more')||_this.hasClass('add_to_cart_button') ){
if($productCol.hasClass('product-wq_onimage')||$productCol.hasClass('product-onimage')||$productCol.hasClass('product-outimage')||$productCol.hasClass('product-default') ){
return;
}
if(_this.closest('ul.products').hasClass('list') ){
return;
}}
if(_this.hasClass('quickview') ){
if($productCol.hasClass('product-wq_onimage')||$productCol.hasClass('product-onimage3')||$productCol.hasClass('product-onimage2')||$productCol.hasClass('product-onimage')||$productCol.hasClass('product-outimage_aq_onimage') ){
return;
}}
if(! _this.attr('title') ){
_this.attr('title', _this.text().trim());
}
_this.tooltip();
});
}})(jQuery);
}
function porto_woocommerce_variations_init($parent_obj){
'use strict';
theme.requestTimeout(function(){
var form_variation=$parent_obj.find('form.variations_form:not(.vf_init)');
if(form_variation.length&&jQuery.fn.wc_variation_form){
form_variation.each(function(){
var data_a=jQuery._data(this, 'events');
if(!data_a||!data_a['show_variation']){
jQuery(this).wc_variation_form();
}});
}}, 100);
}
function porto_ajax_load_products($obj, data, pagination_style, $ajax_tab_cache, id, group){
'use strict';
(function($){
if($obj.hasClass('loading') ){
return;
}
$obj.addClass('loading');
if('load_more'!=pagination_style){
$obj.addClass('yith-wcan-loading');
if(!$obj.children('.porto-loading-icon').length){
$obj.append('<i class="porto-loading-icon"></i>');
}}
if($ajax_tab_cache[id]==undefined){
$ajax_tab_cache[id]={};}
$.ajax({
url: theme.ajax_url,
data: data,
type: 'post',
success: function(response){
if($(response).length){
$ajax_tab_cache[id][group]=$(response).html();
}else{
$ajax_tab_cache[id][group]='';
}
porto_ajax_load_products_success($obj, response, pagination_style);
},
complete: function(){
$obj.removeClass('loading');
}});
})(jQuery);
}
function porto_ajax_load_products_success($obj, success, pagination_style){
'use strict';
(function($){
let _successProducts=$(success).find('ul.products');
if($obj.data('cur_page')&&_successProducts.data('cur_page') ){
$obj.data('cur_page', _successProducts.data('cur_page') );
}
if(!($obj.hasClass('grid-creative')&&typeof $obj.attr('data-plugin-masonry')!='undefined') ){
_successProducts.children(':not(.grid-col-sizer)').addClass('fadeInUp animated');
}
if('load_more'==pagination_style){
$obj.append(_successProducts.html());
}else{
if($obj.hasClass('owl-carousel') ){
$obj.parent().css('min-height', $obj.parent().height());
}
if($obj.hasClass('grid-creative')&&typeof $obj.attr('data-plugin-masonry')!='undefined'){
$obj.isotope('remove', $obj.children());
$obj.find('.grid-col-sizer').remove();
var newItems=_successProducts.children();
$obj.append(newItems);
$obj.isotope('appended', newItems);
$obj.imagesLoaded(function(){
$obj.isotope('layout');
});
}else{
if($(success).length){
$obj.html(_successProducts.html());
}else{
$obj.html('');
}}
}
if($obj.hasClass('owl-carousel')&&$.fn.themeWooProductsSlider){
$obj.trigger('destroy.owl.carousel');
theme.requestTimeout(function(){
var pluginOptions=$obj.data('plugin-options'), opts;
if(pluginOptions)
opts=pluginOptions;
$obj.data('__wooProductsSlider', '').themeWooProductsSlider(opts);
$obj.parent().css('min-height', '');
}, 100);
}
if($obj.closest('.porto-products').find('.shop-loop-after').length){
if($(success).find('.shop-loop-after').length){
$obj.closest('.porto-products').find('.shop-loop-after').replaceWith($(success).find('.shop-loop-after') );
}else{
$obj.closest('.porto-products').find('.shop-loop-after').remove();
}}
if(typeof $obj.data('infinitescroll')!='undefined'){
var infinitescrollData=$obj.data('infinitescroll');
infinitescrollData.options.state.currPage=1;
$obj.data('infinitescroll', infinitescrollData);
}
$obj.removeClass('yith-wcan-loading');
if('load_more'==pagination_style&&typeof $obj!='undefined'&&typeof $obj.data('text')!='undefined'){
$obj.text($obj.data('text') );
}
$(document).trigger("yith-wcan-ajax-filtered");
})(jQuery);
};
(function(e,t){var o=/(?!(\[))(\.)[^.#[]*/g,i=/(#)[^.#[]*/,a=/^[\w]+/,r=/^[\w]+$/,n=function(e,n){var s=r.test(e)?[{tag:e}]:function(e){for(var t={sel:[],val:[]},r=[],n=!1,s="",l=[],c=0,p=e.length;c<p;c++){var d=e.charAt(c);n?"\\"===d&&c+1<e.length?l.push(e.charAt(++c)):s===d?(s="",l.push(d)):"'"!==d&&'"'!==d||""!==s?"]"===d&&""===s?(t.val.push(l.join("")),l=[],n=!1):"]"===d&&""===s||(""===s&&","===d?(t.val.push(l.join("")),l=[]):l.push(d)):(s=d,l.push(d)):"\\"===d&&c+1<e.length?n&&l.push(e.charAt(++c)):"["===d&&""===s?n=!0:" "===d||"+"===d?(t.sel=t.sel.join(""),r.push(t),"+"===d&&r.push({sel:"+",val:""}),t={sel:[],val:[]}):" "!==d&&"]"!==d&&t.sel.push(d)}for(0==t.sel.length&&0==t.val.length||(t.sel=t.sel.join(""),r.push(t)),c=0;c<r.length;c++){if("+"===(t=r[c].sel))h.tag=t;else{var h=[];for(h.tag=a.exec(t),h.id=i.exec(t),h.id&&Array.isArray(h.id)&&(h.id=h.id[0].substr(1)),h.tag||(h.tag="div"),h.vars=[],e=0;e<r[c].val.length;e++)s=r[c].val[e].indexOf("="),n=r[c].val[e].substr(0,s),s=(s=r[c].val[e].substr(s+1)).replace(/^[\s]*[\"\']*|[\"\']*[\s]*$/g,""),"text"===n?h.text=s:h.vars.push([n,s]);if(n=[],t=t.match(o)){for(e=0;e<t.length;e++)n.push(t[e].substr(1));h.className=n.join(" ")}}r[c]=h}return r}(e),l=[];void 0===n&&(n=1);for(var c=[],p=[],d=[],h=document.createElement("div"),f=0,u=0;u<s.length;u++){if("+"==s[u].tag)p=d.slice(),--f;else{for(var g=0;g<n;g++){var m;if("input"==s[u].tag){if((m=[]).push("<"+s[u].tag),s[u].id&&m.push("id='"+s[u].id+"'"),s[u].className&&(m.push("class='"+s[u].className),u+1===s.length&&m.push(lastClass),m.push("'")),s[u].vars)for(var w=0;w<s[u].vars.length;w++)m.push(s[u].vars[w][0]+"='"+s[u].vars[w][1]+"'");s[u].text&&m.push("value='"+s[u].text+"'"),m.push("/>"),d[g]=p[g],p[g]?(p[g].innerHTML+=m.join(" "),p[g]=p[g].lastChild):(h.innerHTML=m.join(" "),p[g]=h.removeChild(h.firstChild))}else{if(m=document.createElement(s[u].tag),s[u].vars)for(w=0;w<s[u].vars.length;w++)m.setAttribute(s[u].vars[w][0],s[u].vars[w][1]);s[u].id&&(m.id=s[u].id),s[u].className&&(m.className=s[u].className),s[u].text&&m.appendChild(document.createTextNode(s[u].text)),d[g]=p[g],p[g]=p[g]?p[g].appendChild(m):m}}f++||Array.prototype.push.apply(c,p)}l=t.merge(l,p)}return t(c)},s=function(e,o,i){for(var a=e.match(/%[^%]*%/g)||[],r=[],s=0;s<o.length;s++){for(var l=e,c=0;c<a.length;c++){var p=a[c].substr(1,a[c].length-2);l=l.replace(a[c],o[s][p])}r=t.merge(r,n(l,i))}return t(r)};t.porto_jseldom=function(e){return 2==arguments.length&&t.isPlainObject(arguments[1])?s.apply(this,[arguments[0],[arguments[1]]]):1==arguments.length||2==arguments.length&&!Array.isArray(arguments[1])?n.apply(this,arguments):2==arguments.length?s.apply(this,arguments):void 0};var l=function(){if(t(".price_slider").length){if("undefined"==typeof woocommerce_price_slider_params)return!1;t("input#min_price, input#max_price").hide(),t(".price_slider, .price_label").show();var e=t(".price_slider_amount #min_price").data("min"),o=t(".price_slider_amount #max_price").data("max"),i=parseInt(t(".price_slider_amount #min_price").val()?t(".price_slider_amount #min_price").val():e,10),a=parseInt(t(".price_slider_amount #max_price").val()?t(".price_slider_amount #max_price").val():o,10);t(".price_slider").filter((function(){return!!t(this).closest("form").find("input#min_price, input#max_price").length})).slider({range:!0,animate:!0,min:e,max:o,values:[i,a],create:function(){t(".price_slider_amount #min_price").val(i),t(".price_slider_amount #max_price").val(a),t(document.body).trigger("price_slider_create",[i,a])},slide:function(e,o){t("input#min_price").val(o.values[0]),t("input#max_price").val(o.values[1]),t(document.body).trigger("price_slider_slide",[o.values[0],o.values[1]])},change:function(e,o){t(document.body).trigger("price_slider_change",[o.values[0],o.values[1]])}})}t(".yith-woo-ajax-navigation, .yith-wcan-list-price-filter").removeClass("loading")},c=function(o,i,a,r=!1){if(void 0!==window.parent&&void 0!==window.parent.vc)return;var n=".archive-products ";t(".elementor-widget-wc-archive-products").length&&(n=".elementor-widget-wc-archive-products "),t(".wcfmmp-store-page-wrap").length&&(n=".wcfmmp-store-page-wrap ");var s,l,c=".shop-loop-before",p=t(c),d=".shop-loop-after:not(.is-shortcode)",h=n+".products:not(.is-shortcode)",f=n+".woocommerce-info",u=p.parent(),g=t(h),m=t(".sidebar [data-plugin-sticky]"),w=p.data("show"),v=".porto-product-filters:not(.style2)";if(w&&t(c+","+d).stop(!0).fadeTo(400,1).block({message:null,overlayCSS:{opacity:.2}}),-1==js_porto_vars.use_skeleton_screen.indexOf("shop"))g.length?(g.addClass("yith-wcan-loading"),g.children(".porto-loading-icon").length||g.append('<i class="porto-loading-icon"></i>')):(t(f).html("").addClass("yith-wcan-loading products"),t(f).children(".porto-loading-icon").length||t(f).append('<i class="porto-loading-icon"></i>'));else if(g.length){g.addClass("skeleton-body");var _,y=g.data((g.hasClass("list")?"list":"grid")+"_col_cls");if(g.hasClass("list")&&!y)_=4;else{for(var b=1;b<=8;b++)if(g.hasClass("ccols-xl-"+b)){_=b;break}if(!_&&g.hasClass("has-ccols")){var x;if(y){x=g.attr("class").split(" ");var C=[];for(b=0;b<x.length;b++)0!==x[b].indexOf("ccols-")&&"has-ccols"!=x[b]&&C.push(x[b]);g.attr("class",C.join(" ")+" "+y),x=y.split(" ")}else x=g.attr("class").split(" ");for(b=0;b<x.length;b++)if(0===x[b].indexOf("ccols-")){_=x[b].replace(/ccols-[sm|md|lg|xl|xxl]*[-]*([\d])/,"$1");break}}}if(_){var j="product product-col";g.empty(),g.data("product_layout")&&(j+=" "+escape(g.data("product_layout")));for(b=0;b<3*_;b++)g.append('<li class="'+j+'"></li>')}else g.find(".product-col").empty();g.hasClass("owl-loaded")&&g.removeClass("owl-loaded")}t(v).length&&t(v).block({message:null,overlayCSS:{opacity:.2}}),e.scrolltoContainer(w?p.hasClass("sticky")&&p.prev(".filter-placeholder").length?p.prev(".filter-placeholder"):p:g),t(".yith-woo-ajax-navigation, .yith-wcan-list-price-filter").addClass("loading"),(l=t(".sidebar-content .widget_shopping_cart").get(0))&&(s=t(l).html()),e.shopAjaxCache||(e.shopAjaxCache={}),e.urlAnchor||(e.urlAnchor=document.createElement("a")),e.urlAnchor.href=o;let k=e.urlAnchor.href;var A=encodeURIComponent(k+"is_category="+r),S=function(r,n,f,w=!1){n&&r&&!e.shopAjaxCache[n]&&(e.shopAjaxCache[n]=r);var _=t(r);1==f&&(t(".header-wrapper ~ *:not(.footer-wrapper)").remove(),_.find(".header-wrapper ~ *:not(.footer-wrapper)").clone().insertAfter(".header-wrapper"),p=t(c),u=p.parent(),g=t(h),m=t(".sidebar [data-plugin-sticky]"),t("html").hasClass("sidebar-opened")&&t("body").hasClass("woocommerce")&&t(".main-content-wrap>.sidebar-overlay").addClass("active"));var y=g.parent();y.hasClass("yit-wcan-container")&&(y=y.parent()),m.get(0)&&u.css("min-height",0);var b=_.find(h);if(b.length){if(g.length&&g.data("infinitescroll"))try{g.data("infinitescroll").destroy();var x=g.data("__postsinfinite");x&&x.destroy()}catch(e){}if(void 0!==a&&a&&y.hasClass("porto-posts-grid")){var C=g.siblings("style"),j=b.siblings("style");C.length&&j.length&&C.replaceWith(j)}t(b).addClass("animated fadeInUp"),g.replaceWith(b[0].outerHTML),g=t(h)}else y.hasClass("porto-posts-grid")?g.empty():(y.html(_.find(".woocommerce-info")),y.find(".woocommerce-info").addClass("products"));if(t(c+","+d).get(0)&&t(c+","+d).stop(!0).css("opacity","1").unblock(),_.find(c).length?(0==t(c).length&&t.porto_jseldom(c).insertBefore(t(h)),t(c).each((function(e){var o=_.find(c).eq(e);o.length&&t(this).html(o.html()).show()}))):t(c).empty(),porto_woocommerce_variations_init(y),_.find(v).length&&t(v).html(_.find(v).html()),t(v).unblock(),_.find(d).length)if(0==t(d).length&&t.porto_jseldom(d).insertAfter(t(h)),t(d).length>1&&t(d).length==_.find(d).length)for(var k=0;k<t(d).length;k++)t(d).eq(k).html(_.find(d).eq(k).html()).show();else t(d).html(_.find(d).html()).show();else if(0==t(d).length&&_.find(".woocommerce-pagination").length){var A=_.find(".woocommerce-pagination");t(".content-area#primary .woocommerce-pagination").each((function(e){var o=A.eq(e);o.length&&t(this).html(o.html())}))}else t(d).empty();_.find(".woocommerce-ordering").each((function(e){var o=t(this);0==o.closest(".shop-loop-before").length&&0==o.closest(".shop-loop-after").length&&t("body").find(".woocommerce-ordering").eq(e).html(o.html())}));var S=y.children(".pagination-wrap"),T=b.siblings(".pagination-wrap");y.hasClass("yit-wcan-container")&&(S=y.siblings(".pagination-wrap")),S.length?S[0].outerHTML=T.length?T[0].outerHTML:"":T.length&&y.append(T);var O=t(".woocommerce-result-count");if(O.length){var I=_.find(".woocommerce-result-count").eq(0);I.length&&O.each((function(){this.outerHTML=I[0].outerHTML}))}y.hasClass("porto-posts-grid")?y.is(".porto-ajax-load.load-infinite, .porto-ajax-load.load-more")&&y.portoInfiniteScroll():void 0!==e.PostsInfinite&&"undefined"!=typeof porto_infinite_scroll&&new e.PostsInfinite(t(h)),t(".sidebar-content").each((function(e){var o=t(this),a=t(_.find(".sidebar-content").get(e));if(o.html(a.html()),void 0!==i&&i){if(jQuery().selectWoo){o.find("select.woocommerce-widget-layered-nav-dropdown").each((function(){t(this).selectWoo({placeholder:t(this).find("option").eq(0).text(),minimumResultsForSearch:5,width:"100%",allowClear:void 0!==t(this).attr("multiple")&&"multiple"==t(this).attr("multiple")?"false":"true"})}))}t("body").children("span.select2-container").remove()}}));var q=t(".sidebar-content .sidebar-menu:not(.side-menu-accordion)");q.length&&e.SidebarMenu.build(q);var D=_.filter('script:contains("var woocommerce_price_slider_params")').first();if(D&&D.length&&-1!==D.text().indexOf("{")&&-1!==D.text().indexOf("}")){var z=D.text().substring(D.text().indexOf("{"),D.text().indexOf("}")+1);window.woocommerce_price_slider_params=JSON.parse(z)}t(".sidebar-content form.woocommerce-widget-layered-nav-dropdown select").each((function(){var e=t(this);e.selectWoo({placeholder:e.find("option").eq(0).text(),minimumResultsForSearch:5,width:"100%",allowClear:void 0!==e.attr("multiple")&&"multiple"==e.attr("multiple")?"false":"true"}),e.siblings(".select2").css("width","100%")})),navigator.userAgent.match(/msie/i)||w||window.history.pushState({pageTitle:r.pageTitle?r.pageTitle:"",isShopAjax:1,filterID:n,isCategoryFilter:f},"",o);var N=function(e){var t,o,i=decodeURIComponent(window.location.search.substring(1)).split("&");for(o=0;o<i.length;o++)if((t=i[o].split("="))[0]===e)return void 0===t[1]||t[1]}("pwb-brand-filter");if(null!=N){var L=N.split(",");t('.pwb-filter-products input[type="checkbox"]').prop("checked",!1);for(var M=0,$=L.length;M<$;M++)t('.pwb-filter-products input[type="checkbox"]').each((function(e){t(this).val()&&L[M]==t(this).val()&&t(this).prop("checked",!0)}))}else t('.pwb-filter-products input[type="checkbox"]').prop("checked",!1);y.hasClass("yit-wcan-container")?y.parent().removeClass("porto-ajax-loading"):y.closest(".elementor-widget-wc-archive-products").length?y.closest(".elementor-widget-wc-archive-products").removeClass("porto-ajax-loading"):y.closest(".wcfmmp-store-page-wrap").length?y.closest(".wcfmmp-store-page-wrap .products").removeClass("porto-ajax-loading"):y.removeClass("porto-ajax-loading"),t(document).trigger("yith_wcan_init_shortcodes"),t(document).trigger("yith-wcan-ajax-filtered"),(l=t(".sidebar-content .widget_shopping_cart").get(0))&&(t(".sidebar-content .widget_shopping_cart").html(s),t.cookie("woocommerce_items_in_cart")>0?t(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").show():t(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").hide()),"undefined"!=typeof yith_wcwl_l10n&&yith_wcwl_l10n.enable_ajax_loading&&y.trigger("yith_wcwl_reload_fragments"),t(document.body).trigger("porto_init_countdown",[y]),"function"==typeof lazyloadRunObserver&&lazyloadRunObserver(),t(window).trigger("porto_posts_updated")};e.successfn=S,e.shopAjaxCache[A]?S(e.shopAjaxCache[A],A,r):t.ajax({url:o,data:{portoajax:!0,load_posts_only:!0,is_category_filter:r},type:"POST",success:function(e){S(e,A,r)}})};function p(e,t,o){var i=new RegExp("([?&])"+t+"=.*?(&|$)","i"),a=-1!==e.indexOf("?")?"&":"?";return e.match(i)?e.replace(i,"$1"+t+"="+o+"$2"):e+a+t+"="+o}var d,h=function(o){var i=".archive-products ";t(".elementor-widget-wc-archive-products").length&&(i=".elementor-widget-wc-archive-products "),t(".wcfmmp-store-page-wrap").length&&(i=".wcfmmp-store-page-wrap ");var a=".shop-loop-before",r=".shop-loop-after",n=i+".products",s=t(a),d=s.parent(),h=t(a+","+r);t(".sidebar [data-plugin-sticky]").get(0)&&d.css("min-height",0),h.length&&h.stop(!0).fadeTo(400,1).unblock(),t(n).find(".nothing-found-message").length||t(".archive-products").find(".woocommerce-no-products-found").length?("undefined"==typeof js_porto_vars||""!=js_porto_vars.shop_filter_layout||e.isTablet()&&0!=t(".porto-product-filters-toggle").length||h.hide().data("show",!1),"undefined"!=typeof js_porto_vars&&"horizontal"==js_porto_vars.shop_filter_layout&&e.isTablet()&&0==t(".porto-product-filters-toggle.d-lg-none").length&&h.hide().data("show",!1),"undefined"!=typeof js_porto_vars&&"horizontal2"==js_porto_vars.shop_filter_layout&&0==t(".porto-product-filters").length&&h.hide().data("show",!1)):t(n).find(".product").length||t(r).closest(".porto-products").length||s.hasClass("shop-builder")||t(r).closest(".elementor-widget-wc-archive-products")||t(r).closest(".wcfmmp-store-page-wrap")?h.show().data("show",!0):(h.hide().data("show",!1),s.find(".porto-product-filters.style2").length&&s.show().data("show",!0)),l();var f=document.getElementById("porto_price_filter_chart");if(f&&!t(f).hasClass("show-chart"))if("function"==typeof e.price_chart)e.price_chart(f);else if(js_porto_vars&&js_porto_vars.func_url){var u=document.createElement("script"),g=document.scripts[document.scripts.length-1];u.src=js_porto_vars.func_url+"widgets/apexcharts/apexcharts.js",u.id="porto-price-filter-chart-js",g.parentNode.insertBefore(u,g)}void 0!==o&&o||(porto_init(),porto_woocommerce_init(),t(".sidebar [data-plugin-sticky]").length&&e.requestTimeout((function(){e.refreshStickySidebar(!1)}),200),t(".page-wrapper").find(".elementor-invisible").each((function(){var o=t(this),i=o.data("settings");if(i&&(i._animation||i.animation)){var a=i._animation||i.animation,r=i._animation_delay||i.animation_delay||0;e.requestTimeout((function(){o.removeClass("elementor-invisible").addClass("animated "+a)}),r)}}))),t(".woocommerce-ordering").off("change","select.orderby").on("change","select.orderby",(function(){t(this).closest("form").trigger("submit")})),function(){if(t(".widget_price_filter").addClass("yith-wcan-list-price-filter"),e.category_ajax){t(".woocommerce-ordering").off("change","select.orderby").on("change","select.orderby",(function(e){e.preventDefault();var o="?"+t(this).closest("form").serialize();c(o)})),t(".woocommerce-viewing").off("change","select.count").on("change","select.count",(function(e){e.preventDefault();var o="?"+t(this).closest("form").serialize();c(o)})),t(".porto-posts-grid .product-category, .with-shop-ajax, .product-categories .cat-item, .wc-block-product-categories-list-item").off("click","a").on("click","a",(function(e){e.preventDefault(),e.stopPropagation();var t=this.href;c(t,void 0,void 0,!0)})),t(".woocommerce-pagination:not(.load-more)").each((function(){t(this).closest(".porto-products").length||t(this).closest("#comments").length||t(this).off("click","a.page-numbers").on("click","a.page-numbers",(function(e){e.preventDefault();var t=this.href;c(t)}))})),t(document).off("click",".yith-wcan a").on("click",".yith-wcan a",(function(e){t(this).yith_wcan_ajax_filters(e,this)})),t(".widget_price_filter .price_slider_wrapper").off("click",".button").on("click",".button",(function(e){e.preventDefault();var o=t(this).closest("form"),i=o.attr("action"),a=i+(-1===i.indexOf("?")?"?":"&")+o.serialize(),r=t(".woocommerce-viewing select.count");if(r.length){var n=t(".woocommerce-viewing select.count").val();n!=r.find("option:not([disabled]):first").val()&&(a+="&count="+n)}t(".widget_price_filter").removeClass("yith-wcan-list-price-filter"),c(a)})),t(".porto_widget_price_filter").off("click",".button").on("click",".button",(function(e){e.preventDefault();var o=t(this).closest("form"),i=o.attr("action"),a=t(".woocommerce-viewing select.count"),r=o.serializeArray(),n=i;if(t.each(r,(function(e,o){t.trim(o.value)&&(-1==i.indexOf("?")&&n==i?n+="?":n+="&",n+=o.name+"="+t.trim(o.value))})),a.length){var s=t(".woocommerce-viewing select.count").val();s!=a.find("option:not([disabled]):first").val()&&(-1==n.indexOf("?")?n+="?count="+s:n+="&count="+s)}c(n)})),t(".widget_layered_nav, .widget_rating_filter, .widget_layered_nav_filters").off("click","a").on("click","a",(function(e){if(!t(this).hasClass("yit-wcan-select-open")){e.preventDefault();var o=t(this),i=o.attr("href"),a=t(".woocommerce-viewing select.count"),r=".archive-products ";if(t(".elementor-widget-wc-archive-products").length&&(r=".elementor-widget-wc-archive-products "),t(".wcfmmp-store-page-wrap").length&&(r=".wcfmmp-store-page-wrap "),o.hasClass("yith-wcan-reset-navigation")&&!t(r+".products:not(.is-shortcode)").length)return window.location.href=i,!1;if(a.length){var n=t(".woocommerce-viewing select.count").val();n!=a.find("option:not([disabled]):first").val()&&(i=p(i,"count",n))}var s=o.closest(".yith-wcan-select");return s.get(0)&&s.parent().css({opacity:0,"z-index":-1}),c(i),!1}})),t(".widget_layered_nav select:not([multiple])").off("change").on("change",(function(e){var o,i=t(this),a=i.closest("form").find("input[type=hidden]").length?i.closest("form").find("input[type=hidden]").attr("name").replace("filter_",""):i.attr("class").replace("dropdown_layered_nav_",""),r=i.val(),n=t(".woocommerce-viewing select.count");if("wc-brand-dropdown-layered-nav-product_brand"==a&&(a="product_brand"),o=p(o=(o=window.location.href).replace(/\/page\/\d+/,"").replace("&amp;","&").replace("%2C",","),"filtering","1"),o=p(o,"filter_"+a,r),n.length){var s=t(".woocommerce-viewing select.count").val();s!=n.find("option:not([disabled]):first").val()&&(o=p(o,"count",s))}return c(o,a),!1}));var o=function(){var e=[location.protocol,"//",location.host,location.pathname].join(""),o=window.location.href,i=[];t('.pwb-filter-products input[type="checkbox"]').each((function(e){t(this).prop("checked")&&i.push(t(this).val())})),o=(i=i.join())?-1===(o=(o=o.replace(/&?pwb-brand-filter=([^&]$|[^&]*)/i,"")).replace(/\/page\/\d*\//i,"")).indexOf("?")?o+"?pwb-brand-filter="+i:o+"&pwb-brand-filter="+i:e,c(o)};t(".pwb-filter-products.pwb-hide-submit-btn input").off("change").on("change",(function(){o()})),t(".pwb-apply-filter").off("click").on("click",(function(){o()})),t(".pwb-remove-filter").off("click").on("click",(function(){[location.protocol,"//",location.host,location.pathname].join("");var e=window.location.href;e=(e=e.replace(/&?pwb-brand-filter=([^&]$|[^&]*)/i,"")).replace(/\/page\/\d*\//i,""),c(e)}))}else t(document).on("change",".woocommerce-viewing select.count",(function(){t(this).closest("form").trigger("submit")}))}()};t(".skeleton-loading").on("skeleton-loaded",(function(){d&&e.deleteTimeout(d),d=e.requestTimeout((function(){l()}),100)})),t((function(){var o=".archive-products ";t(".elementor-widget-wc-archive-products").length&&(o=".elementor-widget-wc-archive-products "),t(".wcfmmp-store-page-wrap").length&&(o=".wcfmmp-store-page-wrap "),"undefined"!=typeof yith_wcan&&(yith_wcan.container=o+".products",yith_wcan.pagination=".shop-loop-before",yith_wcan.result_count=".shop-loop-after"),e.category_ajax?t(document).on("click",".yith-wcan a",(function(i){var a=".shop-loop-before",r=t(a),n=o+".products",s=o+".woocommerce-info",l=t(".sidebar [data-plugin-sticky]"),c=r.data("show");c&&t(a+",.shop-loop-after").stop(!0).show().fadeTo(400,.8).block({message:null,overlayCSS:{opacity:.2}}),t(n).length?(t(n).html("").addClass("yith-wcan-loading"),t(n).children(".porto-loading-icon").length||t(n).append('<i class="porto-loading-icon"></i>')):(t(s).html("").addClass("yith-wcan-loading products"),t(s).children(".porto-loading-icon").length||t(s).append('<i class="porto-loading-icon"></i>')),l.get(0)&&e.refreshStickySidebar(!1),t(".yith-woo-ajax-navigation, .yith-wcan-list-price-filter").addClass("loading"),e.scrolltoContainer(c?r.hasClass("sticky")&&r.prev(".filter-placeholder").length?r.prev(".filter-placeholder"):r:t(n))})):t(document).off("click",".yith-wcan a"),t(document).ready((function(){h(!0)})),t(document).on("yith-wcan-ajax-filtered",(function(o,i){if(h(),i&&t("html").hasClass("sidebar-opened")&&t(".sidebar-overlay").addClass("active"),i&&"undefined"!=typeof porto_infinite_scroll){var a=".archive-products ";t(".elementor-widget-wc-archive-products").length&&(a=".elementor-widget-wc-archive-products "),t(".wcfmmp-store-page-wrap").length&&(a=".wcfmmp-store-page-wrap ");var r=t(a+".products:not(.is-shortcode)");if(r.length){var n=r.parent();n.hasClass("porto-posts-grid")?n.is(".porto-ajax-load.load-infinite, .porto-ajax-load.load-more")&&n.portoInfiniteScroll():void 0!==e.PostsInfinite&&new e.PostsInfinite(r)}}})),e.prdctfltr_ajax&&(t(document).on("change",".woocommerce-viewing select.count",(function(){t(this).closest("form").trigger("submit")})),t(document).on("click",".woocommerce-pagination:not(.load-more) a.page-numbers",(function(o){var i=t(".shop-loop-before");e.scrolltoContainer(i.hasClass("sticky")&&i.prev(".filter-placeholder").length?i.prev(".filter-placeholder"):i)}))),t(document).on("click",".gridlist-toggle #grid, .gridlist-toggle #list",(function(o){var i=t(this);if(i.hasClass("active"))return!1;t(".gridlist-toggle #grid, .gridlist-toggle #list").removeClass("active"),i.addClass("active");var a=i.attr("id");if(e.category_ajax){o.preventDefault();var r=".archive-products";t(".elementor-widget-wc-archive-products").length&&(r=".elementor-widget-wc-archive-products"),t(".wcfmmp-store-page-wrap").length&&(r=".wcfmmp-store-page-wrap .products"),-1!=js_porto_vars.use_skeleton_screen.indexOf("shop")?t(r+" ul.products, "+r+" .products-container").removeClass("grid").removeClass("list").addClass(a):t(r).addClass("porto-ajax-loading"),c(i.attr("href"))}})),e.category_ajax&&(window.addEventListener("popstate",(function(t){if(t.state&&t.state.isShopAjax){let o=t.state.filterID,i=t.state.isCategoryFilter;e.shopAjaxCache&&e.shopAjaxCache[o]&&e.successfn?e.successfn(e.shopAjaxCache[o],o,i,!0):location.reload()}})),window.history.replaceState({pageTitle:"",isShopAjax:1,filterID:"first"},"",location.href))}))}).apply(this,[window.theme,jQuery]);
(function(t,e){t=t||{};var n="__wooWidgetToggle",i=function(t,e){return this.initialize(t,e)};i.defaults={},i.prototype={initialize:function(t,e){return t.data(n)||(this.$el=t,this.setData().setOptions(e).build()),this},setData:function(){return this.$el.data(n,this),this},setOptions:function(t){return this.options=e.extend(!0,{},i.defaults,t,{wrapper:this.$el}),this},build:function(){var e=this.options.wrapper;return e.parent().removeClass("closed"),e.find(".toggle").length||e.append('<span class="toggle"></span>'),e.find(".toggle").on("click",(function(n){return n.preventDefault(),n.stopPropagation(),e.next().is(":visible")?e.parent().addClass("closed"):e.parent().removeClass("closed"),e.next().stop().slideToggle(200),t.refreshVCContent(),!1})),this}},e.extend(t,{WooWidgetToggle:i}),e.fn.themeWooWidgetToggle=function(i){return this.map((function(){var s=e(this);return s.data(n)?s.data(n):new t.WooWidgetToggle(s,i)}))}}).apply(this,[window.theme,jQuery]),function(t,e){t=t||{};var n="__wooWidgetAccordion",i=function(t,e){return this.initialize(t,e)};i.defaults={},i.prototype={initialize:function(t,e){return t.data(n)||(this.$el=t,this.setData().setOptions(e).build()),this},setData:function(){return this.$el.data(n,this),this},setOptions:function(t){return this.options=e.extend(!0,{},i.defaults,t,{wrapper:this.$el}),this},build:function(){var n=this.options.wrapper;return n.find("ul.children").each((function(){var n=e(this);n.prev().hasClass("toggle")||n.before(e('<span class="toggle"></span>').on("click",(function(){var n=e(this);n.next().is(":visible")?n.parent().removeClass("open").addClass("closed"):n.parent().addClass("open").removeClass("closed"),n.next().stop().slideToggle(200),t.refreshVCContent()})))})),n.find('li[class*="current-"]').addClass("current"),this}},e.extend(t,{WooWidgetAccordion:i}),e.fn.themeWooWidgetAccordion=function(i){return this.map((function(){var s=e(this);return s.data(n)?s.data(n):new t.WooWidgetAccordion(s,i)}))}}.apply(this,[window.theme,jQuery]);
(function(t,i){if(i(".wishlist-popup").length){var s=null;i(".wishlist-offcanvas .my-wishlist").on("click",(function(s){s.preventDefault();var o=i(this);o.parent().toggleClass("minicart-opened"),o.parent().hasClass("minicart-opened")?(i("html").css(t.rtl_browser?"margin-left":"margin-right",t.getScrollbarWidth()),i("html").css("overflow","hidden")):(i("html").css("overflow",""),i("html").css(t.rtl_browser?"margin-left":"margin-right",""))})),i(".wishlist-offcanvas .minicart-overlay").on("click",(function(){i(this).closest(".wishlist-offcanvas").removeClass("minicart-opened"),i("html").css("overflow",""),i("html").css(t.rtl_browser?"margin-left":"margin-right","")}));var o=function(){(s=new Worker(js_porto_vars.ajax_loader_url.replace("/images/ajax-loader@2x.gif","/js/woocommerce-worker.js"))).onmessage=function(t){i(".wishlist-popup").html(t.data),i(".wishlist-count").text(i(".wishlist-popup").find(".wishlist-item").length)},s.postMessage({initWishlist:!0,ajaxurl:t.ajax_url,nonce:js_porto_vars.porto_nonce})};t&&t.isLoaded?setTimeout((function(){o()}),100):i(window).on("load",(function(){o()})),i(".wishlist-popup").on("click",".remove_from_wishlist",(function(t){t.preventDefault();var s=i(this),o=s.attr("data-product_id"),e=i(".wishlist_table #yith-wcwl-row-"+o+" .remove_from_wishlist");s.closest(".wishlist-item").find(".ajax-loading").show(),e.length?e.trigger("click"):"undefined"!=typeof yith_wcwl_l10n&&i.ajax({url:yith_wcwl_l10n.ajax_url,data:{action:yith_wcwl_l10n.actions.remove_from_wishlist_action,remove_from_wishlist:o,nonce:void 0!==yith_wcwl_l10n.nonce?yith_wcwl_l10n.nonce.remove_from_wishlist_nonce:"",from:"theme"},method:"post",success:function(t){var s=i(".yith-wcwl-add-to-wishlist.add-to-wishlist-"+o);if(s.length){var e=s.data("fragment-options"),l=s.find("a");if(l.length){e.in_default_wishlist&&(delete e.in_default_wishlist,s.attr(JSON.stringify(e))),s.removeClass("exists"),s.find(".yith-wcwl-wishlistexistsbrowse").addClass("yith-wcwl-add-button").removeClass("yith-wcwl-wishlistexistsbrowse"),s.find(".yith-wcwl-wishlistaddedbrowse").addClass("yith-wcwl-add-button").removeClass("yith-wcwl-wishlistaddedbrowse"),l.attr("href",location.href+(-1===location.href.indexOf("?")?"?":"&")+"post_type=product&amp;add_to_wishlist="+o).attr("data-product-id",o).attr("data-product-type",e.product_type);var a=i(".single_add_to_wishlist").data("title");a||(a="Add to wishlist"),l.attr("title",a).attr("data-title",a).addClass("add_to_wishlist single_add_to_wishlist").html("<span>"+a+"</span>")}}i(document.body).trigger("removed_from_wishlist")}})})),i(document.body).on("added_to_wishlist removed_from_wishlist",(function(i){s&&s.postMessage({loadWishlist:!0,ajaxurl:t.ajax_url,nonce:js_porto_vars.porto_nonce})}))}}).apply(this,[window.theme,jQuery]);
!function(r){var o=this.SelectBox=function(e,t){if(e instanceof jQuery){if(!(0<e.length))return;e=e[0]}return this.typeTimer=null,this.typeSearch="",this.isMac=navigator.platform.match(/mac/i),t="object"==typeof t?t:{},this.selectElement=e,!(!t.mobile&&navigator.userAgent.match(/iPad|iPhone|Android|IEMobile|BlackBerry/i))&&"select"===e.tagName.toLowerCase()&&void this.init(t)};o.prototype.version="1.2.0",o.prototype.init=function(t){var e=r(this.selectElement);if(e.data("selectBox-control"))return!1;var s,o=r('<a class="selectBox" />'),a=e.attr("multiple")||1<parseInt(e.attr("size")),n=t||{},l=parseInt(e.prop("tabindex"))||0,i=this;o.width(e.outerWidth()).addClass(e.attr("class")).attr("title",e.attr("title")||"").attr("tabindex",l).css("display","inline-block").bind("focus.selectBox",function(){this!==document.activeElement&&document.body!==document.activeElement&&r(document.activeElement).blur(),o.hasClass("selectBox-active")||(o.addClass("selectBox-active"),e.trigger("focus"))}).bind("blur.selectBox",function(){o.hasClass("selectBox-active")&&(o.removeClass("selectBox-active"),e.trigger("blur"))}),r(window).data("selectBox-bindings")||r(window).data("selectBox-bindings",!0).bind("scroll.selectBox",this.hideMenus).bind("resize.selectBox",this.hideMenus),e.attr("disabled")&&o.addClass("selectBox-disabled"),e.bind("click.selectBox",function(e){o.focus(),e.preventDefault()}),a?(t=this.getOptions("inline"),o.append(t).data("selectBox-options",t).addClass("selectBox-inline selectBox-menuShowing").bind("keydown.selectBox",function(e){i.handleKeyDown(e)}).bind("keypress.selectBox",function(e){i.handleKeyPress(e)}).bind("mousedown.selectBox",function(e){1!==e.which||(r(e.target).is("A.selectBox-inline")&&e.preventDefault(),o.hasClass("selectBox-focus"))||o.focus()}).insertAfter(e),e[0].style.height||(l=e.attr("size")?parseInt(e.attr("size")):5,(a=o.clone().removeAttr("id").css({position:"absolute",top:"-9999em"}).show().appendTo("body")).find(".selectBox-options").html("<li><a> </a></li>"),s=parseInt(a.find(".selectBox-options A:first").html("&nbsp;").outerHeight()),a.remove(),o.height(s*l))):(a=r('<span class="selectBox-label" />'),s=r('<span class="selectBox-arrow" />'),a.attr("class",this.getLabelClass()).text(this.getLabelText()),(t=this.getOptions("dropdown")).appendTo("BODY"),o.data("selectBox-options",t).addClass("selectBox-dropdown").append(a).append(s).bind("mousedown.selectBox",function(e){1===e.which&&(o.hasClass("selectBox-menuShowing")?i.hideMenus():(e.stopPropagation(),t.data("selectBox-down-at-x",e.screenX).data("selectBox-down-at-y",e.screenY),i.showMenu()))}).bind("keydown.selectBox",function(e){i.handleKeyDown(e)}).bind("keypress.selectBox",function(e){i.handleKeyPress(e)}).bind("open.selectBox",function(e,t){t&&!0===t._selectBox||i.showMenu()}).bind("close.selectBox",function(e,t){t&&!0===t._selectBox||i.hideMenus()}).insertAfter(e),l=o.width()-s.outerWidth()-parseInt(a.css("paddingLeft"))||0-parseInt(a.css("paddingRight"))||0,a.width(l)),this.disableSelection(o),e.addClass("selectBox").data("selectBox-control",o).data("selectBox-settings",n).hide()},o.prototype.getOptions=function(e){var t,s=r(this.selectElement),o=this,a=function(e,t){return e.children("OPTION, OPTGROUP").each(function(){var e;r(this).is("OPTION")?0<r(this).length?o.generateOptions(r(this),t):t.append("<li> </li>"):((e=r('<li class="selectBox-optgroup" />')).text(r(this).attr("label")),t.append(e),t=a(r(this),t))}),t};switch(e){case"inline":return t=r('<ul class="selectBox-options" />'),(t=a(s,t)).find("A").bind("mouseover.selectBox",function(e){o.addHover(r(this).parent())}).bind("mouseout.selectBox",function(e){o.removeHover(r(this).parent())}).bind("mousedown.selectBox",function(e){1!==e.which||(e.preventDefault(),s.selectBox("control").hasClass("selectBox-active"))||s.selectBox("control").focus()}).bind("mouseup.selectBox",function(e){1===e.which&&(o.hideMenus(),o.selectOption(r(this).parent(),e))}),this.disableSelection(t),t;case"dropdown":t=r('<ul class="selectBox-dropdown-menu selectBox-options" />'),(t=a(s,t)).data("selectBox-select",s).css("display","none").appendTo("BODY").find("A").bind("mousedown.selectBox",function(e){1===e.which&&(e.preventDefault(),e.screenX===t.data("selectBox-down-at-x"))&&e.screenY===t.data("selectBox-down-at-y")&&(t.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y"),o.hideMenus())}).bind("mouseup.selectBox",function(e){1!==e.which||e.screenX===t.data("selectBox-down-at-x")&&e.screenY===t.data("selectBox-down-at-y")||(t.removeData("selectBox-down-at-x").removeData("selectBox-down-at-y"),o.selectOption(r(this).parent()),o.hideMenus())}).bind("mouseover.selectBox",function(e){o.addHover(r(this).parent())}).bind("mouseout.selectBox",function(e){o.removeHover(r(this).parent())});var n=s.attr("class")||"";if(""!==n)for(var l in n=n.split(" "))t.addClass(n[l]+"-selectBox-dropdown-menu");return this.disableSelection(t),t}},o.prototype.getLabelClass=function(){return("selectBox-label "+(r(this.selectElement).find("OPTION:selected").attr("class")||"")).replace(/\s+$/,"")},o.prototype.getLabelText=function(){return r(this.selectElement).find("OPTION:selected").text()||" "},o.prototype.setLabel=function(){var e=r(this.selectElement).data("selectBox-control");e&&e.find(".selectBox-label").attr("class",this.getLabelClass()).text(this.getLabelText())},o.prototype.destroy=function(){var e=r(this.selectElement),t=e.data("selectBox-control");t&&(t.data("selectBox-options").remove(),t.remove(),e.removeClass("selectBox").removeData("selectBox-control").data("selectBox-control",null).removeData("selectBox-settings").data("selectBox-settings",null).show())},o.prototype.refresh=function(){var e=r(this.selectElement),t=e.data("selectBox-control"),s=t.hasClass("selectBox-dropdown"),t=t.hasClass("selectBox-menuShowing");e.selectBox("options",e.html()),s&&t&&this.showMenu()},o.prototype.showMenu=function(){var t=this,e=r(this.selectElement),s=e.data("selectBox-control"),o=e.data("selectBox-settings"),a=s.data("selectBox-options");if(s.hasClass("selectBox-disabled"))return!1;this.hideMenus();var n=parseInt(s.css("borderBottomWidth"))||0;if(a.width(s.innerWidth()).css({top:s.offset().top+s.outerHeight()-n,left:s.offset().left}),e.triggerHandler("beforeopen"))return!1;var l=function(){e.triggerHandler("open",{_selectBox:!0})};switch(o.menuTransition){case"fade":a.fadeIn(o.menuSpeed,l);break;case"slide":a.slideDown(o.menuSpeed,l);break;default:a.show(o.menuSpeed,l)}o.menuSpeed||l();n=a.find(".selectBox-selected:first");this.keepOptionInView(n,!0),this.addHover(n),s.addClass("selectBox-menuShowing"),r(document).bind("mousedown.selectBox",function(e){1!==e.which||r(e.target).parents().andSelf().hasClass("selectBox-options")||t.hideMenus()})},o.prototype.hideMenus=function(){0!==r(".selectBox-dropdown-menu:visible").length&&(r(document).unbind("mousedown.selectBox"),r(".selectBox-dropdown-menu").each(function(){var e=r(this),t=e.data("selectBox-select"),s=t.data("selectBox-control"),o=t.data("selectBox-settings");if(t.triggerHandler("beforeclose"))return!1;var a=function(){t.triggerHandler("close",{_selectBox:!0})};if(o){switch(o.menuTransition){case"fade":e.fadeOut(o.menuSpeed,a);break;case"slide":e.slideUp(o.menuSpeed,a);break;default:e.hide(o.menuSpeed,a)}o.menuSpeed||a(),s.removeClass("selectBox-menuShowing")}else r(this).hide(),r(this).triggerHandler("close",{_selectBox:!0}),r(this).removeClass("selectBox-menuShowing")}))},o.prototype.selectOption=function(e,t){var s,o=r(this.selectElement),a=(e=r(e),o.data("selectBox-control"));o.data("selectBox-settings");if(a.hasClass("selectBox-disabled"))return!1;if(0===e.length||e.hasClass("selectBox-disabled"))return!1;o.attr("multiple")?t.shiftKey&&a.data("selectBox-last-selected")?(e.toggleClass("selectBox-selected"),s=(s=e.index()>a.data("selectBox-last-selected").index()?e.siblings().slice(a.data("selectBox-last-selected").index(),e.index()):e.siblings().slice(e.index(),a.data("selectBox-last-selected").index())).not(".selectBox-optgroup, .selectBox-disabled"),e.hasClass("selectBox-selected")?s.addClass("selectBox-selected"):s.removeClass("selectBox-selected")):this.isMac&&t.metaKey||!this.isMac&&t.ctrlKey?e.toggleClass("selectBox-selected"):(e.siblings().removeClass("selectBox-selected"),e.addClass("selectBox-selected")):(e.siblings().removeClass("selectBox-selected"),e.addClass("selectBox-selected")),a.hasClass("selectBox-dropdown")&&a.find(".selectBox-label").text(e.text());var n=0,l=[];return o.attr("multiple")?a.find(".selectBox-selected A").each(function(){l[n++]=r(this).attr("rel")}):l=e.find("A").attr("rel"),a.data("selectBox-last-selected",e),o.val()!==l&&(o.val(l),this.setLabel(),o.trigger("change")),!0},o.prototype.addHover=function(e){e=r(e),r(this.selectElement).data("selectBox-control").data("selectBox-options").find(".selectBox-hover").removeClass("selectBox-hover"),e.addClass("selectBox-hover")},o.prototype.getSelectElement=function(){return this.selectElement},o.prototype.removeHover=function(e){e=r(e),r(this.selectElement).data("selectBox-control").data("selectBox-options").find(".selectBox-hover").removeClass("selectBox-hover")},o.prototype.keepOptionInView=function(e,t){var s,o,a;e&&0!==e.length&&(o=(s=r(this.selectElement).data("selectBox-control")).data("selectBox-options"),s=s.hasClass("selectBox-dropdown")?o:o.parent(),o=parseInt(e.offset().top-s.position().top),a=parseInt(o+e.outerHeight()),t?s.scrollTop(e.offset().top-s.offset().top+s.scrollTop()-s.height()/2):(o<0&&s.scrollTop(e.offset().top-s.offset().top+s.scrollTop()),a>s.height()&&s.scrollTop(e.offset().top+e.outerHeight()-s.offset().top+s.scrollTop()-s.height())))},o.prototype.handleKeyDown=function(e){var t=r(this.selectElement),s=t.data("selectBox-control"),o=s.data("selectBox-options"),a=t.data("selectBox-settings"),n=0,l=0;if(!s.hasClass("selectBox-disabled"))switch(e.keyCode){case 8:e.preventDefault(),this.typeSearch="";break;case 9:case 27:this.hideMenus(),this.removeHover();break;case 13:s.hasClass("selectBox-menuShowing")?(this.selectOption(o.find("LI.selectBox-hover:first"),e),s.hasClass("selectBox-dropdown")&&this.hideMenus()):this.showMenu();break;case 38:case 37:if(e.preventDefault(),s.hasClass("selectBox-menuShowing")){for(var i=o.find(".selectBox-hover").prev("LI"),n=o.find("LI:not(.selectBox-optgroup)").length,l=0;(0===i.length||i.hasClass("selectBox-disabled")||i.hasClass("selectBox-optgroup"))&&(0===(i=i.prev("LI")).length&&(i=a.loopOptions?o.find("LI:last"):o.find("LI:first")),!(++l>=n)););this.addHover(i),this.selectOption(i,e),this.keepOptionInView(i)}else this.showMenu();break;case 40:case 39:if(e.preventDefault(),s.hasClass("selectBox-menuShowing")){var c=o.find(".selectBox-hover").next("LI");for(n=o.find("LI:not(.selectBox-optgroup)").length,l=0;(0===c.length||c.hasClass("selectBox-disabled")||c.hasClass("selectBox-optgroup"))&&(0===(c=c.next("LI")).length&&(c=a.loopOptions?o.find("LI:first"):o.find("LI:last")),!(++l>=n)););this.addHover(c),this.selectOption(c,e),this.keepOptionInView(c)}else this.showMenu()}},o.prototype.handleKeyPress=function(e){var t=r(this.selectElement).data("selectBox-control"),s=t.data("selectBox-options");if(!t.hasClass("selectBox-disabled"))switch(e.keyCode){case 9:case 27:case 13:case 38:case 37:case 40:case 39:break;default:t.hasClass("selectBox-menuShowing")||this.showMenu(),e.preventDefault(),clearTimeout(this.typeTimer),this.typeSearch+=String.fromCharCode(e.charCode||e.keyCode),s.find("A").each(function(){if(r(this).text().substr(0,this.typeSearch.length).toLowerCase()===this.typeSearch.toLowerCase())return this.addHover(r(this).parent()),this.selectOption(r(this).parent(),e),this.keepOptionInView(r(this).parent()),!1}),this.typeTimer=setTimeout(function(){this.typeSearch=""},1e3)}},o.prototype.enable=function(){var e=r(this.selectElement),e=(e.prop("disabled",!1),e.data("selectBox-control"));e&&e.removeClass("selectBox-disabled")},o.prototype.disable=function(){var e=r(this.selectElement),e=(e.prop("disabled",!0),e.data("selectBox-control"));e&&e.addClass("selectBox-disabled")},o.prototype.setValue=function(t){var e,s=r(this.selectElement),o=(s.val(t),null===(t=s.val())&&(t=s.children().first().val(),s.val(t)),s.data("selectBox-control"));o&&(e=s.data("selectBox-settings"),o=o.data("selectBox-options"),this.setLabel(),o.find(".selectBox-selected").removeClass("selectBox-selected"),o.find("A").each(function(){if("object"==typeof t)for(var e=0;e<t.length;e++)r(this).attr("rel")==t[e]&&r(this).parent().addClass("selectBox-selected");else r(this).attr("rel")==t&&r(this).parent().addClass("selectBox-selected")}),e.change)&&e.change.call(s)},o.prototype.setOptions=function(e){var t,s=r(this.selectElement),o=s.data("selectBox-control");s.data("selectBox-settings");switch(typeof e){case"string":s.html(e);break;case"object":for(var a in s.html(""),e)if(null!==e[a])if("object"==typeof e[a]){var n,l=r('<optgroup label="'+a+'" />');for(n in e[a])l.append('<option value="'+n+'">'+e[a][n]+"</option>");s.append(l)}else{var i=r('<option value="'+a+'">'+e[a]+"</option>");s.append(i)}}if(o)switch(o.data("selectBox-options").remove(),t=o.hasClass("selectBox-dropdown")?"dropdown":"inline",e=this.getOptions(t),o.data("selectBox-options",e),t){case"inline":o.append(e);break;case"dropdown":this.setLabel(),r("BODY").append(e)}},o.prototype.disableSelection=function(e){r(e).css("MozUserSelect","none").bind("selectstart",function(e){e.preventDefault()})},o.prototype.generateOptions=function(e,t){var s=r("<li />"),o=r("<a />");s.addClass(e.attr("class")),s.data(e.data()),o.attr("rel",e.val()).text(e.text()),s.append(o),e.attr("disabled")&&s.addClass("selectBox-disabled"),e.attr("selected")&&s.addClass("selectBox-selected"),t.append(s)},r.extend(r.fn,{selectBox:function(s,e){var t;switch(s){case"control":return r(this).data("selectBox-control");case"settings":if(!e)return r(this).data("selectBox-settings");r(this).each(function(){r(this).data("selectBox-settings",r.extend(!0,r(this).data("selectBox-settings"),e))});break;case"options":if(undefined===e)return r(this).data("selectBox-control").data("selectBox-options");r(this).each(function(){(t=r(this).data("selectBox"))&&t.setOptions(e)});break;case"value":if(undefined===e)return r(this).val();r(this).each(function(){(t=r(this).data("selectBox"))&&t.setValue(e)});break;case"refresh":r(this).each(function(){(t=r(this).data("selectBox"))&&t.refresh()});break;case"enable":r(this).each(function(){(t=r(this).data("selectBox"))&&t.enable(this)});break;case"disable":r(this).each(function(){(t=r(this).data("selectBox"))&&t.disable()});break;case"destroy":r(this).each(function(){(t=r(this).data("selectBox"))&&(t.destroy(),r(this).data("selectBox",null))});break;case"instance":return r(this).data("selectBox");default:r(this).each(function(e,t){r(t).data("selectBox")||r(t).data("selectBox",new o(t,s))})}return r(this)}})}(jQuery);
!function(t){function e(){var t=location.href;return hashtag=-1!==t.indexOf("#prettyPhoto")&&decodeURI(t.substring(t.indexOf("#prettyPhoto")+1,t.length)),hashtag&&(hashtag=hashtag.replace(/<|>/g,"")),hashtag}function i(t,e){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);return null==i?"":i[1]}t.prettyPhoto={version:"3.1.6"},t.fn.prettyPhoto=function(o){o=jQuery.extend({hook:"rel",animation_speed:"fast",ajaxcallback:function(){},slideshow:5e3,autoplay_slideshow:!1,opacity:.8,show_title:!0,allow_resize:!0,allow_expand:!0,default_width:500,default_height:344,counter_separator_label:"/",theme:"pp_default",horizontal_padding:20,hideflash:!1,wmode:"opaque",autoplay:!0,modal:!1,deeplinking:!0,overlay_gallery:!0,overlay_gallery_max:30,keyboard_shortcuts:!0,changepicturecallback:function(){},callback:function(){},ie6_fallback:!0,markup:'<div class="pp_pic_holder"> \t\t\t\t\t\t<div class="ppt">&nbsp;</div> \t\t\t\t\t\t<div class="pp_top"> \t\t\t\t\t\t\t<div class="pp_left"></div> \t\t\t\t\t\t\t<div class="pp_middle"></div> \t\t\t\t\t\t\t<div class="pp_right"></div> \t\t\t\t\t\t</div> \t\t\t\t\t\t<div class="pp_content_container"> \t\t\t\t\t\t\t<div class="pp_left"> \t\t\t\t\t\t\t<div class="pp_right"> \t\t\t\t\t\t\t\t<div class="pp_content"> \t\t\t\t\t\t\t\t\t<div class="pp_loaderIcon"></div> \t\t\t\t\t\t\t\t\t<div class="pp_fade"> \t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_expand" title="Expand the image">Expand</a> \t\t\t\t\t\t\t\t\t\t<div class="pp_hoverContainer"> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_next" href="#">next</a> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_previous" href="#">previous</a> \t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t\t<div id="pp_full_res"></div> \t\t\t\t\t\t\t\t\t\t<div class="pp_details"> \t\t\t\t\t\t\t\t\t\t\t<div class="pp_nav"> \t\t\t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_previous">Previous</a> \t\t\t\t\t\t\t\t\t\t\t\t<p class="currentTextHolder">0/0</p> \t\t\t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_next">Next</a> \t\t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t\t\t<p class="pp_description"></p> \t\t\t\t\t\t\t\t\t\t\t<div class="pp_social">{pp_social}</div> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_close" href="#">Close</a> \t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t</div> \t\t\t\t\t\t</div> \t\t\t\t\t\t<div class="pp_bottom"> \t\t\t\t\t\t\t<div class="pp_left"></div> \t\t\t\t\t\t\t<div class="pp_middle"></div> \t\t\t\t\t\t\t<div class="pp_right"></div> \t\t\t\t\t\t</div> \t\t\t\t\t</div> \t\t\t\t\t<div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery"> \t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_previous">Previous</a> \t\t\t\t\t\t\t\t<div> \t\t\t\t\t\t\t\t\t<ul> \t\t\t\t\t\t\t\t\t\t{gallery} \t\t\t\t\t\t\t\t\t</ul> \t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_next">Next</a> \t\t\t\t\t\t\t</div>',image_markup:'<img id="fullResImage" src="{path}" />',flash_markup:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',quicktime_markup:'<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="https://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="https://www.apple.com/quicktime/download/"></embed></object>',iframe_markup:'<iframe src="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',inline_markup:'<div class="pp_inline">{content}</div>',custom_markup:"",social_tools:'<div class="twitter"><a href="//twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"><\/script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>'},o);var p,a,s,n,l,r,d,h=this,c=!1,_=t(window).height(),g=t(window).width();function m(){t(".pp_loaderIcon").hide(),projectedTop=scroll_pos.scrollTop+(_/2-p.containerHeight/2),projectedTop<0&&(projectedTop=0),$ppt.fadeTo(settings.animation_speed,1),$pp_pic_holder.find(".pp_content").animate({height:p.contentHeight,width:p.contentWidth},settings.animation_speed),$pp_pic_holder.animate({top:projectedTop,left:g/2-p.containerWidth/2<0?0:g/2-p.containerWidth/2,width:p.containerWidth},settings.animation_speed,function(){$pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(p.height).width(p.width),$pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed),isSet&&"image"==y(pp_images[set_position])?$pp_pic_holder.find(".pp_hoverContainer").show():$pp_pic_holder.find(".pp_hoverContainer").hide(),settings.allow_expand&&(p.resized?t("a.pp_expand,a.pp_contract").show():t("a.pp_expand").hide()),!settings.autoplay_slideshow||d||a||t.prettyPhoto.startSlideshow(),settings.changepicturecallback(),a=!0}),isSet&&settings.overlay_gallery&&"image"==y(pp_images[set_position])?(itemWidth=57,navWidth="facebook"==settings.theme||"pp_default"==settings.theme?50:30,itemsPerPage=Math.floor((p.containerWidth-100-navWidth)/itemWidth),itemsPerPage=itemsPerPage<pp_images.length?itemsPerPage:pp_images.length,totalPage=Math.ceil(pp_images.length/itemsPerPage)-1,0==totalPage?(navWidth=0,$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").hide()):$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").show(),galleryWidth=itemsPerPage*itemWidth,fullGalleryWidth=pp_images.length*itemWidth,$pp_gallery.css("margin-left",-(galleryWidth/2+navWidth/2)).find("div:first").width(galleryWidth+5).find("ul").width(fullGalleryWidth).find("li.selected").removeClass("selected"),goToPage=Math.floor(set_position/itemsPerPage)<totalPage?Math.floor(set_position/itemsPerPage):totalPage,t.prettyPhoto.changeGalleryPage(goToPage),$pp_gallery_li.filter(":eq("+set_position+")").addClass("selected")):$pp_pic_holder.find(".pp_content").off("mouseenter mouseleave"),o.ajaxcallback()}function f(e){$pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility","hidden"),$pp_pic_holder.find(".pp_fade").fadeOut(settings.animation_speed,function(){t(".pp_loaderIcon").show(),e()})}function u(t,e){if(resized=!1,v(t,e),imageWidth=t,imageHeight=e,(r>g||l>_)&&doresize&&settings.allow_resize&&!c){for(resized=!0,fitting=!1;!fitting;)r>g?(imageWidth=g-200,imageHeight=e/t*imageWidth):l>_?(imageHeight=_-200,imageWidth=t/e*imageHeight):fitting=!0,l=imageHeight,r=imageWidth;(r>g||l>_)&&u(r,l),v(imageWidth,imageHeight)}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(l),containerWidth:Math.floor(r)+2*settings.horizontal_padding,contentHeight:Math.floor(s),contentWidth:Math.floor(n),resized:resized}}function v(e,i){e=parseFloat(e),i=parseFloat(i),$pp_details=$pp_pic_holder.find(".pp_details"),$pp_details.width(e),detailsHeight=parseFloat($pp_details.css("marginTop"))+parseFloat($pp_details.css("marginBottom")),$pp_details=$pp_details.clone().addClass(settings.theme).width(e).appendTo(t("body")).css({position:"absolute",top:-1e4}),detailsHeight+=$pp_details.height(),detailsHeight=detailsHeight<=34?36:detailsHeight,$pp_details.remove(),$pp_title=$pp_pic_holder.find(".ppt"),$pp_title.width(e),titleHeight=parseFloat($pp_title.css("marginTop"))+parseFloat($pp_title.css("marginBottom")),$pp_title=$pp_title.clone().appendTo(t("body")).css({position:"absolute",top:-1e4}),titleHeight+=$pp_title.height(),$pp_title.remove(),s=i+detailsHeight,n=e,l=s+titleHeight+$pp_pic_holder.find(".pp_top").height()+$pp_pic_holder.find(".pp_bottom").height(),r=e}function y(t){return t.match(/youtube\.com\/watch/i)||t.match(/youtu\.be/i)?"youtube":t.match(/vimeo\.com/i)?"vimeo":t.match(/\b.mov\b/i)?"quicktime":t.match(/\b.swf\b/i)?"flash":t.match(/\biframe=true\b/i)?"iframe":t.match(/\bajax=true\b/i)?"ajax":t.match(/\bcustom=true\b/i)?"custom":"#"==t.substr(0,1)?"inline":"image"}function w(){if(doresize&&"undefined"!=typeof $pp_pic_holder){if(scroll_pos=b(),contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width(),projectedTop=_/2+scroll_pos.scrollTop-contentHeight/2,projectedTop<0&&(projectedTop=0),contentHeight>_)return;$pp_pic_holder.css({top:projectedTop,left:g/2+scroll_pos.scrollLeft-contentwidth/2})}}function b(){return self.pageYOffset?{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}:document.documentElement&&document.documentElement.scrollTop?{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}:document.body?{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}:void 0}function k(e){if(settings.social_tools&&(facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href))),settings.markup=settings.markup.replace("{pp_social}",""),t("body").append(settings.markup),$pp_pic_holder=t(".pp_pic_holder"),$ppt=t(".ppt"),$pp_overlay=t("div.pp_overlay"),isSet&&settings.overlay_gallery){currentGalleryPage=0,toInject="";for(var i=0;i<pp_images.length;i++)pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)?(classname="",img_src=pp_images[i]):(classname="default",img_src=""),toInject+="<li class='"+classname+"'><a href='#'><img src='"+img_src+"' width='50' alt='' /></a></li>";toInject=settings.gallery_markup.replace(/{gallery}/g,toInject),$pp_pic_holder.find("#pp_full_res").after(toInject),$pp_gallery=t(".pp_pic_holder .pp_gallery"),$pp_gallery_li=$pp_gallery.find("li"),$pp_gallery.find(".pp_arrow_next").on("click",function(){return t.prettyPhoto.changeGalleryPage("next"),t.prettyPhoto.stopSlideshow(),!1}),$pp_gallery.find(".pp_arrow_previous").on("click",function(){return t.prettyPhoto.changeGalleryPage("previous"),t.prettyPhoto.stopSlideshow(),!1}),$pp_pic_holder.find(".pp_content").on("mouseenter",function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeIn()}).on("mouseleave",function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeOut()}),itemWidth=57,$pp_gallery_li.each(function(e){t(this).find("a").on("click",function(){return t.prettyPhoto.changePage(e),t.prettyPhoto.stopSlideshow(),!1})})}settings.slideshow&&($pp_pic_holder.find(".pp_nav").prepend('<a href="#" class="pp_play">Play</a>'),$pp_pic_holder.find(".pp_nav .pp_play").on("click",function(){return t.prettyPhoto.startSlideshow(),!1})),$pp_pic_holder.attr("class","pp_pic_holder "+settings.theme),$pp_overlay.css({opacity:0,height:t(document).height(),width:t(window).width()}).on("click",function(){settings.modal||t.prettyPhoto.close()}),t("a.pp_close").on("click",function(){return t.prettyPhoto.close(),!1}),settings.allow_expand&&t("a.pp_expand").on("click",function(e){return t(this).hasClass("pp_expand")?(t(this).removeClass("pp_expand").addClass("pp_contract"),doresize=!1):(t(this).removeClass("pp_contract").addClass("pp_expand"),doresize=!0),f(function(){t.prettyPhoto.open()}),!1}),$pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").on("click",function(){return t.prettyPhoto.changePage("previous"),t.prettyPhoto.stopSlideshow(),!1}),$pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").on("click",function(){return t.prettyPhoto.changePage("next"),t.prettyPhoto.stopSlideshow(),!1}),w()}return doresize=!0,scroll_pos=b(),t(window).off("resize.prettyphoto").on("resize.prettyphoto",function(){w(),_=t(window).height(),g=t(window).width(),"undefined"!=typeof $pp_overlay&&$pp_overlay.height(t(document).height()).width(g)}),o.keyboard_shortcuts&&t(document).off("keydown.prettyphoto").on("keydown.prettyphoto",function(e){if("undefined"!=typeof $pp_pic_holder&&$pp_pic_holder.is(":visible"))switch(e.keyCode){case 37:t.prettyPhoto.changePage("previous"),e.preventDefault();break;case 39:t.prettyPhoto.changePage("next"),e.preventDefault();break;case 27:settings.modal||t.prettyPhoto.close(),e.preventDefault()}}),t.prettyPhoto.initialize=function(){return settings=o,"pp_default"==settings.theme&&(settings.horizontal_padding=16),theRel=t(this).attr(settings.hook),galleryRegExp=/\[(?:.*)\]/,isSet=!!galleryRegExp.exec(theRel),pp_images=isSet?jQuery.map(h,function(e,i){if(-1!=t(e).attr(settings.hook).indexOf(theRel))return t(e).attr("href")}):t.makeArray(t(this).attr("href")),pp_titles=isSet?jQuery.map(h,function(e,i){if(-1!=t(e).attr(settings.hook).indexOf(theRel))return t(e).find("img").attr("alt")?t(e).find("img").attr("alt"):""}):t.makeArray(t(this).find("img").attr("alt")),pp_descriptions=isSet?jQuery.map(h,function(e,i){if(-1!=t(e).attr(settings.hook).indexOf(theRel))return t(e).attr("title")?t(e).attr("title"):""}):t.makeArray(t(this).attr("title")),pp_images.length>settings.overlay_gallery_max&&(settings.overlay_gallery=!1),set_position=jQuery.inArray(t(this).attr("href"),pp_images),rel_index=isSet?set_position:t("a["+settings.hook+"^='"+theRel+"']").index(t(this)),k(this),settings.allow_resize&&t(window).on("scroll.prettyphoto",function(){w()}),t.prettyPhoto.open(),!1},t.prettyPhoto.open=function(e){return"undefined"==typeof settings&&(settings=o,pp_images=t.makeArray(arguments[0]),pp_titles=arguments[1]?t.makeArray(arguments[1]):t.makeArray(""),pp_descriptions=arguments[2]?t.makeArray(arguments[2]):t.makeArray(""),isSet=pp_images.length>1,set_position=arguments[3]?arguments[3]:0,k(e.target)),settings.hideflash&&t("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","hidden"),t(pp_images).length>1?t(".pp_nav").show():t(".pp_nav").hide(),t(".pp_loaderIcon").show(),settings.deeplinking&&function(){if("undefined"==typeof theRel)return;location.hash=theRel+"/"+rel_index+"/"}(),settings.social_tools&&(facebook_like_link=settings.social_tools.replace("{location_href}",encodeURIComponent(location.href)),$pp_pic_holder.find(".pp_social").html(facebook_like_link)),$ppt.is(":hidden")&&$ppt.css("opacity",0).show(),$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity),$pp_pic_holder.find(".currentTextHolder").text(set_position+1+settings.counter_separator_label+t(pp_images).length),"undefined"!=typeof pp_descriptions[set_position]&&""!=pp_descriptions[set_position]?$pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position])):$pp_pic_holder.find(".pp_description").hide(),movie_width=parseFloat(i("width",pp_images[set_position]))?i("width",pp_images[set_position]):settings.default_width.toString(),movie_height=parseFloat(i("height",pp_images[set_position]))?i("height",pp_images[set_position]):settings.default_height.toString(),c=!1,-1!=movie_height.indexOf("%")&&(movie_height=parseFloat(t(window).height()*parseFloat(movie_height)/100-150),c=!0),-1!=movie_width.indexOf("%")&&(movie_width=parseFloat(t(window).width()*parseFloat(movie_width)/100-150),c=!0),$pp_pic_holder.fadeIn(function(){switch(settings.show_title&&""!=pp_titles[set_position]&&"undefined"!=typeof pp_titles[set_position]?$ppt.html(unescape(pp_titles[set_position])):$ppt.html("&nbsp;"),imgPreloader="",skipInjection=!1,y(pp_images[set_position])){case"image":imgPreloader=new Image,nextImage=new Image,isSet&&set_position<t(pp_images).length-1&&(nextImage.src=pp_images[set_position+1]),prevImage=new Image,isSet&&pp_images[set_position-1]&&(prevImage.src=pp_images[set_position-1]),$pp_pic_holder.find("#pp_full_res")[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]),imgPreloader.onload=function(){p=u(imgPreloader.width,imgPreloader.height),m()},imgPreloader.onerror=function(){alert("Image cannot be loaded. Make sure the path is correct and image exist."),t.prettyPhoto.close()},imgPreloader.src=pp_images[set_position];break;case"youtube":p=u(movie_width,movie_height),movie_id=i("v",pp_images[set_position]),""==movie_id&&(movie_id=pp_images[set_position].split("youtu.be/"),movie_id=movie_id[1],movie_id.indexOf("?")>0&&(movie_id=movie_id.substr(0,movie_id.indexOf("?"))),movie_id.indexOf("&")>0&&(movie_id=movie_id.substr(0,movie_id.indexOf("&")))),movie="//www.youtube.com/embed/"+movie_id,i("rel",pp_images[set_position])?movie+="?rel="+i("rel",pp_images[set_position]):movie+="?rel=1",settings.autoplay&&(movie+="&autoplay=1"),toInject=settings.iframe_markup.replace(/{width}/g,p.width).replace(/{height}/g,p.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"vimeo":p=u(movie_width,movie_height),movie_id=pp_images[set_position];var e=movie_id.match(/http(s?):\/\/(www\.)?vimeo.com\/(\d+)/);movie="//player.vimeo.com/video/"+e[3]+"?title=0&amp;byline=0&amp;portrait=0",settings.autoplay&&(movie+="&autoplay=1;"),vimeo_width=p.width+"/embed/?moog_width="+p.width,toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,p.height).replace(/{path}/g,movie);break;case"quicktime":(p=u(movie_width,movie_height)).height+=15,p.contentHeight+=15,p.containerHeight+=15,toInject=settings.quicktime_markup.replace(/{width}/g,p.width).replace(/{height}/g,p.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case"flash":p=u(movie_width,movie_height),flash_vars=pp_images[set_position],flash_vars=flash_vars.substring(pp_images[set_position].indexOf("flashvars")+10,pp_images[set_position].length),filename=pp_images[set_position],filename=filename.substring(0,filename.indexOf("?")),toInject=settings.flash_markup.replace(/{width}/g,p.width).replace(/{height}/g,p.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+"?"+flash_vars);break;case"iframe":p=u(movie_width,movie_height),frame_url=pp_images[set_position],frame_url=frame_url.substr(0,frame_url.indexOf("iframe")-1),toInject=settings.iframe_markup.replace(/{width}/g,p.width).replace(/{height}/g,p.height).replace(/{path}/g,frame_url);break;case"ajax":doresize=!1,p=u(movie_width,movie_height),doresize=!0,skipInjection=!0,t.get(pp_images[set_position],function(t){toInject=settings.inline_markup.replace(/{content}/g,t),$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject,m()});break;case"custom":p=u(movie_width,movie_height),toInject=settings.custom_markup;break;case"inline":myClone=t(pp_images[set_position]).clone().append('<br clear="all" />').css({width:settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo(t("body")).show(),doresize=!1,p=u(t(myClone).width(),t(myClone).height()),doresize=!0,t(myClone).remove(),toInject=settings.inline_markup.replace(/{content}/g,t(pp_images[set_position]).html())}imgPreloader||skipInjection||($pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject,m())}),!1},t.prettyPhoto.changePage=function(e){currentGalleryPage=0,"previous"==e?(set_position--,set_position<0&&(set_position=t(pp_images).length-1)):"next"==e?(set_position++,set_position>t(pp_images).length-1&&(set_position=0)):set_position=e,rel_index=set_position,doresize||(doresize=!0),settings.allow_expand&&t(".pp_contract").removeClass("pp_contract").addClass("pp_expand"),f(function(){t.prettyPhoto.open()})},t.prettyPhoto.changeGalleryPage=function(t){"next"==t?(currentGalleryPage++,currentGalleryPage>totalPage&&(currentGalleryPage=0)):"previous"==t?(currentGalleryPage--,currentGalleryPage<0&&(currentGalleryPage=totalPage)):currentGalleryPage=t,slide_speed="next"==t||"previous"==t?settings.animation_speed:0,slide_to=currentGalleryPage*(itemsPerPage*itemWidth),$pp_gallery.find("ul").animate({left:-slide_to},slide_speed)},t.prettyPhoto.startSlideshow=function(){void 0===d?($pp_pic_holder.find(".pp_play").off("click").removeClass("pp_play").addClass("pp_pause").on("click",function(){return t.prettyPhoto.stopSlideshow(),!1}),d=setInterval(t.prettyPhoto.startSlideshow,settings.slideshow)):t.prettyPhoto.changePage("next")},t.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find(".pp_pause").off("click").removeClass("pp_pause").addClass("pp_play").on("click",function(){return t.prettyPhoto.startSlideshow(),!1}),clearInterval(d),d=undefined},t.prettyPhoto.close=function(){$pp_overlay.is(":animated")||(t.prettyPhoto.stopSlideshow(),$pp_pic_holder.stop().find("object,embed").css("visibility","hidden"),t("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed,function(){t(this).remove()}),$pp_overlay.fadeOut(settings.animation_speed,function(){settings.hideflash&&t("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility","visible"),t(this).remove(),t(window).off("scroll.prettyphoto"),-1!==location.href.indexOf("#prettyPhoto")&&(location.hash="prettyPhoto"),settings.callback(),doresize=!0,a=!1,delete settings}))},!pp_alreadyInitialized&&e()&&(pp_alreadyInitialized=!0,hashIndex=e(),hashRel=hashIndex,hashIndex=hashIndex.substring(hashIndex.indexOf("/")+1,hashIndex.length-1),hashRel=hashRel.substring(0,hashRel.indexOf("/")),setTimeout(function(){t("a["+o.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger("click")},50)),this.off("click.prettyphoto").on("click.prettyphoto",t.prettyPhoto.initialize)}}(jQuery);var pp_alreadyInitialized=!1;
jQuery(function(d){function a(){"undefined"!=typeof d.fn.selectBox&&d("select.selectBox").filter(":visible").not(".enhanced").selectBox().addClass("enhanced")}function e(){var t,e,i,n;"undefined"!=typeof d.prettyPhoto&&(t={hook:"data-rel",social_tools:!1,theme:"pp_woocommerce yith-wcwl-pp-modal",horizontal_padding:20,opacity:.8,deeplinking:!1,overlay_gallery:!1,keyboard_shortcuts:!1,default_width:500,changepicturecallback:function(){a(),d(".wishlist-select").filter(":visible").change(),d(document).trigger("yith_wcwl_popup_opened",[this])},markup:'<div class="pp_pic_holder"><div class="pp_content_container"><div class="pp_content"><div class="pp_loaderIcon"></div><div class="pp_fade"><a href="#" class="pp_expand" title="Expand the image">Expand</a><div class="pp_hoverContainer"><a class="pp_next" href="#">next</a><a class="pp_previous" href="#">previous</a></div><div id="pp_full_res"></div><div class="pp_details"><a class="pp_close" href="#">Close</a></div></div></div></div></div><div class="pp_overlay yith-wcwl-overlay"></div>'},d('a[data-rel^="prettyPhoto[add_to_wishlist_"]').add('a[data-rel="prettyPhoto[ask_an_estimate]"]').add('a[data-rel="prettyPhoto[create_wishlist]"]').off("click").prettyPhoto(t),d('a[data-rel="prettyPhoto[move_to_another_wishlist]"]').on("click",function(){var t=d(this),e=d("#move_to_another_wishlist").find("form"),i=e.find(".row-id"),t=t.closest("[data-row-id]").data("row-id"),i=(i.length&&i.remove(),d("<input>",{type:"hidden",name:"row_id","class":"row-id"}).val(t));e.append(i)}).prettyPhoto(t),e=function(t,e){"undefined"!=typeof t.classList&&t.classList.contains("yith-wcwl-overlay")&&(t="remove"===e?"removeClass":"addClass",d("body")[t]("yith-wcwl-with-pretty-photo"))},i=function(t){e(t,"add")},n=function(t){e(t,"remove")},new MutationObserver(function(t){for(var e in t){e=t[e];"childList"===e.type&&("undefined"!=typeof e.addedNodes&&"function"==typeof e.addedNodes.forEach&&e.addedNodes.forEach(i),"undefined"!=typeof e.removedNodes)&&"function"==typeof e.addedNodes.forEach&&e.removedNodes.forEach(n)}}).observe(document.body,{childList:!0}))}function i(){d(".wishlist_table").find('.product-checkbox input[type="checkbox"]').off("change").on("change",function(){var t=d(this);t.parent().removeClass("checked").removeClass("unchecked").addClass(t.is(":checked")?"checked":"unchecked")}).trigger("change")}function n(){d(".add_to_cart").filter("[data-icon]").not(".icon-added").each(function(){var t=d(this),e=t.data("icon"),e=e.match(/[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)?/gi)?d("<img/>",{src:e}):d("<i/>",{"class":"fa "+e});t.prepend(e).addClass("icon-added")})}function c(){a(),e(),i(),n(),r(),o(),f(),_(),h(),w(),d(document).trigger("yith_wcwl_init_after_ajax")}function o(){yith_wcwl_l10n.enable_tooltip&&d(".yith-wcwl-add-to-wishlist").find("[data-title]").each(function(){var t=d(this);t.hasClass("tooltip-added")||(t.on("mouseenter",function(){var t=d(this),e=d("<span>",{"class":"yith-wcwl-tooltip",text:t.data("title")}),i=(t.append(e),e.outerWidth()+6);e.outerWidth(i),e.fadeIn(200),t.addClass("with-tooltip")}).on("mouseleave",function(){var t=d(this);t.find(".yith-wcwl-tooltip").fadeOut(200,function(){t.removeClass("with-tooltip").find(".yith-wcwl-tooltip").remove()})}),t.addClass("tooltip-added"))})}function r(){d(".yith-wcwl-add-button").filter(".with-dropdown").on("mouseleave",function(){var t=d(this).find(".yith-wcwl-dropdown");t.length&&t.fadeOut(200)}).children("a").on("mouseenter",function(){var t=d(this).closest(".with-dropdown"),e=t.find(".yith-wcwl-dropdown");e.length&&e.children().length&&t.find(".yith-wcwl-dropdown").fadeIn(200)})}function _(){"undefined"!=typeof yith_wcwl_l10n.enable_drag_n_drop&&yith_wcwl_l10n.enable_drag_n_drop&&d(".wishlist_table").filter(".sortable").not(".no-interactions").each(function(){var n=d(this),a=!1;n.sortable({items:"[data-row-id]",scroll:!0,helper:function(t,e){return e.children().each(function(){d(this).width(d(this).width())}),e},update:function(){var t=n.find("[data-row-id]"),e=[],i=0;t.length&&(a&&a.abort(),t.each(function(){var t=d(this);t.find('input[name*="[position]"]').val(i++),e.push(t.data("row-id"))}),a=d.ajax({data:{action:yith_wcwl_l10n.actions.sort_wishlist_items,nonce:yith_wcwl_l10n.nonce.sort_wishlist_items_nonce,context:"frontend",positions:e,wishlist_token:n.data("token"),page:n.data("page"),per_page:n.data("per-page")},method:"POST",url:yith_wcwl_l10n.ajax_url}))}})})}function h(){var o,s;d(".wishlist_table").on("change",".product-quantity :input",function(){var t=d(this),e=t.closest("[data-row-id]"),i=e.data("row-id"),n=t.closest(".wishlist_table"),a=n.data("token");clearTimeout(s),e.find(".add_to_cart").attr("data-quantity",t.val()),s=setTimeout(function(){o&&o.abort(),o=d.ajax({beforeSend:function(){j(n)},complete:function(){C(n)},data:{action:yith_wcwl_l10n.actions.update_item_quantity,nonce:yith_wcwl_l10n.nonce.update_item_quantity_nonce,context:"frontend",product_id:i,wishlist_token:a,quantity:t.val()},method:"POST",url:yith_wcwl_l10n.ajax_url})},1e3)})}function w(){d(".copy-trigger").on("click",function(){var t=d(".copy-target");0<t.length&&(t.is("input")?(l()?t[0].setSelectionRange(0,9999):t.select(),document.execCommand ("copy")):(t=d("<input/>",{val:t.text(),type:"text"}),d("body").append(t),l()?t[0].setSelectionRange(0,9999):t.select(),document.execCommand ("copy"),t.remove()))})}function f(){d(".wishlist_table").filter(".images_grid").not(".enhanced").on("click","[data-row-id] .product-thumbnail a",function(t){var e,i,n;yith_wcwl_l10n.disable_popup_grid_view||(i=(e=d(this).closest("[data-row-id]")).siblings("[data-row-id]"),n=e.find(".item-details"),t.preventDefault(),n.length&&(i.removeClass("show"),e.toggleClass("show")))}).on("click","[data-row-id] a.close",function(t){var e=d(this).closest("[data-row-id]"),i=e.find(".item-details");t.preventDefault(),i.length&&e.removeClass("show")}).on("click","[data-row-id] a.remove_from_wishlist",function(t){var e=d(this);return t.stopPropagation(),u(e),!1}).addClass("enhanced"),d(document).on("click",function(t){d(t.target).closest("[data-row-id]").length||d(".wishlist_table").filter(".images_grid").find(".show").removeClass("show")}).on("added_to_cart",function(){d(".wishlist_table").filter(".images_grid").find(".show").removeClass("show")})}function p(e,t,i){e.action=yith_wcwl_l10n.actions.move_to_another_wishlist_action,e.nonce=yith_wcwl_l10n.nonce.move_to_another_wishlist_nonce,e.context="frontend",""!==e.wishlist_token&&""!==e.destination_wishlist_token&&""!==e.item_id&&d.ajax({beforeSend:t,url:yith_wcwl_l10n.ajax_url,data:e,dataType:"json",method:"post",success:function(t){i(t),c(),d("body").trigger("moved_to_another_wishlist",[d(this),e.item_id])}})}function u(e){var t=e.parents(".cart.wishlist_table"),i=e.parents("[data-row-id]"),n=i.data("row-id"),a=t.data("id"),o=t.data("token"),a={action:yith_wcwl_l10n.actions.remove_from_wishlist_action,nonce:yith_wcwl_l10n.nonce.remove_from_wishlist_nonce,context:"frontend",remove_from_wishlist:n,wishlist_id:a,wishlist_token:o,fragments:S(n)};d.ajax({beforeSend:function(){j(t)},complete:function(){C(t)},data:a,method:"post",success:function(t){"undefined"!=typeof t.fragments&&D(t.fragments),c(),d("body").trigger("removed_from_wishlist",[e,i])},url:yith_wcwl_l10n.ajax_url})}function m(t){var e=d(this),i=e.closest(".wishlist_table"),n=null;t.preventDefault(),(n=i.length?e.closest("[data-wishlist-id]").find(".wishlist-title"):e.parents(".wishlist-title")).next().css("display","inline-block").find('input[type="text"]').focus(),n.hide()}function y(t){var e=d(this);t.preventDefault(),e.parents(".hidden-title-form").hide(),e.parents(".hidden-title-form").prev().show()}function v(t){var e=d(this),i=e.closest(".hidden-title-form"),e=e.closest("[data-wishlist-id]").data("wishlist-id"),n=i.find('input[type="text"]'),a=n.val();t.preventDefault(),a?(e=e||d("#wishlist_id").val(),t={action:yith_wcwl_l10n.actions.save_title_action,nonce:yith_wcwl_l10n.nonce.save_title_nonce,context:"frontend",wishlist_id:e,title:a,fragments:S()},d.ajax({type:"POST",url:yith_wcwl_l10n.ajax_url,data:t,dataType:"json",beforeSend:function(){j(i)},complete:function(){C(i)},success:function(t){var e=t.fragments;t.result?(i.hide(),i.prev().find(".wishlist-anchor, h1, h2").text(a).end().show()):(i.addClass("woocommerce-invalid"),n.focus()),void 0!==e&&D(e),c()}})):(i.addClass("woocommerce-invalid"),n.focus())}function g(){var t=d(this),e=t.val(),t=t.closest("[data-wishlist-id]").data("wishlist-id"),t={action:yith_wcwl_l10n.actions.save_privacy_action,nonce:yith_wcwl_l10n.nonce.save_privacy_nonce,context:"frontend",wishlist_id:t,privacy:e,fragments:S()};d.ajax({type:"POST",url:yith_wcwl_l10n.ajax_url,data:t,dataType:"json",success:function(t){t=t.fragments;void 0!==t&&D(t)}})}function b(t,e){if("undefined"!=typeof d.prettyPhoto&&"undefined"!=typeof d.prettyPhoto.close)if(void 0!==t){var i,n=d(".pp_content_container"),a=n.find(".pp_content"),n=n.find(".yith-wcwl-popup-form"),o=n.closest(".pp_pic_holder");n.length&&((i=d("<div/>",{"class":"yith-wcwl-popup-feedback"})).append(d("<i/>",{"class":"fa heading-icon "+("error"===e?"fa-exclamation-triangle":"fa-check")})),i.append(d("<p/>",{"class":"feedback",html:t})),i.css("display","none"),a.css("height","auto"),n.after(i),n.fadeOut(200,function(){i.fadeIn()}),o.addClass("feedback"),o.css("left",d(window).innerWidth()/2-o.outerWidth()/2+"px"),"undefined"!=typeof yith_wcwl_l10n.auto_close_popup&&!yith_wcwl_l10n.auto_close_popup||setTimeout(b,yith_wcwl_l10n.popup_timeout))}else try{d.prettyPhoto.close(),yith_wcwl_l10n.redirect_after_ask_estimate&&window.location.replace(yith_wcwl_l10n.ask_estimate_redirect_url)}catch(s){}}function k(t){var e=d("#yith-wcwl-popup-message"),i=d("#yith-wcwl-message"),n="undefined"!=typeof yith_wcwl_l10n.popup_timeout?yith_wcwl_l10n.popup_timeout:3e3;"undefined"!=typeof yith_wcwl_l10n.enable_notices&&!yith_wcwl_l10n.enable_notices||(i.html(t),e.css("margin-left","-"+d(e).width()+"px").fadeIn(),window.setTimeout(function(){e.fadeOut()},n))}function x(o){var t=d("select.wishlist-select"),e=d("ul.yith-wcwl-dropdown");t.each(function(){var i=d(this),t=i.find("option"),e=t.filter('[value="new"]');t.not(e).remove(),d.each(o,function(t,e){d("<option>",{value:e.id,html:e.wishlist_name}).appendTo(i)}),i.append(e)}),e.each(function(){var i=d(this),t=i.find("li"),e=i.closest(".yith-wcwl-add-button").children("a.add_to_wishlist"),n=e.attr("data-product-id"),a=e.attr("data-product-type");t.remove(),d.each(o,function(t,e){e["default"]||d("<li>").append(d("<a>",{rel:"nofollow",html:e.wishlist_name,"class":"add_to_wishlist",href:e.add_to_this_wishlist_url,"data-product-id":n,"data-product-type":a,"data-wishlist-id":e.id})).appendTo(i)})})}function j(t){"undefined"!=typeof d.fn.block&&t.fadeTo("400","0.6").block({message:null,overlayCSS:{background:"transparent url("+yith_wcwl_l10n.ajax_loader_url+") no-repeat center",backgroundSize:"40px 40px",opacity:1}})}function C(t){"undefined"!=typeof d.fn.unblock&&t.stop(!0).css("opacity","1").unblock()}function T(){if(navigator.cookieEnabled)return 1;document.cookie="cookietest=1";var t=-1!==document.cookie.indexOf("cookietest=");return document.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}function S(t){var i={},e=null;return t?"object"==typeof t?(e=(t=d.extend({fragments:null,s:"",container:d(document),firstLoad:!1},t)).fragments||t.container.find(".wishlist-fragment"),t.s&&(e=e.not("[data-fragment-ref]").add(e.filter('[data-fragment-ref="'+t.s+'"]'))),t.firstLoad&&(e=e.filter(".on-first-load"))):(e=d(".wishlist-fragment"),"string"!=typeof t&&"number"!=typeof t||(e=e.not("[data-fragment-ref]").add(e.filter('[data-fragment-ref="'+t+'"]')))):e=d(".wishlist-fragment"),e.length?(e.each(function(){var t=d(this),e=t.attr("class").split(" ").filter(t=>t.length&&"exists"!==t).join(yith_wcwl_l10n.fragments_index_glue);i[e]=t.data("fragment-options")}),i):null}function P(e){var i=S(e=d.extend({firstLoad:!0},e));i&&d.ajax({data:{action:yith_wcwl_l10n.actions.load_fragments,nonce:yith_wcwl_l10n.nonce.load_fragments_nonce,context:"frontend",fragments:i},method:"post",success:function(t){"undefined"!=typeof t.fragments&&(D(t.fragments,e),c(),d(document).trigger("yith_wcwl_fragments_loaded",[i,t.fragments,e.firstLoad]))},url:yith_wcwl_l10n.ajax_url})}function D(t,e={}){d.each(t,function(t,e){var t="."+t.split(yith_wcwl_l10n.fragments_index_glue).filter(t=>t.length&&"exists"!==t&&"with-count"!==t).join("."),i=d(t),n=d(e).filter(t);n.length||(n=d(e).find(t)),i.length&&n.length&&i.replaceWith(n)}),d(document.body).trigger("yith_wcwl_fragments_replaced",{fragments:t,data:e})}function t(){var t=d(".product-checkbox input:checked");s.prop("disabled",!t.length)}var s;function l(){return navigator.userAgent.match(/ipad|iphone/i)}function O(t){return!0===t||"yes"===t||"1"===t||1===t}d(document).on("yith_wcwl_init",function(){var l,t=d(this),s="undefined"!=typeof wc_add_to_cart_params&&null!==wc_add_to_cart_params?wc_add_to_cart_params.cart_redirect_after_add:"";t.on("click",".add_to_wishlist",function(t){var n=d(this),e=n.attr("data-product-id"),a=d(".add-to-wishlist-"+e),e={action:yith_wcwl_l10n.actions.add_to_wishlist_action,nonce:yith_wcwl_l10n.nonce.add_to_wishlist_nonce,context:"frontend",add_to_wishlist:e,product_type:n.data("product-type"),wishlist_id:n.data("wishlist-id"),fragments:S(e)};if((i=d(document).triggerHandler("yith_wcwl_add_to_wishlist_data",[n,e]))&&(e=i),t.preventDefault(),jQuery(document.body).trigger("adding_to_wishlist"),yith_wcwl_l10n.multi_wishlist&&yith_wcwl_l10n.modal_enable){var i=n.parents(".yith-wcwl-popup-footer").prev(".yith-wcwl-popup-content"),t=i.find(".wishlist-select"),o=i.find(".wishlist-name"),i=i.find(".wishlist-visibility").filter(":checked");if(e.wishlist_id=t.is(":visible")?t.val():"new",e.wishlist_name=o.val(),e.wishlist_visibility=i.val(),"new"===e.wishlist_id&&!e.wishlist_name)return o.closest("p").addClass("woocommerce-invalid"),!1;o.closest("p").removeClass("woocommerce-invalid")}if(T())return d.ajax({type:"POST",url:yith_wcwl_l10n.ajax_url,data:e,dataType:"json",beforeSend:function(){j(n)},complete:function(){C(n)},success:function(t){var e=t.result,i=t.message;yith_wcwl_l10n.multi_wishlist&&yith_wcwl_l10n.modal_enable?(b(i,e),"undefined"!=typeof t.user_wishlists&&x(t.user_wishlists)):k(i),"true"!==e&&"exists"!==e||("undefined"!=typeof t.fragments&&D(t.fragments),yith_wcwl_l10n.multi_wishlist&&!yith_wcwl_l10n.hide_add_button||a.find(".yith-wcwl-add-button").remove(),a.addClass("exists")),c(),d("body").trigger("added_to_wishlist",[n,a])}}),!1;window.alert(yith_wcwl_l10n.labels.cookie_disabled)}),t.on("click",".wishlist_table .remove_from_wishlist",function(t){var e=d(this);return t.preventDefault(),u(e),!1}),t.on("adding_to_cart","body",function(t,e,i){void 0!==e&&void 0!==i&&e.closest(".wishlist_table").length&&(i.remove_from_wishlist_after_add_to_cart=e.closest("[data-row-id]").data("row-id"),i.wishlist_id=e.closest(".wishlist_table").data("id"),"undefined"!=typeof wc_add_to_cart_params&&(wc_add_to_cart_params.cart_redirect_after_add=yith_wcwl_l10n.redirect_to_cart),"undefined"!=typeof yith_wccl_general)&&(yith_wccl_general.cart_redirect=O(yith_wcwl_l10n.redirect_to_cart))}),t.on("added_to_cart","body",function(t,e,i,n){var a,o;void 0!==n&&n.closest(".wishlist_table").length&&("undefined"!=typeof wc_add_to_cart_params&&(wc_add_to_cart_params.cart_redirect_after_add=s),"undefined"!=typeof yith_wccl_general&&(yith_wccl_general.cart_redirect=O(s)),o=(a=n.closest("[data-row-id]")).closest(".wishlist-fragment").data("fragment-options"),n.removeClass("added"),a.find(".added_to_cart").remove(),yith_wcwl_l10n.remove_from_wishlist_after_add_to_cart)&&o.is_user_owner&&a.remove()}),t.on("added_to_cart","body",function(){var t=d(".woocommerce-message");0===t.length?d("#yith-wcwl-form").prepend(yith_wcwl_l10n.labels.added_to_cart_message):t.fadeOut(300,function(){d(this).replaceWith(yith_wcwl_l10n.labels.added_to_cart_message).fadeIn()})}),t.on("cart_page_refreshed","body",c),t.on("click",".show-title-form",m),t.on("click",".wishlist-title-with-form h2",m),t.on("click",".remove_from_all_wishlists",function(t){var e=d(this),i=e.attr("data-product-id"),n=e.data("wishlist-id"),a=e.closest(".content"),e={action:yith_wcwl_l10n.actions.remove_from_all_wishlists,nonce:yith_wcwl_l10n.nonce.remove_from_all_wishlists_nonce,context:"frontend",prod_id:i,wishlist_id:n,fragments:S(i)};t.preventDefault(),d.ajax({beforeSend:function(){j(a)},complete:function(){C(a)},data:e,dataType:"json",method:"post",success:function(t){"undefined"!=typeof t.fragments&&D(t.fragments),c()},url:yith_wcwl_l10n.ajax_url})}),t.on("click",".hide-title-form",y),t.on("click",".save-title-form",v),t.on("change",".wishlist_manage_table .wishlist-visibility",g),t.on("change",".change-wishlist",function(){var t=d(this),e=t.parents(".cart.wishlist_table"),i=e.data("token"),n=t.parents("[data-row-id]").data("row-id");p({wishlist_token:i,destination_wishlist_token:t.val(),item_id:n,fragments:S()},function(){j(e)},function(t){"undefined"!=typeof t.fragments&&D(t.fragments),C(e)})}),t.on("click",".yith-wcwl-popup-footer .move_to_wishlist",function(){var i=d(this),t=i.attr("data-product-id"),e=i.data("origin-wishlist-id"),n=i.closest("form"),a=n.find(".wishlist-select").val(),o=n.find(".wishlist-name"),s=o.val(),n=n.find(".wishlist-visibility").filter(":checked").val();if("new"===a&&!s)return o.closest("p").addClass("woocommerce-invalid"),!1;o.closest("p").removeClass("woocommerce-invalid"),p({wishlist_token:e,destination_wishlist_token:a,item_id:t,wishlist_name:s,wishlist_visibility:n,fragments:S(t)},function(){j(i)},function(t){var e=t.message;yith_wcwl_l10n.multi_wishlist?(b(e),"undefined"!=typeof t.user_wishlists&&x(t.user_wishlists)):k(e),"undefined"!=typeof t.fragments&&D(t.fragments),c(),C(i)})}),t.on("click",".delete_item",function(){var i=d(this),t=i.attr("data-product-id"),e=i.data("item-id"),n=d(".add-to-wishlist-"+t),e={action:yith_wcwl_l10n.actions.delete_item_action,nonce:yith_wcwl_l10n.nonce.delete_item_nonce,context:"frontend",item_id:e,fragments:S(t)};return d.ajax({url:yith_wcwl_l10n.ajax_url,data:e,dataType:"json",beforeSend:function(){j(i)},complete:function(){C(i)},method:"post",success:function(t){var e=t.fragments,t=t.message;yith_wcwl_l10n.multi_wishlist&&b(t),i.closest(".yith-wcwl-remove-button").length||k(t),void 0!==e&&D(e),c(),d("body").trigger("removed_from_wishlist",[i,n])}}),!1}),t.on("change",".yith-wcwl-popup-content .wishlist-select",function(){var t=d(this);"new"===t.val()?t.parents(".yith-wcwl-first-row").next(".yith-wcwl-second-row").show():t.parents(".yith-wcwl-first-row").next(".yith-wcwl-second-row").hide()}),t.on("change","#bulk_add_to_cart",function(){var t=d(this),e=t.closest(".wishlist_table").find("[data-row-id]").find('input[type="checkbox"]:not(:disabled)');(t.is(":checked")?e.prop("checked","checked"):e.prop("checked",!1)).change()}),t.on("submit",".wishlist-ask-an-estimate-popup",function(){var t=d(this),i=t.closest("form"),n=t.closest(".pp_content"),t=i.serializeArray().reduce((t,e)=>(t[e.name]=e.value,t),{});return t.action=yith_wcwl_l10n.actions.ask_an_estimate,t.nonce=yith_wcwl_l10n.nonce.ask_an_estimate_nonce,t.context="frontend",d.ajax({beforeSend:function(){j(i)},complete:function(){C(i)},data:t,dataType:"json",method:"post",success:function(t){var e;"undefined"!=typeof t.result&&t.result?void 0!==(e=t.template)&&(i.replaceWith(e),n.css("height","auto"),setTimeout(b,yith_wcwl_l10n.time_to_close_prettyphoto)):"undefined"!=typeof t.message&&(i.find(".woocommerce-error").remove(),i.find(".popup-description").after(d("<div>",{text:t.message,"class":"woocommerce-error"})))},url:yith_wcwl_l10n.ajax_url}),!1}),t.on("click",".yith-wfbt-add-wishlist",function(t){t.preventDefault();var i,e,n,a,o,s,t=d(this),l=d("#yith-wcwl-form");d("html, body").animate({scrollTop:l.offset().top},500),i=l,t=(l=t).attr("data-product-id"),e=d(document).find(".cart.wishlist_table"),n=e.data("pagination"),a=e.data("per-page"),o=e.data("id"),s=e.data("token"),n={action:yith_wcwl_l10n.actions.reload_wishlist_and_adding_elem_action,nonce:yith_wcwl_l10n.nonce.reload_wishlist_and_adding_elem_nonce,context:"frontend",pagination:n,per_page:a,wishlist_id:o,wishlist_token:s,add_to_wishlist:t,product_type:l.data("product-type")},T()?d.ajax({type:"POST",url:yith_wcwl_l10n.ajax_url,data:n,dataType:"html",beforeSend:function(){j(e)},complete:function(){C(e)},success:function(t){var t=d(t),e=t.find("#yith-wcwl-form"),t=t.find(".yith-wfbt-slider-wrapper");i.replaceWith(e),d(".yith-wfbt-slider-wrapper").replaceWith(t),c(),d(document).trigger("yith_wcwl_reload_wishlist_from_frequently")}}):window.alert(yith_wcwl_l10n.labels.cookie_disabled)}),t.on("submit",".yith-wcwl-popup-form",function(){return!1}),t.on("yith_infs_added_elem",function(){e()}),t.on("found_variation",function(t,e){var i=d(t.target).data("product_id"),n=e.variation_id,t=d(".yith-wcwl-add-to-wishlist").find('[data-product-id="'+i+'"]'),e=d(".yith-wcwl-add-to-wishlist").find('[data-original-product-id="'+i+'"]'),e=t.add(e),t=e.closest(".wishlist-fragment").filter(":visible");i&&n&&e.length&&(e.each(function(){var t=d(this),e=t.closest(".yith-wcwl-add-to-wishlist");t.attr("data-original-product-id",i),t.attr("data-product-id",n),e.length&&(void 0!==(t=e.data("fragment-options"))&&(t.product_id=n,e.data("fragment-options",t)),e.removeClass(function(t,e){return e.match(/add-to-wishlist-\S+/g).join(" ")}).addClass("add-to-wishlist-"+n).attr("data-fragment-ref",n))}),yith_wcwl_l10n.reload_on_found_variation)&&(j(t),P({fragments:t,firstLoad:!1}))}),t.on("reset_data",function(t){var n=d(t.target).data("product_id"),t=d('[data-original-product-id="'+n+'"]'),e=t.closest(".wishlist-fragment").filter(":visible");n&&t.length&&(t.each(function(){var t=d(this),e=t.closest(".yith-wcwl-add-to-wishlist"),i=t.attr("data-product-id");t.attr("data-product-id",n),t.attr("data-original-product-id",""),e.length&&(void 0!==(t=e.data("fragment-options"))&&(t.product_id=n,e.data("fragment-options",t)),e.removeClass("add-to-wishlist-"+i).addClass("add-to-wishlist-"+n).attr("data-fragment-ref",n))}),yith_wcwl_l10n.reload_on_found_variation)&&(j(e),P({fragments:e,firstLoad:!1}))}),t.on("yith_wcwl_reload_fragments",(t,e)=>P(e)),t.on("yith_wcwl_reload_after_ajax",c),t.on("yith_infs_added_elem",function(t,e){P({container:e,firstLoad:!1})}),t.on("yith_wcwl_fragments_loaded",function(t,e,i,n){n&&d(".variations_form").find(".variations select").last().change()}),t.on("click",".yith-wcwl-popup-feedback .close-popup",function(t){t.preventDefault(),b()}),"undefined"!=typeof yith_wcwl_l10n.enable_notices&&!yith_wcwl_l10n.enable_notices||!d(".yith-wcwl-add-to-wishlist").length||d("#yith-wcwl-popup-message").length||(t=d("<div>").attr("id","yith-wcwl-message"),t=d("<div>").attr("id","yith-wcwl-popup-message").html(t).hide(),d("body").prepend(t)),o(),r(),_(),h(),f(),d(document).on("click",".show-tab",function(t){var e=d(this),i=e.closest(".yith-wcwl-popup-content"),n=e.data("tab"),a=i.find(".tab").filter("."+n);if(t.preventDefault(),!a.length)return!1;e.addClass("active").siblings(".show-tab").removeClass("active"),a.show().siblings(".tab").hide(),"create"===n?i.prepend('<input type="hidden" id="new_wishlist_selector" class="wishlist-select" value="new">'):i.find("#new_wishlist_selector").remove(),d(document).trigger("yith_wcwl_tab_selected",[n,a])}),d(document).on("change",".wishlist-select",function(){var t=d(this),e=t.closest(".yith-wcwl-popup-content"),i=t.closest(".tab"),n=e.find(".tab.create"),e=e.find(".show-tab"),a=e.filter('[data-tab="create"]');"new"===t.val()&&n.length&&(i.hide(),n.show(),e.removeClass("active"),a.addClass("active"),t.find("option:selected").prop("selected",!1),t.change())}),a(),i(),e(),n(),l=!1,yith_wcwl_l10n.is_wishlist_responsive&&d(window).on("resize",function(){var t=d(".wishlist_table.responsive"),e=t.is(".mobile"),i=window.matchMedia("(max-width: "+yith_wcwl_l10n.mobile_media_query+"px)"),n=t.closest("form"),a=n.attr("class"),n=n.data("fragment-options"),o={},s=!1;t.length&&(i.matches&&t&&!e?(n.is_mobile="yes",s=!0):!i.matches&&t&&e&&(n.is_mobile="no",s=!0),s)&&(l&&l.abort(),o[a.split(" ").join(yith_wcwl_l10n.fragments_index_glue)]=n,l=d.ajax({beforeSend:function(){j(t)},complete:function(){C(t)},data:{action:yith_wcwl_l10n.actions.load_mobile_action,nonce:yith_wcwl_l10n.nonce.load_mobile_nonce,context:"frontend",fragments:o},method:"post",success:function(t){"undefined"!=typeof t.fragments&&(D(t.fragments),c(),d(document).trigger("yith_wcwl_responsive_template",[e,t.fragments]))},url:yith_wcwl_l10n.ajax_url}))}),w(),yith_wcwl_l10n.enable_ajax_loading&&P()}).trigger("yith_wcwl_init"),d("form#yith-wcwl-form .wishlist_table .product-quantity input").on("keypress",function(t){if("13"==t.keyCode)return t.preventDefault(),!1}),d(document).ready(function(){"thumbnails"===yith_wcwl_l10n.yith_wcwl_button_position&&d(".woocommerce-product-gallery + div.yith-wcwl-add-to-wishlist").appendTo(".woocommerce-product-gallery")}),d(document).on("keydown",'#yith-wcwl-form input[name="wishlist_name"]',function(t){var e,i=t.key;["Enter","Escape"].includes(i)&&(e=d(this).closest(".wishlist-title-container"),("Enter"===i?e.find("a.save-title-form"):e.find("a.hide-title-form")).trigger("click"),t.preventDefault())}),s=d('input[name="apply_bulk_actions"]'),d(document).on("change",".product-checkbox input",t),t()});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.3",
x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),
x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){var c,d,p,g,m,v,y,w,b,_,t,e;return f&&f.of?(v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):h.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}},x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=(i=i||e.body).nodeName?i:e.body},x.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&x(t).trigger("blur")},
x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}})});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../ie","../version","../widget"],e):e(jQuery)}(function(o){"use strict";var n=!1;return o(document).on("mouseup",function(){n=!1}),o.widget("ui.mouse",{version:"1.13.3",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).on("click."+this.widgetName,function(e){if(!0===o.data(e.target,t.widgetName+".preventClickEvent"))return o.removeData(e.target,t.widgetName+".preventClickEvent"),e.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){var t,i,s;if(!n)return this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),i=1===(this._mouseDownEvent=e).which,s=!("string"!=typeof(t=this).options.cancel||!e.target.nodeName)&&o(e.target).closest(this.options.cancel).length,i&&!s&&this._mouseCapture(e)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){t.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?e.preventDefault():(!0===o.data(e.target,this.widgetName+".preventClickEvent")&&o.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return t._mouseMove(e)},this._mouseUpDelegate=function(e){return t._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0)),!0},_mouseMove:function(e){if(this._mouseMoved){if(o.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&o.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../keycode","../version","../widget"],e):e(jQuery)}(function(o){"use strict";return o.widget("ui.slider",o.ui.mouse,{version:"1.13.3",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,t=this.options,i=this.element.find(".ui-slider-handle"),s=[],a=t.values&&t.values.length||1;for(i.length>a&&(i.slice(a).remove(),i=i.slice(0,a)),e=i.length;e<a;e++)s.push("<span tabindex='0'></span>");this.handles=i.add(o(s.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){o(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:Array.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=o("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,a,n,t,h,l=this,u=this.options;return!u.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t),s=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var t=Math.abs(i-l.values(e));(t<s||s===t&&(e===l._lastChangedValue||l.values(e)===u.min))&&(s=t,a=o(this),n=e)}),!1!==this._start(e,n))&&(this._mouseSliding=!0,this._handleIndex=n,this._addClass(a,null,"ui-state-active"),a.trigger("focus"),t=a.offset(),h=!o(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-t.left-a.width()/2,top:e.pageY-t.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,n,i),this._animateOff=!0)},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},t=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,t),!1},_mouseStop:function(e){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,e="horizontal"===this.orientation?(t=this.elementSize.width,e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),e=e/t;return(e=1<e?1:e)<0&&(e=0),"vertical"===this.orientation&&(e=1-e),t=this._valueMax()-this._valueMin(),e=this._valueMin()+e*t,this._trimAlignValue(e)},_uiHash:function(e,t,i){var s={handle:this.handles[e],handleIndex:e,value:void 0!==t?t:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==t?t:this.values(e),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(e,t){return this._trigger("start",e,this._uiHash(t))},_slide:function(e,t,i){var s,a=this.value(),n=this.values();this._hasMultipleValues()&&(s=this.values(t?0:1),a=this.values(t),2===this.options.values.length&&!0===this.options.range&&(i=0===t?Math.min(s,i):Math.max(s,i)),n[t]=i),i!==a&&!1!==this._trigger("slide",e,this._uiHash(t,i,n))&&(this._hasMultipleValues()?this.values(t,i):this.value(i))},_stop:function(e,t){this._trigger("stop",e,this._uiHash(t))},_change:function(e,t){this._keySliding||this._mouseSliding||(this._lastChangedValue=t,this._trigger("change",e,this._uiHash(t)))},value:function(e){if(!arguments.length)return this._value();this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0)},values:function(e,t){var i,s,a;if(1<arguments.length)this.options.values[e]=this._trimAlignValue(t),this._refreshValue(),this._change(null,e);else{if(!arguments.length)return this._values();if(!Array.isArray(e))return this._hasMultipleValues()?this._values(e):this.value();for(i=this.options.values,s=e,a=0;a<i.length;a+=1)i[a]=this._trimAlignValue(s[a]),this._change(null,a);this._refreshValue()}},_setOption:function(e,t){var i,s=0;switch("range"===e&&!0===this.options.range&&("min"===t?(this.options.value=this._values(0),this.options.values=null):"max"===t&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),Array.isArray(this.options.values)&&(s=this.options.values.length),this._super(e,t),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(t),this.handles.css("horizontal"===t?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),i=s-1;0<=i;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(e){this._super(e),this._toggleClass(null,"ui-state-disabled",!!e)},_value:function(){var e=this.options.value;return this._trimAlignValue(e)},_values:function(e){var t,i;if(arguments.length)return e=this.options.values[e],this._trimAlignValue(e);if(this._hasMultipleValues()){for(t=this.options.values.slice(),i=0;i<t.length;i+=1)t[i]=this._trimAlignValue(t[i]);return t}return[]},_trimAlignValue:function(e){var t,i;return e<=this._valueMin()?this._valueMin():e>=this._valueMax()?this._valueMax():(t=0<this.options.step?this.options.step:1,i=e-(e=(e-this._valueMin())%t),2*Math.abs(e)>=t&&(i+=0<e?t:-t),parseFloat(i.toFixed(5)))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step;(e=Math.round((e-t)/i)*i+t)>this.options.max&&(e-=i),this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return e=null!==this.options.min?Math.max(e,this._precisionOf(this.options.min)):e},_precisionOf:function(e){var e=e.toString(),t=e.indexOf(".");return-1===t?0:e.length-t-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(e){"vertical"===e&&this.range.css({width:"",left:""}),"horizontal"===e&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var t,i,e,s,a,n=this.options.range,h=this.options,l=this,u=!this._animateOff&&h.animate,r={};this._hasMultipleValues()?this.handles.each(function(e){i=(l.values(e)-l._valueMin())/(l._valueMax()-l._valueMin())*100,r["horizontal"===l.orientation?"left":"bottom"]=i+"%",o(this).stop(1,1)[u?"animate":"css"](r,h.animate),!0===l.options.range&&("horizontal"===l.orientation?(0===e&&l.range.stop(1,1)[u?"animate":"css"]({left:i+"%"},h.animate),1===e&&l.range[u?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:h.animate})):(0===e&&l.range.stop(1,1)[u?"animate":"css"]({bottom:i+"%"},h.animate),1===e&&l.range[u?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:h.animate}))),t=i}):(e=this.value(),s=this._valueMin(),a=this._valueMax(),i=a!==s?(e-s)/(a-s)*100:0,r["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[u?"animate":"css"](r,h.animate),"min"===n&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:i+"%"},h.animate),"max"===n&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:100-i+"%"},h.animate),"min"===n&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:i+"%"},h.animate),"max"===n&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:100-i+"%"},h.animate))},_handleEvents:{keydown:function(e){var t,i,s,a=o(e.target).data("ui-slider-handle-index");switch(e.keyCode){case o.ui.keyCode.HOME:case o.ui.keyCode.END:case o.ui.keyCode.PAGE_UP:case o.ui.keyCode.PAGE_DOWN:case o.ui.keyCode.UP:case o.ui.keyCode.RIGHT:case o.ui.keyCode.DOWN:case o.ui.keyCode.LEFT:if(e.preventDefault(),this._keySliding||(this._keySliding=!0,this._addClass(o(e.target),null,"ui-state-active"),!1!==this._start(e,a)))break;return}switch(s=this.options.step,t=i=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case o.ui.keyCode.HOME:i=this._valueMin();break;case o.ui.keyCode.END:i=this._valueMax();break;case o.ui.keyCode.PAGE_UP:i=this._trimAlignValue(t+(this._valueMax()-this._valueMin())/this.numPages);break;case o.ui.keyCode.PAGE_DOWN:i=this._trimAlignValue(t-(this._valueMax()-this._valueMin())/this.numPages);break;case o.ui.keyCode.UP:case o.ui.keyCode.RIGHT:if(t===this._valueMax())return;i=this._trimAlignValue(t+s);break;case o.ui.keyCode.DOWN:case o.ui.keyCode.LEFT:if(t===this._valueMin())return;i=this._trimAlignValue(t-s)}this._slide(e,a,i)},keyup:function(e){var t=o(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,t),this._change(e,t),this._removeClass(o(e.target),null,"ui-state-active"))}}})});
!function(t){if(t.support.touch="ontouchend"in document,t.support.touch){var o,e=t.ui.mouse.prototype,u=e._mouseInit,n=e._mouseDestroy;e._touchStart=function(t){!o&&this._mouseCapture(t.originalEvent.changedTouches[0])&&(o=!0,this._touchMoved=!1,c(t,"mouseover"),c(t,"mousemove"),c(t,"mousedown"))},e._touchMove=function(t){o&&(this._touchMoved=!0,c(t,"mousemove"))},e._touchEnd=function(t){o&&(c(t,"mouseup"),c(t,"mouseout"),this._touchMoved||c(t,"click"),o=!1)},e._mouseInit=function(){this.element.on({touchstart:t.proxy(this,"_touchStart"),touchmove:t.proxy(this,"_touchMove"),touchend:t.proxy(this,"_touchEnd")}),u.call(this)},e._mouseDestroy=function(){this.element.off({touchstart:t.proxy(this,"_touchStart"),touchmove:t.proxy(this,"_touchMove"),touchend:t.proxy(this,"_touchEnd")}),n.call(this)}}function c(t,o){if(!(t.originalEvent.touches.length>1)){t.preventDefault();var e=t.originalEvent.changedTouches[0],u=document.createEvent("MouseEvents");u.initMouseEvent(o,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(u)}}}(jQuery);
!function(n,r){var e={version:"0.4.1",settings:{currency:{symbol:"$",format:"%s%v",decimal:".",thousand:",",precision:2,grouping:3},number:{precision:0,grouping:3,thousand:",",decimal:"."}}},t=Array.prototype.map,o=Array.isArray,a=Object.prototype.toString;function i(n){return!!(""===n||n&&n.charCodeAt&&n.substr)}function u(n){return o?o(n):"[object Array]"===a.call(n)}function c(n){return n&&"[object Object]"===a.call(n)}function s(n,r){var e;for(e in n=n||{},r=r||{})r.hasOwnProperty(e)&&null==n[e]&&(n[e]=r[e]);return n}function f(n,r,e){var o,a,i=[];if(!n)return i;if(t&&n.map===t)return n.map(r,e);for(o=0,a=n.length;o<a;o++)i[o]=r.call(e,n[o],o,n);return i}function p(n,r){return n=Math.round(Math.abs(n)),isNaN(n)?r:n}function l(n){var r=e.settings.currency.format;return"function"==typeof n&&(n=n()),i(n)&&n.match("%v")?{pos:n,neg:n.replace("-","").replace("%v","-%v"),zero:n}:n&&n.pos&&n.pos.match("%v")?n:i(r)?e.settings.currency.format={pos:r,neg:r.replace("%v","-%v"),zero:r}:r}var m,d=e.unformat=e.parse=function(n,r){if(u(n))return f(n,function(n){return d(n,r)});if("number"==typeof(n=n||0))return n;r=r||e.settings.number.decimal;var t=new RegExp("[^0-9-"+r+"]",["g"]),o=parseFloat((""+n).replace(/\((.*)\)/,"-$1").replace(t,"").replace(r,"."));return isNaN(o)?0:o},g=e.toFixed=function(n,r){r=p(r,e.settings.number.precision);var t=Math.pow(10,r);return(Math.round(e.unformat(n)*t)/t).toFixed(r)},h=e.formatNumber=e.format=function(n,r,t,o){if(u(n))return f(n,function(n){return h(n,r,t,o)});n=d(n);var a=s(c(r)?r:{precision:r,thousand:t,decimal:o},e.settings.number),i=p(a.precision),l=n<0?"-":"",m=parseInt(g(Math.abs(n||0),i),10)+"",y=m.length>3?m.length%3:0;return l+(y?m.substr(0,y)+a.thousand:"")+m.substr(y).replace(/(\d{3})(?=\d)/g,"$1"+a.thousand)+(i?a.decimal+g(Math.abs(n),i).split(".")[1]:"")},y=e.formatMoney=function(n,r,t,o,a,i){if(u(n))return f(n,function(n){return y(n,r,t,o,a,i)});n=d(n);var m=s(c(r)?r:{symbol:r,precision:t,thousand:o,decimal:a,format:i},e.settings.currency),g=l(m.format);return(n>0?g.pos:n<0?g.neg:g.zero).replace("%s",m.symbol).replace("%v",h(Math.abs(n),p(m.precision),m.thousand,m.decimal))};e.formatColumn=function(n,r,t,o,a,m){if(!n)return[];var g=s(c(r)?r:{symbol:r,precision:t,thousand:o,decimal:a,format:m},e.settings.currency),y=l(g.format),b=y.pos.indexOf("%s")<y.pos.indexOf("%v"),v=0;return f(f(n,function(n,r){if(u(n))return e.formatColumn(n,g);var t=((n=d(n))>0?y.pos:n<0?y.neg:y.zero).replace("%s",g.symbol).replace("%v",h(Math.abs(n),p(g.precision),g.thousand,g.decimal));return t.length>v&&(v=t.length),t}),function(n,r){return i(n)&&n.length<v?b?n.replace(g.symbol,g.symbol+new Array(v-n.length+1).join(" ")):new Array(v-n.length+1).join(" ")+n:n})},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.accounting=e):"function"==typeof define&&define.amd?define([],function(){return e}):(e.noConflict=(m=n.accounting,function(){return n.accounting=m,e.noConflict=void 0,e}),n.accounting=e)}(this);
jQuery(function(e){if("undefined"==typeof woocommerce_price_slider_params)return!1;function r(){e("input#min_price, input#max_price").hide(),e(".price_slider, .price_label").show();var r=e(".price_slider_amount #min_price").data("min"),i=e(".price_slider_amount #max_price").data("max"),c=e(".price_slider_amount").data("step")||1,o=e(".price_slider_amount #min_price").val(),_=e(".price_slider_amount #max_price").val();e(".price_slider:not(.ui-slider)").slider({range:!0,animate:!0,min:r,max:i,step:c,values:[o,_],create:function(){e(".price_slider_amount #min_price").val(o),e(".price_slider_amount #max_price").val(_),e(document.body).trigger("price_slider_create",[o,_])},slide:function(r,i){e("input#min_price").val(i.values[0]),e("input#max_price").val(i.values[1]),e(document.body).trigger("price_slider_slide",[i.values[0],i.values[1]])},change:function(r,i){e(document.body).trigger("price_slider_change",[i.values[0],i.values[1]])}})}e(document.body).on("price_slider_create price_slider_slide",function(r,i,c){e(".price_slider_amount span.from").html(accounting.formatMoney(i,{symbol:woocommerce_price_slider_params.currency_format_symbol,decimal:woocommerce_price_slider_params.currency_format_decimal_sep,thousand:woocommerce_price_slider_params.currency_format_thousand_sep,precision:woocommerce_price_slider_params.currency_format_num_decimals,format:woocommerce_price_slider_params.currency_format})),e(".price_slider_amount span.to").html(accounting.formatMoney(c,{symbol:woocommerce_price_slider_params.currency_format_symbol,decimal:woocommerce_price_slider_params.currency_format_decimal_sep,thousand:woocommerce_price_slider_params.currency_format_thousand_sep,precision:woocommerce_price_slider_params.currency_format_num_decimals,format:woocommerce_price_slider_params.currency_format})),e(document.body).trigger("price_slider_updated",[i,c])}),r(),e(document.body).on("init_price_filter",r),"undefined"!=typeof wp&&wp.customize&&wp.customize.selectiveRefresh&&wp.customize.widgetsPreview&&wp.customize.widgetsPreview.WidgetPartial&&wp.customize.selectiveRefresh.bind("partial-content-rendered",function(){r()})});
(function(e,i){"use strict";e=e||{},i.extend(e,{SidebarMenu:{defaults:{menu:i(".sidebar-menu:not(.side-menu-accordion)"),toggle:i(".widget_sidebar_menu .widget-title .toggle"),menu_toggle:i("#main-toggle-menu .menu-title")},rtl:e.rtl,initialize:function(e,t,s){return this.$menu&&this.$menu.length&&e&&e.length?(this.$menu=i.uniqueSort(i.merge(this.$menu,e)),this.build(),this):(this.$menu=e||this.defaults.menu,this.$menu.length?(this.$toggle=t||this.defaults.toggle,this.$menu_toggle=s||this.defaults.menu_toggle,this.events(),this):this)},isRightSidebar:function(e){var t=!1;t=this.rtl?!(i("#main").hasClass("column2-right-sidebar")||i("#main").hasClass("column2-wide-right-sidebar")):i("#main").hasClass("column2-right-sidebar")||i("#main").hasClass("column2-wide-right-sidebar"),e.closest("#main-toggle-menu").length&&(t=!!this.rtl);var s=e.closest(".header-wrapper");return s.length&&s.hasClass("header-side-nav")&&(t=!!this.rtl,i(".page-wrapper").hasClass("side-nav-right")&&(t=!this.rtl)),t},popupWidth:function(){var t=window.innerWidth,s=e.bodyWidth-2*e.grid_gutter_width;return i("body").hasClass("wide")||(t>=1140+e.grid_gutter_width&&t<=e.container_width+2*e.grid_gutter_width-1&&e.container_width>=1360?s=1140-e.grid_gutter_width:t>=e.container_width+e.grid_gutter_width-1?s=e.container_width-e.grid_gutter_width:t>=992?s=960-e.grid_gutter_width:t>=768&&(s=720-e.grid_gutter_width)),s},build:function(t){var s=this;if(t||(t=s.$menu),t.length){t.find(".menu-item-has-children").each((function(){var e=i(this);e.find(">.popup").length>0&&0==e.find(">.popup>.inner>.sub-menu > li:not(.hidden-item)").length&&e.addClass("hidden-item")}));var n=t.parent(".toggle-menu-wrap"),a=null;if(n.length&&n.is(":hidden")&&((a=n.get(0)).style.display="block",a.style.visibility="hidden"),t.each((function(){var n,a=this,o=i(this);if(!a.classList.contains("side-menu-slide")){if(window.innerWidth<992)n=s.popupWidth();else{var l=this.offsetWidth?this.offsetWidth:o.width();n=s.popupWidth()-l-45}var d=s.isRightSidebar(o),h=o.children("li");h.each((function(){var s=i(this),l=s.children(".popup");if(l.length){var r=l.get(0),u=!1;if(l.is(":visible")?u=!0:r.style.display="block",s.hasClass("wide")){o.hasClass("side-menu-columns")||(r.style.left=0);var c=4;s.hasClass("col-1")&&(c=1),s.hasClass("col-2")&&(c=2),s.hasClass("col-3")&&(c=3),s.hasClass("col-4")&&(c=4),s.hasClass("col-5")&&(c=5),s.hasClass("col-6")&&(c=6),window.innerWidth<992&&(c=1);var m=0;l.find("> .inner > ul > li").each((function(){var e=parseFloat(i(this).data("cols"));(!e||e<=0)&&(e=1),e>c&&(e=c),m+=e})),m>c&&(m=c);var p=l.data("popup-mw")?l.data("popup-mw"):l.find(".inner").css("max-width"),f=n/c;"none"!==p&&parseInt(p)<n&&(f=parseInt(p)/c),l.find("> .inner > ul > li").each((function(){var e=parseFloat(i(this).data("cols"));e<=0&&(e=1),e>c&&(e=c),s.hasClass("pos-center")||s.hasClass("pos-left")||s.hasClass("pos-right")?this.style.width=100/m*e+"%":this.style.width=100/c*e+"%"})),r.children[0].children[0].style.width=f*m+1+"px",o.hasClass("side-menu-columns")||(d?(r.style.left="auto",r.style.right=(this.offsetWidth?this.offsetWidth:i(this).width())+"px"):(r.style.left=(this.offsetWidth?this.offsetWidth:i(this).width())+"px",r.style.right="auto"))}u||(r.style.display="none"),a.classList.contains("side-menu-accordion")||a.classList.contains("side-menu-slide")||s.hasClass("sub-ready")||(!("ontouchstart"in document)&&window.innerWidth>991?s.on("mouseenter",(function(){if(h.find(".popup").hide(),l.show(),l.parent().addClass("open"),!o.hasClass("side-menu-columns")&&"static"!==l.parent().css("position")){let i=this.getBoundingClientRect().top;if(this.offsetParent&&i+r.offsetHeight>e.innerHeight){let t=i+r.offsetHeight-e.innerHeight,s=i-this.parentNode.getBoundingClientRect().top;s<t&&(t=s),r.style.top=-1*t+"px",r.style.setProperty("--porto-sd-menu-popup-top",-1*t+"px")}else r.style.top="",r.style.setProperty("--porto-sd-menu-popup-top","")}l.find(".owl-carousel").length&&l.find(".owl-carousel").each((function(){var e,t=i(this);if(!t.hasClass("owl-loaded")){var s=t.data("plugin-options");s&&(e=s),t.themeCarousel(e)}}))})).on("mouseleave",(function(){l.hide(),l.parent().removeClass("open")})):s.on("click",".arrow",(function(){!o.hasClass("side-menu-columns")&&!l.parent().hasClass("open")&&window.innerWidth>991&&t.children("li.has-sub").removeClass("open").children(".popup").hide(),l.slideToggle(),l.parent().toggleClass("open")})),s.addClass("sub-ready"))}}))}})),t.hasClass("side-menu-slide")){var o={$mainNav:t,$mainNavItem:t.find("li"),build:function(){this.menuNav()},initSub:function(e){var i=e.closest("ul"),t=e.parent().find("ul").first();t.children(".menu-item").children(".go-back").length<1&&t.prepend('<li class="menu-item"><a class="go-back" href="#">'+js_porto_vars.submenu_back+"</a></li>"),i.addClass("next-menu"),t.addClass("visible"),i.css({overflow:"visible","overflow-y":"visible"}),t.outerHeight()<t.closest(".header-main").outerHeight()-100&&t.css({height:t.outerHeight()+t.find("> li").outerHeight()});var s=t.find("> li").length*t.find("> li").outerHeight()-t.outerHeight();s>0&&t.css({overflow:"hidden","overflow-y":"scroll"}),t.css({"padding-top":s+"px"})},menuNav:function(){var e=this;e.$mainNav.find(".menu-item-has-children > a.nolink").removeClass("nolink").attr("href",""),e.$mainNav.find(".menu-item-has-children > a:not(.go-back)").off("click").on("click",(function(t){t.stopImmediatePropagation(),t.preventDefault();var s=i(this);js_porto_vars.lazyload_menu&&!e.$mainNav.hasClass("sub-ready")?(e.initSub(s),e.$mainNav.on("sub-loaded",(function(){e.initSub(s)}))):e.initSub(s)}))}};o.build()}return a&&(a.style.display="",a.style.visibility=""),s}},events:function(){var e,t=this;(t.$toggle.on("click",(function(){var e=i(this).parent().parent(),s=i(this);s.hasClass("closed")?(s.removeClass("closed"),e.removeClass("closed"),e.find(".sidebar-menu-wrap").stop().slideDown(400,(function(){i(this).attr("style","").show(),t.build()}))):(s.addClass("closed"),e.addClass("closed"),e.find(".sidebar-menu-wrap").stop().slideUp(400,(function(){i(this).attr("style","").hide()})))})),this.$menu_toggle.on("click",(function(){var e=i(this).parent();if(!e.hasClass("show-always")&&!e.hasClass("show-hover")){var s=i(this);s.hasClass("closed")?(s.removeClass("closed"),e.removeClass("closed"),e.find(".toggle-menu-wrap").stop().slideDown(400,(function(){i(this).attr("style","").show()})),t.build()):(s.addClass("closed"),e.addClass("closed"),e.find(".toggle-menu-wrap").stop().slideUp(400,(function(){i(this).attr("style","").hide()})))}})),t.$menu.hasClass("side-menu-slide")&&t.$menu.on("click",".go-back",(function(e){e.preventDefault();var t=i(this).closest(".next-menu"),s=0;t.length&&t.find("> li").length&&(s=t.find("> li").length*t.find("> li").outerHeight()-t.outerHeight()),t.removeClass("next-menu"),i(this).closest("ul").removeClass("visible"),s>0&&t.css({overflow:"hidden","overflow-y":"scroll"})})),i(".sidebar-menu:not(.side-menu-accordion)").closest("[data-plugin-sticky]").length)?i(window).smartresize((function(){e&&clearTimeout(e),e=setTimeout((function(){t.build()}),800)})):i(window).smartresize((function(e){e.originalEvent&&t.build()}));return setTimeout((function(){t.build()}),400),"ontouchstart"in document&&i(document.body).on("click",(function(e){window.innerWidth>991&&(i(e.target).closest("li.has-sub.open").length||t.$menu.each((function(){var e=i(this);e.hasClass("side-menu-accordion")||e.hasClass("side-menu-slide")||e.hasClass("side-menu-columns")||e.children("li.has-sub").removeClass("open").children(".popup").hide()})))})),t}}})}).apply(this,[window.theme,jQuery]),jQuery(document).ready((function(e){void 0!==theme.SidebarMenu&&(theme.bodyWidth||(theme.bodyWidth=theme.bodyWidth||document.body.offsetWidth),theme.SidebarMenu.initialize(),e.fn.themeAccordionMenu&&e(".sidebar-menu.side-menu-accordion").themeAccordionMenu({open_one:!0}))}));