!(function(i) {
"use strict";
"function" == typeof define && define.amd
? define(["jquery"], i)
: "undefined" != typeof exports
? (module.exports = i(require("jquery")))
: i(jQuery);
})(function(i) {
"use strict";
var e = window.Slick || {};
((e = (function() {
var e = 0;
return function(t, o) {
var s,
n = this;
(n.defaults = {
accessibility: !0,
adaptiveHeight: !1,
appendArrows: i(t),
appendDots: i(t),
arrows: !0,
asNavFor: null,
prevArrow:
'',
nextArrow:
'',
autoplay: !1,
autoplaySpeed: 3e3,
centerMode: !1,
centerPadding: "50px",
cssEase: "ease",
customPaging: function(e, t) {
return i('').text(t + 1);
},
dots: !1,
dotsClass: "slick-dots",
draggable: !0,
easing: "linear",
edgeFriction: 0.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
}),
(n.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
}),
i.extend(n, n.initials),
(n.activeBreakpoint = null),
(n.animType = null),
(n.animProp = null),
(n.breakpoints = []),
(n.breakpointSettings = []),
(n.cssTransitions = !1),
(n.focussed = !1),
(n.interrupted = !1),
(n.hidden = "hidden"),
(n.paused = !0),
(n.positionProp = null),
(n.respondTo = null),
(n.rowCount = 1),
(n.shouldClick = !0),
(n.$slider = i(t)),
(n.$slidesCache = null),
(n.transformType = null),
(n.transitionType = null),
(n.visibilityChange = "visibilitychange"),
(n.windowWidth = 0),
(n.windowTimer = null),
(s = i(t).data("slick") || {}),
(n.options = i.extend({}, n.defaults, o, s)),
(n.currentSlide = n.options.initialSlide),
(n.originalSettings = n.options),
void 0 !== document.mozHidden
? ((n.hidden = "mozHidden"),
(n.visibilityChange = "mozvisibilitychange"))
: void 0 !== document.webkitHidden &&
((n.hidden = "webkitHidden"),
(n.visibilityChange = "webkitvisibilitychange")),
(n.autoPlay = i.proxy(n.autoPlay, n)),
(n.autoPlayClear = i.proxy(n.autoPlayClear, n)),
(n.autoPlayIterator = i.proxy(n.autoPlayIterator, n)),
(n.changeSlide = i.proxy(n.changeSlide, n)),
(n.clickHandler = i.proxy(n.clickHandler, n)),
(n.selectHandler = i.proxy(n.selectHandler, n)),
(n.setPosition = i.proxy(n.setPosition, n)),
(n.swipeHandler = i.proxy(n.swipeHandler, n)),
(n.dragHandler = i.proxy(n.dragHandler, n)),
(n.keyHandler = i.proxy(n.keyHandler, n)),
(n.instanceUid = e++),
(n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/),
n.registerBreakpoints(),
n.init(!0);
};
})()).prototype.activateADA = function() {
this.$slideTrack
.find(".slick-active")
.attr({ "aria-hidden": "false" })
.find("a, input, button, select")
.attr({ tabindex: "0" });
}),
(e.prototype.addSlide = e.prototype.slickAdd = function(e, t, o) {
var s = this;
if ("boolean" == typeof t) (o = t), (t = null);
else if (t < 0 || t >= s.slideCount) return !1;
s.unload(),
"number" == typeof t
? 0 === t && 0 === s.$slides.length
? i(e).appendTo(s.$slideTrack)
: o
? i(e).insertBefore(s.$slides.eq(t))
: i(e).insertAfter(s.$slides.eq(t))
: !0 === o
? i(e).prependTo(s.$slideTrack)
: i(e).appendTo(s.$slideTrack),
(s.$slides = s.$slideTrack.children(this.options.slide)),
s.$slideTrack.children(this.options.slide).detach(),
s.$slideTrack.append(s.$slides),
s.$slides.each(function(e, t) {
i(t).attr("data-slick-index", e);
}),
(s.$slidesCache = s.$slides),
s.reinit();
}),
(e.prototype.animateHeight = function() {
var i = this;
if (
1 === i.options.slidesToShow &&
!0 === i.options.adaptiveHeight &&
!1 === i.options.vertical
) {
var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
i.$list.animate({ height: e }, i.options.speed);
}
}),
(e.prototype.animateSlide = function(e, t) {
var o = {},
s = this;
s.animateHeight(),
!0 === s.options.rtl && !1 === s.options.vertical && (e = -e),
!1 === s.transformsEnabled
? !1 === s.options.vertical
? s.$slideTrack.animate(
{ left: e },
s.options.speed,
s.options.easing,
t
)
: s.$slideTrack.animate(
{ top: e },
s.options.speed,
s.options.easing,
t
)
: !1 === s.cssTransitions
? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft),
i({ animStart: s.currentLeft }).animate(
{ animStart: e },
{
duration: s.options.speed,
easing: s.options.easing,
step: function(i) {
(i = Math.ceil(i)),
!1 === s.options.vertical
? ((o[s.animType] = "translate(" + i + "px, 0px)"),
s.$slideTrack.css(o))
: ((o[s.animType] = "translate(0px," + i + "px)"),
s.$slideTrack.css(o));
},
complete: function() {
t && t.call();
}
}
))
: (s.applyTransition(),
(e = Math.ceil(e)),
!1 === s.options.vertical
? (o[s.animType] = "translate3d(" + e + "px, 0px, 0px)")
: (o[s.animType] = "translate3d(0px," + e + "px, 0px)"),
s.$slideTrack.css(o),
t &&
setTimeout(function() {
s.disableTransition(), t.call();
}, s.options.speed));
}),
(e.prototype.getNavTarget = function() {
var e = this,
t = e.options.asNavFor;
return t && null !== t && (t = i(t).not(e.$slider)), t;
}),
(e.prototype.asNavFor = function(e) {
var t = this.getNavTarget();
null !== t &&
"object" == typeof t &&
t.each(function() {
var t = i(this).slick("getSlick");
t.unslicked || t.slideHandler(e, !0);
});
}),
(e.prototype.applyTransition = function(i) {
var e = this,
t = {};
!1 === e.options.fade
? (t[e.transitionType] =
e.transformType + " " + e.options.speed + "ms " + e.options.cssEase)
: (t[e.transitionType] =
"opacity " + e.options.speed + "ms " + e.options.cssEase),
!1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t);
}),
(e.prototype.autoPlay = function() {
var i = this;
i.autoPlayClear(),
i.slideCount > i.options.slidesToShow &&
(i.autoPlayTimer = setInterval(
i.autoPlayIterator,
i.options.autoplaySpeed
));
}),
(e.prototype.autoPlayClear = function() {
var i = this;
i.autoPlayTimer && clearInterval(i.autoPlayTimer);
}),
(e.prototype.autoPlayIterator = function() {
var i = this,
e = i.currentSlide + i.options.slidesToScroll;
i.paused ||
i.interrupted ||
i.focussed ||
(!1 === i.options.infinite &&
(1 === i.direction && i.currentSlide + 1 === i.slideCount - 1
? (i.direction = 0)
: 0 === i.direction &&
((e = i.currentSlide - i.options.slidesToScroll),
i.currentSlide - 1 == 0 && (i.direction = 1))),
i.slideHandler(e));
}),
(e.prototype.buildArrows = function() {
var e = this;
!0 === e.options.arrows &&
((e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow")),
(e.$nextArrow = i(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" }));
}),
(e.prototype.buildDots = function() {
var e,
t,
o = this;
if (!0 === o.options.dots) {
for (
o.$slider.addClass("slick-dotted"),
t = i("
").addClass(o.options.dotsClass),
e = 0;
e <= o.getDotCount();
e += 1
)
t.append(i("").append(o.options.customPaging.call(this, o, e)));
(o.$dots = t.appendTo(o.options.appendDots)),
o.$dots
.find("li")
.first()
.addClass("slick-active");
}
}),
(e.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) {
i(t)
.attr("data-slick-index", e)
.data("originalStyling", i(t).attr("style") || "");
}),
e.$slider.addClass("slick-slider"),
(e.$slideTrack =
0 === e.slideCount
? i('').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),
i("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");
}),
(e.prototype.buildRows = function() {
var i,
e,
t,
o,
s,
n,
r,
l = this;
if (
((o = document.createDocumentFragment()),
(n = l.$slider.children()),
l.options.rows > 1)
) {
for (
r = l.options.slidesPerRow * l.options.rows,
s = Math.ceil(n.length / r),
i = 0;
i < s;
i++
) {
var d = document.createElement("div");
for (e = 0; e < l.options.rows; e++) {
var a = document.createElement("div");
for (t = 0; t < l.options.slidesPerRow; t++) {
var c = i * r + (e * l.options.slidesPerRow + t);
n.get(c) && a.appendChild(n.get(c));
}
d.appendChild(a);
}
o.appendChild(d);
}
l.$slider.empty().append(o),
l.$slider
.children()
.children()
.children()
.css({
width: 100 / l.options.slidesPerRow + "%",
display: "inline-block"
});
}
}),
(e.prototype.checkResponsive = function(e, t) {
var o,
s,
n,
r = this,
l = !1,
d = r.$slider.width(),
a = window.innerWidth || i(window).width();
if (
("window" === r.respondTo
? (n = a)
: "slider" === r.respondTo
? (n = d)
: "min" === r.respondTo && (n = Math.min(a, d)),
r.options.responsive &&
r.options.responsive.length &&
null !== r.options.responsive)
) {
s = null;
for (o in r.breakpoints)
r.breakpoints.hasOwnProperty(o) &&
(!1 === r.originalSettings.mobileFirst
? n < r.breakpoints[o] && (s = r.breakpoints[o])
: n > r.breakpoints[o] && (s = r.breakpoints[o]));
null !== s
? null !== r.activeBreakpoint
? (s !== r.activeBreakpoint || t) &&
((r.activeBreakpoint = s),
"unslick" === r.breakpointSettings[s]
? r.unslick(s)
: ((r.options = i.extend(
{},
r.originalSettings,
r.breakpointSettings[s]
)),
!0 === e && (r.currentSlide = r.options.initialSlide),
r.refresh(e)),
(l = s))
: ((r.activeBreakpoint = s),
"unslick" === r.breakpointSettings[s]
? r.unslick(s)
: ((r.options = i.extend(
{},
r.originalSettings,
r.breakpointSettings[s]
)),
!0 === e && (r.currentSlide = r.options.initialSlide),
r.refresh(e)),
(l = s))
: null !== r.activeBreakpoint &&
((r.activeBreakpoint = null),
(r.options = r.originalSettings),
!0 === e && (r.currentSlide = r.options.initialSlide),
r.refresh(e),
(l = s)),
e || !1 === l || r.$slider.trigger("breakpoint", [r, l]);
}
}),
(e.prototype.changeSlide = function(e, t) {
var o,
s,
n,
r = this,
l = i(e.currentTarget);
switch (
(l.is("a") && e.preventDefault(),
l.is("li") || (l = l.closest("li")),
(n = r.slideCount % r.options.slidesToScroll != 0),
(o = n
? 0
: (r.slideCount - r.currentSlide) % r.options.slidesToScroll),
e.data.message)
) {
case "previous":
(s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o),
r.slideCount > r.options.slidesToShow &&
r.slideHandler(r.currentSlide - s, !1, t);
break;
case "next":
(s = 0 === o ? r.options.slidesToScroll : o),
r.slideCount > r.options.slidesToShow &&
r.slideHandler(r.currentSlide + s, !1, t);
break;
case "index":
var d =
0 === e.data.index
? 0
: e.data.index || l.index() * r.options.slidesToScroll;
r.slideHandler(r.checkNavigable(d), !1, t),
l.children().trigger("focus");
break;
default:
return;
}
}),
(e.prototype.checkNavigable = function(i) {
var e, t;
if (((e = this.getNavigableIndexes()), (t = 0), i > e[e.length - 1]))
i = e[e.length - 1];
else
for (var o in e) {
if (i < e[o]) {
i = t;
break;
}
t = e[o];
}
return i;
}),
(e.prototype.cleanUpEvents = function() {
var e = this;
e.options.dots &&
null !== e.$dots &&
(i("li", e.$dots)
.off("click.slick", e.changeSlide)
.off("mouseenter.slick", i.proxy(e.interrupt, e, !0))
.off("mouseleave.slick", i.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),
i(document).off(e.visibilityChange, e.visibility),
e.cleanUpSlideEvents(),
!0 === e.options.accessibility &&
e.$list.off("keydown.slick", e.keyHandler),
!0 === e.options.focusOnSelect &&
i(e.$slideTrack)
.children()
.off("click.slick", e.selectHandler),
i(window).off(
"orientationchange.slick.slick-" + e.instanceUid,
e.orientationChange
),
i(window).off("resize.slick.slick-" + e.instanceUid, e.resize),
i("[draggable!=true]", e.$slideTrack).off(
"dragstart",
e.preventDefault
),
i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition);
}),
(e.prototype.cleanUpSlideEvents = function() {
var e = this;
e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)),
e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1));
}),
(e.prototype.cleanUpRows = function() {
var i,
e = this;
e.options.rows > 1 &&
((i = e.$slides.children().children()).removeAttr("style"),
e.$slider.empty().append(i));
}),
(e.prototype.clickHandler = function(i) {
!1 === this.shouldClick &&
(i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault());
}),
(e.prototype.destroy = function(e) {
var t = this;
t.autoPlayClear(),
(t.touchObject = {}),
t.cleanUpEvents(),
i(".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() {
i(this).attr("style", i(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]);
}),
(e.prototype.disableTransition = function(i) {
var e = this,
t = {};
(t[e.transitionType] = ""),
!1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t);
}),
(e.prototype.fadeSlide = function(i, e) {
var t = this;
!1 === t.cssTransitions
? (t.$slides.eq(i).css({ zIndex: t.options.zIndex }),
t.$slides
.eq(i)
.animate({ opacity: 1 }, t.options.speed, t.options.easing, e))
: (t.applyTransition(i),
t.$slides.eq(i).css({ opacity: 1, zIndex: t.options.zIndex }),
e &&
setTimeout(function() {
t.disableTransition(i), e.call();
}, t.options.speed));
}),
(e.prototype.fadeSlideOut = function(i) {
var e = this;
!1 === e.cssTransitions
? e.$slides
.eq(i)
.animate(
{ opacity: 0, zIndex: e.options.zIndex - 2 },
e.options.speed,
e.options.easing
)
: (e.applyTransition(i),
e.$slides.eq(i).css({ opacity: 0, zIndex: e.options.zIndex - 2 }));
}),
(e.prototype.filterSlides = e.prototype.slickFilter = function(i) {
var e = this;
null !== i &&
((e.$slidesCache = e.$slides),
e.unload(),
e.$slideTrack.children(this.options.slide).detach(),
e.$slidesCache.filter(i).appendTo(e.$slideTrack),
e.reinit());
}),
(e.prototype.focusHandler = function() {
var e = this;
e.$slider
.off("focus.slick blur.slick")
.on("focus.slick blur.slick", "*", function(t) {
t.stopImmediatePropagation();
var o = i(this);
setTimeout(function() {
e.options.pauseOnFocus &&
((e.focussed = o.is(":focus")), e.autoPlay());
}, 0);
});
}),
(e.prototype.getCurrent = e.prototype.slickCurrentSlide = function() {
return this.currentSlide;
}),
(e.prototype.getDotCount = function() {
var i = this,
e = 0,
t = 0,
o = 0;
if (!0 === i.options.infinite)
if (i.slideCount <= i.options.slidesToShow) ++o;
else
for (; e < i.slideCount; )
++o,
(e = t + i.options.slidesToScroll),
(t +=
i.options.slidesToScroll <= i.options.slidesToShow
? i.options.slidesToScroll
: i.options.slidesToShow);
else if (!0 === i.options.centerMode) o = i.slideCount;
else if (i.options.asNavFor)
for (; e < i.slideCount; )
++o,
(e = t + i.options.slidesToScroll),
(t +=
i.options.slidesToScroll <= i.options.slidesToShow
? i.options.slidesToScroll
: i.options.slidesToShow);
else
o =
1 +
Math.ceil(
(i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll
);
return o - 1;
}),
(e.prototype.getLeft = function(i) {
var e,
t,
o,
s,
n = this,
r = 0;
return (
(n.slideOffset = 0),
(t = n.$slides.first().outerHeight(!0)),
!0 === n.options.infinite
? (n.slideCount > n.options.slidesToShow &&
((n.slideOffset = n.slideWidth * n.options.slidesToShow * -1),
(s = -1),
!0 === n.options.vertical &&
!0 === n.options.centerMode &&
(2 === n.options.slidesToShow
? (s = -1.5)
: 1 === n.options.slidesToShow && (s = -2)),
(r = t * n.options.slidesToShow * s)),
n.slideCount % n.options.slidesToScroll != 0 &&
i + n.options.slidesToScroll > n.slideCount &&
n.slideCount > n.options.slidesToShow &&
(i > n.slideCount
? ((n.slideOffset =
(n.options.slidesToShow - (i - n.slideCount)) *
n.slideWidth *
-1),
(r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1))
: ((n.slideOffset =
(n.slideCount % n.options.slidesToScroll) *
n.slideWidth *
-1),
(r = (n.slideCount % n.options.slidesToScroll) * t * -1))))
: i + n.options.slidesToShow > n.slideCount &&
((n.slideOffset =
(i + n.options.slidesToShow - n.slideCount) * n.slideWidth),
(r = (i + n.options.slidesToShow - n.slideCount) * t)),
n.slideCount <= n.options.slidesToShow &&
((n.slideOffset = 0), (r = 0)),
!0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow
? (n.slideOffset =
(n.slideWidth * Math.floor(n.options.slidesToShow)) / 2 -
(n.slideWidth * n.slideCount) / 2)
: !0 === n.options.centerMode && !0 === n.options.infinite
? (n.slideOffset +=
n.slideWidth * Math.floor(n.options.slidesToShow / 2) -
n.slideWidth)
: !0 === n.options.centerMode &&
((n.slideOffset = 0),
(n.slideOffset +=
n.slideWidth * Math.floor(n.options.slidesToShow / 2))),
(e =
!1 === n.options.vertical
? i * n.slideWidth * -1 + n.slideOffset
: i * t * -1 + r),
!0 === n.options.variableWidth &&
((o =
n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite
? n.$slideTrack.children(".slick-slide").eq(i)
: n.$slideTrack
.children(".slick-slide")
.eq(i + n.options.slidesToShow)),
(e =
!0 === n.options.rtl
? o[0]
? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width())
: 0
: o[0]
? -1 * o[0].offsetLeft
: 0),
!0 === n.options.centerMode &&
((o =
n.slideCount <= n.options.slidesToShow ||
!1 === n.options.infinite
? n.$slideTrack.children(".slick-slide").eq(i)
: n.$slideTrack
.children(".slick-slide")
.eq(i + n.options.slidesToShow + 1)),
(e =
!0 === n.options.rtl
? o[0]
? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width())
: 0
: o[0]
? -1 * o[0].offsetLeft
: 0),
(e += (n.$list.width() - o.outerWidth()) / 2))),
e
);
}),
(e.prototype.getOption = e.prototype.slickGetOption = function(i) {
return this.options[i];
}),
(e.prototype.getNavigableIndexes = function() {
var i,
e = this,
t = 0,
o = 0,
s = [];
for (
!1 === e.options.infinite
? (i = e.slideCount)
: ((t = -1 * e.options.slidesToScroll),
(o = -1 * e.options.slidesToScroll),
(i = 2 * e.slideCount));
t < i;
)
s.push(t),
(t = o + e.options.slidesToScroll),
(o +=
e.options.slidesToScroll <= e.options.slidesToShow
? e.options.slidesToScroll
: e.options.slidesToShow);
return s;
}),
(e.prototype.getSlick = function() {
return this;
}),
(e.prototype.getSlideCount = function() {
var e,
t,
o = this;
return (
(t =
!0 === o.options.centerMode
? o.slideWidth * Math.floor(o.options.slidesToShow / 2)
: 0),
!0 === o.options.swipeToSlide
? (o.$slideTrack.find(".slick-slide").each(function(s, n) {
if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft)
return (e = n), !1;
}),
Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1)
: o.options.slidesToScroll
);
}),
(e.prototype.goTo = e.prototype.slickGoTo = function(i, e) {
this.changeSlide({ data: { message: "index", index: parseInt(i) } }, e);
}),
(e.prototype.init = function(e) {
var t = this;
i(t.$slider).hasClass("slick-initialized") ||
(i(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());
}),
(e.prototype.initADA = function() {
var e = this,
t = Math.ceil(e.slideCount / e.options.slidesToShow),
o = e.getNavigableIndexes().filter(function(i) {
return i >= 0 && i < e.slideCount;
});
e.$slides
.add(e.$slideTrack.find(".slick-cloned"))
.attr({ "aria-hidden": "true", tabindex: "-1" })
.find("a, input, button, select")
.attr({ tabindex: "-1" }),
null !== e.$dots &&
(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t) {
var s = o.indexOf(t);
i(this).attr({
role: "tabpanel",
id: "slick-slide" + e.instanceUid + t,
tabindex: -1
}),
-1 !== s &&
i(this).attr({
"aria-describedby": "slick-slide-control" + e.instanceUid + s
});
}),
e.$dots
.attr("role", "tablist")
.find("li")
.each(function(s) {
var n = o[s];
i(this).attr({ role: "presentation" }),
i(this)
.find("button")
.first()
.attr({
role: "tab",
id: "slick-slide-control" + e.instanceUid + s,
"aria-controls": "slick-slide" + e.instanceUid + n,
"aria-label": s + 1 + " of " + t,
"aria-selected": null,
tabindex: "-1"
});
})
.eq(e.currentSlide)
.find("button")
.attr({ "aria-selected": "true", tabindex: "0" })
.end());
for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++)
e.$slides.eq(s).attr("tabindex", 0);
e.activateADA();
}),
(e.prototype.initArrowEvents = function() {
var i = this;
!0 === i.options.arrows &&
i.slideCount > i.options.slidesToShow &&
(i.$prevArrow
.off("click.slick")
.on("click.slick", { message: "previous" }, i.changeSlide),
i.$nextArrow
.off("click.slick")
.on("click.slick", { message: "next" }, i.changeSlide),
!0 === i.options.accessibility &&
(i.$prevArrow.on("keydown.slick", i.keyHandler),
i.$nextArrow.on("keydown.slick", i.keyHandler)));
}),
(e.prototype.initDotEvents = function() {
var e = this;
!0 === e.options.dots &&
(i("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 &&
i("li", e.$dots)
.on("mouseenter.slick", i.proxy(e.interrupt, e, !0))
.on("mouseleave.slick", i.proxy(e.interrupt, e, !1));
}),
(e.prototype.initSlideEvents = function() {
var e = this;
e.options.pauseOnHover &&
(e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)),
e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1)));
}),
(e.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),
i(document).on(e.visibilityChange, i.proxy(e.visibility, e)),
!0 === e.options.accessibility &&
e.$list.on("keydown.slick", e.keyHandler),
!0 === e.options.focusOnSelect &&
i(e.$slideTrack)
.children()
.on("click.slick", e.selectHandler),
i(window).on(
"orientationchange.slick.slick-" + e.instanceUid,
i.proxy(e.orientationChange, e)
),
i(window).on(
"resize.slick.slick-" + e.instanceUid,
i.proxy(e.resize, e)
),
i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault),
i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition),
i(e.setPosition);
}),
(e.prototype.initUI = function() {
var i = this;
!0 === i.options.arrows &&
i.slideCount > i.options.slidesToShow &&
(i.$prevArrow.show(), i.$nextArrow.show()),
!0 === i.options.dots &&
i.slideCount > i.options.slidesToShow &&
i.$dots.show();
}),
(e.prototype.keyHandler = function(i) {
var e = this;
i.target.tagName.match("TEXTAREA|INPUT|SELECT") ||
(37 === i.keyCode && !0 === e.options.accessibility
? e.changeSlide({
data: { message: !0 === e.options.rtl ? "next" : "previous" }
})
: 39 === i.keyCode &&
!0 === e.options.accessibility &&
e.changeSlide({
data: { message: !0 === e.options.rtl ? "previous" : "next" }
}));
}),
(e.prototype.lazyLoad = function() {
function e(e) {
i("img[data-lazy]", e).each(function() {
var e = i(this),
t = i(this).attr("data-lazy"),
o = i(this).attr("data-srcset"),
s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"),
r = document.createElement("img");
(r.onload = function() {
e.animate({ opacity: 0 }, 100, function() {
o && (e.attr("srcset", o), s && e.attr("sizes", s)),
e.attr("src", t).animate({ opacity: 1 }, 200, function() {
e.removeAttr("data-lazy data-srcset data-sizes").removeClass(
"slick-loading"
);
}),
n.$slider.trigger("lazyLoaded", [n, e, t]);
});
}),
(r.onerror = function() {
e
.removeAttr("data-lazy")
.removeClass("slick-loading")
.addClass("slick-lazyload-error"),
n.$slider.trigger("lazyLoadError", [n, e, t]);
}),
(r.src = t);
});
}
var t,
o,
s,
n = this;
if (
(!0 === n.options.centerMode
? !0 === n.options.infinite
? (s =
(o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) +
n.options.slidesToShow +
2)
: ((o = Math.max(
0,
n.currentSlide - (n.options.slidesToShow / 2 + 1)
)),
(s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide))
: ((o = n.options.infinite
? n.options.slidesToShow + n.currentSlide
: n.currentSlide),
(s = Math.ceil(o + n.options.slidesToShow)),
!0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)),
(t = n.$slider.find(".slick-slide").slice(o, s)),
"anticipated" === n.options.lazyLoad)
)
for (
var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0;
a < n.options.slidesToScroll;
a++
)
r < 0 && (r = n.slideCount - 1),
(t = (t = t.add(d.eq(r))).add(d.eq(l))),
r--,
l++;
e(t),
n.slideCount <= n.options.slidesToShow
? e(n.$slider.find(".slick-slide"))
: n.currentSlide >= n.slideCount - n.options.slidesToShow
? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow))
: 0 === n.currentSlide &&
e(
n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow)
);
}),
(e.prototype.loadSlider = function() {
var i = this;
i.setPosition(),
i.$slideTrack.css({ opacity: 1 }),
i.$slider.removeClass("slick-loading"),
i.initUI(),
"progressive" === i.options.lazyLoad && i.progressiveLazyLoad();
}),
(e.prototype.next = e.prototype.slickNext = function() {
this.changeSlide({ data: { message: "next" } });
}),
(e.prototype.orientationChange = function() {
var i = this;
i.checkResponsive(), i.setPosition();
}),
(e.prototype.pause = e.prototype.slickPause = function() {
var i = this;
i.autoPlayClear(), (i.paused = !0);
}),
(e.prototype.play = e.prototype.slickPlay = function() {
var i = this;
i.autoPlay(),
(i.options.autoplay = !0),
(i.paused = !1),
(i.focussed = !1),
(i.interrupted = !1);
}),
(e.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 &&
i(t.$slides.get(t.currentSlide))
.attr("tabindex", 0)
.focus()));
}),
(e.prototype.prev = e.prototype.slickPrev = function() {
this.changeSlide({ data: { message: "previous" } });
}),
(e.prototype.preventDefault = function(i) {
i.preventDefault();
}),
(e.prototype.progressiveLazyLoad = function(e) {
e = e || 1;
var t,
o,
s,
n,
r,
l = this,
d = i("img[data-lazy]", l.$slider);
d.length
? ((t = d.first()),
(o = t.attr("data-lazy")),
(s = t.attr("data-srcset")),
(n = t.attr("data-sizes") || l.$slider.attr("data-sizes")),
((r = document.createElement("img")).onload = function() {
s && (t.attr("srcset", s), n && t.attr("sizes", n)),
t
.attr("src", o)
.removeAttr("data-lazy data-srcset data-sizes")
.removeClass("slick-loading"),
!0 === l.options.adaptiveHeight && l.setPosition(),
l.$slider.trigger("lazyLoaded", [l, t, o]),
l.progressiveLazyLoad();
}),
(r.onerror = function() {
e < 3
? setTimeout(function() {
l.progressiveLazyLoad(e + 1);
}, 500)
: (t
.removeAttr("data-lazy")
.removeClass("slick-loading")
.addClass("slick-lazyload-error"),
l.$slider.trigger("lazyLoadError", [l, t, o]),
l.progressiveLazyLoad());
}),
(r.src = o))
: l.$slider.trigger("allImagesLoaded", [l]);
}),
(e.prototype.refresh = function(e) {
var t,
o,
s = this;
(o = s.slideCount - s.options.slidesToShow),
!s.options.infinite && s.currentSlide > o && (s.currentSlide = o),
s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0),
(t = s.currentSlide),
s.destroy(!0),
i.extend(s, s.initials, { currentSlide: t }),
s.init(),
e || s.changeSlide({ data: { message: "index", index: t } }, !1);
}),
(e.prototype.registerBreakpoints = function() {
var e,
t,
o,
s = this,
n = s.options.responsive || null;
if ("array" === i.type(n) && n.length) {
s.respondTo = s.options.respondTo || "window";
for (e in n)
if (((o = s.breakpoints.length - 1), n.hasOwnProperty(e))) {
for (t = n[e].breakpoint; o >= 0; )
s.breakpoints[o] &&
s.breakpoints[o] === t &&
s.breakpoints.splice(o, 1),
o--;
s.breakpoints.push(t), (s.breakpointSettings[t] = n[e].settings);
}
s.breakpoints.sort(function(i, e) {
return s.options.mobileFirst ? i - e : e - i;
});
}
}),
(e.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 &&
i(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]);
}),
(e.prototype.resize = function() {
var e = this;
i(window).width() !== e.windowWidth &&
(clearTimeout(e.windowDelay),
(e.windowDelay = window.setTimeout(function() {
(e.windowWidth = i(window).width()),
e.checkResponsive(),
e.unslicked || e.setPosition();
}, 50)));
}),
(e.prototype.removeSlide = e.prototype.slickRemove = function(i, e, t) {
var o = this;
if (
((i =
"boolean" == typeof i
? !0 === (e = i)
? 0
: o.slideCount - 1
: !0 === e
? --i
: i),
o.slideCount < 1 || i < 0 || i > o.slideCount - 1)
)
return !1;
o.unload(),
!0 === t
? o.$slideTrack.children().remove()
: o.$slideTrack
.children(this.options.slide)
.eq(i)
.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();
}),
(e.prototype.setCSS = function(i) {
var e,
t,
o = this,
s = {};
!0 === o.options.rtl && (i = -i),
(e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px"),
(t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px"),
(s[o.positionProp] = i),
!1 === o.transformsEnabled
? o.$slideTrack.css(s)
: ((s = {}),
!1 === o.cssTransitions
? ((s[o.animType] = "translate(" + e + ", " + t + ")"),
o.$slideTrack.css(s))
: ((s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)"),
o.$slideTrack.css(s)));
}),
(e.prototype.setDimensions = function() {
var i = this;
!1 === i.options.vertical
? !0 === i.options.centerMode &&
i.$list.css({ padding: "0px " + i.options.centerPadding })
: (i.$list.height(
i.$slides.first().outerHeight(!0) * i.options.slidesToShow
),
!0 === i.options.centerMode &&
i.$list.css({ padding: i.options.centerPadding + " 0px" })),
(i.listWidth = i.$list.width()),
(i.listHeight = i.$list.height()),
!1 === i.options.vertical && !1 === i.options.variableWidth
? ((i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow)),
i.$slideTrack.width(
Math.ceil(
i.slideWidth * i.$slideTrack.children(".slick-slide").length
)
))
: !0 === i.options.variableWidth
? i.$slideTrack.width(5e3 * i.slideCount)
: ((i.slideWidth = Math.ceil(i.listWidth)),
i.$slideTrack.height(
Math.ceil(
i.$slides.first().outerHeight(!0) *
i.$slideTrack.children(".slick-slide").length
)
));
var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();
!1 === i.options.variableWidth &&
i.$slideTrack.children(".slick-slide").width(i.slideWidth - e);
}),
(e.prototype.setFade = function() {
var e,
t = this;
t.$slides.each(function(o, s) {
(e = t.slideWidth * o * -1),
!0 === t.options.rtl
? i(s).css({
position: "relative",
right: e,
top: 0,
zIndex: t.options.zIndex - 2,
opacity: 0
})
: i(s).css({
position: "relative",
left: e,
top: 0,
zIndex: t.options.zIndex - 2,
opacity: 0
});
}),
t.$slides
.eq(t.currentSlide)
.css({ zIndex: t.options.zIndex - 1, opacity: 1 });
}),
(e.prototype.setHeight = function() {
var i = this;
if (
1 === i.options.slidesToShow &&
!0 === i.options.adaptiveHeight &&
!1 === i.options.vertical
) {
var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
i.$list.css("height", e);
}
}),
(e.prototype.setOption = e.prototype.slickSetOption = function() {
var e,
t,
o,
s,
n,
r = this,
l = !1;
if (
("object" === i.type(arguments[0])
? ((o = arguments[0]), (l = arguments[1]), (n = "multiple"))
: "string" === i.type(arguments[0]) &&
((o = arguments[0]),
(s = arguments[1]),
(l = arguments[2]),
"responsive" === arguments[0] && "array" === i.type(arguments[1])
? (n = "responsive")
: void 0 !== arguments[1] && (n = "single")),
"single" === n)
)
r.options[o] = s;
else if ("multiple" === n)
i.each(o, function(i, e) {
r.options[i] = e;
});
else if ("responsive" === n)
for (t in s)
if ("array" !== i.type(r.options.responsive))
r.options.responsive = [s[t]];
else {
for (e = r.options.responsive.length - 1; e >= 0; )
r.options.responsive[e].breakpoint === s[t].breakpoint &&
r.options.responsive.splice(e, 1),
e--;
r.options.responsive.push(s[t]);
}
l && (r.unload(), r.reinit());
}),
(e.prototype.setPosition = function() {
var i = this;
i.setDimensions(),
i.setHeight(),
!1 === i.options.fade
? i.setCSS(i.getLeft(i.currentSlide))
: i.setFade(),
i.$slider.trigger("setPosition", [i]);
}),
(e.prototype.setProps = function() {
var i = this,
e = document.body.style;
(i.positionProp = !0 === i.options.vertical ? "top" : "left"),
"top" === i.positionProp
? i.$slider.addClass("slick-vertical")
: i.$slider.removeClass("slick-vertical"),
(void 0 === e.WebkitTransition &&
void 0 === e.MozTransition &&
void 0 === e.msTransition) ||
(!0 === i.options.useCSS && (i.cssTransitions = !0)),
i.options.fade &&
("number" == typeof i.options.zIndex
? i.options.zIndex < 3 && (i.options.zIndex = 3)
: (i.options.zIndex = i.defaults.zIndex)),
void 0 !== e.OTransform &&
((i.animType = "OTransform"),
(i.transformType = "-o-transform"),
(i.transitionType = "OTransition"),
void 0 === e.perspectiveProperty &&
void 0 === e.webkitPerspective &&
(i.animType = !1)),
void 0 !== e.MozTransform &&
((i.animType = "MozTransform"),
(i.transformType = "-moz-transform"),
(i.transitionType = "MozTransition"),
void 0 === e.perspectiveProperty &&
void 0 === e.MozPerspective &&
(i.animType = !1)),
void 0 !== e.webkitTransform &&
((i.animType = "webkitTransform"),
(i.transformType = "-webkit-transform"),
(i.transitionType = "webkitTransition"),
void 0 === e.perspectiveProperty &&
void 0 === e.webkitPerspective &&
(i.animType = !1)),
void 0 !== e.msTransform &&
((i.animType = "msTransform"),
(i.transformType = "-ms-transform"),
(i.transitionType = "msTransition"),
void 0 === e.msTransform && (i.animType = !1)),
void 0 !== e.transform &&
!1 !== i.animType &&
((i.animType = "transform"),
(i.transformType = "transform"),
(i.transitionType = "transition")),
(i.transformsEnabled =
i.options.useTransform && null !== i.animType && !1 !== i.animType);
}),
(e.prototype.setSlideClasses = function(i) {
var e,
t,
o,
s,
n = this;
if (
((t = n.$slider
.find(".slick-slide")
.removeClass("slick-active slick-center slick-current")
.attr("aria-hidden", "true")),
n.$slides.eq(i).addClass("slick-current"),
!0 === n.options.centerMode)
) {
var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
(e = Math.floor(n.options.slidesToShow / 2)),
!0 === n.options.infinite &&
(i >= e && i <= n.slideCount - 1 - e
? n.$slides
.slice(i - e + r, i + e + 1)
.addClass("slick-active")
.attr("aria-hidden", "false")
: ((o = n.options.slidesToShow + i),
t
.slice(o - e + 1 + r, o + e + 2)
.addClass("slick-active")
.attr("aria-hidden", "false")),
0 === i
? t
.eq(t.length - 1 - n.options.slidesToShow)
.addClass("slick-center")
: i === n.slideCount - 1 &&
t.eq(n.options.slidesToShow).addClass("slick-center")),
n.$slides.eq(i).addClass("slick-center");
} else
i >= 0 && i <= n.slideCount - n.options.slidesToShow
? n.$slides
.slice(i, i + n.options.slidesToShow)
.addClass("slick-active")
.attr("aria-hidden", "false")
: t.length <= n.options.slidesToShow
? t.addClass("slick-active").attr("aria-hidden", "false")
: ((s = n.slideCount % n.options.slidesToShow),
(o = !0 === n.options.infinite ? n.options.slidesToShow + i : i),
n.options.slidesToShow == n.options.slidesToScroll &&
n.slideCount - i < n.options.slidesToShow
? t
.slice(o - (n.options.slidesToShow - s), o + s)
.addClass("slick-active")
.attr("aria-hidden", "false")
: t
.slice(o, o + n.options.slidesToShow)
.addClass("slick-active")
.attr("aria-hidden", "false"));
("ondemand" !== n.options.lazyLoad &&
"anticipated" !== n.options.lazyLoad) ||
n.lazyLoad();
}),
(e.prototype.setupInfinite = function() {
var e,
t,
o,
s = this;
if (
(!0 === s.options.fade && (s.options.centerMode = !1),
!0 === s.options.infinite &&
!1 === s.options.fade &&
((t = null), s.slideCount > s.options.slidesToShow))
) {
for (
o =
!0 === s.options.centerMode
? s.options.slidesToShow + 1
: s.options.slidesToShow,
e = s.slideCount;
e > s.slideCount - o;
e -= 1
)
(t = e - 1),
i(s.$slides[t])
.clone(!0)
.attr("id", "")
.attr("data-slick-index", t - s.slideCount)
.prependTo(s.$slideTrack)
.addClass("slick-cloned");
for (e = 0; e < o + s.slideCount; e += 1)
(t = e),
i(s.$slides[t])
.clone(!0)
.attr("id", "")
.attr("data-slick-index", t + s.slideCount)
.appendTo(s.$slideTrack)
.addClass("slick-cloned");
s.$slideTrack
.find(".slick-cloned")
.find("[id]")
.each(function() {
i(this).attr("id", "");
});
}
}),
(e.prototype.interrupt = function(i) {
var e = this;
i || e.autoPlay(), (e.interrupted = i);
}),
(e.prototype.selectHandler = function(e) {
var t = this,
o = i(e.target).is(".slick-slide")
? i(e.target)
: i(e.target).parents(".slick-slide"),
s = parseInt(o.attr("data-slick-index"));
s || (s = 0),
t.slideCount <= t.options.slidesToShow
? t.slideHandler(s, !1, !0)
: t.slideHandler(s);
}),
(e.prototype.slideHandler = function(i, e, t) {
var o,
s,
n,
r,
l,
d = null,
a = this;
if (
((e = e || !1),
!(
(!0 === a.animating && !0 === a.options.waitForAnimate) ||
(!0 === a.options.fade && a.currentSlide === i)
))
)
if (
(!1 === e && a.asNavFor(i),
(o = i),
(d = a.getLeft(o)),
(r = a.getLeft(a.currentSlide)),
(a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft),
!1 === a.options.infinite &&
!1 === a.options.centerMode &&
(i < 0 || i > a.getDotCount() * a.options.slidesToScroll))
)
!1 === a.options.fade &&
((o = a.currentSlide),
!0 !== t
? a.animateSlide(r, function() {
a.postSlide(o);
})
: a.postSlide(o));
else if (
!1 === a.options.infinite &&
!0 === a.options.centerMode &&
(i < 0 || i > a.slideCount - a.options.slidesToScroll)
)
!1 === a.options.fade &&
((o = a.currentSlide),
!0 !== t
? a.animateSlide(r, function() {
a.postSlide(o);
})
: a.postSlide(o));
else {
if (
(a.options.autoplay && clearInterval(a.autoPlayTimer),
(s =
o < 0
? a.slideCount % a.options.slidesToScroll != 0
? a.slideCount - (a.slideCount % a.options.slidesToScroll)
: a.slideCount + o
: o >= a.slideCount
? a.slideCount % a.options.slidesToScroll != 0
? 0
: o - a.slideCount
: o),
(a.animating = !0),
a.$slider.trigger("beforeChange", [a, a.currentSlide, s]),
(n = a.currentSlide),
(a.currentSlide = s),
a.setSlideClasses(a.currentSlide),
a.options.asNavFor &&
(l = (l = a.getNavTarget()).slick("getSlick")).slideCount <=
l.options.slidesToShow &&
l.setSlideClasses(a.currentSlide),
a.updateDots(),
a.updateArrows(),
!0 === a.options.fade)
)
return (
!0 !== t
? (a.fadeSlideOut(n),
a.fadeSlide(s, function() {
a.postSlide(s);
}))
: a.postSlide(s),
void a.animateHeight()
);
!0 !== t
? a.animateSlide(d, function() {
a.postSlide(s);
})
: a.postSlide(s);
}
}),
(e.prototype.startLoad = function() {
var i = this;
!0 === i.options.arrows &&
i.slideCount > i.options.slidesToShow &&
(i.$prevArrow.hide(), i.$nextArrow.hide()),
!0 === i.options.dots &&
i.slideCount > i.options.slidesToShow &&
i.$dots.hide(),
i.$slider.addClass("slick-loading");
}),
(e.prototype.swipeDirection = function() {
var i,
e,
t,
o,
s = this;
return (
(i = s.touchObject.startX - s.touchObject.curX),
(e = s.touchObject.startY - s.touchObject.curY),
(t = Math.atan2(e, i)),
(o = Math.round((180 * t) / Math.PI)) < 0 && (o = 360 - Math.abs(o)),
o <= 45 && o >= 0
? !1 === s.options.rtl
? "left"
: "right"
: o <= 360 && o >= 315
? !1 === s.options.rtl
? "left"
: "right"
: o >= 135 && o <= 225
? !1 === s.options.rtl
? "right"
: "left"
: !0 === s.options.verticalSwiping
? o >= 35 && o <= 135
? "down"
: "up"
: "vertical"
);
}),
(e.prototype.swipeEnd = function(i) {
var e,
t,
o = this;
if (((o.dragging = !1), (o.swiping = !1), o.scrolling))
return (o.scrolling = !1), !1;
if (
((o.interrupted = !1),
(o.shouldClick = !(o.touchObject.swipeLength > 10)),
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 ((t = o.swipeDirection())) {
case "left":
case "down":
(e = o.options.swipeToSlide
? o.checkNavigable(o.currentSlide + o.getSlideCount())
: o.currentSlide + o.getSlideCount()),
(o.currentDirection = 0);
break;
case "right":
case "up":
(e = o.options.swipeToSlide
? o.checkNavigable(o.currentSlide - o.getSlideCount())
: o.currentSlide - o.getSlideCount()),
(o.currentDirection = 1);
}
"vertical" != t &&
(o.slideHandler(e),
(o.touchObject = {}),
o.$slider.trigger("swipe", [o, t]));
} else
o.touchObject.startX !== o.touchObject.curX &&
(o.slideHandler(o.currentSlide), (o.touchObject = {}));
}),
(e.prototype.swipeHandler = function(i) {
var e = this;
if (
!(
!1 === e.options.swipe ||
("ontouchend" in document && !1 === e.options.swipe) ||
(!1 === e.options.draggable && -1 !== i.type.indexOf("mouse"))
)
)
switch (
((e.touchObject.fingerCount =
i.originalEvent && void 0 !== i.originalEvent.touches
? i.originalEvent.touches.length
: 1),
(e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold),
!0 === e.options.verticalSwiping &&
(e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold),
i.data.action)
) {
case "start":
e.swipeStart(i);
break;
case "move":
e.swipeMove(i);
break;
case "end":
e.swipeEnd(i);
}
}),
(e.prototype.swipeMove = function(i) {
var e,
t,
o,
s,
n,
r,
l = this;
return (
(n = void 0 !== i.originalEvent ? i.originalEvent.touches : null),
!(!l.dragging || l.scrolling || (n && 1 !== n.length)) &&
((e = l.getLeft(l.currentSlide)),
(l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX),
(l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY),
(l.touchObject.swipeLength = Math.round(
Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))
)),
(r = Math.round(
Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))
)),
!l.options.verticalSwiping && !l.swiping && r > 4
? ((l.scrolling = !0), !1)
: (!0 === l.options.verticalSwiping &&
(l.touchObject.swipeLength = r),
(t = l.swipeDirection()),
void 0 !== i.originalEvent &&
l.touchObject.swipeLength > 4 &&
((l.swiping = !0), i.preventDefault()),
(s =
(!1 === l.options.rtl ? 1 : -1) *
(l.touchObject.curX > l.touchObject.startX ? 1 : -1)),
!0 === l.options.verticalSwiping &&
(s = l.touchObject.curY > l.touchObject.startY ? 1 : -1),
(o = l.touchObject.swipeLength),
(l.touchObject.edgeHit = !1),
!1 === l.options.infinite &&
((0 === l.currentSlide && "right" === t) ||
(l.currentSlide >= l.getDotCount() && "left" === t)) &&
((o = l.touchObject.swipeLength * l.options.edgeFriction),
(l.touchObject.edgeHit = !0)),
!1 === l.options.vertical
? (l.swipeLeft = e + o * s)
: (l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s),
!0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s),
!0 !== l.options.fade &&
!1 !== l.options.touchMove &&
(!0 === l.animating
? ((l.swipeLeft = null), !1)
: void l.setCSS(l.swipeLeft))))
);
}),
(e.prototype.swipeStart = function(i) {
var e,
t = this;
if (
((t.interrupted = !0),
1 !== t.touchObject.fingerCount ||
t.slideCount <= t.options.slidesToShow)
)
return (t.touchObject = {}), !1;
void 0 !== i.originalEvent &&
void 0 !== i.originalEvent.touches &&
(e = i.originalEvent.touches[0]),
(t.touchObject.startX = t.touchObject.curX =
void 0 !== e ? e.pageX : i.clientX),
(t.touchObject.startY = t.touchObject.curY =
void 0 !== e ? e.pageY : i.clientY),
(t.dragging = !0);
}),
(e.prototype.unfilterSlides = e.prototype.slickUnfilter = function() {
var i = this;
null !== i.$slidesCache &&
(i.unload(),
i.$slideTrack.children(this.options.slide).detach(),
i.$slidesCache.appendTo(i.$slideTrack),
i.reinit());
}),
(e.prototype.unload = function() {
var e = this;
i(".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", "");
}),
(e.prototype.unslick = function(i) {
var e = this;
e.$slider.trigger("unslick", [e, i]), e.destroy();
}),
(e.prototype.updateArrows = function() {
var i = this;
Math.floor(i.options.slidesToShow / 2),
!0 === i.options.arrows &&
i.slideCount > i.options.slidesToShow &&
!i.options.infinite &&
(i.$prevArrow
.removeClass("slick-disabled")
.attr("aria-disabled", "false"),
i.$nextArrow
.removeClass("slick-disabled")
.attr("aria-disabled", "false"),
0 === i.currentSlide
? (i.$prevArrow
.addClass("slick-disabled")
.attr("aria-disabled", "true"),
i.$nextArrow
.removeClass("slick-disabled")
.attr("aria-disabled", "false"))
: i.currentSlide >= i.slideCount - i.options.slidesToShow &&
!1 === i.options.centerMode
? (i.$nextArrow
.addClass("slick-disabled")
.attr("aria-disabled", "true"),
i.$prevArrow
.removeClass("slick-disabled")
.attr("aria-disabled", "false"))
: i.currentSlide >= i.slideCount - 1 &&
!0 === i.options.centerMode &&
(i.$nextArrow
.addClass("slick-disabled")
.attr("aria-disabled", "true"),
i.$prevArrow
.removeClass("slick-disabled")
.attr("aria-disabled", "false")));
}),
(e.prototype.updateDots = function() {
var i = this;
null !== i.$dots &&
(i.$dots
.find("li")
.removeClass("slick-active")
.end(),
i.$dots
.find("li")
.eq(Math.floor(i.currentSlide / i.options.slidesToScroll))
.addClass("slick-active"));
}),
(e.prototype.visibility = function() {
var i = this;
i.options.autoplay &&
(document[i.hidden] ? (i.interrupted = !0) : (i.interrupted = !1));
}),
(i.fn.slick = function() {
var i,
t,
o = this,
s = arguments[0],
n = Array.prototype.slice.call(arguments, 1),
r = o.length;
for (i = 0; i < r; i++)
if (
("object" == typeof s || void 0 === s
? (o[i].slick = new e(o[i], s))
: (t = o[i].slick[s].apply(o[i].slick, n)),
void 0 !== t)
)
return t;
return o;
});
});
$(function() {
initSlider();
$("body").on("click", ".main__nav--toggle", function() {
return $("html").toggleClass("main__nav--opened"), !1;
});
$("body").on("click", ".overlay", function() {
$("html").removeClass("main__nav--opened");
});
$("body").on("click", ".main__nav a, .smooth-scroll", function() {
(elementClick = $(this).attr("href"));
var hash = elementClick.indexOf('#');
if(hash > 0) {
elLength = elementClick.length;
elementClick = elementClick.substr(hash,elementClick.length);
}
return (
$("html").removeClass("main__nav--opened"),
$("html, body").animate(
{
scrollTop: destination
},
600
),
!1
);
});
$("body").on("click", "#calculate-cost", function() {
$(".modal__wrapper").show().addClass('fold-in');
$(".toggle").hide();
});
$("body").on("click", ".icon-close", function() {
$(".modal__wrapper").hide();
$(".toggle").show();
});
});
// Global variables
var btw = 1;
var seatedFeeGL = 0.95;
var standingFeeGL = 0.70;
var bancontactFeeGL = 0.28; //80% van transacties
var creditCardFeeGL = 0.11; //15% van transacties
var timeslot0 = 80;
var timeslot1000 = 175;
var timeslot2500 = 300;
var timeslotExtra0 = 0.10;
var timeslotExtra1000 = 0.09;
var timeslotExtra2500 = 0.08;
var idealFeeGL = 0.2; //5% van transacties
const PERCENTAGE = 0.01;
// Check if btw is checked + change html values accordingly
function checkBtw() {
var ckbox = $('#btw-checkbox');
$('#btw-checkbox').on('click',function () {
// if the checkbox is checked
// get input value from form
var ticketAmount = $("input[name=amount]").val();
var ticketPrice = $("input[name=price]").val();
var seated = $("select[name=seated]").val();
if (ckbox.is(':checked')) {
// set btw to +21%
btw = 1.21;
// calculate the btw to the prices and change in html
$('#seatfee').html(formatCost(seatedFeeGL * btw));
$('#nonseatfee').html(formatCost(standingFeeGL * btw));
$('#percentageNonseatfee').html(btw.toString().replace('.',','))
$('#percentageSeatfee').html(btw.toString().replace('.',','))
$('.prices-bancontact').html((bancontactFeeGL * btw).toFixed(2));
$('.prices-ideal').html((idealFeeGL * btw).toFixed(2));
$('.prices-creditcard').html((creditCardFeeGL * btw).toFixed(2));
$('.prices-btw-inclusive').html('Prijzen incl. 21% BTW');
$('.prices-timeslot-0').html((timeslot0 * btw));
$('.prices-timeslot-1000').html((timeslot1000 * btw));
$('.prices-timeslot-2500').html((timeslot2500 * btw));
$('.prices-timeslot-extra0').html(roundDecimals(timeslotExtra0 * btw));
$('.prices-timeslot-extra1000').html(roundDecimals(timeslotExtra1000 * btw));
$('.prices-timeslot-extra2500').html(roundDecimals(timeslotExtra2500 * btw));
// fade effect on switch button
$('.switch-inclusive').fadeTo("fast", 1);
$('.switch-exclusive').fadeTo("fast", 0.6);
// check if form is ok
if (!ticketAmount || !ticketPrice || !seated ) { //|| ticketAmount < 300
// nothing happens
}
else {
// Run calculation if form is validated
calculatePrice();
}
// if the checkbox is not checked
} else {
// set btw to 1
btw = 1;
// change html values to default
$('#seatfee').html(formatCost(seatedFeeGL));
$('#nonseatfee').html(formatCost(standingFeeGL));
$('#percentageNonseatfee').html(btw.toString().replace('.',','))
$('#percentageSeatfee').html(btw.toString().replace('.',','))
$('.prices-bancontact').html((bancontactFeeGL));
$('.prices-ideal').html((idealFeeGL).toFixed(2)); // Needs to be fixed because js drops the "0" after 0.2
$('.prices-creditcard').html((creditCardFeeGL));
$('.prices-timeslot-0').html((timeslot0));
$('.prices-timeslot-1000').html((timeslot1000));
$('.prices-timeslot-2500').html((timeslot2500));
$('.prices-timeslot-extra0').html((timeslotExtra0));
$('.prices-timeslot-extra1000').html((timeslotExtra1000));
$('.prices-timeslot-extra2500').html((timeslotExtra2500));
$('.prices-btw-inclusive').html('Prijzen excl. 21% BTW');
// fade effect on switch knob
$('.switch-inclusive').fadeTo("fast", 0.6);
$('.switch-exclusive').fadeTo("fast", 1);
// check if form is ok
if (ticketPrice && ticketAmount && seated) {
// Run calculation if form is validated
calculatePrice();
}
}
// return the current btw value
return btw;
});
}
// Init Btw function + html values
$(document).ready(function () {
checkBtw(btw);
// set the html values to default on page load
$('#seatfee').html(formatCost(seatedFeeGL));
$('#nonseatfee').html(formatCost(standingFeeGL));
$('.prices-bancontact').html((bancontactFeeGL));
$('.prices-ideal').html((idealFeeGL).toFixed(2));
$('.prices-creditcard').html((creditCardFeeGL));
$('.prices-timeslot-0').html((timeslot0));
$('.prices-timeslot-1000').html((timeslot1000));
$('.prices-timeslot-2500').html((timeslot2500));
$('.prices-timeslot-extra0').html((timeslotExtra0));
$('.prices-timeslot-extra1000').html((timeslotExtra1000));
$('.prices-timeslot-extra2500').html((timeslotExtra2500));
//$('#prices-btw-inclusive').html('Prijzen excl. 21% BTW');
// fade effect on switch knob
$('.switch-inclusive').fadeTo("fast", 0.6);
$('.switch-exclusive').fadeTo("fast", 1);
});
function calculatePrice() {
// Get Btw value
// checkBtw(btw); <- We no longer need a complex calculation
// just checking the checkbox is sufficient
const btw = $('#btw-checkbox').is(':checked')? 1.21: 1;
// get the input values from form
var ticketAmount = $("input[name=amount]").val();
var ticketPrice = $("input[name=price]").val();
var seated = $("select[name=seated]").val();
const costPercentage = ticketPrice * PERCENTAGE;
// set new variables to calculated values
var seatedFee = (seatedFeeGL + costPercentage) * btw ;
var standingFee = (standingFeeGL + costPercentage) * btw ;
// check if form is ok
if (!ticketAmount || !ticketPrice || !seated || ticketAmount <=0 || ticketPrice <=0) { // || ticketAmount < 300
// if form is not ok, throw error
$(".calculate-error-message").show();
return;
}
// Moved this function to the function above because of an occuring bug
/*
if (ticketAmount < 300) {
$(".min-ticket-amount-error-message").show();
return;
}
*/
$(".calculate-error-message").hide();
let costPerTicket = (seated == "staanplaatsen" ? standingFee : seatedFee)
var totalCost =
ticketAmount * costPerTicket;
totalCost = formatCost(totalCost);
costPerTicket = formatCost(costPerTicket);
$("#calculated-price-per-ticket").text(costPerTicket);
$("#calculated-total").text(totalCost);
$(".modal__price").removeClass("hidden");
}
function formatCost(cost) {
const formatter = new Intl.NumberFormat('nl-BE', { style: 'currency', currency: 'EUR' })
cost = formatter.format(cost)
return cost;
}
function initSlider() {
$(".slider").slick({
dots: false,
infinite: true,
speed: 300,
slidesToShow: 1,
slidesToScroll: 1,
variableWidth: true,
arrows: false,
autoplay: true,
autoplaySpeed: 2000,
swipe: false
});
}
/**
* Round a number to 2 decimals
*
* @param {type} num
* @returns {Number}
*/
function roundDecimals(num) {
var num = +(Math.round(num + "e+2") + "e-2");
return num.toFixed(2);
}
var Tabs = function($wrapper) {
var self = this;
var $tabTriggers = $wrapper.find('[data-tab-trigger]');
var $tabs = $wrapper.find('[data-tab]');
self.switchTab = function(tabId) {
var $tab = $(tabId);
$tabs.removeClass('tab--active');
$tabTriggers.removeClass('tab__trigger--active');
$tab.addClass('tab--active');
$wrapper.find("a[data-tab-trigger][href='" + tabId + "']").addClass('tab__trigger--active');
// change url
window.location.hash = tabId;
};
self.triggerClicked = function(e) {
e.preventDefault();
var tabId = $(this).attr('href');
self.switchTab(tabId);
};
self.init = function() {
if(window.location.hash && typeof $(window.location.hash).attr('data-tab') !== undefined && typeof $(window.location.hash).attr('data-tab') !== false) {
self.switchTab(window.location.hash);
}
$(document).on('click', 'a[href^="#"]', function (e) {
var id = $(this).attr('href');
if(typeof $(id).attr('data-tab') !== undefined && typeof $(id).attr('data-tab') !== false) {
self.switchTab(id);
}
});
};
}
$(document).ready(function(){
//scroll to hash with the height of the header taken in to account
if(window.location.hash) {
if(!$(window.location.hash).offset()) return;
$('html, body').animate({
scrollTop: $(window.location.hash).offset().top - 66,
}, 1);
}
$.each($('[data-tabs-wrapper]'), function(key, item){
(new Tabs($(item))).init();
})
$(document).on('click', 'a[href^="#"]', function (event) {
event.preventDefault();
$('html, body').animate({
scrollTop: $($(this).attr('href')).offset().top - 66
}, 500);
});
});