! function($) { return $ ? ($.unslider = function(t, n) { var e = this; return e._ = "unslider", e.defaults = { autoplay: !1, delay: 3e3, speed: 750, easing: "swing", keys: { prev: 37, next: 39 }, nav: !0, arrows: { prev: '', next: '' }, animation: "horizontal", selectors: { container: "ul:first", slides: "li" }, animateheight: !1, activeclass: e._ + "-active", swipe: !0 }, e.$context = t, e.options = {}, e.$parent = null, e.$container = null, e.$slides = null, e.$nav = null, e.$arrows = [], e.total = 0, e.current = 0, e.prefix = e._ + "-", e.eventsuffix = "." + e.prefix + ~~(2e3 * math.random()), e.interval = null, e.init = function(t) { return e.options = $.extend({}, e.defaults, t), e.$container = e.$context.find(e.options.selectors.container).addclass(e.prefix + "wrap"), e.$slides = e.$container.children(e.options.selectors.slides), e.setup(), $.each(["nav", "arrows", "keys", "infinite"], function(t, n) { e.options[n] && e["init" + $._ucfirst(n)]() }), jquery.event.special.swipe && e.options.swipe && e.initswipe(), e.options.autoplay && e.start(), e.calculateslides(), e.$context.trigger(e._ + ".ready"), e.animate(e.options.index || e.current, "init") }, e.setup = function() { e.$context.addclass(e.prefix + e.options.animation).wrap('
'), e.$parent = e.$context.parent("." + e._); var t = e.$context.css("position"); "static" === t && e.$context.css("position", "relative"), e.$context.css("overflow", "hidden") }, e.calculateslides = function() { if(e.total = e.$slides.length, "fade" !== e.options.animation) { var t = "width"; "vertical" === e.options.animation && (t = "height"), e.$container.css(t, 100 * e.total + "%").addclass(e.prefix + "carousel"), e.$slides.css(t, 100 / e.total + "%") } }, e.start = function() { return e.interval = settimeout(function() { e.next() }, e.options.delay), e }, e.stop = function() { return cleartimeout(e.interval), e }, e.initnav = function() { var t = $(''); e.$slides.each(function(n) { var i = this.getattribute("data-nav") || n + 1; $.isfunction(e.options.nav) && (i = e.options.nav.call(e.$slides.eq(n), n, i)), t.children("ol").append('
  • ' + i + "
  • ") }), e.$nav = t.insertafter(e.$context), e.$nav.find("li").on("click" + e.eventsuffix, function() { var t = $(this).addclass(e.options.activeclass); t.siblings().removeclass(e.options.activeclass), e.animate(t.attr("data-slide")) }) }, e.initarrows = function() { e.options.arrows === !0 && (e.options.arrows = e.defaults.arrows), $.each(e.options.arrows, function(t, n) { e.$arrows.push($(n).insertafter(e.$context).on("click" + e.eventsuffix, e[t])) }) }, e.initkeys = function() { e.options.keys === !0 && (e.options.keys = e.defaults.keys), $(document).on("keyup" + e.eventsuffix, function(t) { $.each(e.options.keys, function(n, i) { t.which === i && $.isfunction(e[n]) && e[n].call(e) }) }) }, e.initswipe = function() { var t = e.$slides.width(); "fade" !== e.options.animation && e.$container.on({ movestart: function(t) { return t.distx > t.disty && t.distx < -t.disty || t.distx < t.disty && t.distx > -t.disty ? !!t.preventdefault() : void e.$container.css("position", "relative") }, move: function(n) { e.$container.css("left", -(100 * e.current) + 100 * n.distx / t + "%") }, moveend: function(n) { math.abs(n.distx) / t < $.event.special.swipe.settings.threshold && e[n.distx < 0 ? "next" : "prev"]() } }) }, e.initinfinite = function() { var t = ["first", "last"]; $.each(t, function(n, i) { e.$slides.push.apply(e.$slides, e.$slides.filter(':not(".' + e._ + '-clone")')[i]().clone().addclass(e._ + "-clone")["insert" + (0 === n ? "after" : "before")](e.$slides[t[~~!n]]())) }) }, e.destroyarrows = function() { $.each(e.$arrows, function(t, n) { n.remove() }) }, e.destroyswipe = function() { e.$container.off("movestart move moveend") }, e.destroykeys = function() { $(document).off("keyup" + e.eventsuffix) }, e.setindex = function(t) { return 0 > t && (t = e.total - 1), e.current = math.min(math.max(0, t), e.total - 1), e.options.nav && e.$nav.find('[data-slide="' + e.current + '"]')._active(e.options.activeclass), e.$slides.eq(e.current)._active(e.options.activeclass), e }, e.animate = function(t, n) { if("first" === t && (t = 0), "last" === t && (t = e.total), isnan(t)) return e; e.options.autoplay && e.stop().start(), e.setindex(t), e.$context.trigger(e._ + ".change", [t, e.$slides.eq(t)]); var i = "animate" + $._ucfirst(e.options.animation); return $.isfunction(e[i]) && e[i](e.current, n), e }, e.next = function() { var t = e.current + 1; return t >= e.total && (t = 0), e.animate(t, "next") }, e.prev = function() { return e.animate(e.current - 1, "prev") }, e.animatehorizontal = function(t) { var n = "left"; return "rtl" === e.$context.attr("dir") && (n = "right"), e.options.infinite && e.$container.css("margin-" + n, "-100%"), e.slide(n, t) }, e.animatevertical = function(t) { return e.options.animateheight = !0, e.options.infinite && e.$container.css("margin-top", -e.$slides.outerheight()), e.slide("top", t) }, e.slide = function(t, n) { if(e.options.animateheight && e._move(e.$context, { height: e.$slides.eq(n).outerheight() }, !1), e.options.infinite) { var i; n === e.total - 1 && (i = e.total - 3, n = -1), n === e.total - 2 && (i = 0, n = e.total - 2), "number" == typeof i && (e.setindex(i), e.$context.on(e._ + ".moved", function() { e.current === i && e.$container.css(t, -(100 * i) + "%").off(e._ + ".moved") })) } var s = {}; return s[t] = -(100 * n) + "%", e._move(e.$container, s) }, e.animatefade = function(t) { var n = e.$slides.eq(t).addclass(e.options.activeclass); e._move(n.siblings().removeclass(e.options.activeclass), { opacity: 0 }), e._move(n, { opacity: 1 }, !1) }, e._move = function(t, n, i, s) { return i !== !1 && (i = function() { e.$context.trigger(e._ + ".moved") }), t._move(n, s || e.options.speed, e.options.easing, i) }, e.init(n) }, $.fn._active = function(t) { return this.addclass(t).siblings().removeclass(t) }, $._ucfirst = function(t) { return(t + "").tolowercase().replace(/^./, function(t) { return t.touppercase() }) }, $.fn._move = function() { return this.stop(!0, !0), $.fn[$.fn.velocity ? "velocity" : "animate"].apply(this, arguments) }, void($.fn.unslider = function(t) { return this.each(function() { var n = $(this); if("string" == typeof t && n.data("unslider")) { t = t.split(":"); var e = n.data("unslider")[t[0]]; if($.isfunction(e)) return e.apply(n, t[1] ? t[1].split(",") : null) } return n.data("unslider", new $.unslider(n, t)) }) })) : console.warn("unslider needs jquery") }(window.jquery);