function is_smooth_scroll() {
return "undefined" == typeof jupiterxOptions || void 0 === jupiterxOptions.smoothScroll ? null : 0 != jupiterxOptions.smoothScroll
}
window.noZensmooth = !0,
function() {
var r = !1
, s = /xyz/.test(function() {
xyz
}) ? /\b_super\b/ : /.*/;
this.Class = function() {}
,
Class.extend = function(e) {
var n = this.prototype;
r = !0;
var t = new this;
for (var i in r = !1,
e)
t[i] = "function" == typeof e[i] && "function" == typeof n[i] && s.test(e[i]) ? function(i, o) {
return function() {
var e = this._super;
this._super = n[i];
var t = o.apply(this, arguments);
return this._super = e,
t
}
}(i, e[i]) : e[i];
function o() {
!r && this.init && this.init.apply(this, arguments)
}
return ((o.prototype = t).constructor = o).extend = arguments.callee,
o
}
}(),
function(e, t, i) {
"use strict";
"function" == typeof define && define.amd ? define(i) : "undefined" != typeof module && module.exports ? module.exports = i() : t.PubSub = i("PubSub", t)
}(0, this, function(e, t) {
"use strict";
function o(e, t, i) {
var o;
for (o in e)
if (Object.prototype.hasOwnProperty.call(e, o) && t && !1 === t.call(i, e[o], o, e))
return;
return e
}
function n(e, t, i) {
for (var o, n, r = e._pubsub_topics, s = r[t] ? r[t].slice(0) : [], a = 0, l = s.length; a < l; a += 1)
n = s[a].token,
(o = s[a]).callback(i, {
name: t,
token: n
}),
!0 === o.once && e.unsubscribe(n)
}
function i(e) {
var t = Array.prototype.slice.call(e, 1);
return t.length <= 1 ? t[0] : t
}
function r(e, t, i, o) {
return !!e._pubsub_topics[t] && (o ? n(e, t, i) : setTimeout(function() {
n(e, t, i)
}, 0),
!0)
}
function s() {
return this instanceof s ? (this._pubsub_topics = {},
this._pubsub_uid = -1,
this) : new s
}
var a = (t || {})[e];
return s.prototype.subscribe = function(e, t, i) {
var o = this._pubsub_topics
, n = this._pubsub_uid += 1
, r = {};
if ("function" != typeof t)
throw new TypeError("When subscribing for an event, a callback function must be defined.");
return o[e] || (o[e] = []),
r.token = n,
r.callback = t,
r.once = !!i,
o[e].push(r),
n
}
,
s.prototype.subscribeOnce = function(e, t) {
return this.subscribe(e, t, !0)
}
,
s.prototype.publish = function(e) {
return r(this, e, i(arguments), !1)
}
,
s.prototype.publishSync = function(e) {
return r(this, e, i(arguments), !0)
}
,
s.prototype.unsubscribe = function(e) {
var t, i, o = this._pubsub_topics, n = !1;
for (t in o)
if (Object.prototype.hasOwnProperty.call(o, t) && o[t]) {
for (i = o[t].length; i; ) {
if (i -= 1,
o[t][i].token === e)
return o[t].splice(i, 1),
0 === o[t].length && delete o[t],
e;
t === e && (o[t].splice(i, 1),
0 === o[t].length && delete o[t],
n = !0)
}
if (!0 === n)
return e
}
return !1
}
,
s.prototype.unsubscribeAll = function() {
return this._pubsub_topics = {},
this
}
,
s.prototype.hasSubscribers = function(e) {
var t = this._pubsub_topics
, i = !1;
return null == e ? (o(t, function(e, t) {
if (t)
return !(i = !0)
}),
i) : Object.prototype.hasOwnProperty.call(t, e)
}
,
s.prototype.subscribers = function() {
var i = {};
return o(this._pubsub_topics, function(e, t) {
i[t] = e.slice(0)
}),
i
}
,
s.prototype.subscribersByTopic = function(e) {
return this._pubsub_topics[e] ? this._pubsub_topics[e].slice(0) : []
}
,
s.prototype.alias = function(i) {
return o(i, function(e, t) {
s.prototype[t] && (s.prototype[i[t]] = function(e) {
return function() {
return this[e].apply(this, arguments)
}
}(t))
}),
this
}
,
s.noConflict = function() {
return t && (t[e] = a),
s
}
,
s.version = "3.4.0",
s
}),
function() {
"use strict";
for (var t, i, e = ["webkit", "moz"], o = 0; o < e.length && !window.requestAnimationFrame; ++o) {
var n = e[o];
window.requestAnimationFrame = window[n + "RequestAnimationFrame"],
window.cancelAnimationFrame = window[n + "CancelAnimationFrame"] || window[n + "CancelRequestAnimationFrame"]
}
if (!/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) && window.requestAnimationFrame && window.cancelAnimationFrame)
window.jQuery && ((t = jQuery).fx.timer = function(e) {
e() && t.timers.push(e) && !i && (i = !0,
s())
}
,
t.fx.stop = function() {
i = !1
}
);
else {
var r = 0;
window.requestAnimationFrame = function(e) {
var t = +new Date
, i = Math.max(r + 16, t);
return setTimeout(function() {
e(r = i)
}, i - t)
}
,
window.cancelAnimationFrame = clearTimeout
}
function s() {
i && (requestAnimationFrame(s),
t.fx.tick())
}
if (!!(!window.performance || !window.performance.now)) {
var a = window.requestAnimationFrame
, l = +new Date;
window.requestAnimationFrame = function(t, e) {
a(function(e) {
return t(e < 1e12 ? e : e - l)
}, e)
}
}
}(),
function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.updwn = t()
}(this, function() {
var e = a()
, r = e.x
, s = e.y
, h = [];
function a() {
return "undefined" == typeof window ? {} : {
x: window.innerWidth,
y: window.pageYOffset
}
}
function i(n) {
requestAnimationFrame(function() {
for (var e = a(), t = e.x, i = e.y, o = 0; o < h.length; o++)
h[o]({
y: i,
prevY: s,
x: t,
prevX: r
}, n);
s = i,
r = t
})
}
return function(e) {
var a = e.speed;
void 0 === a && (a = 20);
var l = e.interval;
void 0 === l && (l = 100);
var t, d = null, c = 0, p = 0, u = [], f = [];
return t = function(e, t) {
var i = e.y
, o = e.prevY;
c = t.timeStamp - p,
p = t.timeStamp;
var n = (Math.abs(i - o) / c || 0) * l > a;
if (o <= i && "down" !== d && n) {
d = "down";
for (var r = 0; r < f.length; r++)
f[r]()
} else if (i <= o && "up" !== d && n) {
d = "up";
for (var s = 0; s < u.length; s++)
u[s]()
}
}
,
window.addEventListener("scroll", i),
window.addEventListener("resize", i),
h.indexOf(t) < 0 && h.push(t),
{
up: function(e) {
return u.indexOf(e) < 0 && u.push(e),
function() {
return u.splice(u.indexOf(e), 1)
}
},
down: function(e) {
return f.indexOf(e) < 0 && f.push(e),
function() {
return f.splice(f.indexOf(e), 1)
}
},
get position() {
return d
}
}
}
}),
function(e) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], e) : "undefined" != typeof exports ? module.exports = e(require("jquery")) : e(jQuery)
}(function(d) {
"use strict";
var n, s = window.Slick || {};
(n = 0,
s = function(e, t) {
var i, o = this;
o.defaults = {
accessibility: !0,
adaptiveHeight: !1,
appendArrows: d(e),
appendDots: d(e),
arrows: !0,
asNavFor: null,
prevArrow: '',
nextArrow: '',
autoplay: !1,
autoplaySpeed: 3e3,
centerMode: !1,
centerPadding: "50px",
cssEase: "ease",
customPaging: function(e, t) {
return d('').text(t + 1)
},
dots: !1,
dotsClass: "slick-dots",
draggable: !0,
easing: "linear",
edgeFriction: .35,
fade: !1,
focusOnSelect: !1,
focusOnChange: !1,
infinite: !0,
initialSlide: 0,
lazyLoad: "ondemand",
mobileFirst: !1,
pauseOnHover: !0,
pauseOnFocus: !0,
pauseOnDotsHover: !1,
respondTo: "window",
responsive: null,
rows: 1,
rtl: !1,
slide: "",
slidesPerRow: 1,
slidesToShow: 1,
slidesToScroll: 1,
speed: 500,
swipe: !0,
swipeToSlide: !1,
touchMove: !0,
touchThreshold: 5,
useCSS: !0,
useTransform: !0,
variableWidth: !1,
vertical: !1,
verticalSwiping: !1,
waitForAnimate: !0,
zIndex: 1e3
},
o.initials = {
animating: !1,
dragging: !1,
autoPlayTimer: null,
currentDirection: 0,
currentLeft: null,
currentSlide: 0,
direction: 1,
$dots: null,
listWidth: null,
listHeight: null,
loadIndex: 0,
$nextArrow: null,
$prevArrow: null,
scrolling: !1,
slideCount: null,
slideWidth: null,
$slideTrack: null,
$slides: null,
sliding: !1,
slideOffset: 0,
swipeLeft: null,
swiping: !1,
$list: null,
touchObject: {},
transformsEnabled: !1,
unslicked: !1
},
d.extend(o, o.initials),
o.activeBreakpoint = null,
o.animType = null,
o.animProp = null,
o.breakpoints = [],
o.breakpointSettings = [],
o.cssTransitions = !1,
o.focussed = !1,
o.interrupted = !1,
o.hidden = "hidden",
o.paused = !0,
o.positionProp = null,
o.respondTo = null,
o.rowCount = 1,
o.shouldClick = !0,
o.$slider = d(e),
o.$slidesCache = null,
o.transformType = null,
o.transitionType = null,
o.visibilityChange = "visibilitychange",
o.windowWidth = 0,
o.windowTimer = null,
i = d(e).data("slick") || {},
o.options = d.extend({}, o.defaults, t, i),
o.currentSlide = o.options.initialSlide,
o.originalSettings = o.options,
void 0 !== document.mozHidden ? (o.hidden = "mozHidden",
o.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (o.hidden = "webkitHidden",
o.visibilityChange = "webkitvisibilitychange"),
o.autoPlay = d.proxy(o.autoPlay, o),
o.autoPlayClear = d.proxy(o.autoPlayClear, o),
o.autoPlayIterator = d.proxy(o.autoPlayIterator, o),
o.changeSlide = d.proxy(o.changeSlide, o),
o.clickHandler = d.proxy(o.clickHandler, o),
o.selectHandler = d.proxy(o.selectHandler, o),
o.setPosition = d.proxy(o.setPosition, o),
o.swipeHandler = d.proxy(o.swipeHandler, o),
o.dragHandler = d.proxy(o.dragHandler, o),
o.keyHandler = d.proxy(o.keyHandler, o),
o.instanceUid = n++,
o.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/,
o.registerBreakpoints(),
o.init(!0)
}
).prototype.activateADA = function() {
this.$slideTrack.find(".slick-active").attr({
"aria-hidden": "false"
}).find("a, input, button, select").attr({
tabindex: "0"
})
}
,
s.prototype.addSlide = s.prototype.slickAdd = function(e, t, i) {
var o = this;
if ("boolean" == typeof t)
i = t,
t = null;
else if (t < 0 || t >= o.slideCount)
return !1;
o.unload(),
"number" == typeof t ? 0 === t && 0 === o.$slides.length ? d(e).appendTo(o.$slideTrack) : i ? d(e).insertBefore(o.$slides.eq(t)) : d(e).insertAfter(o.$slides.eq(t)) : !0 === i ? d(e).prependTo(o.$slideTrack) : d(e).appendTo(o.$slideTrack),
o.$slides = o.$slideTrack.children(this.options.slide),
o.$slideTrack.children(this.options.slide).detach(),
o.$slideTrack.append(o.$slides),
o.$slides.each(function(e, t) {
d(t).attr("data-slick-index", e)
}),
o.$slidesCache = o.$slides,
o.reinit()
}
,
s.prototype.animateHeight = function() {
var e = this;
if (1 === e.options.slidesToShow && !0 === e.options.adaptiveHeight && !1 === e.options.vertical) {
var t = e.$slides.eq(e.currentSlide).outerHeight(!0);
e.$list.animate({
height: t
}, e.options.speed)
}
}
,
s.prototype.animateSlide = function(e, t) {
var i = {}
, o = this;
o.animateHeight(),
!0 === o.options.rtl && !1 === o.options.vertical && (e = -e),
!1 === o.transformsEnabled ? !1 === o.options.vertical ? o.$slideTrack.animate({
left: e
}, o.options.speed, o.options.easing, t) : o.$slideTrack.animate({
top: e
}, o.options.speed, o.options.easing, t) : !1 === o.cssTransitions ? (!0 === o.options.rtl && (o.currentLeft = -o.currentLeft),
d({
animStart: o.currentLeft
}).animate({
animStart: e
}, {
duration: o.options.speed,
easing: o.options.easing,
step: function(e) {
e = Math.ceil(e),
!1 === o.options.vertical ? i[o.animType] = "translate(" + e + "px, 0px)" : i[o.animType] = "translate(0px," + e + "px)",
o.$slideTrack.css(i)
},
complete: function() {
t && t.call()
}
})) : (o.applyTransition(),
e = Math.ceil(e),
!1 === o.options.vertical ? i[o.animType] = "translate3d(" + e + "px, 0px, 0px)" : i[o.animType] = "translate3d(0px," + e + "px, 0px)",
o.$slideTrack.css(i),
t && setTimeout(function() {
o.disableTransition(),
t.call()
}, o.options.speed))
}
,
s.prototype.getNavTarget = function() {
var e = this.options.asNavFor;
return e && null !== e && (e = d(e).not(this.$slider)),
e
}
,
s.prototype.asNavFor = function(t) {
var e = this.getNavTarget();
null !== e && "object" == typeof e && e.each(function() {
var e = d(this).slick("getSlick");
e.unslicked || e.slideHandler(t, !0)
})
}
,
s.prototype.applyTransition = function(e) {
var t = this
, i = {};
!1 === t.options.fade ? i[t.transitionType] = t.transformType + " " + t.options.speed + "ms " + t.options.cssEase : i[t.transitionType] = "opacity " + t.options.speed + "ms " + t.options.cssEase,
!1 === t.options.fade ? t.$slideTrack.css(i) : t.$slides.eq(e).css(i)
}
,
s.prototype.autoPlay = function() {
var e = this;
e.autoPlayClear(),
e.slideCount > e.options.slidesToShow && (e.autoPlayTimer = setInterval(e.autoPlayIterator, e.options.autoplaySpeed))
}
,
s.prototype.autoPlayClear = function() {
this.autoPlayTimer && clearInterval(this.autoPlayTimer)
}
,
s.prototype.autoPlayIterator = function() {
var e = this
, t = e.currentSlide + e.options.slidesToScroll;
e.paused || e.interrupted || e.focussed || (!1 === e.options.infinite && (1 === e.direction && e.currentSlide + 1 === e.slideCount - 1 ? e.direction = 0 : 0 === e.direction && (t = e.currentSlide - e.options.slidesToScroll,
e.currentSlide - 1 == 0 && (e.direction = 1))),
e.slideHandler(t))
}
,
s.prototype.buildArrows = function() {
var e = this;
!0 === e.options.arrows && (e.$prevArrow = d(e.options.prevArrow).addClass("slick-arrow"),
e.$nextArrow = d(e.options.nextArrow).addClass("slick-arrow"),
e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows),
e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows),
!0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({
"aria-disabled": "true",
tabindex: "-1"
}))
}
,
s.prototype.buildDots = function() {
var e, t, i = this;
if (!0 === i.options.dots) {
for (i.$slider.addClass("slick-dotted"),
t = d("
").addClass(i.options.dotsClass),
e = 0; e <= i.getDotCount(); e += 1)
t.append(d("").append(i.options.customPaging.call(this, i, e)));
i.$dots = t.appendTo(i.options.appendDots),
i.$dots.find("li").first().addClass("slick-active")
}
}
,
s.prototype.buildOut = function() {
var e = this;
e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"),
e.slideCount = e.$slides.length,
e.$slides.each(function(e, t) {
d(t).attr("data-slick-index", e).data("originalStyling", d(t).attr("style") || "")
}),
e.$slider.addClass("slick-slider"),
e.$slideTrack = 0 === e.slideCount ? d('').appendTo(e.$slider) : e.$slides.wrapAll('').parent(),
e.$list = e.$slideTrack.wrap('').parent(),
e.$slideTrack.css("opacity", 0),
!0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1),
d("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"),
e.setupInfinite(),
e.buildArrows(),
e.buildDots(),
e.updateDots(),
e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0),
!0 === e.options.draggable && e.$list.addClass("draggable")
}
,
s.prototype.buildRows = function() {
var e, t, i, o, n, r, s, a = this;
if (o = document.createDocumentFragment(),
r = a.$slider.children(),
1 < a.options.rows) {
for (s = a.options.slidesPerRow * a.options.rows,
n = Math.ceil(r.length / s),
e = 0; e < n; e++) {
var l = document.createElement("div");
for (t = 0; t < a.options.rows; t++) {
var d = document.createElement("div");
for (i = 0; i < a.options.slidesPerRow; i++) {
var c = e * s + (t * a.options.slidesPerRow + i);
r.get(c) && d.appendChild(r.get(c))
}
l.appendChild(d)
}
o.appendChild(l)
}
a.$slider.empty().append(o),
a.$slider.children().children().children().css({
width: 100 / a.options.slidesPerRow + "%",
display: "inline-block"
})
}
}
,
s.prototype.checkResponsive = function(e, t) {
var i, o, n, r = this, s = !1, a = r.$slider.width(), l = window.innerWidth || d(window).width();
if ("window" === r.respondTo ? n = l : "slider" === r.respondTo ? n = a : "min" === r.respondTo && (n = Math.min(l, a)),
r.options.responsive && r.options.responsive.length && null !== r.options.responsive) {
for (i in o = null,
r.breakpoints)
r.breakpoints.hasOwnProperty(i) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[i] && (o = r.breakpoints[i]) : n > r.breakpoints[i] && (o = r.breakpoints[i]));
null !== o ? null !== r.activeBreakpoint ? o === r.activeBreakpoint && !t || (r.activeBreakpoint = o,
"unslick" === r.breakpointSettings[o] ? r.unslick(o) : (r.options = d.extend({}, r.originalSettings, r.breakpointSettings[o]),
!0 === e && (r.currentSlide = r.options.initialSlide),
r.refresh(e)),
s = o) : (r.activeBreakpoint = o,
"unslick" === r.breakpointSettings[o] ? r.unslick(o) : (r.options = d.extend({}, r.originalSettings, r.breakpointSettings[o]),
!0 === e && (r.currentSlide = r.options.initialSlide),
r.refresh(e)),
s = o) : null !== r.activeBreakpoint && (r.activeBreakpoint = null,
r.options = r.originalSettings,
!0 === e && (r.currentSlide = r.options.initialSlide),
r.refresh(e),
s = o),
e || !1 === s || r.$slider.trigger("breakpoint", [r, s])
}
}
,
s.prototype.changeSlide = function(e, t) {
var i, o, n = this, r = d(e.currentTarget);
switch (r.is("a") && e.preventDefault(),
r.is("li") || (r = r.closest("li")),
i = n.slideCount % n.options.slidesToScroll != 0 ? 0 : (n.slideCount - n.currentSlide) % n.options.slidesToScroll,
e.data.message) {
case "previous":
o = 0 == i ? n.options.slidesToScroll : n.options.slidesToShow - i,
n.slideCount > n.options.slidesToShow && n.slideHandler(n.currentSlide - o, !1, t);
break;
case "next":
o = 0 == i ? n.options.slidesToScroll : i,
n.slideCount > n.options.slidesToShow && n.slideHandler(n.currentSlide + o, !1, t);
break;
case "index":
var s = 0 === e.data.index ? 0 : e.data.index || r.index() * n.options.slidesToScroll;
n.slideHandler(n.checkNavigable(s), !1, t),
r.children().trigger("focus");
break;
default:
return
}
}
,
s.prototype.checkNavigable = function(e) {
var t, i;
if (i = 0,
e > (t = this.getNavigableIndexes())[t.length - 1])
e = t[t.length - 1];
else
for (var o in t) {
if (e < t[o]) {
e = i;
break
}
i = t[o]
}
return e
}
,
s.prototype.cleanUpEvents = function() {
var e = this;
e.options.dots && null !== e.$dots && (d("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", d.proxy(e.interrupt, e, !0)).off("mouseleave.slick", d.proxy(e.interrupt, e, !1)),
!0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)),
e.$slider.off("focus.slick blur.slick"),
!0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide),
e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide),
!0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler),
e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))),
e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler),
e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler),
e.$list.off("touchend.slick mouseup.slick", e.swipeHandler),
e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler),
e.$list.off("click.slick", e.clickHandler),
d(document).off(e.visibilityChange, e.visibility),
e.cleanUpSlideEvents(),
!0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler),
!0 === e.options.focusOnSelect && d(e.$slideTrack).children().off("click.slick", e.selectHandler),
d(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange),
d(window).off("resize.slick.slick-" + e.instanceUid, e.resize),
d("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault),
d(window).off("load.slick.slick-" + e.instanceUid, e.setPosition)
}
,
s.prototype.cleanUpSlideEvents = function() {
var e = this;
e.$list.off("mouseenter.slick", d.proxy(e.interrupt, e, !0)),
e.$list.off("mouseleave.slick", d.proxy(e.interrupt, e, !1))
}
,
s.prototype.cleanUpRows = function() {
var e;
1 < this.options.rows && ((e = this.$slides.children().children()).removeAttr("style"),
this.$slider.empty().append(e))
}
,
s.prototype.clickHandler = function(e) {
!1 === this.shouldClick && (e.stopImmediatePropagation(),
e.stopPropagation(),
e.preventDefault())
}
,
s.prototype.destroy = function(e) {
var t = this;
t.autoPlayClear(),
t.touchObject = {},
t.cleanUpEvents(),
d(".slick-cloned", t.$slider).detach(),
t.$dots && t.$dots.remove(),
t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""),
t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()),
t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""),
t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()),
t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
d(this).attr("style", d(this).data("originalStyling"))
}),
t.$slideTrack.children(this.options.slide).detach(),
t.$slideTrack.detach(),
t.$list.detach(),
t.$slider.append(t.$slides)),
t.cleanUpRows(),
t.$slider.removeClass("slick-slider"),
t.$slider.removeClass("slick-initialized"),
t.$slider.removeClass("slick-dotted"),
t.unslicked = !0,
e || t.$slider.trigger("destroy", [t])
}
,
s.prototype.disableTransition = function(e) {
var t = {};
t[this.transitionType] = "",
!1 === this.options.fade ? this.$slideTrack.css(t) : this.$slides.eq(e).css(t)
}
,
s.prototype.fadeSlide = function(e, t) {
var i = this;
!1 === i.cssTransitions ? (i.$slides.eq(e).css({
zIndex: i.options.zIndex
}),
i.$slides.eq(e).animate({
opacity: 1
}, i.options.speed, i.options.easing, t)) : (i.applyTransition(e),
i.$slides.eq(e).css({
opacity: 1,
zIndex: i.options.zIndex
}),
t && setTimeout(function() {
i.disableTransition(e),
t.call()
}, i.options.speed))
}
,
s.prototype.fadeSlideOut = function(e) {
var t = this;
!1 === t.cssTransitions ? t.$slides.eq(e).animate({
opacity: 0,
zIndex: t.options.zIndex - 2
}, t.options.speed, t.options.easing) : (t.applyTransition(e),
t.$slides.eq(e).css({
opacity: 0,
zIndex: t.options.zIndex - 2
}))
}
,
s.prototype.filterSlides = s.prototype.slickFilter = function(e) {
var t = this;
null !== e && (t.$slidesCache = t.$slides,
t.unload(),
t.$slideTrack.children(this.options.slide).detach(),
t.$slidesCache.filter(e).appendTo(t.$slideTrack),
t.reinit())
}
,
s.prototype.focusHandler = function() {
var i = this;
i.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function(e) {
e.stopImmediatePropagation();
var t = d(this);
setTimeout(function() {
i.options.pauseOnFocus && (i.focussed = t.is(":focus"),
i.autoPlay())
}, 0)
})
}
,
s.prototype.getCurrent = s.prototype.slickCurrentSlide = function() {
return this.currentSlide
}
,
s.prototype.getDotCount = function() {
var e = this
, t = 0
, i = 0
, o = 0;
if (!0 === e.options.infinite)
if (e.slideCount <= e.options.slidesToShow)
++o;
else
for (; t < e.slideCount; )
++o,
t = i + e.options.slidesToScroll,
i += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
else if (!0 === e.options.centerMode)
o = e.slideCount;
else if (e.options.asNavFor)
for (; t < e.slideCount; )
++o,
t = i + e.options.slidesToScroll,
i += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
else
o = 1 + Math.ceil((e.slideCount - e.options.slidesToShow) / e.options.slidesToScroll);
return o - 1
}
,
s.prototype.getLeft = function(e) {
var t, i, o, n, r = this, s = 0;
return r.slideOffset = 0,
i = r.$slides.first().outerHeight(!0),
!0 === r.options.infinite ? (r.slideCount > r.options.slidesToShow && (r.slideOffset = r.slideWidth * r.options.slidesToShow * -1,
n = -1,
!0 === r.options.vertical && !0 === r.options.centerMode && (2 === r.options.slidesToShow ? n = -1.5 : 1 === r.options.slidesToShow && (n = -2)),
s = i * r.options.slidesToShow * n),
r.slideCount % r.options.slidesToScroll != 0 && e + r.options.slidesToScroll > r.slideCount && r.slideCount > r.options.slidesToShow && (s = e > r.slideCount ? (r.slideOffset = (r.options.slidesToShow - (e - r.slideCount)) * r.slideWidth * -1,
(r.options.slidesToShow - (e - r.slideCount)) * i * -1) : (r.slideOffset = r.slideCount % r.options.slidesToScroll * r.slideWidth * -1,
r.slideCount % r.options.slidesToScroll * i * -1))) : e + r.options.slidesToShow > r.slideCount && (r.slideOffset = (e + r.options.slidesToShow - r.slideCount) * r.slideWidth,
s = (e + r.options.slidesToShow - r.slideCount) * i),
r.slideCount <= r.options.slidesToShow && (s = r.slideOffset = 0),
!0 === r.options.centerMode && r.slideCount <= r.options.slidesToShow ? r.slideOffset = r.slideWidth * Math.floor(r.options.slidesToShow) / 2 - r.slideWidth * r.slideCount / 2 : !0 === r.options.centerMode && !0 === r.options.infinite ? r.slideOffset += r.slideWidth * Math.floor(r.options.slidesToShow / 2) - r.slideWidth : !0 === r.options.centerMode && (r.slideOffset = 0,
r.slideOffset += r.slideWidth * Math.floor(r.options.slidesToShow / 2)),
t = !1 === r.options.vertical ? e * r.slideWidth * -1 + r.slideOffset : e * i * -1 + s,
!0 === r.options.variableWidth && (o = r.slideCount <= r.options.slidesToShow || !1 === r.options.infinite ? r.$slideTrack.children(".slick-slide").eq(e) : r.$slideTrack.children(".slick-slide").eq(e + r.options.slidesToShow),
t = !0 === r.options.rtl ? o[0] ? -1 * (r.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0,
!0 === r.options.centerMode && (o = r.slideCount <= r.options.slidesToShow || !1 === r.options.infinite ? r.$slideTrack.children(".slick-slide").eq(e) : r.$slideTrack.children(".slick-slide").eq(e + r.options.slidesToShow + 1),
t = !0 === r.options.rtl ? o[0] ? -1 * (r.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0,
t += (r.$list.width() - o.outerWidth()) / 2)),
t
}
,
s.prototype.getOption = s.prototype.slickGetOption = function(e) {
return this.options[e]
}
,
s.prototype.getNavigableIndexes = function() {
var e, t = this, i = 0, o = 0, n = [];
for (e = !1 === t.options.infinite ? t.slideCount : (i = -1 * t.options.slidesToScroll,
o = -1 * t.options.slidesToScroll,
2 * t.slideCount); i < e; )
n.push(i),
i = o + t.options.slidesToScroll,
o += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow;
return n
}
,
s.prototype.getSlick = function() {
return this
}
,
s.prototype.getSlideCount = function() {
var i, o, n = this;
return o = !0 === n.options.centerMode ? n.slideWidth * Math.floor(n.options.slidesToShow / 2) : 0,
!0 === n.options.swipeToSlide ? (n.$slideTrack.find(".slick-slide").each(function(e, t) {
if (t.offsetLeft - o + d(t).outerWidth() / 2 > -1 * n.swipeLeft)
return i = t,
!1
}),
Math.abs(d(i).attr("data-slick-index") - n.currentSlide) || 1) : n.options.slidesToScroll
}
,
s.prototype.goTo = s.prototype.slickGoTo = function(e, t) {
this.changeSlide({
data: {
message: "index",
index: parseInt(e)
}
}, t)
}
,
s.prototype.init = function(e) {
var t = this;
d(t.$slider).hasClass("slick-initialized") || (d(t.$slider).addClass("slick-initialized"),
t.buildRows(),
t.buildOut(),
t.setProps(),
t.startLoad(),
t.loadSlider(),
t.initializeEvents(),
t.updateArrows(),
t.updateDots(),
t.checkResponsive(!0),
t.focusHandler()),
e && t.$slider.trigger("init", [t]),
!0 === t.options.accessibility && t.initADA(),
t.options.autoplay && (t.paused = !1,
t.autoPlay())
}
,
s.prototype.initADA = function() {
var i = this
, o = Math.ceil(i.slideCount / i.options.slidesToShow)
, n = i.getNavigableIndexes().filter(function(e) {
return 0 <= e && e < i.slideCount
});
i.$slides.add(i.$slideTrack.find(".slick-cloned")).attr({
"aria-hidden": "true",
tabindex: "-1"
}).find("a, input, button, select").attr({
tabindex: "-1"
}),
null !== i.$dots && (i.$slides.not(i.$slideTrack.find(".slick-cloned")).each(function(e) {
var t = n.indexOf(e);
d(this).attr({
role: "tabpanel",
id: "slick-slide" + i.instanceUid + e,
tabindex: -1
}),
-1 !== t && d(this).attr({
"aria-describedby": "slick-slide-control" + i.instanceUid + t
})
}),
i.$dots.attr("role", "tablist").find("li").each(function(e) {
var t = n[e];
d(this).attr({
role: "presentation"
}),
d(this).find("button").first().attr({
role: "tab",
id: "slick-slide-control" + i.instanceUid + e,
"aria-controls": "slick-slide" + i.instanceUid + t,
"aria-label": e + 1 + " of " + o,
"aria-selected": null,
tabindex: "-1"
})
}).eq(i.currentSlide).find("button").attr({
"aria-selected": "true",
tabindex: "0"
}).end());
for (var e = i.currentSlide, t = e + i.options.slidesToShow; e < t; e++)
i.$slides.eq(e).attr("tabindex", 0);
i.activateADA()
}
,
s.prototype.initArrowEvents = function() {
var e = this;
!0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow.off("click.slick").on("click.slick", {
message: "previous"
}, e.changeSlide),
e.$nextArrow.off("click.slick").on("click.slick", {
message: "next"
}, e.changeSlide),
!0 === e.options.accessibility && (e.$prevArrow.on("keydown.slick", e.keyHandler),
e.$nextArrow.on("keydown.slick", e.keyHandler)))
}
,
s.prototype.initDotEvents = function() {
var e = this;
!0 === e.options.dots && (d("li", e.$dots).on("click.slick", {
message: "index"
}, e.changeSlide),
!0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)),
!0 === e.options.dots && !0 === e.options.pauseOnDotsHover && d("li", e.$dots).on("mouseenter.slick", d.proxy(e.interrupt, e, !0)).on("mouseleave.slick", d.proxy(e.interrupt, e, !1))
}
,
s.prototype.initSlideEvents = function() {
var e = this;
e.options.pauseOnHover && (e.$list.on("mouseenter.slick", d.proxy(e.interrupt, e, !0)),
e.$list.on("mouseleave.slick", d.proxy(e.interrupt, e, !1)))
}
,
s.prototype.initializeEvents = function() {
var e = this;
e.initArrowEvents(),
e.initDotEvents(),
e.initSlideEvents(),
e.$list.on("touchstart.slick mousedown.slick", {
action: "start"
}, e.swipeHandler),
e.$list.on("touchmove.slick mousemove.slick", {
action: "move"
}, e.swipeHandler),
e.$list.on("touchend.slick mouseup.slick", {
action: "end"
}, e.swipeHandler),
e.$list.on("touchcancel.slick mouseleave.slick", {
action: "end"
}, e.swipeHandler),
e.$list.on("click.slick", e.clickHandler),
d(document).on(e.visibilityChange, d.proxy(e.visibility, e)),
!0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler),
!0 === e.options.focusOnSelect && d(e.$slideTrack).children().on("click.slick", e.selectHandler),
d(window).on("orientationchange.slick.slick-" + e.instanceUid, d.proxy(e.orientationChange, e)),
d(window).on("resize.slick.slick-" + e.instanceUid, d.proxy(e.resize, e)),
d("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault),
d(window).on("load.slick.slick-" + e.instanceUid, e.setPosition),
d(e.setPosition)
}
,
s.prototype.initUI = function() {
var e = this;
!0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow.show(),
e.$nextArrow.show()),
!0 === e.options.dots && e.slideCount > e.options.slidesToShow && e.$dots.show()
}
,
s.prototype.keyHandler = function(e) {
var t = this;
e.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === e.keyCode && !0 === t.options.accessibility ? t.changeSlide({
data: {
message: !0 === t.options.rtl ? "next" : "previous"
}
}) : 39 === e.keyCode && !0 === t.options.accessibility && t.changeSlide({
data: {
message: !0 === t.options.rtl ? "previous" : "next"
}
}))
}
,
s.prototype.lazyLoad = function() {
function e(e) {
d("img[data-lazy]", e).each(function() {
var e = d(this)
, t = d(this).attr("data-lazy")
, i = d(this).attr("data-srcset")
, o = d(this).attr("data-sizes") || r.$slider.attr("data-sizes")
, n = document.createElement("img");
n.onload = function() {
e.animate({
opacity: 0
}, 100, function() {
i && (e.attr("srcset", i),
o && e.attr("sizes", o)),
e.attr("src", t).animate({
opacity: 1
}, 200, function() {
e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")
}),
r.$slider.trigger("lazyLoaded", [r, e, t])
})
}
,
n.onerror = function() {
e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),
r.$slider.trigger("lazyLoadError", [r, e, t])
}
,
n.src = t
})
}
var t, i, o, r = this;
if (!0 === r.options.centerMode ? o = !0 === r.options.infinite ? (i = r.currentSlide + (r.options.slidesToShow / 2 + 1)) + r.options.slidesToShow + 2 : (i = Math.max(0, r.currentSlide - (r.options.slidesToShow / 2 + 1)),
r.options.slidesToShow / 2 + 1 + 2 + r.currentSlide) : (i = r.options.infinite ? r.options.slidesToShow + r.currentSlide : r.currentSlide,
o = Math.ceil(i + r.options.slidesToShow),
!0 === r.options.fade && (0 < i && i--,
o <= r.slideCount && o++)),
t = r.$slider.find(".slick-slide").slice(i, o),
"anticipated" === r.options.lazyLoad)
for (var n = i - 1, s = o, a = r.$slider.find(".slick-slide"), l = 0; l < r.options.slidesToScroll; l++)
n < 0 && (n = r.slideCount - 1),
t = (t = t.add(a.eq(n))).add(a.eq(s)),
n--,
s++;
e(t),
r.slideCount <= r.options.slidesToShow ? e(r.$slider.find(".slick-slide")) : r.currentSlide >= r.slideCount - r.options.slidesToShow ? e(r.$slider.find(".slick-cloned").slice(0, r.options.slidesToShow)) : 0 === r.currentSlide && e(r.$slider.find(".slick-cloned").slice(-1 * r.options.slidesToShow))
}
,
s.prototype.loadSlider = function() {
var e = this;
e.setPosition(),
e.$slideTrack.css({
opacity: 1
}),
e.$slider.removeClass("slick-loading"),
e.initUI(),
"progressive" === e.options.lazyLoad && e.progressiveLazyLoad()
}
,
s.prototype.next = s.prototype.slickNext = function() {
this.changeSlide({
data: {
message: "next"
}
})
}
,
s.prototype.orientationChange = function() {
this.checkResponsive(),
this.setPosition()
}
,
s.prototype.pause = s.prototype.slickPause = function() {
this.autoPlayClear(),
this.paused = !0
}
,
s.prototype.play = s.prototype.slickPlay = function() {
var e = this;
e.autoPlay(),
e.options.autoplay = !0,
e.paused = !1,
e.focussed = !1,
e.interrupted = !1
}
,
s.prototype.postSlide = function(e) {
var t = this;
t.unslicked || (t.$slider.trigger("afterChange", [t, e]),
t.animating = !1,
t.slideCount > t.options.slidesToShow && t.setPosition(),
t.swipeLeft = null,
t.options.autoplay && t.autoPlay(),
!0 === t.options.accessibility && (t.initADA(),
t.options.focusOnChange && d(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus()))
}
,
s.prototype.prev = s.prototype.slickPrev = function() {
this.changeSlide({
data: {
message: "previous"
}
})
}
,
s.prototype.preventDefault = function(e) {
e.preventDefault()
}
,
s.prototype.progressiveLazyLoad = function(e) {
e = e || 1;
var t, i, o, n, r, s = this, a = d("img[data-lazy]", s.$slider);
a.length ? (t = a.first(),
i = t.attr("data-lazy"),
o = t.attr("data-srcset"),
n = t.attr("data-sizes") || s.$slider.attr("data-sizes"),
(r = document.createElement("img")).onload = function() {
o && (t.attr("srcset", o),
n && t.attr("sizes", n)),
t.attr("src", i).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),
!0 === s.options.adaptiveHeight && s.setPosition(),
s.$slider.trigger("lazyLoaded", [s, t, i]),
s.progressiveLazyLoad()
}
,
r.onerror = function() {
e < 3 ? setTimeout(function() {
s.progressiveLazyLoad(e + 1)
}, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),
s.$slider.trigger("lazyLoadError", [s, t, i]),
s.progressiveLazyLoad())
}
,
r.src = i) : s.$slider.trigger("allImagesLoaded", [s])
}
,
s.prototype.refresh = function(e) {
var t, i, o = this;
i = o.slideCount - o.options.slidesToShow,
!o.options.infinite && o.currentSlide > i && (o.currentSlide = i),
o.slideCount <= o.options.slidesToShow && (o.currentSlide = 0),
t = o.currentSlide,
o.destroy(!0),
d.extend(o, o.initials, {
currentSlide: t
}),
o.init(),
e || o.changeSlide({
data: {
message: "index",
index: t
}
}, !1)
}
,
s.prototype.registerBreakpoints = function() {
var e, t, i, o = this, n = o.options.responsive || null;
if ("array" === d.type(n) && n.length) {
for (e in o.respondTo = o.options.respondTo || "window",
n)
if (i = o.breakpoints.length - 1,
n.hasOwnProperty(e)) {
for (t = n[e].breakpoint; 0 <= i; )
o.breakpoints[i] && o.breakpoints[i] === t && o.breakpoints.splice(i, 1),
i--;
o.breakpoints.push(t),
o.breakpointSettings[t] = n[e].settings
}
o.breakpoints.sort(function(e, t) {
return o.options.mobileFirst ? e - t : t - e
})
}
}
,
s.prototype.reinit = function() {
var e = this;
e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"),
e.slideCount = e.$slides.length,
e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll),
e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0),
e.registerBreakpoints(),
e.setProps(),
e.setupInfinite(),
e.buildArrows(),
e.updateArrows(),
e.initArrowEvents(),
e.buildDots(),
e.updateDots(),
e.initDotEvents(),
e.cleanUpSlideEvents(),
e.initSlideEvents(),
e.checkResponsive(!1, !0),
!0 === e.options.focusOnSelect && d(e.$slideTrack).children().on("click.slick", e.selectHandler),
e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0),
e.setPosition(),
e.focusHandler(),
e.paused = !e.options.autoplay,
e.autoPlay(),
e.$slider.trigger("reInit", [e])
}
,
s.prototype.resize = function() {
var e = this;
d(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay),
e.windowDelay = window.setTimeout(function() {
e.windowWidth = d(window).width(),
e.checkResponsive(),
e.unslicked || e.setPosition()
}, 50))
}
,
s.prototype.removeSlide = s.prototype.slickRemove = function(e, t, i) {
var o = this;
if (e = "boolean" == typeof e ? !0 === (t = e) ? 0 : o.slideCount - 1 : !0 === t ? --e : e,
o.slideCount < 1 || e < 0 || e > o.slideCount - 1)
return !1;
o.unload(),
!0 === i ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(e).remove(),
o.$slides = o.$slideTrack.children(this.options.slide),
o.$slideTrack.children(this.options.slide).detach(),
o.$slideTrack.append(o.$slides),
o.$slidesCache = o.$slides,
o.reinit()
}
,
s.prototype.setCSS = function(e) {
var t, i, o = this, n = {};
!0 === o.options.rtl && (e = -e),
t = "left" == o.positionProp ? Math.ceil(e) + "px" : "0px",
i = "top" == o.positionProp ? Math.ceil(e) + "px" : "0px",
n[o.positionProp] = e,
!1 === o.transformsEnabled || (!(n = {}) === o.cssTransitions ? n[o.animType] = "translate(" + t + ", " + i + ")" : n[o.animType] = "translate3d(" + t + ", " + i + ", 0px)"),
o.$slideTrack.css(n)
}
,
s.prototype.setDimensions = function() {
var e = this;
!1 === e.options.vertical ? !0 === e.options.centerMode && e.$list.css({
padding: "0px " + e.options.centerPadding
}) : (e.$list.height(e.$slides.first().outerHeight(!0) * e.options.slidesToShow),
!0 === e.options.centerMode && e.$list.css({
padding: e.options.centerPadding + " 0px"
})),
e.listWidth = e.$list.width(),
e.listHeight = e.$list.height(),
!1 === e.options.vertical && !1 === e.options.variableWidth ? (e.slideWidth = Math.ceil(e.listWidth / e.options.slidesToShow),
e.$slideTrack.width(Math.ceil(e.slideWidth * e.$slideTrack.children(".slick-slide").length))) : !0 === e.options.variableWidth ? e.$slideTrack.width(5e3 * e.slideCount) : (e.slideWidth = Math.ceil(e.listWidth),
e.$slideTrack.height(Math.ceil(e.$slides.first().outerHeight(!0) * e.$slideTrack.children(".slick-slide").length)));
var t = e.$slides.first().outerWidth(!0) - e.$slides.first().width();
!1 === e.options.variableWidth && e.$slideTrack.children(".slick-slide").width(e.slideWidth - t)
}
,
s.prototype.setFade = function() {
var i, o = this;
o.$slides.each(function(e, t) {
i = o.slideWidth * e * -1,
!0 === o.options.rtl ? d(t).css({
position: "relative",
right: i,
top: 0,
zIndex: o.options.zIndex - 2,
opacity: 0
}) : d(t).css({
position: "relative",
left: i,
top: 0,
zIndex: o.options.zIndex - 2,
opacity: 0
})
}),
o.$slides.eq(o.currentSlide).css({
zIndex: o.options.zIndex - 1,
opacity: 1
})
}
,
s.prototype.setHeight = function() {
var e = this;
if (1 === e.options.slidesToShow && !0 === e.options.adaptiveHeight && !1 === e.options.vertical) {
var t = e.$slides.eq(e.currentSlide).outerHeight(!0);
e.$list.css("height", t)
}
}
,
s.prototype.setOption = s.prototype.slickSetOption = function() {
var e, t, i, o, n, r = this, s = !1;
if ("object" === d.type(arguments[0]) ? (i = arguments[0],
s = arguments[1],
n = "multiple") : "string" === d.type(arguments[0]) && (o = arguments[1],
s = arguments[2],
"responsive" === (i = arguments[0]) && "array" === d.type(arguments[1]) ? n = "responsive" : void 0 !== arguments[1] && (n = "single")),
"single" === n)
r.options[i] = o;
else if ("multiple" === n)
d.each(i, function(e, t) {
r.options[e] = t
});
else if ("responsive" === n)
for (t in o)
if ("array" !== d.type(r.options.responsive))
r.options.responsive = [o[t]];
else {
for (e = r.options.responsive.length - 1; 0 <= e; )
r.options.responsive[e].breakpoint === o[t].breakpoint && r.options.responsive.splice(e, 1),
e--;
r.options.responsive.push(o[t])
}
s && (r.unload(),
r.reinit())
}
,
s.prototype.setPosition = function() {
var e = this;
e.setDimensions(),
e.setHeight(),
!1 === e.options.fade ? e.setCSS(e.getLeft(e.currentSlide)) : e.setFade(),
e.$slider.trigger("setPosition", [e])
}
,
s.prototype.setProps = function() {
var e = this
, t = document.body.style;
e.positionProp = !0 === e.options.vertical ? "top" : "left",
"top" === e.positionProp ? e.$slider.addClass("slick-vertical") : e.$slider.removeClass("slick-vertical"),
void 0 === t.WebkitTransition && void 0 === t.MozTransition && void 0 === t.msTransition || !0 === e.options.useCSS && (e.cssTransitions = !0),
e.options.fade && ("number" == typeof e.options.zIndex ? e.options.zIndex < 3 && (e.options.zIndex = 3) : e.options.zIndex = e.defaults.zIndex),
void 0 !== t.OTransform && (e.animType = "OTransform",
e.transformType = "-o-transform",
e.transitionType = "OTransition",
void 0 === t.perspectiveProperty && void 0 === t.webkitPerspective && (e.animType = !1)),
void 0 !== t.MozTransform && (e.animType = "MozTransform",
e.transformType = "-moz-transform",
e.transitionType = "MozTransition",
void 0 === t.perspectiveProperty && void 0 === t.MozPerspective && (e.animType = !1)),
void 0 !== t.webkitTransform && (e.animType = "webkitTransform",
e.transformType = "-webkit-transform",
e.transitionType = "webkitTransition",
void 0 === t.perspectiveProperty && void 0 === t.webkitPerspective && (e.animType = !1)),
void 0 !== t.msTransform && (e.animType = "msTransform",
e.transformType = "-ms-transform",
e.transitionType = "msTransition",
void 0 === t.msTransform && (e.animType = !1)),
void 0 !== t.transform && !1 !== e.animType && (e.animType = "transform",
e.transformType = "transform",
e.transitionType = "transition"),
e.transformsEnabled = e.options.useTransform && null !== e.animType && !1 !== e.animType
}
,
s.prototype.setSlideClasses = function(e) {
var t, i, o, n, r = this;
if (i = r.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"),
r.$slides.eq(e).addClass("slick-current"),
!0 === r.options.centerMode) {
var s = r.options.slidesToShow % 2 == 0 ? 1 : 0;
t = Math.floor(r.options.slidesToShow / 2),
!0 === r.options.infinite && (t <= e && e <= r.slideCount - 1 - t ? r.$slides.slice(e - t + s, e + t + 1).addClass("slick-active").attr("aria-hidden", "false") : (o = r.options.slidesToShow + e,
i.slice(o - t + 1 + s, o + t + 2).addClass("slick-active").attr("aria-hidden", "false")),
0 === e ? i.eq(i.length - 1 - r.options.slidesToShow).addClass("slick-center") : e === r.slideCount - 1 && i.eq(r.options.slidesToShow).addClass("slick-center")),
r.$slides.eq(e).addClass("slick-center")
} else
0 <= e && e <= r.slideCount - r.options.slidesToShow ? r.$slides.slice(e, e + r.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : i.length <= r.options.slidesToShow ? i.addClass("slick-active").attr("aria-hidden", "false") : (n = r.slideCount % r.options.slidesToShow,
o = !0 === r.options.infinite ? r.options.slidesToShow + e : e,
r.options.slidesToShow == r.options.slidesToScroll && r.slideCount - e < r.options.slidesToShow ? i.slice(o - (r.options.slidesToShow - n), o + n).addClass("slick-active").attr("aria-hidden", "false") : i.slice(o, o + r.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false"));
"ondemand" !== r.options.lazyLoad && "anticipated" !== r.options.lazyLoad || r.lazyLoad()
}
,
s.prototype.setupInfinite = function() {
var e, t, i, o = this;
if (!0 === o.options.fade && (o.options.centerMode = !1),
!0 === o.options.infinite && !1 === o.options.fade && (t = null,
o.slideCount > o.options.slidesToShow)) {
for (i = !0 === o.options.centerMode ? o.options.slidesToShow + 1 : o.options.slidesToShow,
e = o.slideCount; e > o.slideCount - i; e -= 1)
t = e - 1,
d(o.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - o.slideCount).prependTo(o.$slideTrack).addClass("slick-cloned");
for (e = 0; e < i + o.slideCount; e += 1)
t = e,
d(o.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + o.slideCount).appendTo(o.$slideTrack).addClass("slick-cloned");
o.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
d(this).attr("id", "")
})
}
}
,
s.prototype.interrupt = function(e) {
e || this.autoPlay(),
this.interrupted = e
}
,
s.prototype.selectHandler = function(e) {
var t = d(e.target).is(".slick-slide") ? d(e.target) : d(e.target).parents(".slick-slide")
, i = parseInt(t.attr("data-slick-index"));
i || (i = 0),
this.slideCount <= this.options.slidesToShow ? this.slideHandler(i, !1, !0) : this.slideHandler(i)
}
,
s.prototype.slideHandler = function(e, t, i) {
var o, n, r, s, a, l = null, d = this;
if (t = t || !1,
!(!0 === d.animating && !0 === d.options.waitForAnimate || !0 === d.options.fade && d.currentSlide === e))
if (!1 === t && d.asNavFor(e),
o = e,
l = d.getLeft(o),
s = d.getLeft(d.currentSlide),
d.currentLeft = null === d.swipeLeft ? s : d.swipeLeft,
!1 === d.options.infinite && !1 === d.options.centerMode && (e < 0 || e > d.getDotCount() * d.options.slidesToScroll))
!1 === d.options.fade && (o = d.currentSlide,
!0 !== i ? d.animateSlide(s, function() {
d.postSlide(o)
}) : d.postSlide(o));
else if (!1 === d.options.infinite && !0 === d.options.centerMode && (e < 0 || e > d.slideCount - d.options.slidesToScroll))
!1 === d.options.fade && (o = d.currentSlide,
!0 !== i ? d.animateSlide(s, function() {
d.postSlide(o)
}) : d.postSlide(o));
else {
if (d.options.autoplay && clearInterval(d.autoPlayTimer),
n = o < 0 ? d.slideCount % d.options.slidesToScroll != 0 ? d.slideCount - d.slideCount % d.options.slidesToScroll : d.slideCount + o : o >= d.slideCount ? d.slideCount % d.options.slidesToScroll != 0 ? 0 : o - d.slideCount : o,
d.animating = !0,
d.$slider.trigger("beforeChange", [d, d.currentSlide, n]),
r = d.currentSlide,
d.currentSlide = n,
d.setSlideClasses(d.currentSlide),
d.options.asNavFor && (a = (a = d.getNavTarget()).slick("getSlick")).slideCount <= a.options.slidesToShow && a.setSlideClasses(d.currentSlide),
d.updateDots(),
d.updateArrows(),
!0 === d.options.fade)
return !0 !== i ? (d.fadeSlideOut(r),
d.fadeSlide(n, function() {
d.postSlide(n)
})) : d.postSlide(n),
void d.animateHeight();
!0 !== i ? d.animateSlide(l, function() {
d.postSlide(n)
}) : d.postSlide(n)
}
}
,
s.prototype.startLoad = function() {
var e = this;
!0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow.hide(),
e.$nextArrow.hide()),
!0 === e.options.dots && e.slideCount > e.options.slidesToShow && e.$dots.hide(),
e.$slider.addClass("slick-loading")
}
,
s.prototype.swipeDirection = function() {
var e, t, i, o, n = this;
return e = n.touchObject.startX - n.touchObject.curX,
t = n.touchObject.startY - n.touchObject.curY,
i = Math.atan2(t, e),
(o = Math.round(180 * i / Math.PI)) < 0 && (o = 360 - Math.abs(o)),
o <= 45 && 0 <= o ? !1 === n.options.rtl ? "left" : "right" : o <= 360 && 315 <= o ? !1 === n.options.rtl ? "left" : "right" : 135 <= o && o <= 225 ? !1 === n.options.rtl ? "right" : "left" : !0 === n.options.verticalSwiping ? 35 <= o && o <= 135 ? "down" : "up" : "vertical"
}
,
s.prototype.swipeEnd = function(e) {
var t, i, o = this;
if (o.dragging = !1,
o.swiping = !1,
o.scrolling)
return o.scrolling = !1;
if (o.interrupted = !1,
o.shouldClick = !(10 < o.touchObject.swipeLength),
void 0 === o.touchObject.curX)
return !1;
if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]),
o.touchObject.swipeLength >= o.touchObject.minSwipe) {
switch (i = o.swipeDirection()) {
case "left":
case "down":
t = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(),
o.currentDirection = 0;
break;
case "right":
case "up":
t = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(),
o.currentDirection = 1
}
"vertical" != i && (o.slideHandler(t),
o.touchObject = {},
o.$slider.trigger("swipe", [o, i]))
} else
o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide),
o.touchObject = {})
}
,
s.prototype.swipeHandler = function(e) {
var t = this;
if (!(!1 === t.options.swipe || "ontouchend"in document && !1 === t.options.swipe || !1 === t.options.draggable && -1 !== e.type.indexOf("mouse")))
switch (t.touchObject.fingerCount = e.originalEvent && void 0 !== e.originalEvent.touches ? e.originalEvent.touches.length : 1,
t.touchObject.minSwipe = t.listWidth / t.options.touchThreshold,
!0 === t.options.verticalSwiping && (t.touchObject.minSwipe = t.listHeight / t.options.touchThreshold),
e.data.action) {
case "start":
t.swipeStart(e);
break;
case "move":
t.swipeMove(e);
break;
case "end":
t.swipeEnd(e)
}
}
,
s.prototype.swipeMove = function(e) {
var t, i, o, n, r, s, a = this;
return r = void 0 !== e.originalEvent ? e.originalEvent.touches : null,
!(!a.dragging || a.scrolling || r && 1 !== r.length) && (t = a.getLeft(a.currentSlide),
a.touchObject.curX = void 0 !== r ? r[0].pageX : e.clientX,
a.touchObject.curY = void 0 !== r ? r[0].pageY : e.clientY,
a.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(a.touchObject.curX - a.touchObject.startX, 2))),
s = Math.round(Math.sqrt(Math.pow(a.touchObject.curY - a.touchObject.startY, 2))),
!a.options.verticalSwiping && !a.swiping && 4 < s ? !(a.scrolling = !0) : (!0 === a.options.verticalSwiping && (a.touchObject.swipeLength = s),
i = a.swipeDirection(),
void 0 !== e.originalEvent && 4 < a.touchObject.swipeLength && (a.swiping = !0,
e.preventDefault()),
n = (!1 === a.options.rtl ? 1 : -1) * (a.touchObject.curX > a.touchObject.startX ? 1 : -1),
!0 === a.options.verticalSwiping && (n = a.touchObject.curY > a.touchObject.startY ? 1 : -1),
o = a.touchObject.swipeLength,
(a.touchObject.edgeHit = !1) === a.options.infinite && (0 === a.currentSlide && "right" === i || a.currentSlide >= a.getDotCount() && "left" === i) && (o = a.touchObject.swipeLength * a.options.edgeFriction,
a.touchObject.edgeHit = !0),
!1 === a.options.vertical ? a.swipeLeft = t + o * n : a.swipeLeft = t + o * (a.$list.height() / a.listWidth) * n,
!0 === a.options.verticalSwiping && (a.swipeLeft = t + o * n),
!0 !== a.options.fade && !1 !== a.options.touchMove && (!0 === a.animating ? (a.swipeLeft = null,
!1) : void a.setCSS(a.swipeLeft))))
}
,
s.prototype.swipeStart = function(e) {
var t, i = this;
if (i.interrupted = !0,
1 !== i.touchObject.fingerCount || i.slideCount <= i.options.slidesToShow)
return !(i.touchObject = {});
void 0 !== e.originalEvent && void 0 !== e.originalEvent.touches && (t = e.originalEvent.touches[0]),
i.touchObject.startX = i.touchObject.curX = void 0 !== t ? t.pageX : e.clientX,
i.touchObject.startY = i.touchObject.curY = void 0 !== t ? t.pageY : e.clientY,
i.dragging = !0
}
,
s.prototype.unfilterSlides = s.prototype.slickUnfilter = function() {
var e = this;
null !== e.$slidesCache && (e.unload(),
e.$slideTrack.children(this.options.slide).detach(),
e.$slidesCache.appendTo(e.$slideTrack),
e.reinit())
}
,
s.prototype.unload = function() {
var e = this;
d(".slick-cloned", e.$slider).remove(),
e.$dots && e.$dots.remove(),
e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(),
e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(),
e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
}
,
s.prototype.unslick = function(e) {
this.$slider.trigger("unslick", [this, e]),
this.destroy()
}
,
s.prototype.updateArrows = function() {
var e = this;
Math.floor(e.options.slidesToShow / 2),
!0 === e.options.arrows && e.slideCount > e.options.slidesToShow && !e.options.infinite && (e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
0 === e.currentSlide ? (e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"),
e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : e.currentSlide >= e.slideCount - e.options.slidesToShow && !1 === e.options.centerMode ? (e.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"),
e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : e.currentSlide >= e.slideCount - 1 && !0 === e.options.centerMode && (e.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"),
e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
}
,
s.prototype.updateDots = function() {
var e = this;
null !== e.$dots && (e.$dots.find("li").removeClass("slick-active").end(),
e.$dots.find("li").eq(Math.floor(e.currentSlide / e.options.slidesToScroll)).addClass("slick-active"))
}
,
s.prototype.visibility = function() {
this.options.autoplay && (document[this.hidden] ? this.interrupted = !0 : this.interrupted = !1)
}
,
d.fn.slick = function() {
var e, t, i = this, o = arguments[0], n = Array.prototype.slice.call(arguments, 1), r = i.length;
for (e = 0; e < r; e++)
if ("object" == typeof o || void 0 === o ? i[e].slick = new s(i[e],o) : t = i[e].slick[o].apply(i[e].slick, n),
void 0 !== t)
return t;
return i
}
}),
function(p, u) {
"use strict";
function f(e, t) {
for (var i in t)
t.hasOwnProperty(i) && (e[i] = t[i])
}
function h(e) {
return parseFloat(e) || 0
}
function g(e) {
for (var t = 0; e; )
t += e.offsetTop,
e = e.offsetParent;
return t
}
var e = function(e, t, i) {
return t && o(e.prototype, t),
i && o(e, i),
e
}
, m = !1;
function o(e, t) {
for (var i = 0; i < t.length; i++) {
var o = t[i];
o.enumerable = o.enumerable || !1,
o.configurable = !0,
"value"in o && (o.writable = !0),
Object.defineProperty(e, o.key, o)
}
}
if (p.getComputedStyle) {
var t = u.createElement("div");
["", "-webkit-", "-moz-", "-ms-"].some(function(e) {
try {
t.style.position = e + "sticky"
} catch (e) {}
return "" != t.style.position
}) && (m = !0)
} else
m = !0;
var v = "undefined" != typeof ShadowRoot
, r = {
top: null,
left: null
}
, s = []
, n = (e(i, [{
key: "refresh",
value: function() {
if (!m && !this._removed) {
this._active && this._deactivate();
var e = this._node
, t = getComputedStyle(e)
, i = {
top: t.top,
display: t.display,
marginTop: t.marginTop,
marginBottom: t.marginBottom,
marginLeft: t.marginLeft,
marginRight: t.marginRight,
cssFloat: t.cssFloat
};
if (!isNaN(parseFloat(i.top)) && "table-cell" != i.display && "none" != i.display) {
this._active = !0;
var o = e.parentNode
, n = v && o instanceof ShadowRoot ? o.host : o
, r = e.getBoundingClientRect()
, s = n.getBoundingClientRect()
, a = getComputedStyle(n);
this._parent = {
node: n,
styles: {
position: n.style.position
},
offsetHeight: n.offsetHeight
},
this._offsetToWindow = {
left: r.left,
right: u.documentElement.clientWidth - r.right
},
this._offsetToParent = {
top: r.top - s.top - h(a.borderTopWidth),
left: r.left - s.left - h(a.borderLeftWidth),
right: -r.right + s.right - h(a.borderRightWidth)
},
this._styles = {
position: e.style.position,
top: e.style.top,
bottom: e.style.bottom,
left: e.style.left,
right: e.style.right,
width: e.style.width,
marginTop: e.style.marginTop,
marginLeft: e.style.marginLeft,
marginRight: e.style.marginRight
};
var l = h(i.top);
this._limits = {
start: r.top + p.pageYOffset - l,
end: s.top + p.pageYOffset + n.offsetHeight - h(a.borderBottomWidth) - e.offsetHeight - l - h(i.marginBottom)
};
var d = a.position;
"absolute" != d && "relative" != d && (n.style.position = "relative"),
this._recalcPosition();
var c = this._clone = {};
c.node = u.createElement("div"),
f(c.node.style, {
width: r.right - r.left + "px",
height: r.bottom - r.top + "px",
marginTop: i.marginTop,
marginBottom: i.marginBottom,
marginLeft: i.marginLeft,
marginRight: i.marginRight,
cssFloat: i.cssFloat,
padding: 0,
border: 0,
borderSpacing: 0,
fontSize: "1em",
position: "static"
}),
o.insertBefore(c.node, e),
c.docOffsetTop = g(c.node)
}
}
}
}, {
key: "_recalcPosition",
value: function() {
if (this._active && !this._removed) {
var e = r.top <= this._limits.start ? "start" : r.top >= this._limits.end ? "end" : "middle";
if (this._stickyMode != e) {
switch (e) {
case "start":
f(this._node.style, {
position: "absolute",
left: this._offsetToParent.left + "px",
right: this._offsetToParent.right + "px",
top: this._offsetToParent.top + "px",
bottom: "auto",
width: "auto",
marginLeft: 0,
marginRight: 0,
marginTop: 0
});
break;
case "middle":
f(this._node.style, {
position: "fixed",
left: this._offsetToWindow.left + "px",
right: this._offsetToWindow.right + "px",
top: this._styles.top,
bottom: "auto",
width: "auto",
marginLeft: 0,
marginRight: 0,
marginTop: 0
});
break;
case "end":
f(this._node.style, {
position: "absolute",
left: this._offsetToParent.left + "px",
right: this._offsetToParent.right + "px",
top: "auto",
bottom: 0,
width: "auto",
marginLeft: 0,
marginRight: 0
})
}
this._stickyMode = e
}
}
}
}, {
key: "_fastCheck",
value: function() {
this._active && !this._removed && (1 < Math.abs(g(this._clone.node) - this._clone.docOffsetTop) || 1 < Math.abs(this._parent.node.offsetHeight - this._parent.offsetHeight)) && this.refresh()
}
}, {
key: "_deactivate",
value: function() {
var t = this;
this._active && !this._removed && (this._clone.node.parentNode.removeChild(this._clone.node),
delete this._clone,
f(this._node.style, this._styles),
delete this._styles,
s.some(function(e) {
return e !== t && e._parent && e._parent.node === t._parent.node
}) || f(this._parent.node.style, this._parent.styles),
delete this._parent,
this._stickyMode = null,
this._active = !1,
delete this._offsetToWindow,
delete this._offsetToParent,
delete this._limits)
}
}, {
key: "remove",
value: function() {
var i = this;
this._deactivate(),
s.some(function(e, t) {
if (e._node === i._node)
return s.splice(t, 1),
!0
}),
this._removed = !0
}
}]),
i)
, a = {
stickies: s,
Sticky: n,
addOne: function(e) {
if (!(e instanceof HTMLElement)) {
if (!e.length || !e[0])
return;
e = e[0]
}
for (var t = 0; t < s.length; t++)
if (s[t]._node === e)
return s[t];
return new n(e)
},
add: function(e) {
if (e instanceof HTMLElement && (e = [e]),
e.length) {
for (var i = [], o = 0; o < e.length; o++)
!function() {
var t = e[o];
t instanceof HTMLElement ? s.some(function(e) {
if (e._node === t)
return i.push(e),
!0
}) || i.push(new n(t)) : i.push(void 0)
}();
return i
}
},
refreshAll: function() {
s.forEach(function(e) {
return e.refresh()
})
},
removeOne: function(t) {
if (!(t instanceof HTMLElement)) {
if (!t.length || !t[0])
return;
t = t[0]
}
s.some(function(e) {
if (e._node === t)
return e.remove(),
!0
})
},
remove: function(e) {
if (e instanceof HTMLElement && (e = [e]),
e.length)
for (var i = 0; i < e.length; i++)
!function() {
var t = e[i];
s.some(function(e) {
if (e._node === t)
return e.remove(),
!0
})
}()
},
removeAll: function() {
for (; s.length; )
s[0].remove()
}
};
function i(t) {
if (function(e, t) {
if (!(e instanceof t))
throw new TypeError("Cannot call a class as a function")
}(this, i),
!(t instanceof HTMLElement))
throw new Error("First argument must be HTMLElement");
if (s.some(function(e) {
return e._node === t
}))
throw new Error("Stickyfill is already applied to this node");
this._node = t,
this._stickyMode = null,
this._active = !1,
s.push(this),
this.refresh()
}
m || function() {
function e() {
p.pageXOffset != r.left ? (r.top = p.pageYOffset,
r.left = p.pageXOffset,
a.refreshAll()) : p.pageYOffset != r.top && (r.top = p.pageYOffset,
r.left = p.pageXOffset,
s.forEach(function(e) {
return e._recalcPosition()
}))
}
function t() {
i = setInterval(function() {
s.forEach(function(e) {
return e._fastCheck()
})
}, 500)
}
e(),
p.addEventListener("scroll", e),
p.addEventListener("resize", a.refreshAll),
p.addEventListener("orientationchange", a.refreshAll);
var i = void 0
, o = void 0
, n = void 0;
"hidden"in u ? (o = "hidden",
n = "visibilitychange") : "webkitHidden"in u && (o = "webkitHidden",
n = "webkitvisibilitychange"),
n ? (u[o] || t(),
u.addEventListener(n, function() {
u[o] ? clearInterval(i) : t()
})) : t()
}(),
"undefined" != typeof module && module.exports ? module.exports = a : p.Stickyfill = a
}(window, document),
function() {
"use strict";
if ("undefined" != typeof window) {
var e = window.navigator.userAgent.match(/Edge\/(\d{2})\./)
, o = !!e && 16 <= parseInt(e[1], 10);
if ("objectFit"in document.documentElement.style != 0 && !o)
return window.objectFitPolyfill = function() {
return !1
}
;
var n = function(e, t, i) {
var o, n, r, s, a;
if ((i = i.split(" ")).length < 2 && (i[1] = i[0]),
"x" === e)
o = i[0],
n = i[1],
r = "left",
s = "right",
a = t.clientWidth;
else {
if ("y" !== e)
return;
o = i[1],
n = i[0],
r = "top",
s = "bottom",
a = t.clientHeight
}
return o === r || n === r ? void (t.style[r] = "0") : o === s || n === s ? void (t.style[s] = "0") : "center" === o || "50%" === o ? (t.style[r] = "50%",
void (t.style["margin-" + r] = a / -2 + "px")) : 0 <= o.indexOf("%") ? void ((o = parseInt(o)) < 50 ? (t.style[r] = o + "%",
t.style["margin-" + r] = a * (o / -100) + "px") : (o = 100 - o,
t.style[s] = o + "%",
t.style["margin-" + s] = a * (o / -100) + "px")) : void (t.style[r] = o)
}
, r = function(e) {
var t = e.dataset ? e.dataset.objectFit : e.getAttribute("data-object-fit")
, i = e.dataset ? e.dataset.objectPosition : e.getAttribute("data-object-position");
t = t || "cover",
i = i || "50% 50%";
var o = e.parentNode;
(function(e) {
var t = window.getComputedStyle(e, null)
, i = t.getPropertyValue("position")
, o = t.getPropertyValue("overflow")
, n = t.getPropertyValue("display");
i && "static" !== i || (e.style.position = "relative"),
"hidden" !== o && (e.style.overflow = "hidden"),
n && "inline" !== n || (e.style.display = "block"),
0 === e.clientHeight && (e.style.height = "100%"),
-1 === e.className.indexOf("object-fit-polyfill") && (e.className = e.className + " object-fit-polyfill")
}
)(o),
function(e) {
var t = window.getComputedStyle(e, null)
, i = {
"max-width": "none",
"max-height": "none",
"min-width": "0px",
"min-height": "0px",
top: "auto",
right: "auto",
bottom: "auto",
left: "auto",
"margin-top": "0px",
"margin-right": "0px",
"margin-bottom": "0px",
"margin-left": "0px"
};
for (var o in i)
t.getPropertyValue(o) !== i[o] && (e.style[o] = i[o])
}(e),
e.style.position = "absolute",
e.style.height = "100%",
e.style.width = "auto",
"scale-down" === t && (e.style.height = "auto",
e.clientWidth < o.clientWidth && e.clientHeight < o.clientHeight ? (n("x", e, i),
n("y", e, i)) : (t = "contain",
e.style.height = "100%")),
"none" === t ? (e.style.width = "auto",
e.style.height = "auto",
n("x", e, i),
n("y", e, i)) : "cover" === t && e.clientWidth > o.clientWidth || "contain" === t && e.clientWidth < o.clientWidth ? (e.style.top = "0",
e.style.marginTop = "0",
n("x", e, i)) : "scale-down" !== t && (e.style.width = "100%",
e.style.height = "auto",
e.style.left = "0",
e.style.marginLeft = "0",
n("y", e, i))
}
, t = function(e) {
if (void 0 === e)
e = document.querySelectorAll("[data-object-fit]");
else if (e && e.nodeName)
e = [e];
else {
if ("object" != typeof e || !e.length || !e[0].nodeName)
return !1;
e = e
}
for (var t = 0; t < e.length; t++)
if (e[t].nodeName) {
var i = e[t].nodeName.toLowerCase();
"img" !== i || o ? "video" === i && (0 < e[t].readyState ? r(e[t]) : e[t].addEventListener("loadedmetadata", function() {
r(this)
})) : e[t].complete ? r(e[t]) : e[t].addEventListener("load", function() {
r(this)
})
}
return !0
};
document.addEventListener("DOMContentLoaded", function() {
t()
}),
window.addEventListener("resize", function() {
t()
}),
window.objectFitPolyfill = t
}
}(),
function(t, i) {
"function" == typeof define && define.amd ? define([], i()) : "object" == typeof module && module.exports ? module.exports = i() : function e() {
document && document.body ? t.zenscroll = i() : setTimeout(e, 9)
}()
}(this, function() {
"use strict";
if (!1 !== is_smooth_scroll()) {
var g = function(e) {
return e && "getComputedStyle"in window && "smooth" === window.getComputedStyle(e)["scroll-behavior"]
};
if ("undefined" == typeof window || !("document"in window))
return {};
var o = function(l, i, d) {
var t;
i = i || 999,
d || 0 === d || (d = 9);
function c(e) {
t = e
}
function p() {
clearTimeout(t),
c(0)
}
function u(e) {
return Math.max(0, l.getTopOf(e) - d)
}
function f(e, o, n) {
if (p(),
0 === o || o && o < 0 || g(l.body))
l.toY(e),
n && n();
else {
var r = l.getY()
, s = Math.max(0, e) - r
, a = (new Date).getTime();
o = o || Math.min(Math.abs(s), i),
function i() {
c(setTimeout(function() {
var e = Math.min(1, ((new Date).getTime() - a) / o)
, t = Math.max(0, Math.floor(r + s * (e < .5 ? 2 * e * e : e * (4 - 2 * e) - 1)));
l.toY(t),
e < 1 && l.getHeight() + t < l.body.scrollHeight ? i() : (setTimeout(p, 99),
n && n())
}, 9))
}()
}
}
function h(e, t, i) {
f(u(e), t, i)
}
return {
setup: function(e, t) {
return 0 !== e && !e || (i = e),
0 !== t && !t || (d = t),
{
defaultDuration: i,
edgeOffset: d
}
},
to: h,
toY: f,
intoView: function(e, t, i) {
var o = e.getBoundingClientRect().height
, n = l.getTopOf(e) + o
, r = l.getHeight()
, s = l.getY()
, a = s + r;
u(e) < s || r < o + d ? h(e, t, i) : a < n + d ? f(n - r + d, t, i) : i && i()
},
center: function(e, t, i, o) {
f(Math.max(0, l.getTopOf(e) - l.getHeight() / 2 + (i || e.getBoundingClientRect().height / 2)), t, o)
},
stop: p,
moving: function() {
return !!t
},
getY: l.getY,
getTopOf: l.getTopOf
}
}
, n = document.documentElement
, t = function() {
return window.scrollY || n.scrollTop
}
, l = o({
body: document.scrollingElement || document.body,
toY: function(e) {
window.scrollTo(0, e)
},
getY: t,
getHeight: function() {
return window.innerHeight || n.clientHeight
},
getTopOf: function(e) {
return e.getBoundingClientRect().top + t() - n.offsetTop
}
});
if (l.createScroller = function(t, e, i) {
return o({
body: t,
toY: function(e) {
t.scrollTop = e
},
getY: function() {
return t.scrollTop
},
getHeight: function() {
return Math.min(t.clientHeight, window.innerHeight || n.clientHeight)
},
getTopOf: function(e) {
return e.offsetTop
}
}, e, i)
}
,
"addEventListener"in window && !window.noZensmooth && !g(document.body)) {
var d = "history"in window && "pushState"in history
, c = d && "scrollRestoration"in history;
c && (history.scrollRestoration = "auto"),
window.addEventListener("load", function() {
c && (setTimeout(function() {
history.scrollRestoration = "manual"
}, 9),
window.addEventListener("popstate", function(e) {
e.state && "zenscrollY"in e.state && l.toY(e.state.zenscrollY)
}, !1)),
window.location.hash && setTimeout(function() {
var e = l.setup().edgeOffset;
if (e) {
var t = document.getElementById(window.location.href.split("#")[1]);
if (t) {
var i = Math.max(0, l.getTopOf(t) - e)
, o = l.getY() - i;
0 <= o && o < 9 && window.scrollTo(0, i)
}
}
}, 9)
}, !1);
var p = new RegExp("(^|\\s)noZensmooth(\\s|$)");
window.addEventListener("click", function(e) {
for (var t = e.target; t && "A" !== t.tagName; )
t = t.parentNode;
if (!(!t || 1 !== e.which || e.shiftKey || e.metaKey || e.ctrlKey || e.altKey)) {
if (c) {
var i = history.state && "object" == typeof history.state ? history.state : {};
i.zenscrollY = l.getY();
try {
history.replaceState(i, "")
} catch (e) {}
}
var o = t.getAttribute("href") || "";
if (0 === o.indexOf("#") && !p.test(t.className)) {
var n = 0
, r = document.getElementById(o.substring(1));
if ("#" !== o) {
if (!r)
return;
n = l.getTopOf(r)
}
e.preventDefault();
var s = function() {
window.location = o
}
, a = l.setup().edgeOffset;
a && (n = Math.max(0, n - a),
d && (s = function() {
history.pushState({}, "", o)
}
)),
l.toY(n, null, s)
}
}
}, !1)
}
return l
}
});
var jupiterx = {
components: {},
utils: {}
};
jupiterx.components.Base = Class.extend({
setElements: function() {
this.elements = {},
this.elements.window = window,
this.elements.$window = $(window),
this.elements.$document = $(document),
this.elements.$body = $("body"),
this.elements.$site = $(".jupiterx-site")
},
setSettings: function() {
this.settings = {},
this.settings.windowWidth = this.elements.$window.outerWidth()
},
bindEvents: function() {},
init: function() {
this.setElements(),
this.setSettings(),
this.bindEvents()
}
}),
window.jupiterx = jupiterx,
function(r) {
var e = window.jupiterx || {};
e.utils = function() {
this.resize = function() {
var t = e.pubsub;
r(window).on("resize", _.throttle(function() {
var e = r(this).outerWidth();
t.publish("resize", e)
}, 150))
}
,
this.scroll = function() {
var t = e.pubsub
, i = r("[data-jupiterx-scroll]")
, o = _.defaults(i.data("jupiterxScroll") || {}, {
offset: 1e3
});
r(window).on("scroll", _.throttle(function() {
var e = r(this).scrollTop();
if (t.publish("scroll", e),
!(_.size(i) < 1))
return e > o.offset ? i.addClass("jupiterx-scrolled") : void i.removeClass("jupiterx-scrolled")
}, 100))
}
,
this.scrollSmooth = function() {
r(document).on("click", "[data-jupiterx-scroll-target]", function(e) {
var t = r(this).data("jupiterxScrollTarget")
, i = "smooth";
e.preventDefault(),
!1 === is_smooth_scroll() && (i = "auto"),
_.isNumber(t) ? window.scrollTo({
top: t,
left: 0,
behavior: i
}) : window.scrollTo({
top: r(t).offset().top,
left: 0,
behavior: i
})
})
}
,
this.scrollDirection = function() {
var e = this.pubsub
, t = r("[data-jupiterx-scroll-direction]")
, i = updwn({
speed: 50
});
i.up(function() {
e.publish("scroll-up"),
_.size(t) < 1 || (t.addClass("jupiterx-scroll-up"),
t.removeClass("jupiterx-scroll-down"))
}),
i.down(function() {
e.publish("scroll-down"),
_.size(t) < 1 || (t.addClass("jupiterx-scroll-down"),
t.removeClass("jupiterx-scroll-up"))
})
}
,
this.alterClass = function(e, t, i) {
var o = e;
if (-1 === t.indexOf("*"))
return o.removeClass(t),
i ? o.addClass(i) : o;
var n = new RegExp("\\s" + t.replace(/\*/g, "[A-Za-z0-9-_]+").split(" ").join("\\s|\\s") + "\\s","g");
return o.each(function(e, t) {
for (var i = " " + t.className + " "; n.test(i); )
i = i.replace(n, " ");
t.className = r.trim(i)
}),
i ? o.addClass(i) : o
}
,
this.onMobile = function() {
return jQuery(window).width() <= 575.98
}
,
this.onTablet = function() {
var e = jQuery(window).width();
return 575.98 < e && e <= 767.98
}
,
this.onDesktop = function() {
return 767.98 < jQuery(window).width()
}
,
this.init = function() {
this.resize(),
this.scroll(),
this.scrollSmooth()
}
,
this.init()
}
}(jQuery),
function(a) {
var e = window.jupiterx || {};
e.components.Header = e.components.Base.extend({
setElements: function() {
this._super();
var e = this.elements;
e.header = ".jupiterx-header",
e.$header = a(e.header),
e.$navbar = e.$header.find(".navbar-nav"),
e.$collapseMenu = e.$header.find(".navbar-collapse"),
e.$dropdownToggler = e.$navbar.find(".dropdown-toggle-icon"),
e.$window = a(window),
e.$inPageMenuItems = e.$navbar.find('a[href^="#"]')
},
setSettings: function() {
this._super();
var e = this.settings
, t = this.elements.$header.data("jupiterxSettings");
e.breakpoint = t.breakpoint,
e.template = t.template,
e.stickyTemplate = t.stickyTemplate,
e.behavior = t.behavior,
e.position = t.position || "top",
e.offset = parseInt(t.offset) + this.tbarHeight(),
e.overlap = t.overlap,
e.headerHeight = this.elements.$header.height()
},
bindEvents: function() {
var t = this
, i = this.elements
, o = this.settings;
t.focusToggler(),
t.blurToggler(),
t.setBehavior(),
t.mobileMenuScroll(),
i.$dropdownToggler.on("click", function(e) {
t.initNavbarDropdown(e),
t.setHeight()
}),
e.pubsub.subscribe("resize", function(e) {
t.setBehavior(),
t.setHeight(),
e > o.breakpoint && i.$navbar.find(".dropdown-menu").removeClass("show")
}),
e.pubsub.subscribe("scroll", function(e) {
t.setBehaviorSticky(e)
}),
t.responsiveMenuAutoClose(),
a(document).on("click", "a.jupiterx-smooth-scroll, .jupiterx-smooth-scroll a", function(e) {
t.handleSmoothScrollElements(e, a(this))
})
},
lastItemDepth: function(e, t) {
var i = e;
if ($li = t.find("> li:last-child"),
$li.hasClass("dropdown"))
i = i < (o = this.lastItemDepth(e + 1, $li.find(".dropdown-menu"))) ? o : i;
else if (t.hasClass("dropdown-menu")) {
var o;
i = i < (o = e + 1) ? o : i
}
return i
},
lastItemDepths: function(e) {
for (var t = [], i = 0; i < e.find("> li").length; i++)
$li = e.find("> li:nth-of-type(" + (i + 1) + ")"),
$li.hasClass("dropdown") ? t[i] = this.lastItemDepth(1, $li.find(".dropdown-menu")) : t[i] = 1;
return t
},
focusToggler: function() {
a(".jupiterx-site-navbar").find("a").on("focus", function() {
a(".dropdown.hover, ul.dropdown-menu.hover").removeClass("hover show"),
a(this).parents("ul, li").addClass("hover show focus"),
a(this).next("ul.dropdown-menu").addClass("hover show focus")
})
},
blurToggler: function() {
var n = this;
a(".jupiterx-nav-primary").find("a").on("blur", function() {
for (var e = a(this), t = n.lastItemDepths(a(".jupiterx-nav-primary")), i = 0, o = !0; !e.hasClass("jupiterx-nav-primary"); )
"li" === e.prop("tagName").toLowerCase() && (o = o && -1 === e.next().index(),
i++,
e.parent().hasClass("jupiterx-nav-primary") && i === t[e.index()] && o && a(".dropdown.hover, ul.dropdown-menu.hover").removeClass("hover show")),
e = e.parent()
})
},
responsiveMenuAutoClose: function() {
var e = this.elements.$collapseMenu
, t = e.find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')
, i = t[t.length - 1];
a(i).on("blur", function() {
e.removeClass("show")
})
},
setHeight: function() {
var e = this.elements.$header.find(".navbar-collapse");
if (e.length) {
var t = this.elements.$navbar;
e.css("max-height", document.documentElement.clientHeight - e.offset().top + window.pageYOffset - parseInt(t.css("margin-top")))
}
},
mobileMenuScroll: function() {
for (var i = document.getElementsByClassName("navbar-collapse"), o = null, n = 0; n < i.length; n++)
i[n].addEventListener("touchstart", function(e) {
1 === e.targetTouches.length && (o = e.targetTouches[0].clientY)
}, !1),
i[n].addEventListener("touchmove", function(e) {
if (1 === e.targetTouches.length) {
var t = e.targetTouches[0].clientY - o;
0 === i[n].scrollTop && 0 < t && e.cancelable && e.preventDefault(),
i[n].scrollHeight - i[n].scrollTop <= i[n].clientHeight && t < 0 && e.cancelable && e.preventDefault()
}
}, !1)
},
setBehavior: function() {
this.setBehaviorFixed(),
this.setBehaviorSticky()
},
setBehaviorFixed: function() {
"fixed" === this.settings.behavior && this.setSiteSpacing()
},
setBehaviorSticky: function(e) {
var t = this.elements
, i = this.settings;
if ("sticky" === i.behavior && void 0 !== e) {
if (e > i.headerHeight) {
t.$body.addClass("jupiterx-header-stick"),
this.setSiteSpacing();
var o = a(".jupiterx-header.jupiterx-header-sticky-custom.jupiterx-header-custom > .elementor:last-of-type:not(:first-of-type)");
o.length && 0 < o.height() && t.$header.height(o.height())
} else
t.$body.removeClass("jupiterx-header-stick"),
this.clearSiteSpacing(),
t.$header.attr("style", function(e, t) {
return t && t.replace(/height[^;]+;?/g, "")
});
e > i.offset ? t.$body.addClass("jupiterx-header-sticked") : t.$body.removeClass("jupiterx-header-sticked")
}
},
setSiteSpacing: function() {
var e = this.elements
, t = this.settings;
if (this.isOverlap()) {
if (this.clearSiteSpacing(),
"fixed" === t.behavior && 0 < a(".jupiterx-tbar").length) {
var i = window.jupiterx.utils.onMobile() ? "" : this.tbarHeight() || "";
i -= this.getJetScrollNavSectionOffset(),
e.$site.css("padding-top", i)
}
} else {
var o = e.$header;
if ("fixed" === t.behavior && "bottom" === t.position)
e.$site.css("padding-" + t.position, o.outerHeight());
else if ("sticky" === t.behavior) {
var n = 0
, r = a(".jupiterx-header.jupiterx-header-sticky-custom.jupiterx-header-custom > .elementor:first-of-type:not(:last-of-type)");
n = r.length ? r.outerHeight() : o.outerHeight(),
e.$site.css("padding-" + t.position, n)
} else
e.$header.css("position", "fixed"),
e.$site.css("padding-" + t.position, o.outerHeight() + this.tbarHeight())
}
},
getJetScrollNavSectionOffset: function() {
if ($jetScroll = a(".jet-scroll-navigation"),
0 === $jetScroll.length)
return 0;
var e = $jetScroll.find(".jet-scroll-navigation__item");
if (0 === e.length)
return 0;
var t = e.data("anchor");
return t && 0 !== a("#" + t).length ? a("#" + t).offset().top : 0
},
clearSiteSpacing: function() {
this.elements.$site.css("padding-" + this.settings.position, "")
},
isOverlap: function() {
var e = this.elements.$window.outerWidth()
, t = this.settings.overlap;
if (!t)
return !1;
var i = 768 < e && -1 < t.indexOf("desktop")
, o = e < 767.98 && 576 < e && -1 < t.indexOf("tablet")
, n = e < 575.98 && -1 < t.indexOf("mobile");
return i || o || n
},
initNavbarDropdown: function(e) {
if (e.preventDefault(),
e.stopPropagation(),
!(this.elements.$window.outerWidth() > this.settings.breakpoint))
return a(e.target).closest(".menu-item").hasClass("focus") ? (a(e.target).closest(".menu-item").removeClass("focus"),
void a(e.target).closest(".menu-item").find("> .dropdown-menu").removeClass("focus")) : void a(e.target).closest(".menu-item").find("> .dropdown-menu").toggleClass("show")
},
inPageMenuClick: function() {
var n, r = this, s = this.getHeaderSettings();
this.elements.$navbar.on("click", function(e) {
n = e.target.getAttribute("href") || "";
var t = null;
try {
t = new window.URL(a(e.target).prop("href")),
a(e.target).parents("li").addClass("active")
} catch (e) {
return
}
if ((t.href.replace(t.hash, "") === window.location.href.replace(window.location.hash, "") || -1 !== n.search(/^#/)) && -1 !== t.hash.search(/^#/)) {
n = t.hash,
e.preventDefault();
var i = a(n);
if (0 === i.length)
return a("#jupiterxSiteNavbar").hasClass("show") && r.isBelowDesktop() && a("#jupiterxSiteNavbar").collapse("hide"),
void window.history.pushState(null, null, t.hash);
var o = i.offset().top;
if (o -= r.getAdminbarHeight(),
o -= r.getBodyBorderWidth(),
s && "sticky" === s.behavior && s.overlap ? o -= r.isHeaderSticked() ? r.tbarHeight() : 2 * r.tbarHeight() : s && !s.behavior ? o -= r.isHeaderSticked() ? r.tbarHeight() : 2 * r.tbarHeight() : o -= r.tbarHeight(),
(s && "fixed" === s.behavior && "top" === s.position || s && "sticky" === s.behavior) && (o -= r.getHeaderHeight()),
!1 !== is_smooth_scroll())
return a("html, body").stop().animate({
scrollTop: o
}, 500, "swing", function() {
a("#jupiterxSiteNavbar").hasClass("show") && r.isBelowDesktop() && a("#jupiterxSiteNavbar").collapse("hide"),
window.history.pushState(null, null, t.hash)
}),
!1;
window.scroll({
top: o,
behavior: "auto"
})
}
})
},
inPageMenuScroll: function() {
var e = this;
e.elements.$inPageMenuItems.length && (e.activateMenuItem(),
window.addEventListener("scroll", _.throttle(function() {
e.activateMenuItem()
}, 200)))
},
activateMenuItem: function() {
var i, o, n = this, r = window.pageYOffset;
n.elements.$inPageMenuItems.each(function(e, t) {
return t.hash < 1 || (!(o = document.querySelector('[id="' + t.hash.replace("#", "") + '"]')) || (Math.abs(a(o).offset().top + a(o).outerHeight() - a(document).height()) < 10 && Math.abs(a(window).scrollTop() + window.innerHeight - a(document).height()) < 10 ? (i = t.hash,
!1) : r + 10 >= a(o).offset().top - n.getHeaderHeight() - n.getAdminbarHeight() ? (i = t.hash,
!0) : void 0))
}),
n.elements.$inPageMenuItems.removeClass("active"),
n.elements.$navbar.find('a[href="' + i + '"]').addClass("active")
},
getHeaderHeight: function() {
var e = a(".jupiterx-header");
if (0 === e.length)
return 0;
var t = e.data("jupiterx-settings").behavior;
return "fixed" === t || "sticky" === t || window.pageYOffset < e.height() ? e.height() : 0
},
hasCustomStickyHeader: function() {
if (0 === a(".jupiterx-header.jupiterx-header-custom").length)
return !1;
var e = this.getHeaderSettings();
return !!e && (!(!e.behavior || "sticky" !== e.behavior) && (!e.stickyTemplate || e.stickyTemplate !== e.template))
},
getHeaderSettings: function() {
return a(".jupiterx-header").data("jupiterx-settings")
},
getCustomStickyHeaderHeight: function() {
if (!this.hasCustomStickyHeader())
return 0;
var e = a(".jupiterx-header-custom .elementor:last-of-type");
return 0 === e.length ? 0 : e.outerHeight()
},
getBodyBorderWidth: function() {
var e = a(".jupiterx-site-body-border");
if (0 === e.length)
return 0;
var t = e.css("border-width");
return t ? parseInt(t.replace("px", "")) : 0
},
getAdminbarHeight: function() {
var e = a("#wpadminbar");
return e.length ? e.height() : 0
},
tbarHeight: function() {
var e = a(".jupiterx-tbar");
return "none" === e.css("display") ? 0 : e.length ? e.outerHeight() : 0
},
isBelowDesktop: function() {
return window.jupiterx.utils.onMobile() || window.jupiterx.utils.onTablet()
},
handlePageLoadScroll: function() {
var i = this
, o = this.getHeaderSettings();
a(document).ready(function() {
if (!(window.jupiterx.utils.onMobile() && a("body").hasClass("jupiterx-header-mobile-behavior-off") || window.jupiterx.utils.onTablet() && a("body").hasClass("jupiterx-header-tablet-behavior-off"))) {
var e = a(window.location.hash);
if (0 !== e.length) {
var t = e.offset().top;
t -= i.getAdminbarHeight(),
t -= i.getBodyBorderWidth(),
o && "sticky" === o.behavior && o.overlap ? t -= i.isHeaderSticked() ? i.tbarHeight() : 2 * i.tbarHeight() : o && !o.behavior ? t -= i.isTbarFixed() ? i.tbarHeight() : 2 * i.tbarHeight() : t -= i.tbarHeight(),
i.hasCustomStickyHeader() ? t -= i.getCustomStickyHeaderHeight() : (o && "fixed" === o.behavior && "top" === o.position || o && "sticky" === o.behavior) && (t -= i.getHeaderHeight()),
a("#jupiterxSiteNavbar").find("a").each(function(e, t) {
window.location.hash == "#" + a(t).attr("href").split("#")[1] && (a(t).addClass("active"),
a(t).parent().addClass("active"))
}),
!1 !== is_smooth_scroll() ? a("html, body").stop().animate({
scrollTop: t
}, 500, "swing") : window.scroll({
top: t,
behavior: "auto"
})
}
}
})
},
handleSmoothScrollElements: function(e, t) {
var i = this
, o = i.getHeaderSettings()
, n = t.attr("href") || ""
, r = null;
try {
r = new window.URL(t.prop("href"))
} catch (e) {
return
}
if ((r.href.replace(r.hash, "") === window.location.href.replace(window.location.hash, "") || -1 !== n.search(/^#/)) && -1 !== r.hash.search(/^#/)) {
n = r.hash,
e.preventDefault();
var s = a(n).offset().top;
return s -= i.getAdminbarHeight(),
s -= i.getBodyBorderWidth(),
o && "sticky" === o.behavior && o.overlap ? s -= i.isHeaderSticked() ? i.tbarHeight() : 2 * i.tbarHeight() : o && !o.behavior ? s -= i.isHeaderSticked() ? i.tbarHeight() : 2 * i.tbarHeight() : s -= i.tbarHeight(),
i.hasCustomStickyHeader() ? s -= i.getCustomStickyHeaderHeight() : (o && "fixed" === o.behavior && "top" === o.position || o && "sticky" === o.behavior) && (s -= i.getHeaderHeight()),
window.elementorFrontend && window.elementorFrontend.hooks.addFilter("frontend/handlers/menu_anchor/scroll_top_distance", function() {
return s
}),
a("html, body").stop().animate({
scrollTop: s
}, 500, "swing", function() {
window.history.pushState(null, null, r.hash)
}),
!1
}
},
isHeaderSticked: function() {
return 0 < a(".jupiterx-header-sticked").length
},
isTbarFixed: function() {
return "fixed" === a(".jupiterx-tbar").css("position")
},
init: function() {
this.handlePageLoadScroll(),
this.setElements(),
this.elements.$header.length && (this.setSettings(),
this.bindEvents(),
this.inPageMenuClick(),
this.inPageMenuScroll())
}
})
}(jQuery),
jQuery(document).ready(function(t) {
var e = t(".jupiterx-widget.widget_nav_menu").find(".current_page_item, .current-cat");
e.length && e.parents(".sub-menu, .children").slideToggle().parents(".menu-item-has-children, .cat-parent").toggleClass("jupiterx-icon-plus jupiterx-icon-minus"),
t(document).on("click", ".jupiterx-widget .menu-item-has-children, .jupiterx-widget .cat-parent", function(e) {
e.stopPropagation(),
"A" !== e.target.nodeName && t(this).toggleClass("jupiterx-icon-plus jupiterx-icon-minus").find("> ul").slideToggle()
})
}),
jQuery(document).ready(function(n) {
n(".jupiterx-footer-fixed").each(function(e, t) {
var i, o = n(t);
i = n("", {
class: "jupiterx-footer-dummy"
}),
o.after(i),
n(window).resize(function() {
i && i.height(o.outerHeight())
}),
i.height(o.outerHeight())
}),
n("body").is(".elementor-editor-active.jupiterx-header-overlapped") && n("header.jupiterx-header").length && (n("body").prepend('Hide Header
'),
n(".jupiterx-header-overlapped header").addClass("jupiterx-disableable-overlapped"),
n(".jupiterx-toggle-overlapped").on("click", function() {
var e = n(this).find("span")
, t = n(this).find("i");
n(".jupiterx-header-overlapped header").toggle(),
t.hasClass("jupiterx-icon-eye-slash") ? (e.text("Show Header"),
t.removeClass("jupiterx-icon-eye-slash").addClass("jupiterx-icon-eye-regular")) : (e.text("Hide Header"),
t.removeClass("jupiterx-icon-eye-regular").addClass("jupiterx-icon-eye-slash"))
}))
}),
jQuery(document).ready(function() {
var e = window.jupiterx || {};
e.initComponents = function() {
for (component in this.components)
new this.components[component]
}
,
e.init = function() {
this.pubsub = new PubSub,
this.pubsub.publish("init"),
this.utils = new this.utils,
this.initComponents()
}
,
e.init()
}),
void 0 !== window.jQuery && ($ = window.jQuery),
function(e) {
if (void 0 === e)
throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");
var t = e.fn.jquery.split(" ")[0].split(".");
if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || 4 <= t[0])
throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")
}($);
var Util = function(o) {
var t = "transitionend";
function e(e) {
var t = this
, i = !1;
return o(this).one(l.TRANSITION_END, function() {
i = !0
}),
setTimeout(function() {
i || l.triggerTransitionEnd(t)
}, e),
this
}
var l = {
TRANSITION_END: "bsTransitionEnd",
getUID: function(e) {
for (; e += ~~(1e6 * Math.random()),
document.getElementById(e); )
;
return e
},
getSelectorFromElement: function(e) {
var t = e.getAttribute("data-target");
t && "#" !== t || (t = e.getAttribute("href") || "");
try {
return 0 < o(document).find(t).length ? t : null
} catch (e) {
return null
}
},
getTransitionDurationFromElement: function(e) {
if (!e)
return 0;
var t = o(e).css("transition-duration");
return parseFloat(t) ? (t = t.split(",")[0],
1e3 * parseFloat(t)) : 0
},
reflow: function(e) {
return e.offsetHeight
},
triggerTransitionEnd: function(e) {
o(e).trigger(t)
},
supportsTransitionEnd: function() {
return Boolean(t)
},
isElement: function(e) {
return (e[0] || e).nodeType
},
typeCheckConfig: function(e, t, i) {
for (var o in i)
if (Object.prototype.hasOwnProperty.call(i, o)) {
var n = i[o]
, r = t[o]
, s = r && l.isElement(r) ? "element" : (a = r,
{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());
if (!new RegExp(n).test(s))
throw new Error(e.toUpperCase() + ': Option "' + o + '" provided type "' + s + '" but expected type "' + n + '".')
}
var a
}
};
return o.fn.emulateTransitionEnd = e,
o.event.special[l.TRANSITION_END] = {
bindType: t,
delegateType: t,
handle: function(e) {
if (o(e.target).is(this))
return e.handleObj.handler.apply(this, arguments)
}
},
l
}($);
function _objectSpread(t) {
for (var e = 1; e < arguments.length; e++) {
var i = null != arguments[e] ? arguments[e] : {}
, o = Object.keys(i);
"function" == typeof Object.getOwnPropertySymbols && (o = o.concat(Object.getOwnPropertySymbols(i).filter(function(e) {
return Object.getOwnPropertyDescriptor(i, e).enumerable
}))),
o.forEach(function(e) {
_defineProperty(t, e, i[e])
})
}
return t
}
function _defineProperty(e, t, i) {
return t in e ? Object.defineProperty(e, t, {
value: i,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = i,
e
}
function _defineProperties(e, t) {
for (var i = 0; i < t.length; i++) {
var o = t[i];
o.enumerable = o.enumerable || !1,
o.configurable = !0,
"value"in o && (o.writable = !0),
Object.defineProperty(e, o.key, o)
}
}
function _createClass(e, t, i) {
return t && _defineProperties(e.prototype, t),
i && _defineProperties(e, i),
e
}
!function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.Popper = t()
}(this, function() {
"use strict";
for (var e = "undefined" != typeof window && "undefined" != typeof document, t = ["Edge", "Trident", "Firefox"], i = 0, o = 0; o < t.length; o += 1)
if (e && 0 <= navigator.userAgent.indexOf(t[o])) {
i = 1;
break
}
var r = e && window.Promise ? function(e) {
var t = !1;
return function() {
t || (t = !0,
window.Promise.resolve().then(function() {
t = !1,
e()
}))
}
}
: function(e) {
var t = !1;
return function() {
t || (t = !0,
setTimeout(function() {
t = !1,
e()
}, i))
}
}
;
function s(e) {
return e && "[object Function]" === {}.toString.call(e)
}
function b(e, t) {
if (1 !== e.nodeType)
return [];
var i = getComputedStyle(e, null);
return t ? i[t] : i
}
function f(e) {
return "HTML" === e.nodeName ? e : e.parentNode || e.host
}
function g(e) {
if (!e)
return document.body;
switch (e.nodeName) {
case "HTML":
case "BODY":
return e.ownerDocument.body;
case "#document":
return e.body
}
var t = b(e)
, i = t.overflow
, o = t.overflowX
, n = t.overflowY;
return /(auto|scroll|overlay)/.test(i + n + o) ? e : g(f(e))
}
var n = e && !(!window.MSInputMethodContext || !document.documentMode)
, a = e && /MSIE 10/.test(navigator.userAgent);
function m(e) {
return 11 === e ? n : 10 === e ? a : n || a
}
function w(e) {
if (!e)
return document.documentElement;
for (var t = m(10) ? document.body : null, i = e.offsetParent; i === t && e.nextElementSibling; )
i = (e = e.nextElementSibling).offsetParent;
var o = i && i.nodeName;
return o && "BODY" !== o && "HTML" !== o ? -1 !== ["TD", "TABLE"].indexOf(i.nodeName) && "static" === b(i, "position") ? w(i) : i : e ? e.ownerDocument.documentElement : document.documentElement
}
function l(e) {
return null !== e.parentNode ? l(e.parentNode) : e
}
function h(e, t) {
if (!(e && e.nodeType && t && t.nodeType))
return document.documentElement;
var i = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING
, o = i ? e : t
, n = i ? t : e
, r = document.createRange();
r.setStart(o, 0),
r.setEnd(n, 0);
var s = r.commonAncestorContainer;
if (e !== s && t !== s || o.contains(n))
return function(e) {
var t = e.nodeName;
return "BODY" !== t && ("HTML" === t || w(e.firstElementChild) === e)
}(s) ? s : w(s);
var a = l(e);
return a.host ? h(a.host, t) : h(e, l(t).host)
}
function v(e, t) {
var i = "top" === (1 < arguments.length && void 0 !== t ? t : "top") ? "scrollTop" : "scrollLeft"
, o = e.nodeName;
if ("BODY" !== o && "HTML" !== o)
return e[i];
var n = e.ownerDocument.documentElement;
return (e.ownerDocument.scrollingElement || n)[i]
}
function p(e, t) {
var i = "x" === t ? "Left" : "Top"
, o = "Left" == i ? "Right" : "Bottom";
return parseFloat(e["border" + i + "Width"], 10) + parseFloat(e["border" + o + "Width"], 10)
}
function d(e, t, i, o) {
return Math.max(t["offset" + e], t["scroll" + e], i["client" + e], i["offset" + e], i["scroll" + e], m(10) ? i["offset" + e] + o["margin" + ("Height" === e ? "Top" : "Left")] + o["margin" + ("Height" === e ? "Bottom" : "Right")] : 0)
}
function y() {
var e = document.body
, t = document.documentElement
, i = m(10) && getComputedStyle(t);
return {
height: d("Height", e, t, i),
width: d("Width", e, t, i)
}
}
var c = function(e, t, i) {
return t && u(e.prototype, t),
i && u(e, i),
e
};
function u(e, t) {
for (var i = 0; i < t.length; i++) {
var o = t[i];
o.enumerable = o.enumerable || !1,
o.configurable = !0,
"value"in o && (o.writable = !0),
Object.defineProperty(e, o.key, o)
}
}
function k(e, t, i) {
return t in e ? Object.defineProperty(e, t, {
value: i,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = i,
e
}
var x = Object.assign || function(e) {
for (var t = 1; t < arguments.length; t++) {
var i = arguments[t];
for (var o in i)
Object.prototype.hasOwnProperty.call(i, o) && (e[o] = i[o])
}
return e
}
;
function T(e) {
return x({}, e, {
right: e.left + e.width,
bottom: e.top + e.height
})
}
function C(e) {
var t = {};
try {
if (m(10)) {
t = e.getBoundingClientRect();
var i = v(e, "top")
, o = v(e, "left");
t.top += i,
t.left += o,
t.bottom += i,
t.right += o
} else
t = e.getBoundingClientRect()
} catch (e) {}
var n = {
left: t.left,
top: t.top,
width: t.right - t.left,
height: t.bottom - t.top
}
, r = "HTML" === e.nodeName ? y() : {}
, s = r.width || e.clientWidth || n.right - n.left
, a = r.height || e.clientHeight || n.bottom - n.top
, l = e.offsetWidth - s
, d = e.offsetHeight - a;
if (l || d) {
var c = b(e);
l -= p(c, "x"),
d -= p(c, "y"),
n.width -= l,
n.height -= d
}
return T(n)
}
function S(e, t, i) {
var o = 2 < arguments.length && void 0 !== i && i
, n = m(10)
, r = "HTML" === t.nodeName
, s = C(e)
, a = C(t)
, l = g(e)
, d = b(t)
, c = parseFloat(d.borderTopWidth, 10)
, p = parseFloat(d.borderLeftWidth, 10);
o && "HTML" === t.nodeName && (a.top = Math.max(a.top, 0),
a.left = Math.max(a.left, 0));
var u = T({
top: s.top - a.top - c,
left: s.left - a.left - p,
width: s.width,
height: s.height
});
if (u.marginTop = 0,
u.marginLeft = 0,
!n && r) {
var f = parseFloat(d.marginTop, 10)
, h = parseFloat(d.marginLeft, 10);
u.top -= c - f,
u.bottom -= c - f,
u.left -= p - h,
u.right -= p - h,
u.marginTop = f,
u.marginLeft = h
}
return (n && !o ? t.contains(l) : t === l && "BODY" !== l.nodeName) && (u = function(e, t, i) {
var o = 2 < arguments.length && void 0 !== i && i
, n = v(t, "top")
, r = v(t, "left")
, s = o ? -1 : 1;
return e.top += n * s,
e.bottom += n * s,
e.left += r * s,
e.right += r * s,
e
}(u, t)),
u
}
function _(e) {
if (!e || !e.parentElement || m())
return document.documentElement;
for (var t = e.parentElement; t && "none" === b(t, "transform"); )
t = t.parentElement;
return t || document.documentElement
}
function $(e, t, i, o, n) {
var r = 4 < arguments.length && void 0 !== n && n
, s = {
top: 0,
left: 0
}
, a = r ? _(e) : h(e, t);
if ("viewport" === o)
s = function(e, t) {
var i = 1 < arguments.length && void 0 !== t && t
, o = e.ownerDocument.documentElement
, n = S(e, o)
, r = Math.max(o.clientWidth, window.innerWidth || 0)
, s = Math.max(o.clientHeight, window.innerHeight || 0)
, a = i ? 0 : v(o)
, l = i ? 0 : v(o, "left");
return T({
top: a - n.top + n.marginTop,
left: l - n.left + n.marginLeft,
width: r,
height: s
})
}(a, r);
else {
var l = void 0;
"scrollParent" === o ? "BODY" === (l = g(f(t))).nodeName && (l = e.ownerDocument.documentElement) : l = "window" === o ? e.ownerDocument.documentElement : o;
var d = S(l, a, r);
if ("HTML" !== l.nodeName || function e(t) {
var i = t.nodeName;
return "BODY" !== i && "HTML" !== i && ("fixed" === b(t, "position") || e(f(t)))
}(a))
s = d;
else {
var c = y()
, p = c.height
, u = c.width;
s.top += d.top - d.marginTop,
s.bottom = p + d.top,
s.left += d.left - d.marginLeft,
s.right = u + d.left
}
}
return s.left += i,
s.top += i,
s.right -= i,
s.bottom -= i,
s
}
function j(e, t, o, i, n, r) {
var s = 5 < arguments.length && void 0 !== r ? r : 0;
if (-1 === e.indexOf("auto"))
return e;
var a = $(o, i, s, n)
, l = {
top: {
width: a.width,
height: t.top - a.top
},
right: {
width: a.right - t.right,
height: a.height
},
bottom: {
width: a.width,
height: a.bottom - t.bottom
},
left: {
width: t.left - a.left,
height: a.height
}
}
, d = Object.keys(l).map(function(e) {
return x({
key: e
}, l[e], {
area: function(e) {
return e.width * e.height
}(l[e])
})
}).sort(function(e, t) {
return t.area - e.area
})
, c = d.filter(function(e) {
var t = e.width
, i = e.height;
return t >= o.clientWidth && i >= o.clientHeight
})
, p = 0 < c.length ? c[0].key : d[0].key
, u = e.split("-")[1];
return p + (u ? "-" + u : "")
}
function O(e, t, i, o) {
var n = 3 < arguments.length && void 0 !== o ? o : null;
return S(i, n ? _(t) : h(t, i), n)
}
function E(e) {
var t = getComputedStyle(e)
, i = parseFloat(t.marginTop) + parseFloat(t.marginBottom)
, o = parseFloat(t.marginLeft) + parseFloat(t.marginRight);
return {
width: e.offsetWidth + o,
height: e.offsetHeight + i
}
}
function A(e) {
var t = {
left: "right",
right: "left",
bottom: "top",
top: "bottom"
};
return e.replace(/left|right|bottom|top/g, function(e) {
return t[e]
})
}
function H(e, t, i) {
i = i.split("-")[0];
var o = E(e)
, n = {
width: o.width,
height: o.height
}
, r = -1 !== ["right", "left"].indexOf(i)
, s = r ? "top" : "left"
, a = r ? "left" : "top"
, l = r ? "height" : "width"
, d = r ? "width" : "height";
return n[s] = t[s] + t[l] / 2 - o[l] / 2,
n[a] = i === a ? t[a] - o[d] : t[A(a)],
n
}
function P(e, t) {
return Array.prototype.find ? e.find(t) : e.filter(t)[0]
}
function D(e, i, t) {
return (void 0 === t ? e : e.slice(0, function(e, t, i) {
if (Array.prototype.findIndex)
return e.findIndex(function(e) {
return e[t] === i
});
var o = P(e, function(e) {
return e[t] === i
});
return e.indexOf(o)
}(e, "name", t))).forEach(function(e) {
e.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
var t = e.function || e.fn;
e.enabled && s(t) && (i.offsets.popper = T(i.offsets.popper),
i.offsets.reference = T(i.offsets.reference),
i = t(i, e))
}),
i
}
function M(e, i) {
return e.some(function(e) {
var t = e.name;
return e.enabled && t === i
})
}
function L(e) {
for (var t = [!1, "ms", "Webkit", "Moz", "O"], i = e.charAt(0).toUpperCase() + e.slice(1), o = 0; o < t.length; o++) {
var n = t[o]
, r = n ? "" + n + i : e;
if (void 0 !== document.body.style[r])
return r
}
return null
}
function I(e) {
var t = e.ownerDocument;
return t ? t.defaultView : window
}
function N(e, t, i, o) {
i.updateBound = o,
I(e).addEventListener("resize", i.updateBound, {
passive: !0
});
var n = g(e);
return function e(t, i, o, n) {
var r = "BODY" === t.nodeName
, s = r ? t.ownerDocument.defaultView : t;
s.addEventListener(i, o, {
passive: !0
}),
r || e(g(s.parentNode), i, o, n),
n.push(s)
}(n, "scroll", i.updateBound, i.scrollParents),
i.scrollElement = n,
i.eventsEnabled = !0,
i
}
function F() {
this.state.eventsEnabled && (cancelAnimationFrame(this.scheduleUpdate),
this.state = function(e, t) {
return I(e).removeEventListener("resize", t.updateBound),
t.scrollParents.forEach(function(e) {
e.removeEventListener("scroll", t.updateBound)
}),
t.updateBound = null,
t.scrollParents = [],
t.scrollElement = null,
t.eventsEnabled = !1,
t
}(this.reference, this.state))
}
function z(e) {
return "" !== e && !isNaN(parseFloat(e)) && isFinite(e)
}
function W(i, o) {
Object.keys(o).forEach(function(e) {
var t = "";
-1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(e) && z(o[e]) && (t = "px"),
i.style[e] = o[e] + t
})
}
function B(e, t, i) {
var o = P(e, function(e) {
return e.name === t
})
, n = !!o && e.some(function(e) {
return e.name === i && e.enabled && e.order < o.order
});
if (!n) {
var r = "`" + t + "`"
, s = "`" + i + "`";
console.warn(s + " modifier is required by " + r + " modifier in order to work, be sure to include it before " + r + "!")
}
return n
}
var q = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"]
, R = q.slice(3);
function Y(e, t) {
var i = 1 < arguments.length && void 0 !== t && t
, o = R.indexOf(e)
, n = R.slice(o + 1).concat(R.slice(0, o));
return i ? n.reverse() : n
}
var U = "flip"
, Q = "clockwise"
, V = "counterclockwise";
function X(e, n, r, t) {
var s = [0, 0]
, a = -1 !== ["right", "left"].indexOf(t)
, i = e.split(/(\+|\-)/).map(function(e) {
return e.trim()
})
, o = i.indexOf(P(i, function(e) {
return -1 !== e.search(/,|\s/)
}));
i[o] && -1 === i[o].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
var l = /\s*,\s*|\s+/
, d = -1 !== o ? [i.slice(0, o).concat([i[o].split(l)[0]]), [i[o].split(l)[1]].concat(i.slice(o + 1))] : [i];
return (d = d.map(function(e, t) {
var i = (1 === t ? !a : a) ? "height" : "width"
, o = !1;
return e.reduce(function(e, t) {
return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) ? (e[e.length - 1] = t,
o = !0,
e) : o ? (e[e.length - 1] += t,
o = !1,
e) : e.concat(t)
}, []).map(function(e) {
return function(e, t, i, o) {
var n = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/)
, r = +n[1]
, s = n[2];
if (!r)
return e;
if (0 !== s.indexOf("%"))
return "vh" !== s && "vw" !== s ? r : ("vh" === s ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100 * r;
var a = void 0;
switch (s) {
case "%p":
a = i;
break;
case "%":
case "%r":
default:
a = o
}
return T(a)[t] / 100 * r
}(e, i, n, r)
})
})).forEach(function(i, o) {
i.forEach(function(e, t) {
z(e) && (s[o] += e * ("-" === i[t - 1] ? -1 : 1))
})
}),
s
}
var K = {
placement: "bottom",
positionFixed: !1,
eventsEnabled: !0,
removeOnDestroy: !1,
onCreate: function() {},
onUpdate: function() {},
modifiers: {
shift: {
order: 100,
enabled: !0,
fn: function(e) {
var t = e.placement
, i = t.split("-")[0]
, o = t.split("-")[1];
if (o) {
var n = e.offsets
, r = n.reference
, s = n.popper
, a = -1 !== ["bottom", "top"].indexOf(i)
, l = a ? "left" : "top"
, d = a ? "width" : "height"
, c = {
start: k({}, l, r[l]),
end: k({}, l, r[l] + r[d] - s[d])
};
e.offsets.popper = x({}, s, c[o])
}
return e
}
},
offset: {
order: 200,
enabled: !0,
fn: function(e, t) {
var i = t.offset
, o = e.placement
, n = e.offsets
, r = n.popper
, s = n.reference
, a = o.split("-")[0]
, l = void 0;
return l = z(+i) ? [+i, 0] : X(i, r, s, a),
"left" === a ? (r.top += l[0],
r.left -= l[1]) : "right" === a ? (r.top += l[0],
r.left += l[1]) : "top" === a ? (r.left += l[0],
r.top -= l[1]) : "bottom" === a && (r.left += l[0],
r.top += l[1]),
e.popper = r,
e
},
offset: 0
},
preventOverflow: {
order: 300,
enabled: !0,
fn: function(e, o) {
var t = o.boundariesElement || w(e.instance.popper);
e.instance.reference === t && (t = w(t));
var i = L("transform")
, n = e.instance.popper.style
, r = n.top
, s = n.left
, a = n[i];
n.top = "",
n.left = "",
n[i] = "";
var l = $(e.instance.popper, e.instance.reference, o.padding, t, e.positionFixed);
n.top = r,
n.left = s,
n[i] = a,
o.boundaries = l;
var d = o.priority
, c = e.offsets.popper
, p = {
primary: function(e) {
var t = c[e];
return c[e] < l[e] && !o.escapeWithReference && (t = Math.max(c[e], l[e])),
k({}, e, t)
},
secondary: function(e) {
var t = "right" === e ? "left" : "top"
, i = c[t];
return c[e] > l[e] && !o.escapeWithReference && (i = Math.min(c[t], l[e] - ("right" === e ? c.width : c.height))),
k({}, t, i)
}
};
return d.forEach(function(e) {
var t = -1 !== ["left", "top"].indexOf(e) ? "primary" : "secondary";
c = x({}, c, p[t](e))
}),
e.offsets.popper = c,
e
},
priority: ["left", "right", "top", "bottom"],
padding: 5,
boundariesElement: "scrollParent"
},
keepTogether: {
order: 400,
enabled: !0,
fn: function(e) {
var t = e.offsets
, i = t.popper
, o = t.reference
, n = e.placement.split("-")[0]
, r = Math.floor
, s = -1 !== ["top", "bottom"].indexOf(n)
, a = s ? "right" : "bottom"
, l = s ? "left" : "top"
, d = s ? "width" : "height";
return i[a] < r(o[l]) && (e.offsets.popper[l] = r(o[l]) - i[d]),
i[l] > r(o[a]) && (e.offsets.popper[l] = r(o[a])),
e
}
},
arrow: {
order: 500,
enabled: !0,
fn: function(e, t) {
var i;
if (!B(e.instance.modifiers, "arrow", "keepTogether"))
return e;
var o = t.element;
if ("string" == typeof o) {
if (!(o = e.instance.popper.querySelector(o)))
return e
} else if (!e.instance.popper.contains(o))
return console.warn("WARNING: `arrow.element` must be child of its popper element!"),
e;
var n = e.placement.split("-")[0]
, r = e.offsets
, s = r.popper
, a = r.reference
, l = -1 !== ["left", "right"].indexOf(n)
, d = l ? "height" : "width"
, c = l ? "Top" : "Left"
, p = c.toLowerCase()
, u = l ? "left" : "top"
, f = l ? "bottom" : "right"
, h = E(o)[d];
a[f] - h < s[p] && (e.offsets.popper[p] -= s[p] - (a[f] - h)),
a[p] + h > s[f] && (e.offsets.popper[p] += a[p] + h - s[f]),
e.offsets.popper = T(e.offsets.popper);
var g = a[p] + a[d] / 2 - h / 2
, m = b(e.instance.popper)
, v = parseFloat(m["margin" + c], 10)
, w = parseFloat(m["border" + c + "Width"], 10)
, y = g - e.offsets.popper[p] - v - w;
return y = Math.max(Math.min(s[d] - h, y), 0),
e.arrowElement = o,
e.offsets.arrow = (k(i = {}, p, Math.round(y)),
k(i, u, ""),
i),
e
},
element: "[x-arrow]"
},
flip: {
order: 600,
enabled: !0,
fn: function(f, h) {
if (M(f.instance.modifiers, "inner"))
return f;
if (f.flipped && f.placement === f.originalPlacement)
return f;
var g = $(f.instance.popper, f.instance.reference, h.padding, h.boundariesElement, f.positionFixed)
, m = f.placement.split("-")[0]
, v = A(m)
, w = f.placement.split("-")[1] || ""
, y = [];
switch (h.behavior) {
case U:
y = [m, v];
break;
case Q:
y = Y(m);
break;
case V:
y = Y(m, !0);
break;
default:
y = h.behavior
}
return y.forEach(function(e, t) {
if (m !== e || y.length === t + 1)
return f;
m = f.placement.split("-")[0],
v = A(m);
var i = f.offsets.popper
, o = f.offsets.reference
, n = Math.floor
, r = "left" === m && n(i.right) > n(o.left) || "right" === m && n(i.left) < n(o.right) || "top" === m && n(i.bottom) > n(o.top) || "bottom" === m && n(i.top) < n(o.bottom)
, s = n(i.left) < n(g.left)
, a = n(i.right) > n(g.right)
, l = n(i.top) < n(g.top)
, d = n(i.bottom) > n(g.bottom)
, c = "left" === m && s || "right" === m && a || "top" === m && l || "bottom" === m && d
, p = -1 !== ["top", "bottom"].indexOf(m)
, u = !!h.flipVariations && (p && "start" === w && s || p && "end" === w && a || !p && "start" === w && l || !p && "end" === w && d);
(r || c || u) && (f.flipped = !0,
(r || c) && (m = y[t + 1]),
u && (w = function(e) {
return "end" === e ? "start" : "start" === e ? "end" : e
}(w)),
f.placement = m + (w ? "-" + w : ""),
f.offsets.popper = x({}, f.offsets.popper, H(f.instance.popper, f.offsets.reference, f.placement)),
f = D(f.instance.modifiers, f, "flip"))
}),
f
},
behavior: "flip",
padding: 5,
boundariesElement: "viewport"
},
inner: {
order: 700,
enabled: !1,
fn: function(e) {
var t = e.placement
, i = t.split("-")[0]
, o = e.offsets
, n = o.popper
, r = o.reference
, s = -1 !== ["left", "right"].indexOf(i)
, a = -1 === ["top", "left"].indexOf(i);
return n[s ? "left" : "top"] = r[i] - (a ? n[s ? "width" : "height"] : 0),
e.placement = A(t),
e.offsets.popper = T(n),
e
}
},
hide: {
order: 800,
enabled: !0,
fn: function(e) {
if (!B(e.instance.modifiers, "hide", "preventOverflow"))
return e;
var t = e.offsets.reference
, i = P(e.instance.modifiers, function(e) {
return "preventOverflow" === e.name
}).boundaries;
if (t.bottom < i.top || t.left > i.right || t.top > i.bottom || t.right < i.left) {
if (!0 === e.hide)
return e;
e.hide = !0,
e.attributes["x-out-of-boundaries"] = ""
} else {
if (!1 === e.hide)
return e;
e.hide = !1,
e.attributes["x-out-of-boundaries"] = !1
}
return e
}
},
computeStyle: {
order: 850,
enabled: !0,
fn: function(e, t) {
var i = t.x
, o = t.y
, n = e.offsets.popper
, r = P(e.instance.modifiers, function(e) {
return "applyStyle" === e.name
}).gpuAcceleration;
void 0 !== r && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
var s = void 0 !== r ? r : t.gpuAcceleration
, a = C(w(e.instance.popper))
, l = {
position: n.position
}
, d = {
left: Math.floor(n.left),
top: Math.round(n.top),
bottom: Math.round(n.bottom),
right: Math.floor(n.right)
}
, c = "bottom" === i ? "top" : "bottom"
, p = "right" === o ? "left" : "right"
, u = L("transform")
, f = void 0
, h = void 0;
if (h = "bottom" == c ? -a.height + d.bottom : d.top,
f = "right" == p ? -a.width + d.right : d.left,
s && u)
l[u] = "translate3d(" + f + "px, " + h + "px, 0)",
l[c] = 0,
l[p] = 0,
l.willChange = "transform";
else {
var g = "bottom" == c ? -1 : 1
, m = "right" == p ? -1 : 1;
l[c] = h * g,
l[p] = f * m,
l.willChange = c + ", " + p
}
var v = {
"x-placement": e.placement
};
return e.attributes = x({}, v, e.attributes),
e.styles = x({}, l, e.styles),
e.arrowStyles = x({}, e.offsets.arrow, e.arrowStyles),
e
},
gpuAcceleration: !0,
x: "bottom",
y: "right"
},
applyStyle: {
order: 900,
enabled: !0,
fn: function(e) {
return W(e.instance.popper, e.styles),
function(t, i) {
Object.keys(i).forEach(function(e) {
!1 !== i[e] ? t.setAttribute(e, i[e]) : t.removeAttribute(e)
})
}(e.instance.popper, e.attributes),
e.arrowElement && Object.keys(e.arrowStyles).length && W(e.arrowElement, e.arrowStyles),
e
},
onLoad: function(e, t, i, o, n) {
var r = O(n, t, e, i.positionFixed)
, s = j(i.placement, r, t, e, i.modifiers.flip.boundariesElement, i.modifiers.flip.padding);
return t.setAttribute("x-placement", s),
W(t, {
position: i.positionFixed ? "fixed" : "absolute"
}),
i
},
gpuAcceleration: void 0
}
}
}
, G = (c(Z, [{
key: "update",
value: function() {
return function() {
if (!this.state.isDestroyed) {
var e = {
instance: this,
styles: {},
arrowStyles: {},
attributes: {},
flipped: !1,
offsets: {}
};
e.offsets.reference = O(this.state, this.popper, this.reference, this.options.positionFixed),
e.placement = j(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding),
e.originalPlacement = e.placement,
e.positionFixed = this.options.positionFixed,
e.offsets.popper = H(this.popper, e.offsets.reference, e.placement),
e.offsets.popper.position = this.options.positionFixed ? "fixed" : "absolute",
e = D(this.modifiers, e),
this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0,
this.options.onCreate(e))
}
}
.call(this)
}
}, {
key: "destroy",
value: function() {
return function() {
return this.state.isDestroyed = !0,
M(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"),
this.popper.style.position = "",
this.popper.style.top = "",
this.popper.style.left = "",
this.popper.style.right = "",
this.popper.style.bottom = "",
this.popper.style.willChange = "",
this.popper.style[L("transform")] = ""),
this.disableEventListeners(),
this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper),
this
}
.call(this)
}
}, {
key: "enableEventListeners",
value: function() {
return function() {
this.state.eventsEnabled || (this.state = N(this.reference, this.options, this.state, this.scheduleUpdate))
}
.call(this)
}
}, {
key: "disableEventListeners",
value: function() {
return F.call(this)
}
}]),
Z);
function Z(e, t) {
var i = this
, o = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {};
!function(e, t) {
if (!(e instanceof t))
throw new TypeError("Cannot call a class as a function")
}(this, Z),
this.scheduleUpdate = function() {
return requestAnimationFrame(i.update)
}
,
this.update = r(this.update.bind(this)),
this.options = x({}, Z.Defaults, o),
this.state = {
isDestroyed: !1,
isCreated: !1,
scrollParents: []
},
this.reference = e && e.jquery ? e[0] : e,
this.popper = t && t.jquery ? t[0] : t,
this.options.modifiers = {},
Object.keys(x({}, Z.Defaults.modifiers, o.modifiers)).forEach(function(e) {
i.options.modifiers[e] = x({}, Z.Defaults.modifiers[e] || {}, o.modifiers ? o.modifiers[e] : {})
}),
this.modifiers = Object.keys(this.options.modifiers).map(function(e) {
return x({
name: e
}, i.options.modifiers[e])
}).sort(function(e, t) {
return e.order - t.order
}),
this.modifiers.forEach(function(e) {
e.enabled && s(e.onLoad) && e.onLoad(i.reference, i.popper, i.options, e, i.state)
}),
this.update();
var n = this.options.eventsEnabled;
n && this.enableEventListeners(),
this.state.eventsEnabled = n
}
return G.Utils = ("undefined" != typeof window ? window : global).PopperUtils,
G.placements = q,
G.Defaults = K,
G
});
var Dropdown = function(d) {
var t = "dropdown"
, c = "bs.dropdown"
, i = "." + c
, e = ".data-api"
, o = d.fn[t]
, s = new RegExp("38|40|27")
, p = {
HIDE: "hide" + i,
HIDDEN: "hidden" + i,
SHOW: "show" + i,
SHOWN: "shown" + i,
CLICK: "click" + i,
CLICK_DATA_API: "click" + i + e,
KEYDOWN_DATA_API: "keydown" + i + e,
KEYUP_DATA_API: "keyup" + i + e
}
, a = "disabled"
, u = "show"
, n = "dropup"
, r = "dropright"
, f = "dropleft"
, h = "dropdown-menu-right"
, g = "position-static"
, m = '[data-toggle="dropdown"]'
, l = ".dropdown form"
, v = ".dropdown-menu"
, w = ".navbar-nav"
, y = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"
, b = "top-start"
, k = "top-end"
, x = "bottom-start"
, T = "bottom-end"
, C = "right-start"
, S = "left-start"
, _ = {
offset: 0,
flip: !0,
boundary: "scrollParent",
reference: "toggle",
display: "dynamic"
}
, $ = {
offset: "(number|string|function)",
flip: "boolean",
boundary: "(string|element)",
reference: "(string|element)",
display: "string"
}
, j = function() {
function l(e, t) {
this._element = e,
this._popper = null,
this._config = this._getConfig(t),
this._menu = this._getMenuElement(),
this._inNavbar = this._detectNavbar(),
this._addEventListeners()
}
var e = l.prototype;
return e.toggle = function() {
if (!this._element.disabled && !d(this._element).hasClass(a)) {
var e = l._getParentFromElement(this._element)
, t = d(this._menu).hasClass(u);
if (l._clearMenus(),
!t) {
var i = {
relatedTarget: this._element
}
, o = d.Event(p.SHOW, i);
if (d(e).trigger(o),
!o.isDefaultPrevented()) {
if (!this._inNavbar) {
if ("undefined" == typeof Popper)
throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");
var n = this._element;
"parent" === this._config.reference ? n = e : Util.isElement(this._config.reference) && (n = this._config.reference,
void 0 !== this._config.reference.jquery && (n = this._config.reference[0])),
"scrollParent" !== this._config.boundary && d(e).addClass(g),
this._popper = new Popper(n,this._menu,this._getPopperConfig())
}
"ontouchstart"in document.documentElement && 0 === d(e).closest(w).length && d(document.body).children().on("mouseover", null, d.noop),
this._element.focus(),
this._element.setAttribute("aria-expanded", !0),
d(this._menu).toggleClass(u),
d(e).toggleClass(u).trigger(d.Event(p.SHOWN, i))
}
}
}
}
,
e.dispose = function() {
d.removeData(this._element, c),
d(this._element).off(i),
this._element = null,
(this._menu = null) !== this._popper && (this._popper.destroy(),
this._popper = null)
}
,
e.update = function() {
this._inNavbar = this._detectNavbar(),
null !== this._popper && this._popper.scheduleUpdate()
}
,
e._addEventListeners = function() {
var t = this;
d(this._element).on(p.CLICK, function(e) {
e.preventDefault(),
e.stopPropagation(),
t.toggle()
})
}
,
e._getConfig = function(e) {
return e = _objectSpread({}, this.constructor.Default, d(this._element).data(), e),
Util.typeCheckConfig(t, e, this.constructor.DefaultType),
e
}
,
e._getMenuElement = function() {
if (!this._menu) {
var e = l._getParentFromElement(this._element);
this._menu = d(e).find(v)[0]
}
return this._menu
}
,
e._getPlacement = function() {
var e = d(this._element).parent()
, t = x;
return e.hasClass(n) ? (t = b,
d(this._menu).hasClass(h) && (t = k)) : e.hasClass(r) ? t = C : e.hasClass(f) ? t = S : d(this._menu).hasClass(h) && (t = T),
t
}
,
e._detectNavbar = function() {
return 0 < d(this._element).closest(".navbar").length
}
,
e._getPopperConfig = function() {
var t = this
, e = {};
"function" == typeof this._config.offset ? e.fn = function(e) {
return e.offsets = _objectSpread({}, e.offsets, t._config.offset(e.offsets) || {}),
e
}
: e.offset = this._config.offset;
var i = {
placement: this._getPlacement(),
modifiers: {
offset: e,
flip: {
enabled: this._config.flip
},
preventOverflow: {
boundariesElement: this._config.boundary
}
}
};
return "static" === this._config.display && (i.modifiers.applyStyle = {
enabled: !1
}),
i
}
,
l._jQueryInterface = function(t) {
return this.each(function() {
var e = d(this).data(c);
if (e || (e = new l(this,"object" == typeof t ? t : null),
d(this).data(c, e)),
"string" == typeof t) {
if (void 0 === e[t])
throw new TypeError('No method named "' + t + '"');
e[t]()
}
})
}
,
l._clearMenus = function(e) {
if (!e || 3 !== e.which && ("keyup" !== e.type || 9 === e.which))
for (var t = d.makeArray(d(m)), i = 0; i < t.length; i++) {
var o = l._getParentFromElement(t[i])
, n = d(t[i]).data(c)
, r = {
relatedTarget: t[i]
};
if (n) {
var s = n._menu;
if (d(o).hasClass(u) && !(e && ("click" === e.type && /input|textarea/i.test(e.target.tagName) || "keyup" === e.type && 9 === e.which) && d.contains(o, e.target))) {
var a = d.Event(p.HIDE, r);
d(o).trigger(a),
a.isDefaultPrevented() || ("ontouchstart"in document.documentElement && d(document.body).children().off("mouseover", null, d.noop),
t[i].setAttribute("aria-expanded", "false"),
d(s).removeClass(u),
d(o).removeClass(u).trigger(d.Event(p.HIDDEN, r)))
}
}
}
}
,
l._getParentFromElement = function(e) {
var t, i = Util.getSelectorFromElement(e);
return i && (t = d(i)[0]),
t || e.parentNode
}
,
l._dataApiKeydownHandler = function(e) {
if ((/input|textarea/i.test(e.target.tagName) ? !(32 === e.which || 27 !== e.which && (40 !== e.which && 38 !== e.which || d(e.target).closest(v).length)) : s.test(e.which)) && (e.preventDefault(),
e.stopPropagation(),
!this.disabled && !d(this).hasClass(a))) {
var t = l._getParentFromElement(this)
, i = d(t).hasClass(u);
if ((i || 27 === e.which && 32 === e.which) && (!i || 27 !== e.which && 32 !== e.which)) {
var o = d(t).find(y).get();
if (0 !== o.length) {
var n = o.indexOf(e.target);
38 === e.which && 0 < n && n--,
40 === e.which && n < o.length - 1 && n++,
n < 0 && (n = 0),
o[n].focus()
}
} else {
if (27 === e.which) {
var r = d(t).find(m)[0];
d(r).trigger("focus")
}
d(this).trigger("click")
}
}
}
,
_createClass(l, null, [{
key: "VERSION",
get: function() {
return "4.1.0"
}
}, {
key: "Default",
get: function() {
return _
}
}, {
key: "DefaultType",
get: function() {
return $
}
}]),
l
}();
return d(document).on(p.KEYDOWN_DATA_API, m, j._dataApiKeydownHandler).on(p.KEYDOWN_DATA_API, v, j._dataApiKeydownHandler).on(p.CLICK_DATA_API + " " + p.KEYUP_DATA_API, j._clearMenus).on(p.CLICK_DATA_API, m, function(e) {
e.preventDefault(),
e.stopPropagation(),
j._jQueryInterface.call(d(this), "toggle")
}).on(p.CLICK_DATA_API, l, function(e) {
e.stopPropagation()
}),
d.fn[t] = j._jQueryInterface,
d.fn[t].Constructor = j,
d.fn[t].noConflict = function() {
return d.fn[t] = o,
j._jQueryInterface
}
,
j
}($, Popper);
!function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? module.exports = t(require("jquery"), require("./util.js")) : "function" == typeof define && define.amd ? define(["jquery", "./util"], t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).Collapse = t(e.jQuery, e.Util)
}(this, function(e, t) {
"use strict";
function i(e) {
return e && "object" == typeof e && "default"in e ? e : {
default: e
}
}
var l = i(e)
, d = i(t);
function o(e, t) {
for (var i = 0; i < t.length; i++) {
var o = t[i];
o.enumerable = o.enumerable || !1,
o.configurable = !0,
"value"in o && (o.writable = !0),
Object.defineProperty(e, o.key, o)
}
}
function n() {
return (n = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var i = arguments[t];
for (var o in i)
Object.prototype.hasOwnProperty.call(i, o) && (e[o] = i[o])
}
return e
}
).apply(this, arguments)
}
var r = "collapse"
, c = "bs.collapse"
, s = l.default.fn[r]
, p = "show"
, u = "collapse"
, f = "collapsing"
, h = "collapsed"
, g = '[data-toggle="collapse"]'
, m = {
toggle: !0,
parent: ""
}
, v = {
toggle: "boolean",
parent: "(string|element)"
}
, a = function() {
function a(t, e) {
this._isTransitioning = !1,
this._element = t,
this._config = this._getConfig(e),
this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]'));
for (var i = [].slice.call(document.querySelectorAll(g)), o = 0, n = i.length; o < n; o++) {
var r = i[o]
, s = d.default.getSelectorFromElement(r)
, a = [].slice.call(document.querySelectorAll(s)).filter(function(e) {
return e === t
});
null !== s && 0 < a.length && (this._selector = s,
this._triggerArray.push(r))
}
this._parent = this._config.parent ? this._getParent() : null,
this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray),
this._config.toggle && this.toggle()
}
var e = a.prototype;
return e.toggle = function() {
l.default(this._element).hasClass(p) ? this.hide() : this.show()
}
,
e.show = function() {
var e, t, i = this;
if (!this._isTransitioning && !l.default(this._element).hasClass(p) && (this._parent && 0 === (e = [].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter(function(e) {
return "string" == typeof i._config.parent ? e.getAttribute("data-parent") === i._config.parent : e.classList.contains(u)
})).length && (e = null),
!(e && (t = l.default(e).not(this._selector).data(c)) && t._isTransitioning))) {
var o = l.default.Event("show.bs.collapse");
if (l.default(this._element).trigger(o),
!o.isDefaultPrevented()) {
e && (a._jQueryInterface.call(l.default(e).not(this._selector), "hide"),
t || l.default(e).data(c, null));
var n = this._getDimension();
l.default(this._element).removeClass(u).addClass(f),
this._element.style[n] = 0,
this._triggerArray.length && l.default(this._triggerArray).removeClass(h).attr("aria-expanded", !0),
this.setTransitioning(!0);
var r = "scroll" + (n[0].toUpperCase() + n.slice(1))
, s = d.default.getTransitionDurationFromElement(this._element);
l.default(this._element).one(d.default.TRANSITION_END, function() {
l.default(i._element).removeClass(f).addClass(u + " " + p),
i._element.style[n] = "",
i.setTransitioning(!1),
l.default(i._element).trigger("shown.bs.collapse")
}).emulateTransitionEnd(s),
this._element.style[n] = this._element[r] + "px"
}
}
}
,
e.hide = function() {
var e = this;
if (!this._isTransitioning && l.default(this._element).hasClass(p)) {
var t = l.default.Event("hide.bs.collapse");
if (l.default(this._element).trigger(t),
!t.isDefaultPrevented()) {
var i = this._getDimension();
this._element.style[i] = this._element.getBoundingClientRect()[i] + "px",
d.default.reflow(this._element),
l.default(this._element).addClass(f).removeClass(u + " " + p);
var o = this._triggerArray.length;
if (0 < o)
for (var n = 0; n < o; n++) {
var r = this._triggerArray[n]
, s = d.default.getSelectorFromElement(r);
if (null !== s)
l.default([].slice.call(document.querySelectorAll(s))).hasClass(p) || l.default(r).addClass(h).attr("aria-expanded", !1)
}
this.setTransitioning(!0);
this._element.style[i] = "";
var a = d.default.getTransitionDurationFromElement(this._element);
l.default(this._element).one(d.default.TRANSITION_END, function() {
e.setTransitioning(!1),
l.default(e._element).removeClass(f).addClass(u).trigger("hidden.bs.collapse")
}).emulateTransitionEnd(a)
}
}
}
,
e.setTransitioning = function(e) {
this._isTransitioning = e
}
,
e.dispose = function() {
l.default.removeData(this._element, c),
this._config = null,
this._parent = null,
this._element = null,
this._triggerArray = null,
this._isTransitioning = null
}
,
e._getConfig = function(e) {
return (e = n({}, m, e)).toggle = Boolean(e.toggle),
d.default.typeCheckConfig(r, e, v),
e
}
,
e._getDimension = function() {
return l.default(this._element).hasClass("width") ? "width" : "height"
}
,
e._getParent = function() {
var e, i = this;
d.default.isElement(this._config.parent) ? (e = this._config.parent,
void 0 !== this._config.parent.jquery && (e = this._config.parent[0])) : e = document.querySelector(this._config.parent);
var t = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]'
, o = [].slice.call(e.querySelectorAll(t));
return l.default(o).each(function(e, t) {
i._addAriaAndCollapsedClass(a._getTargetFromElement(t), [t])
}),
e
}
,
e._addAriaAndCollapsedClass = function(e, t) {
var i = l.default(e).hasClass(p);
t.length && l.default(t).toggleClass(h, !i).attr("aria-expanded", i)
}
,
a._getTargetFromElement = function(e) {
var t = d.default.getSelectorFromElement(e);
return t ? document.querySelector(t) : null
}
,
a._jQueryInterface = function(o) {
return this.each(function() {
var e = l.default(this)
, t = e.data(c)
, i = n({}, m, e.data(), "object" == typeof o && o ? o : {});
if (!t && i.toggle && "string" == typeof o && /show|hide/.test(o) && (i.toggle = !1),
t || (t = new a(this,i),
e.data(c, t)),
"string" == typeof o) {
if (void 0 === t[o])
throw new TypeError('No method named "' + o + '"');
t[o]()
}
})
}
,
function(e, t, i) {
t && o(e.prototype, t),
i && o(e, i),
Object.defineProperty(e, "prototype", {
writable: !1
})
}(a, null, [{
key: "VERSION",
get: function() {
return "4.6.2"
}
}, {
key: "Default",
get: function() {
return m
}
}]),
a
}();
return l.default(document).on("click.bs.collapse.data-api", g, function(e) {
"A" === e.currentTarget.tagName && e.preventDefault();
var i = l.default(this)
, t = d.default.getSelectorFromElement(this)
, o = [].slice.call(document.querySelectorAll(t));
l.default(o).each(function() {
var e = l.default(this)
, t = e.data(c) ? "toggle" : i.data();
a._jQueryInterface.call(e, t)
})
}),
l.default.fn[r] = a._jQueryInterface,
l.default.fn[r].Constructor = a,
l.default.fn[r].noConflict = function() {
return l.default.fn[r] = s,
a._jQueryInterface
}
,
a
}),
function(c) {
"use strict";
if (void 0 !== c)
if (c.fn.jquery.match(/-ajax/))
"console"in window && window.console.info("Featherlight needs regular jQuery, not the slim version.");
else {
var o = []
, n = function(t) {
return o = c.grep(o, function(e) {
return e !== t && 0 < e.$instance.closest("body").length
})
}
, r = {
allow: 1,
allowfullscreen: 1,
frameborder: 1,
height: 1,
longdesc: 1,
marginheight: 1,
marginwidth: 1,
mozallowfullscreen: 1,
name: 1,
referrerpolicy: 1,
sandbox: 1,
scrolling: 1,
src: 1,
srcdoc: 1,
style: 1,
webkitallowfullscreen: 1,
width: 1
}
, i = {
keyup: "onKeyUp",
resize: "onResize"
}
, s = function(e) {
c.each(l.opened().reverse(), function() {
if (!e.isDefaultPrevented() && !1 === this[i[e.type]](e))
return e.preventDefault(),
e.stopPropagation(),
!1
})
}
, a = function(e) {
if (e !== l._globalHandlerInstalled) {
l._globalHandlerInstalled = e;
var t = c.map(i, function(e, t) {
return t + "." + l.prototype.namespace
}).join(" ");
c(window)[e ? "on" : "off"](t, s)
}
};
l.prototype = {
constructor: l,
namespace: "featherlight",
targetAttr: "data-featherlight",
variant: null,
resetCss: !1,
background: null,
openTrigger: "click",
closeTrigger: "click",
filter: null,
root: "body",
openSpeed: 250,
closeSpeed: 250,
closeOnClick: "background",
closeOnEsc: !0,
closeIcon: "✕",
loading: "",
persist: !1,
otherClose: null,
beforeOpen: c.noop,
beforeContent: c.noop,
beforeClose: c.noop,
afterOpen: c.noop,
afterContent: c.noop,
afterClose: c.noop,
onKeyUp: c.noop,
onResize: c.noop,
type: null,
contentFilters: ["jquery", "image", "html", "ajax", "iframe", "text"],
setup: function(e, t) {
"object" != typeof e || e instanceof c != !1 || t || (t = e,
e = void 0);
var i = c.extend(this, t, {
target: e
})
, o = i.resetCss ? i.namespace + "-reset" : i.namespace
, n = c(i.background || ['', '
', '
", '
' + i.loading + "
", "
", "
"].join(""))
, r = "." + i.namespace + "-close" + (i.otherClose ? "," + i.otherClose : "");
return i.$instance = n.clone().addClass(i.variant),
i.$instance.on(i.closeTrigger + "." + i.namespace, function(e) {
if (!e.isDefaultPrevented()) {
var t = c(e.target);
("background" === i.closeOnClick && t.is("." + i.namespace) || "anywhere" === i.closeOnClick || t.closest(r).length) && (i.close(e),
e.preventDefault())
}
}),
this
},
getContent: function() {
if (!1 !== this.persist && this.$content)
return this.$content;
function e(e) {
return t.$currentTarget && t.$currentTarget.attr(e)
}
var t = this
, i = this.constructor.contentFilters
, o = e(t.targetAttr)
, n = t.target || o || ""
, r = i[t.type];
if (!r && n in i && (r = i[n],
n = t.target && o),
n = n || e("href") || "",
!r)
for (var s in i)
t[s] && (r = i[s],
n = t[s]);
if (!r) {
var a = n;
if (n = null,
c.each(t.contentFilters, function() {
return (r = i[this]).test && (n = r.test(a)),
!n && r.regex && a.match && a.match(r.regex) && (n = a),
!n
}),
!n)
return "console"in window && window.console.error("Featherlight: no content filter found " + (a ? ' for "' + a + '"' : " (no target specified)")),
!1
}
return r.process.call(t, n)
},
setContent: function(e) {
return this.$instance.removeClass(this.namespace + "-loading"),
this.$instance.toggleClass(this.namespace + "-iframe", e.is("iframe")),
this.$instance.find("." + this.namespace + "-inner").not(e).slice(1).remove().end().replaceWith(c.contains(this.$instance[0], e[0]) ? "" : e),
this.$content = e.addClass(this.namespace + "-inner"),
this
},
open: function(t) {
var i = this;
if (i.$instance.hide().appendTo(i.root),
!(t && t.isDefaultPrevented() || !1 === i.beforeOpen(t))) {
t && t.preventDefault();
var e = i.getContent();
if (e)
return o.push(i),
a(!0),
i.$instance.fadeIn(i.openSpeed),
i.beforeContent(t),
c.when(e).always(function(e) {
i.setContent(e),
i.afterContent(t)
}).then(i.$instance.promise()).done(function() {
i.afterOpen(t)
})
}
return i.$instance.detach(),
c.Deferred().reject().promise()
},
close: function(e) {
var t = this
, i = c.Deferred();
return !1 === t.beforeClose(e) ? i.reject() : (0 === n(t).length && a(!1),
t.$instance.fadeOut(t.closeSpeed, function() {
t.$instance.detach(),
t.afterClose(e),
i.resolve()
})),
i.promise()
},
resize: function(e, t) {
if (e && t) {
this.$content.css("width", "").css("height", "");
var i = Math.max(e / (this.$content.parent().width() - 1), t / (this.$content.parent().height() - 1));
1 < i && (i = t / Math.floor(t / i),
this.$content.css("width", e / i + "px").css("height", t / i + "px"))
}
},
chainCallbacks: function(e) {
for (var t in e)
this[t] = c.proxy(e[t], this, c.proxy(this[t], this))
}
},
c.extend(l, {
id: 0,
autoBind: "[data-featherlight]",
defaults: l.prototype,
contentFilters: {
jquery: {
regex: /^[#.]\w/,
test: function(e) {
return e instanceof c && e
},
process: function(e) {
return !1 !== this.persist ? c(e) : c(e).clone(!0)
}
},
image: {
regex: /\.(png|jpg|jpeg|gif|tiff?|bmp|svg)(\?\S*)?$/i,
process: function(e) {
var t = c.Deferred()
, i = new Image
, o = c('
');
return i.onload = function() {
o.naturalWidth = i.width,
o.naturalHeight = i.height,
t.resolve(o)
}
,
i.onerror = function() {
t.reject(o)
}
,
i.src = e,
t.promise()
}
},
html: {
regex: /^\s*<[\w!][^<]*>/,
process: function(e) {
return c(e)
}
},
ajax: {
regex: /./,
process: function(e) {
var i = c.Deferred()
, o = c("").load(e, function(e, t) {
"error" !== t && i.resolve(o.contents()),
i.fail()
});
return i.promise()
}
},
iframe: {
process: function(e) {
var t = new c.Deferred
, i = c("")
, o = function(e, t) {
var i = {}
, o = new RegExp("^" + t + "([A-Z])(.*)");
for (var n in e) {
var r = n.match(o);
if (r)
i[(r[1] + r[2].replace(/([A-Z])/g, "-$1")).toLowerCase()] = e[n]
}
return i
}(this, "iframe")
, n = function(e, t) {
var i = {};
for (var o in e)
o in t && (i[o] = e[o],
delete e[o]);
return i
}(o, r);
return i.hide().attr("src", e).attr(n).css(o).on("load", function() {
t.resolve(i.show())
}).appendTo(this.$instance.find("." + this.namespace + "-content")),
t.promise()
}
},
text: {
process: function(e) {
return c("", {
text: e
})
}
}
},
functionAttributes: ["beforeOpen", "afterOpen", "beforeContent", "afterContent", "beforeClose", "afterClose"],
readElementConfig: function(e, t) {
var o = this
, n = new RegExp("^data-" + t + "-(.*)")
, r = {};
return e && e.attributes && c.each(e.attributes, function() {
var e = this.name.match(n);
if (e) {
var t = this.value
, i = c.camelCase(e[1]);
if (0 <= c.inArray(i, o.functionAttributes))
t = new Function(t);
else
try {
t = JSON.parse(t)
} catch (e) {}
r[i] = t
}
}),
r
},
extend: function(e, t) {
function i() {
this.constructor = e
}
return i.prototype = this.prototype,
e.prototype = new i,
e.__super__ = this.prototype,
c.extend(e, this, t),
e.defaults = e.prototype,
e
},
attach: function(n, r, s) {
var a = this;
"object" != typeof r || r instanceof c != !1 || s || (s = r,
r = void 0);
function e(e) {
var t = c(e.currentTarget)
, i = c.extend({
$source: n,
$currentTarget: t
}, a.readElementConfig(n[0], d.namespace), a.readElementConfig(e.currentTarget, d.namespace), s)
, o = l || t.data("featherlight-persisted") || new a(r,i);
"shared" === o.persist ? l = o : !1 !== o.persist && t.data("featherlight-persisted", o),
i.$currentTarget.blur && i.$currentTarget.blur(),
o.open(e)
}
var l, t = (s = c.extend({}, s)).namespace || a.defaults.namespace, d = c.extend({}, a.defaults, a.readElementConfig(n[0], t), s);
return n.on(d.openTrigger + "." + d.namespace, d.filter, e),
{
filter: d.filter,
handler: e
}
},
current: function() {
var e = this.opened();
return e[e.length - 1] || null
},
opened: function() {
var t = this;
return n(),
c.grep(o, function(e) {
return e instanceof t
})
},
close: function(e) {
var t = this.current();
if (t)
return t.close(e)
},
_onReady: function() {
var o = this;
if (o.autoBind) {
var n = c(o.autoBind);
n.each(function() {
o.attach(c(this))
}),
c(document).on("click", o.autoBind, function(e) {
if (!e.isDefaultPrevented()) {
var t = c(e.currentTarget);
if (n.length !== (n = n.add(t)).length) {
var i = o.attach(t);
(!i.filter || 0 < c(e.target).parentsUntil(t, i.filter).length) && i.handler(e)
}
}
})
}
},
_callbackChain: {
onKeyUp: function(e, t) {
return 27 === t.keyCode ? (this.closeOnEsc && c.featherlight.close(t),
!1) : e(t)
},
beforeOpen: function(e, t) {
return c(document.documentElement).addClass("with-featherlight"),
this._previouslyActive = document.activeElement,
this._$previouslyTabbable = c("a, input, select, textarea, iframe, button, iframe, [contentEditable=true]").not("[tabindex]").not(this.$instance.find("button")),
this._$previouslyWithTabIndex = c("[tabindex]").not('[tabindex="-1"]'),
this._previousWithTabIndices = this._$previouslyWithTabIndex.map(function(e, t) {
return c(t).attr("tabindex")
}),
this._$previouslyWithTabIndex.add(this._$previouslyTabbable).attr("tabindex", -1),
document.activeElement.blur && document.activeElement.blur(),
e(t)
},
afterClose: function(e, t) {
var i = e(t)
, o = this;
return this._$previouslyTabbable.removeAttr("tabindex"),
this._$previouslyWithTabIndex.each(function(e, t) {
c(t).attr("tabindex", o._previousWithTabIndices[e])
}),
this._previouslyActive.focus(),
0 === l.opened().length && c(document.documentElement).removeClass("with-featherlight"),
i
},
onResize: function(e, t) {
return this.resize(this.$content.naturalWidth, this.$content.naturalHeight),
e(t)
},
afterContent: function(e, t) {
var i = e(t);
return this.$instance.find("[autofocus]:not([disabled])").focus(),
this.onResize(t),
i
}
}
}),
c.featherlight = l,
c.fn.featherlight = function(e, t) {
return l.attach(this, e, t),
this
}
,
c(document).ready(function() {
l._onReady()
})
}
else
"console"in window && window.console.info("Too much lightness, Featherlight needs jQuery.");
function l(e, t) {
if (!(this instanceof l)) {
var i = new l(e,t);
return i.open(),
i
}
this.id = l.id++,
this.setup(e, t),
this.chainCallbacks(l._callbackChain)
}
}(jQuery),
function(E) {
"use strict";
var A = !1
, t = E.fn.val;
function H(e, t) {
e.addEventListener("mousedown", function(e) {
e.preventDefault(),
t(e)
}),
e.addEventListener("touchstart", function(e) {
e.cancelable && e.preventDefault(),
t(e)
}),
e.addEventListener("keydown", function(e) {
32 !== e.keyCode && 13 !== e.keyCode || A || (A = !0,
t(e))
})
}
E.fn.val = function(e) {
return 1 <= arguments.length && void 0 !== this[0] && this[0]["bootstrap-input-spinner"] && this[0].setValue && this[0].setValue(e),
t.apply(this, arguments)
}
,
E.fn.InputSpinner = E.fn.inputSpinner = function(e) {
if ("1" === jupiterxOptions.quantityFieldSwitch || "undefined" === jupiterxOptions.quantityFieldSwitch) {
var $ = {
decrementButton: "
-",
incrementButton: "
+",
groupClass: "",
buttonsClass: "btn-outline-secondary",
buttonsWidth: "2.5rem",
textAlign: "center",
autoDelay: 500,
autoInterval: 100,
boostThreshold: 10,
boostMultiplier: "auto",
locale: null
};
for (var t in e)
$[t] = e[t];
var j = '
"
, O = $.locale || navigator.language || "en-US";
this.each(function() {
var o = E(this);
o[0]["bootstrap-input-spinner"] = !0,
o.hide();
var t = null
, i = null
, n = "auto" === $.boostMultiplier
, r = n ? 1 : $.boostMultiplier
, s = E(j)
, a = s.find(".btn-decrement")
, l = s.find(".btn-increment")
, d = s.find("input")
, c = parseFloat(o.prop("min")) || 0
, p = isNaN(o.prop("max")) || "" === o.prop("max") ? 1 / 0 : parseFloat(o.prop("max"))
, e = parseFloat(o.prop("step")) || 1
, u = parseInt(o.attr("data-step-max")) || 0
, f = parseInt(o.attr("data-decimals")) || 0
, h = new Intl.NumberFormat(O,{
minimumFractionDigits: f,
maximumFractionDigits: f
})
, g = parseFloat(o[0].value)
, m = 0
, v = o.attr("data-prefix") || ""
, w = o.attr("data-suffix") || "";
if (v) {
var y = E('
' + v + "");
s.find(".input-group-prepend").append(y)
}
if (w) {
var b = E('
' + w + "");
s.find(".input-group-append").prepend(b)
}
function k(e, t) {
void 0 === t && (t = !0),
g = isNaN(e) || "" === e ? (o[0].value = "",
t && (d[0].value = ""),
NaN) : (e = parseFloat(e),
c = parseFloat(o.prop("min")) || 0,
p = isNaN(o.prop("max")) || "" === o.prop("max") ? 1 / 0 : parseFloat(o.prop("max")),
e = Math.min(Math.max(e, c), p),
e = Math.round(e * Math.pow(10, f)) / Math.pow(10, f),
o[0].value = e,
t && (d[0].value = h.format(e)),
e)
}
function x(t, i) {
i && setTimeout(function() {
var e;
"function" == typeof Event ? e = new Event(i,{
bubbles: !0
}) : (e = document.createEvent("Event")).initEvent(i, !0, !0),
t[0].dispatchEvent(e)
})
}
function T(e) {
d[0].disabled || d[0].readOnly || (C(e),
S(),
t = setTimeout(function() {
i = setInterval(function() {
m > $.boostThreshold ? n ? (C(e * parseInt(r, 10)),
r < 1e8 && (r *= 1.1),
u && (r = Math.min(u, r))) : C(e * r) : C(e),
m++
}, $.autoInterval)
}, $.autoDelay))
}
function C(e) {
isNaN(g) && (g = 0),
k(Math.round(g / e) * e + e),
x(o, "input"),
x(o, "change")
}
function S() {
m = 0,
r = r = n ? 1 : $.boostMultiplier,
clearTimeout(t),
clearTimeout(i)
}
function _() {
d.prop("required", o.prop("required")),
d.prop("placeholder", o.prop("placeholder"));
var e = o.prop("disabled");
d.prop("disabled", e),
l.prop("disabled", e),
a.prop("disabled", e),
d.prop("class", "form-control " + o.prop("class")),
s.prop("class", "input-group " + o.prop("class") + " " + $.groupClass)
}
o[0].setValue = function(e) {
k(e)
}
,
new MutationObserver(function() {
_()
}
).observe(o[0], {
attributes: !0
}),
_(),
o.after(s),
k(g),
d.on("paste input change focusout", function(e) {
var t = d[0].value
, i = "focusout" === e.type;
"en-US" !== O && "en-GB" !== O && "th-TH" !== O && (t = t.replace(/[. ]/g, "").replace(/,/g, ".")),
k(t, i),
x(o, e.type)
}),
H(a[0], function() {
T(-e)
}),
H(l[0], function() {
T(e)
}),
function(e, t) {
e.addEventListener("mouseup", function(e) {
t(e)
}),
e.addEventListener("touchend", function(e) {
t(e)
}),
e.addEventListener("keyup", function(e) {
32 !== e.keyCode && 13 !== e.keyCode || (A = !1,
t(e))
})
}(document.body, function() {
S()
})
})
}
}
}(jQuery),
$(document).on("wc_fragments_refreshed wc_fragments_loaded", function() {
var e = $(document).find(".woocommerce-mini-cart__buttons");
0 < e.parents(".elementor-widget-raven-shopping-cart").length || ($.each(e, function() {
$(this).find("a").eq(0).addClass("jupiterx-icon-shopping-cart-6")
}),
$(document).find(".woocommerce-mini-cart-item .remove").addClass("jupiterx-icon-solid-times-circle").html(" "),
$(document).find(".woocommerce-mini-cart__empty-message").addClass("jupiterx-icon-shopping-cart-6"))
}),
jQuery(document).ready(function(t) {
function e() {
t(".quantity > input").InputSpinner({
buttonsClass: "btn-sm btn-outline-secondary",
buttonsWidth: 0
})
}
0 === t('.elementor[ data-elementor-type="jet-woo-builder" ], .elementor[ data-elementor-type="product" ]').length && (e(),
t(document).on("updated_wc_div", function() {
e()
})),
t(document).on("click", ".jupiterx-navbar-cart", function(e) {
"#" === t(this).attr("href") && (e.preventDefault(),
t("body").addClass("jupiterx-cart-quick-view-overlay"))
}),
t(document).on("click", ".jupiterx-mini-cart-close", function() {
t("body").alterClass("jupiterx-cart-quick-view-*", "")
})
}),
jQuery(document).ready(function(d) {
function i() {
return "undefined" == typeof jupiterxOptions || void 0 === jupiterxOptions.videMedia ? null : 0 != jupiterxOptions.videMedia
}
function l() {
d("video").on("ended", function(e) {
d(e.currentTarget).parent().find("i").removeClass("circle-pause").addClass("circle-play")
})
}
function c(e) {
this.$target = e,
this.$images = e.find(".woocommerce-product-gallery__image"),
this.$target.hasClass("jupiterx-product-gallery-static") ? this.initZoom() : (this.createSlickThumbnailsSlider(),
this.repositionDirectionNav(),
this.disableProductElementorLighBox()),
this.preventSmoothScroll(),
i() && (this.playIconTrigger(),
this.handleVideo(),
this.handlePhotoswipe(),
this.handleVideoOnChangeSlide(),
this.handlePhotoswipeIcon(),
this.handleIframe(),
this.handleVideoWithoutSlider(),
this.handleVideoWithoutGallery(),
l()),
this.handleWcModal()
}
if (c.prototype.handleVideoWithoutSlider = function() {
var a = this.$target;
(d("body").hasClass("jupiterx-product-template-9") || d("body").hasClass("jupiterx-product-template-10")) && (a.ready(function() {
var e = a.find("video")
, t = a.find("iframe")
, i = a.find(".flex-active-slide");
0 < e.length && e.each(function() {
d(this).parent().find("i").removeClass("circle-pause").addClass("circle-play"),
d(this).get(0).pause()
}),
0 < t.length && (c.prototype.resetIframes(t),
t.on("load", function(e) {
d(e.currentTarget).parent().removeClass("iframe-on-load"),
d(e.currentTarget).show(),
d(e.currentTarget).next().hide()
})),
0 < i.length && 0 < i.find("video").length && void 0 !== i.find("video").attr("autoplay") && (i.find("video").parent().find("i").removeClass("circle-play").addClass("circle-pause"),
i.find("video").get(0).play())
}),
a.on("click", ".jupiterx-attachment-media-custom-video-icons", function(e) {
var t = d(e.currentTarget)
, i = d(e.currentTarget).find("i")
, o = t.prev()
, n = a.find(".jupiterx-attachment-media-iframe")
, r = a.find("video")
, s = a.find("iframe");
if (0 < s.length && c.prototype.resetIframes(s),
!o.get(0).paused)
return i.removeClass("circle-pause").addClass("circle-play"),
void o.get(0).pause();
n.find("i").removeClass("circle-pause").addClass("circle-play"),
r.trigger("pause"),
i.removeClass("circle-play").addClass("circle-pause"),
o.get(0).play()
}))
}
,
c.prototype.handleWcModal = function() {
d(".pswp__button--close").on("click touchend", function(e) {
d(e.target).closest(".pswp--open").removeClass("pswp--open")
})
}
,
c.prototype.disableProductElementorLighBox = function() {
var e = d(this.$target).find("a");
d(e).attr("data-elementor-open-lightbox", "no")
}
,
c.prototype.handleIframe = function() {
var e = d(this.$target)
, t = e.find(".flex-active-slide");
0 === t.length && (t = e.find(".woocommerce-product-gallery__image")),
t.find("iframe").on("load", function(e) {
d(e.currentTarget).parent().removeClass("iframe-on-load"),
d(e.currentTarget).show(),
d(e.currentTarget).next().hide()
})
}
,
c.prototype.handlePhotoswipeIcon = function() {
var t = d(this.$target)
, e = t.find(".flex-active-slide")
, i = t.data("flexslider")
, o = this;
e.ready(function() {
ifram = e.find(".jupiterx-attachment-media-iframe"),
o.initZoom(),
0 < ifram.length ? t.find(".woocommerce-product-gallery__trigger").hide(0) : t.find(".woocommerce-product-gallery__trigger").show(0)
}),
void 0 !== i && (i.vars.after = function() {
var e = t.find(".flex-active-slide");
if (0 < e.find(".jupiterx-attachment-media-iframe").length)
return t.find(".woocommerce-product-gallery__trigger").hide(0),
void e.find("iframe").on("load", function(e) {
d(e.currentTarget).parent().removeClass("iframe-on-load"),
d(e.currentTarget).show(),
d(e.currentTarget).next().hide()
});
t.find(".woocommerce-product-gallery__trigger").show(0)
}
)
}
,
c.prototype.handleVideoOnChangeSlide = function() {
var o = this.$target;
o.on("click", ".flex-direction-nav a, .flex-control-thumbs li, .woocommerce-product-gallery__image a, .woocommerce-product-gallery__trigger", function() {
var e = o.find("video")
, t = o.find("iframe")
, i = o.find(".flex-active-slide");
0 < e.length && (e.parent().find("i").removeClass("circle-pause").addClass("circle-play"),
e.each(function(e, t) {
d(t).get(0).pause()
}));
0 < t.length && (c.prototype.resetIframes(t),
t.on("load", function(e) {
d(e.currentTarget).parent().removeClass("iframe-on-load"),
d(e.currentTarget).show(),
d(e.currentTarget).next().hide()
})),
0 < i.length && void 0 !== i.find("video").attr("autoplay") && (e.parent().find("i").removeClass("circle-play").addClass("circle-pause"),
i.find("video").get(0).play())
})
}
,
c.prototype.resetIframes = function(e) {
e.each(function(e, t) {
var i = d(t).attr("src");
d(t).attr("src", i)
})
}
,
c.prototype.playIconTrigger = function() {
d(document).on("click", ".jupiterx-product-single-play-icon", function() {
d(this).next().click()
})
}
,
c.prototype.getGalleryItems = function() {
var e = d(".woocommerce-product-gallery__image")
, l = [];
return 0 < e.length && e.each(function(e, t) {
var i = d(t).find("img");
if (0 < i.length) {
var o = i.attr("data-large_image")
, n = i.attr("data-large_image_width")
, r = i.attr("data-large_image_height")
, s = {
alt: i.attr("alt"),
src: o,
w: n,
h: r,
title: i.attr("data-caption") ? i.attr("data-caption") : i.attr("title")
};
l.push(s)
} else {
var a = d(t).find(".jupiterx-attachment-media-iframe").parent().html();
l.push({
html: '
' + a + "
"
})
}
}),
l
}
,
c.prototype.handleVideoOnPhotoSwipe = function(n, e) {
d(n).hasClass("pswp--open") && e.listen("beforeChange", function() {
var i = d(n).find("video")
, e = d(n).find("iframe")
, t = d(n).find(".pswp__item");
0 < i.length && (i.parent().find("i").removeClass("circle-pause").addClass("circle-play"),
i.get(0).pause());
if (0 < e.length) {
var o = e.attr("src");
e = e.attr("src", o),
d(n).find("iframe").on("load", function(e) {
d(e.currentTarget).parent().removeClass("iframe-on-load"),
d(e.currentTarget).show(),
d(e.currentTarget).next().hide()
})
}
t.each(function(e, t) {
if ("block" === d(t).css("display") && void 0 !== d(t).find("video").attr("autoplay"))
return i.parent().find("i").removeClass("circle-play").addClass("circle-pause"),
void d(t).find("video").get(0).play()
})
})
}
,
c.prototype.openPhotoswipe = function(e) {
if (wc_single_product_params.photoswipe_enabled) {
e.preventDefault();
var t, i = d(".pswp")[0], o = c.prototype.getGalleryItems(), n = d(e.target);
t = n.is(".woocommerce-product-gallery__trigger") || n.is(".woocommerce-product-gallery__trigger img") ? d(".flex-active-slide") : n.closest(".woocommerce-product-gallery__image");
var r = d.extend({
index: d(t).index(),
addCaptionHTMLFn: function(e, t) {
return e.title ? (t.children[0].textContent = e.title,
!0) : (t.children[0].textContent = "",
!1)
}
}, wc_single_product_params.photoswipe_options)
, s = new PhotoSwipe(i,PhotoSwipeUI_Default,o,r);
s.init(),
c.prototype.handleVideoOnPhotoSwipe(i, s)
}
}
,
c.prototype.handlePhotoswipe = function() {
this.$target.off("click", ".woocommerce-product-gallery__trigger"),
this.$target.off("click", ".woocommerce-product-gallery__image a"),
wc_single_product_params.zoom_enabled ? (this.$target.on("click", ".woocommerce-product-gallery__trigger", this.openPhotoswipe),
this.$target.on("click", ".woocommerce-product-gallery__image a", function(e) {
e.preventDefault()
}),
wc_single_product_params.flexslider_enabled || this.$target.on("click", ".woocommerce-product-gallery__image a", this.openPhotoswipe)) : this.$target.on("click", ".woocommerce-product-gallery__image a", this.openPhotoswipe)
}
,
c.prototype.handleVideoWithoutGallery = function() {
var e = this.$target;
0 === e.find(".flex-viewport").length && e.on("click", ".jupiterx-attachment-media-custom-video-icons", function(e) {
var t = d(e.currentTarget)
, i = d(e.currentTarget).find("i")
, o = t.prev();
if (!o.get(0).paused)
return i.removeClass("circle-pause").addClass("circle-play"),
void o.get(0).pause();
i.removeClass("circle-play").addClass("circle-pause"),
o.get(0).play()
})
}
,
c.prototype.handleVideo = function() {
d("body").hasClass("jupiterx-product-template-9") || d("body").hasClass("jupiterx-product-template-10") || d(document).on("click", ".jupiterx-attachment-media-custom-video-icons", function(e) {
var t = d(e.currentTarget)
, i = d(e.currentTarget).find("i")
, o = t.prev()
, n = 0 < o.closest(".flex-active-slide").length
, r = 0 < o.closest(".pswp").length;
if (n || r) {
if (!o.get(0).paused)
return i.removeClass("circle-pause").addClass("circle-play"),
void o.get(0).pause();
i.removeClass("circle-play").addClass("circle-pause"),
o.get(0).play()
}
})
}
,
c.prototype.createSlickThumbnailsSlider = function() {
var e = this.$target
, t = {
infinite: !1,
draggable: !1,
slidesToShow: 7,
slidesToScroll: 1,
prevArrow: '
',
nextArrow: '
'
};
e.hasClass("jupiterx-product-gallery-vertical") && (t = d.extend(t, {
vertical: !0,
slidesToShow: 5
})),
e.find(".flex-control-thumbs").slick(t),
i() && (galleryItems = e.find(".woocommerce-product-gallery__image"),
galleryItems.each(function(e, t) {
void 0 !== d(t).data("poster") && d(".flex-control-nav").find("li[data-slick-index=" + e + "]").prepend('
')
})),
e.on("click", ".flex-direction-nav a", function() {
e.find(".flex-control-nav").slick("slickGoTo", e.find(".flex-active-slide").index())
})
}
,
c.prototype.repositionDirectionNav = function() {
var e, i = this.$target;
i.hasClass("jupiterx-product-gallery-vertical") && (e = function() {
var e = i.find(".flex-direction-nav")
, t = i.find(".flex-control-thumbs");
e.css("left", t.outerWidth(!0))
}
,
d(window).resize(e),
e())
}
,
c.prototype.initZoom = function() {
if (d.isFunction(d.fn.zoom) || wc_single_product_params.zoom_enabled) {
var e = this.$target
, t = e.find(".woocommerce-product-gallery__image")
, i = e.width()
, o = !1;
if (d(t).each(function(e, t) {
if (d(t).find("img").data("large_image_width") > i)
return !(o = !0)
}),
o) {
var n = {
touch: !1
};
"ontouchstart"in window && (n.on = "click"),
t.trigger("zoom.destroy"),
t.zoom(n)
}
}
}
,
c.prototype.preventSmoothScroll = function() {
this.$target.on("click", ".flex-direction-nav a", function(e) {
e.preventDefault(),
e.stopPropagation()
})
}
,
0 === d('.elementor[ data-elementor-type="jet-woo-builder" ]').length && d(".woocommerce-product-gallery").each(function(e, t) {
new c(d(t))
}),
0 < d("form.variations_form").length) {
var p = new function e(t) {
var i = this;
this.$variationsForm = t,
this.$outOfStockBadge = d(".jupiterx-out-of-stock"),
this.$onSaleBadge = d(".jupiterx-product-badges .jupiterx-sale-badge"),
this.variations = this.$variationsForm.data("product_variations") || [],
void 0 === e._initialized && (e.prototype.bindEvents = function() {
this.$variationsForm.on("woocommerce_variation_select_change", this.onVariationAttributeChange),
d(".single_variation_wrap").on("show_variation", this.onVariationSelected)
}
,
e.prototype.checkOutOfStockStatus = function() {
this.isProductInStock() || (this.$onSaleBadge.hide(),
this.$outOfStockBadge.show())
}
,
e.prototype.onVariationAttributeChange = function() {
0 === (i.$variationsForm.find("input[name=variation_id]").val() || 0) && (i.isProductInStock() ? i.isProductOnSale() && (i.$onSaleBadge.show(),
i.$outOfStockBadge.hide()) : i.$outOfStockBadge.show())
}
,
e.prototype.onVariationSelected = function(e, t) {
t && i.toggleOutOfStockBadgeVisibility(t)
}
,
e.prototype.toggleOutOfStockBadgeVisibility = function(e) {
e.is_in_stock ? (this.isVariationOnSale(e.variation_id) ? this.$onSaleBadge.show() : this.$onSaleBadge.hide(),
this.$outOfStockBadge.hide()) : (this.$onSaleBadge.hide(),
this.$outOfStockBadge.show())
}
,
e.prototype.isProductOnSale = function() {
for (var e = 0; e < this.variations.length; e++) {
var t = this.variations[e];
if (t.display_price !== t.display_regular_price)
return !0
}
return !1
}
,
e.prototype.isVariationOnSale = function(e) {
for (var t = 0; t < this.variations.length; t++) {
var i = this.variations[t];
if (i.display_price !== i.display_regular_price && e === i.variation_id)
return !0
}
return !1
}
,
e.prototype.isProductInStock = function() {
for (var e = 0; e < this.variations.length; e++)
if (this.variations[e].is_in_stock)
return !0;
return !1
}
,
e.prototype.selectOptionControl = function() {
var e = {
selected: ".woocommerce div.product form.cart .variations select",
outOfStockClassName: "jupiterx-out-of-stock",
outOfStockClass: this.$outOfStockBadge
};
d("body").find(e.outOfStockClassName) && d(e.selected).change(function() {
"" == d(e.selected).children("option:selected").val() && d(e.outOfStockClass).css("display", "none")
})
}
,
e.prototype.handleVariation = function() {
if (this.$variationsForm && this.variations) {
var a = this.variations;
this.$variationsForm.on("woocommerce_update_variation_values", function(e) {
var t = null
, i = ""
, o = ""
, n = ""
, r = d(".woocommerce-product-gallery__image:first-child")
, s = r.attr("data-default") ? JSON.parse(r.attr("data-default")) : {};
setTimeout(function() {
price = d(e.currentTarget).find(".woocommerce-variation-price"),
0 !== price.length && "none" !== price.parents(".woocommerce-variation").css("display") && ("" === (t = d(e.currentTarget).attr("current-image")) && (i = s.content,
o = s.video_type,
n = s.poster,
p.handleNavControl(s.enabled)),
a.forEach(function(e) {
e.image_id === parseInt(t) && (i = e.jupiterx_attached_media,
o = e.jupiterx_attached_media_type,
n = e.jupiterx_attached_media_poster,
p.handleNavControl(e.jupiterx_attached_media_enabled))
}),
i && i.includes("jupiterx-attachment-media-iframe") ? d(".woocommerce-product-gallery__trigger").hide(0) : d(".woocommerce-product-gallery__trigger").show(0),
r.html(i),
r.attr("data-video-type", o),
r.attr("data-poster", n),
r.find("a").attr("data-elementor-open-lightbox", "no"),
d(window).trigger("resize"),
p.handleIframe(r),
r.parents(".images").trigger("woocommerce_gallery_init_zoom"),
l())
}, 50)
})
}
}
,
e.prototype.handleIframe = function(e) {
var t = e.closest(".flex-viewport")
, i = e.find("video");
e.find("iframe").on("load", function(e) {
d(e.currentTarget).parent().removeClass("iframe-on-load"),
d(e.currentTarget).show(),
d(e.currentTarget).next().hide(),
t.height(d(e.currentTarget).height())
}),
0 < i.length && t.height(i.height())
}
,
e.prototype.handleNavControl = function(e) {
var t = d(".slick-slide:first-child")
, i = t.find(".jupiterx-product-single-play-icon");
e ? 0 === i.length && t.prepend('
') : i.remove()
}
,
e._initialized = !0)
}
(d("form.variations_form"));
p.bindEvents(),
p.selectOptionControl(),
p.checkOutOfStockStatus(),
i() && p.handleVariation()
}
if (d("body").find("jupiterx-out-of-stock")) {
var e = ".woocommerce div.product form.cart .variations select"
, t = ".jupiterx-out-of-stock";
d(t).css("display", "inline-block"),
checkOptions = d(e).children("option:selected").val(),
"" == checkOptions && d(t).css("display", "none")
}
d("body").find(".woocommerce-product-gallery__trigger") && d(".pswp__button--close").attr("ontouchstart", "return false;"),
d("body").find(".woocommerce-product-rating") && "jet-woo-builder" != d("main .elementor").data("elementor-type") && (d(".woocommerce-review-link").attr("href", "#jupiterx-wc-header-reviews"),
d("#tab-title-reviews").attr("id", "jupiterx-wc-header-reviews"),
"#jupiterx-wc-header-reviews" === window.location.hash && (d(".wc-tabs").children("li").removeClass("active"),
d("#jupiterx-wc-header-reviews").addClass("active"),
d("#jupiterx-wc-header-reviews a").trigger("click")),
jQuery(".woocommerce-product-rating > a").click(function(e) {
d = jQuery,
e.preventDefault(),
e.stopPropagation();
var t = d(".woocommerce-review-link").attr("href");
if ("#jupiterx-wc-header-reviews" === t && (d(".wc-tabs").children("li").removeClass("active"),
d("#jupiterx-wc-header-reviews").addClass("active"),
d("#jupiterx-wc-header-reviews a").trigger("click"),
history.pushState(null, null, t)),
!(window.jupiterx.utils.onMobile() && d("body").hasClass("jupiterx-header-mobile-behavior-off") || window.jupiterx.utils.onTablet() && d("body").hasClass("jupiterx-header-tablet-behavior-off"))) {
var i = d(t);
if (0 !== i.length) {
var o = d("body").hasClass("jupiterx-header-overlapped")
, n = i.offset().top;
n -= o ? 2 * d(".jupiterx-header").height() : d(".jupiterx-header").height() + 50,
!1 !== is_smooth_scroll() ? d("html, body").stop().animate({
scrollTop: n
}, 500, "swing") : d("html, body").stop().animate({
scrollTop: n
}, 0)
}
}
})),
0 < d(".elementor-jet-single-images").length && (d(".elementor-jet-single-images").find(".woocommerce-product-gallery").addClass("jupiterx-jet-woo-gallery"),
d(".elementor-jet-single-images").find(".flex-active").addClass("jupiterx-jet-woo-gallery-active-item"),
d(".elementor-jet-single-images").find(".flex-control-thumbs img").on("click", function(e) {
d(".elementor-jet-single-images").find(".flex-active").removeClass("jupiterx-jet-woo-gallery-active-item"),
d(e.currentTarget).addClass("jupiterx-jet-woo-gallery-active-item")
})),
window.elementorFrontend && window.elementorFrontend.hooks && elementorFrontend.hooks.addAction("frontend/element_ready/widget", function(e) {
"jet-single-images.default" === e.data("widget_type") && (e.find(".woocommerce-product-gallery").addClass("jupiterx-jet-woo-gallery"),
e.find(".flex-active").addClass("jupiterx-jet-woo-gallery-active-item"),
e.find(".flex-control-thumbs img").on("click", function(e) {
d(".elementor-jet-single-images").find(".flex-active").removeClass("jupiterx-jet-woo-gallery-active-item"),
d(e.currentTarget).addClass("jupiterx-jet-woo-gallery-active-item")
}))
})
}),
jQuery(document).ready(function(o) {
(new function e() {
var i = this;
this.$productContainer = o(".jupiterx-product-container"),
this.modals = {},
void 0 === e._initialized && (e.prototype.init = function() {
this.hasQuickView() && this.bindEvents()
}
,
e.prototype.bindEvents = function() {
this.hasQuickViewBtn() ? o(document).add(this.$productContainer).on("click", ".jupiterx-product-quick-view-btn", function(e) {
e.preventDefault(),
e.stopPropagation();
var t = o(this).closest(".jupiterx-product-container").data("product-id");
i.showQuickView(t)
}) : (o(document).add(this.$productContainer).on("click", ".woocommerce-loop-product__link", function(e) {
e.preventDefault(),
e.stopPropagation()
}),
o(document).add(this.$productContainer).on("click", ".woocommerce-loop-product__title", function() {
var e = o(this).closest(".jupiterx-product-container").data("product-id");
i.showQuickView(e)
}),
o(document).add(this.$productContainer).on("click", ".jupiterx-wc-loop-product-image", function() {
var e = o(this).closest(".jupiterx-product-container").data("product-id");
i.showQuickView(e)
}))
}
,
e.prototype.showQuickView = function(e) {
i.modals[e] ? i.modals[e].open() : i.modals[e] = o.featherlight(o("#jupiterx-product-quick-view-modal-" + e), {
persist: !0,
variant: "jupiterx-product-quick-view-featherlight"
})
}
,
e.prototype.hasQuickViewBtn = function() {
return 0 < this.$productContainer.find(".jupiterx-product-quick-view-btn").length
}
,
e.prototype.hasQuickView = function() {
return this.$productContainer.hasClass("jupiterx-product-has-quick-view")
}
)
}
).init()
}),
jQuery(document).ready(function(o) {
function e() {
o(".entry-summary").css({
top: 50
})
}
o.scrollDetection = function(e) {
var t = o.extend({
scrollDown: function() {},
scrollUp: function() {}
}, e)
, i = 0;
o(window).scroll(function() {
var e = o(this).scrollTop();
i < e ? t.scrollDown() : e < i && t.scrollUp(),
i = e
})
}
,
0 !== o(".jupiterx-product-sticky-info").length && (e(),
o.scrollDetection({
scrollUp: function() {
e()
},
scrollDown: function() {
!function() {
var e = 50
, t = o(".entry-summary").outerHeight()
, i = o(window).height();
i < t && (e = i - t),
o(".entry-summary").css({
top: e
})
}()
}
}))
}),
function(e) {
e(".jet-portfolio__list, .jet-image-comparison").each(function() {
e(this).find("img[data-lazy-src]").each(function(e, t) {
var i = jQuery(t)
, o = i.attr("data-lazy-src");
o && (i.unbind("scrollin").hide().removeAttr("data-lazy-src").attr("data-lazy-loaded", "true"),
t.src = o,
i.fadeIn())
})
})
}(jQuery);