", { class: this.settings.stageOuterClass })), this.$element.append(this.$stage.parent())) }, l.prototype.initializeItems = function() { var t = this.$element.find(".owl-item"); if (t.length) return this._items = t.get().map(function(t) { return h(t) }), this._mergers = this._items.map(function() { return 1 }), void this.refresh(); this.replace(this.$element.children().not(this.$stage.parent())), this.isVisible() ? this.refresh() : this.invalidate("width"), this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass) }, l.prototype.initialize = function() { var t, e, i; (this.enter("initializing"), this.trigger("initialize"), this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl), this.settings.autoWidth && !this.is("pre-loading")) && (t = this.$element.find("img"), e = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : a, i = this.$element.children(e).width(), t.length && i <= 0 && this.preloadAutoWidthImages(t)); this.initializeStage(), this.initializeItems(), this.registerEventHandlers(), this.leave("initializing"), this.trigger("initialized") }, l.prototype.isVisible = function() { return !this.settings.checkVisibility || this.$element.is(":visible") }, l.prototype.setup = function() { var e = this.viewport(), t = this.options.responsive, i = -1, s = null; t ? (h.each(t, function(t) { t <= e && i < t && (i = Number(t)) }), "function" == typeof(s = h.extend({}, this.options, t[i])).stagePadding && (s.stagePadding = s.stagePadding()), delete s.responsive, s.responsiveClass && this.$element.attr("class", this.$element.attr("class").replace(RegExp("(" + this.options.responsiveClass + "-)\\S+\\s", "g"), "$1" + i))) : s = h.extend({}, this.options), this.trigger("change", { property: { name: "settings", value: s } }), this._breakpoint = i, this.settings = s, this.invalidate("settings"), this.trigger("changed", { property: { name: "settings", value: this.settings } }) }, l.prototype.optionsLogic = function() { this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1) }, l.prototype.prepare = function(t) { var e = this.trigger("prepare", { content: t }); return e.data || (e.data = h("<" + this.settings.itemElement + "/>").addClass(this.options.itemClass).append(t)), this.trigger("prepared", { content: e.data }), e.data }, l.prototype.update = function() { for (var t = 0, e = this._pipe.length, i = h.proxy(function(t) { return this[t] }, this._invalidated), s = {}; t < e;)(this._invalidated.all || 0 < h.grep(this._pipe[t].filter, i).length) && this._pipe[t].run(s), t++; this._invalidated = {}, this.is("valid") || this.enter("valid") }, l.prototype.width = function(t) { switch (t = t || l.Width.Default) { case l.Width.Inner: case l.Width.Outer: return this._width; default: return this._width - 2 * this.settings.stagePadding + this.settings.margin } }, l.prototype.refresh = function() { this.enter("refreshing"), this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$element.addClass(this.options.refreshClass), this.update(), this.$element.removeClass(this.options.refreshClass), this.leave("refreshing"), this.trigger("refreshed") }, l.prototype.onThrottledResize = function() { i.clearTimeout(this.resizeTimer), this.resizeTimer = i.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate) }, l.prototype.onResize = function() { return !(!this._items.length || this._width === this.$element.width() || !this.isVisible()) && (this.enter("resizing"), this.trigger("resize").isDefaultPrevented() ? (this.leave("resizing"), !1) : (this.invalidate("width"), this.refresh(), this.leave("resizing"), void this.trigger("resized"))) }, l.prototype.registerEventHandlers = function() { h.support.transition && this.$stage.on(h.support.transition.end + ".owl.core", h.proxy(this.onTransitionEnd, this)), !1 !== this.settings.responsive && this.on(i, "resize", this._handlers.onThrottledResize), this.settings.mouseDrag && (this.$element.addClass(this.options.dragClass), this.$stage.on("mousedown.owl.core", h.proxy(this.onDragStart, this)), this.$stage.on("dragstart.owl.core selectstart.owl.core", function() { return !1 })), this.settings.touchDrag && (this.$stage.on("touchstart.owl.core", h.proxy(this.onDragStart, this)), this.$stage.on("touchcancel.owl.core", h.proxy(this.onDragEnd, this))) }, l.prototype.onDragStart = function(t) { var e = null; 3 !== t.which && (e = h.support.transform ? { x: (e = this.$stage.css("transform").replace(/.*\(|\)| /g, "").split(","))[16 === e.length ? 12 : 4], y: e[16 === e.length ? 13 : 5] } : (e = this.$stage.position(), { x: this.settings.rtl ? e.left + this.$stage.width() - this.width() + this.settings.margin : e.left, y: e.top }), this.is("animating") && (h.support.transform ? this.animate(e.x) : this.$stage.stop(), this.invalidate("position")), this.$element.toggleClass(this.options.grabClass, "mousedown" === t.type), this.speed(0), this._drag.time = (new Date).getTime(), this._drag.target = h(t.target), this._drag.stage.start = e, this._drag.stage.current = e, this._drag.pointer = this.pointer(t), h(n).on("mouseup.owl.core touchend.owl.core", h.proxy(this.onDragEnd, this)), h(n).one("mousemove.owl.core touchmove.owl.core", h.proxy(function(t) { var e = this.difference(this._drag.pointer, this.pointer(t)); h(n).on("mousemove.owl.core touchmove.owl.core", h.proxy(this.onDragMove, this)), !(Math.abs(e.x) < Math.abs(e.y) && this.is("valid")) && (t.preventDefault(), this.enter("dragging"), this.trigger("drag")) }, this))) }, l.prototype.onDragMove = function(t) { var e = null, i = null, s = null, n = this.difference(this._drag.pointer, this.pointer(t)), o = this.difference(this._drag.stage.start, n); this.is("dragging") && (t.preventDefault(), this.settings.loop ? (e = this.coordinates(this.minimum()), i = this.coordinates(this.maximum() + 1) - e, o.x = ((o.x - e) % i + i) % i + e) : (e = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()), i = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()), s = this.settings.pullDrag ? -1 * n.x / 5 : 0, o.x = Math.max(Math.min(o.x, e + s), i + s)), this._drag.stage.current = o, this.animate(o.x)) }, l.prototype.onDragEnd = function(t) { var e = this.difference(this._drag.pointer, this.pointer(t)), i = this._drag.stage.current, s = 0 < e.x ^ this.settings.rtl ? "left" : "right"; h(n).off(".owl.core"), this.$element.removeClass(this.options.grabClass), (0 !== e.x && this.is("dragging") || !this.is("valid")) && (this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(this.closest(i.x, 0 !== e.x ? s : this._drag.direction)), this.invalidate("position"), this.update(), this._drag.direction = s, (3 < Math.abs(e.x) || 300 < (new Date).getTime() - this._drag.time) && this._drag.target.one("click.owl.core", function() { return !1 })), this.is("dragging") && (this.leave("dragging"), this.trigger("dragged")) }, l.prototype.closest = function(i, s) { var n = -1, o = this.width(), r = this.coordinates(); return this.settings.freeDrag || h.each(r, h.proxy(function(t, e) { return "left" === s && e - 30 < i && i < e + 30 ? n = t : "right" === s && e - o - 30 < i && i < e - o + 30 ? n = t + 1 : this.op(i, "<", e) && this.op(i, ">", a !== r[t + 1] ? r[t + 1] : e - o) && (n = "left" === s ? t + 1 : t), -1 === n }, this)), !this.settings.loop && (this.op(i, ">", r[this.minimum()]) ? n = i = this.minimum() : this.op(i, "<", r[this.maximum()]) && (n = i = this.maximum())), n }, l.prototype.animate = function(t) { var e = 0 < this.speed(); this.is("animating") && this.onTransitionEnd(), e && (this.enter("animating"), this.trigger("translate")), h.support.transform3d && h.support.transition ? this.$stage.css({ transform: "translate3d(" + t + "px,0px,0px)", transition: this.speed() / 1e3 + "s" + (this.settings.slideTransition ? " " + this.settings.slideTransition : "") }) : e ? this.$stage.animate({ left: t + "px" }, this.speed(), this.settings.fallbackEasing, h.proxy(this.onTransitionEnd, this)) : this.$stage.css({ left: t + "px" }) }, l.prototype.is = function(t) { return this._states.current[t] && 0 < this._states.current[t] }, l.prototype.current = function(t) { if (t === a) return this._current; if (0 !== this._items.length) { if (t = this.normalize(t), this._current !== t) { var e = this.trigger("change", { property: { name: "position", value: t } }); a !== e.data && (t = this.normalize(e.data)), this._current = t, this.invalidate("position"), this.trigger("changed", { property: { name: "position", value: this._current } }) } return this._current } }, l.prototype.invalidate = function(t) { return "string" === h.type(t) && (this._invalidated[t] = !0, this.is("valid") && this.leave("valid")), h.map(this._invalidated, function(t, e) { return e }) }, l.prototype.reset = function(t) { a !== (t = this.normalize(t)) && (this._speed = 0, this._current = t, this.suppress(["translate", "translated"]), this.animate(this.coordinates(t)), this.release(["translate", "translated"])) }, l.prototype.normalize = function(t, e) { var i = this._items.length, s = e ? 0 : this._clones.length; return !this.isNumeric(t) || i < 1 ? t = a : (t < 0 || i + s <= t) && (t = ((t - s / 2) % i + i) % i + s / 2), t }, l.prototype.relative = function(t) { return t -= this._clones.length / 2, this.normalize(t, !0) }, l.prototype.maximum = function(t) { var e, i, s, n = this.settings, o = this._coordinates.length; if (n.loop) o = this._clones.length / 2 + this._items.length - 1; else if (n.autoWidth || n.merge) { if (e = this._items.length) for (i = this._items[--e].width(), s = this.$element.width(); e-- && !((i += this._items[e].width() + this.settings.margin) > s);); o = e + 1 } else o = n.center ? this._items.length - 1 : this._items.length - n.items; return t && (o -= this._clones.length / 2), Math.max(o, 0) }, l.prototype.minimum = function(t) { return t ? 0 : this._clones.length / 2 }, l.prototype.items = function(t) { return t === a ? this._items.slice() : (t = this.normalize(t, !0), this._items[t]) }, l.prototype.mergers = function(t) { return t === a ? this._mergers.slice() : (t = this.normalize(t, !0), this._mergers[t]) }, l.prototype.clones = function(i) { var e = this._clones.length / 2, s = e + this._items.length, n = function(t) { return t % 2 == 0 ? s + t / 2 : e - (t + 1) / 2 }; return i === a ? h.map(this._clones, function(t, e) { return n(e) }) : h.map(this._clones, function(t, e) { return t === i ? n(e) : null }) }, l.prototype.speed = function(t) { return t !== a && (this._speed = t), this._speed }, l.prototype.coordinates = function(t) { var e, i = 1, s = t - 1; return t === a ? h.map(this._coordinates, h.proxy(function(t, e) { return this.coordinates(e) }, this)) : (this.settings.center ? (this.settings.rtl && (i = -1, s = t + 1), e = this._coordinates[t], e += (this.width() - e + (this._coordinates[s] || 0)) / 2 * i) : e = this._coordinates[s] || 0, e = Math.ceil(e)) }, l.prototype.duration = function(t, e, i) { return 0 === i ? 0 : Math.min(Math.max(Math.abs(e - t), 1), 6) * Math.abs(i || this.settings.smartSpeed) }, l.prototype.to = function(t, e) { var i = this.current(), s = null, n = t - this.relative(i), o = (0 < n) - (n < 0), r = this._items.length, a = this.minimum(), h = this.maximum(); this.settings.loop ? (!this.settings.rewind && Math.abs(n) > r / 2 && (n += -1 * o * r), (s = (((t = i + n) - a) % r + r) % r + a) !== t && s - n <= h && 0 < s - n && (i = s - n, t = s, this.reset(i))) : t = this.settings.rewind ? (t % (h += 1) + h) % h : Math.max(a, Math.min(h, t)), this.speed(this.duration(i, t, e)), this.current(t), this.isVisible() && this.update() }, l.prototype.next = function(t) { t = t || !1, this.to(this.relative(this.current()) + 1, t) }, l.prototype.prev = function(t) { t = t || !1, this.to(this.relative(this.current()) - 1, t) }, l.prototype.onTransitionEnd = function(t) { if (t !== a && (t.stopPropagation(), (t.target || t.srcElement || t.originalTarget) !== this.$stage.get(0))) return !1; this.leave("animating"), this.trigger("translated") }, l.prototype.viewport = function() { var t; return this.options.responsiveBaseElement !== i ? t = h(this.options.responsiveBaseElement).width() : i.innerWidth ? t = i.innerWidth : n.documentElement && n.documentElement.clientWidth ? t = n.documentElement.clientWidth : console.warn("Can not detect viewport width."), t }, l.prototype.replace = function(t) { this.$stage.empty(), this._items = [], t && (t = t instanceof jQuery ? t : h(t)), this.settings.nestedItemSelector && (t = t.find("." + this.settings.nestedItemSelector)), t.filter(function() { return 1 === this.nodeType }).each(h.proxy(function(t, e) { e = this.prepare(e), this.$stage.append(e), this._items.push(e), this._mergers.push(1 * e.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1) }, this)), this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0), this.invalidate("items") }, l.prototype.add = function(t, e) { var i = this.relative(this._current); e = e === a ? this._items.length : this.normalize(e, !0), t = t instanceof jQuery ? t : h(t), this.trigger("add", { content: t, position: e }), t = this.prepare(t), 0 === this._items.length || e === this._items.length ? (0 === this._items.length && this.$stage.append(t), 0 !== this._items.length && this._items[e - 1].after(t), this._items.push(t), this._mergers.push(1 * t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)) : (this._items[e].before(t), this._items.splice(e, 0, t), this._mergers.splice(e, 0, 1 * t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)), this._items[i] && this.reset(this._items[i].index()), this.invalidate("items"), this.trigger("added", { content: t, position: e }) }, l.prototype.remove = function(t) { a !== (t = this.normalize(t, !0)) && (this.trigger("remove", { content: this._items[t], position: t }), this._items[t].remove(), this._items.splice(t, 1), this._mergers.splice(t, 1), this.invalidate("items"), this.trigger("removed", { content: null, position: t })) }, l.prototype.preloadAutoWidthImages = function(t) { t.each(h.proxy(function(t, e) { this.enter("pre-loading"), e = h(e), h(new Image).one("load", h.proxy(function(t) { e.attr("src", t.target.src), e.css("opacity", 1), this.leave("pre-loading"), this.is("pre-loading") || this.is("initializing") || this.refresh() }, this)).attr("src", e.attr("src") || e.attr("data-src") || e.attr("data-src-retina")) }, this)) }, l.prototype.destroy = function() { for (var t in this.$element.off(".owl.core"), this.$stage.off(".owl.core"), h(n).off(".owl.core"), !1 !== this.settings.responsive && (i.clearTimeout(this.resizeTimer), this.off(i, "resize", this._handlers.onThrottledResize)), this._plugins) this._plugins[t].destroy(); this.$stage.children(".cloned").remove(), this.$stage.unwrap(), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$stage.remove(), this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class", this.$element.attr("class").replace(RegExp(this.options.responsiveClass + "-\\S+\\s", "g"), "")).removeData("owl.carousel") }, l.prototype.op = function(t, e, i) { var s = this.settings.rtl; switch (e) { case "<": return s ? i < t : t < i; case ">": return s ? t < i : i < t; case ">=": return s ? t <= i : i <= t; case "<=": return s ? i <= t : t <= i } }, l.prototype.on = function(t, e, i, s) { t.addEventListener ? t.addEventListener(e, i, s) : t.attachEvent && t.attachEvent("on" + e, i) }, l.prototype.off = function(t, e, i, s) { t.removeEventListener ? t.removeEventListener(e, i, s) : t.detachEvent && t.detachEvent("on" + e, i) }, l.prototype.trigger = function(t, e, i, s, n) { var o = { item: { count: this._items.length, index: this.current() } }, r = h.camelCase(h.grep(["on", t, i], function(t) { return t }).join("-").toLowerCase()), a = h.Event([t, "owl", i || "carousel"].join(".").toLowerCase(), h.extend({ relatedTarget: this }, o, e)); return !this._supress[t] && (h.each(this._plugins, function(t, e) { e.onTrigger && e.onTrigger(a) }), this.register({ type: l.Type.Event, name: t }), this.$element.trigger(a), this.settings && "function" == typeof this.settings[r] && this.settings[r].call(this, a)), a }, l.prototype.enter = function(t) { h.each([t].concat(this._states.tags[t] || []), h.proxy(function(t, e) { a === this._states.current[e] && (this._states.current[e] = 0), this._states.current[e]++ }, this)) }, l.prototype.leave = function(t) { h.each([t].concat(this._states.tags[t] || []), h.proxy(function(t, e) { this._states.current[e]-- }, this)) }, l.prototype.register = function(i) { if (i.type === l.Type.Event) { if (h.event.special[i.name] || (h.event.special[i.name] = {}), !h.event.special[i.name].owl) { var e = h.event.special[i.name]._default; h.event.special[i.name]._default = function(t) { return !e || !e.apply || t.namespace && -1 !== t.namespace.indexOf("owl") ? t.namespace && -1 < t.namespace.indexOf("owl") : e.apply(this, arguments) }, h.event.special[i.name].owl = !0 } } else i.type === l.Type.State && (this._states.tags[i.name] ? this._states.tags[i.name] = this._states.tags[i.name].concat(i.tags) : this._states.tags[i.name] = i.tags, this._states.tags[i.name] = h.grep(this._states.tags[i.name], h.proxy(function(t, e) { return h.inArray(t, this._states.tags[i.name]) === e }, this))) }, l.prototype.suppress = function(t) { h.each(t, h.proxy(function(t, e) { this._supress[e] = !0 }, this)) }, l.prototype.release = function(t) { h.each(t, h.proxy(function(t, e) { delete this._supress[e] }, this)) }, l.prototype.pointer = function(t) { var e = { x: null, y: null }; return (t = (t = t.originalEvent || t || i.event).touches && t.touches.length ? t.touches[0] : t.changedTouches && t.changedTouches.length ? t.changedTouches[0] : t).pageX ? (e.x = t.pageX, e.y = t.pageY) : (e.x = t.clientX, e.y = t.clientY), e }, l.prototype.isNumeric = function(t) { return !isNaN(parseFloat(t)) }, l.prototype.difference = function(t, e) { return { x: t.x - e.x, y: t.y - e.y } }, h.fn.owlCarousel = function(e) { var s = Array.prototype.slice.call(arguments, 1); return this.each(function() { var t = h(this), i = t.data("owl.carousel"); i || (i = new l(this, "object" == typeof e && e), t.data("owl.carousel", i), h.each(["next", "prev", "to", "destroy", "refresh", "replace", "add", "remove"], function(t, e) { i.register({ type: l.Type.Event, name: e }), i.$element.on(e + ".owl.carousel.core", h.proxy(function(t) { t.namespace && t.relatedTarget !== this && (this.suppress([e]), i[e].apply(this, [].slice.call(arguments, 1)), this.release([e])) }, i)) })), "string" == typeof e && "_" !== e.charAt(0) && i[e].apply(i, s) }) }, h.fn.owlCarousel.Constructor = l }(window.Zepto || window.jQuery, window, document), function(e, i, t, s) { var n = function(t) { this._core = t, this._interval = null, this._visible = null, this._handlers = { "initialized.owl.carousel": e.proxy(function(t) { t.namespace && this._core.settings.autoRefresh && this.watch() }, this) }, this._core.options = e.extend({}, n.Defaults, this._core.options), this._core.$element.on(this._handlers) }; n.Defaults = { autoRefresh: !0, autoRefreshInterval: 500 }, n.prototype.watch = function() { !this._interval && (this._visible = this._core.isVisible(), this._interval = i.setInterval(e.proxy(this.refresh, this), this._core.settings.autoRefreshInterval)) }, n.prototype.refresh = function() { this._core.isVisible() !== this._visible && (this._visible = !this._visible, this._core.$element.toggleClass("owl-hidden", !this._visible), this._visible && this._core.invalidate("width") && this._core.refresh()) }, n.prototype.destroy = function() { var t, e; for (t in i.clearInterval(this._interval), this._handlers) this._core.$element.off(t, this._handlers[t]); for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) }, e.fn.owlCarousel.Constructor.Plugins.AutoRefresh = n }(window.Zepto || window.jQuery, window, document), function(a, o, t, e) { var i = function(t) { this._core = t, this._loaded = [], this._handlers = { "initialized.owl.carousel change.owl.carousel resized.owl.carousel": a.proxy(function(t) { if (t.namespace && this._core.settings && this._core.settings.lazyLoad && (t.property && "position" == t.property.name || "initialized" == t.type)) { var e = this._core.settings, i = e.center && Math.ceil(e.items / 2) || e.items, s = e.center && -1 * i || 0, n = (t.property && void 0 !== t.property.value ? t.property.value : this._core.current()) + s, o = this._core.clones().length, r = a.proxy(function(t, e) { this.load(e) }, this); for (0 < e.lazyLoadEager && (i += e.lazyLoadEager, e.loop && (n -= e.lazyLoadEager, i++)); s++ < i;) this.load(o / 2 + this._core.relative(n)), o && a.each(this._core.clones(this._core.relative(n)), r), n++ } }, this) }, this._core.options = a.extend({}, i.Defaults, this._core.options), this._core.$element.on(this._handlers) }; i.Defaults = { lazyLoad: !1, lazyLoadEager: 0 }, i.prototype.load = function(t) { var e = this._core.$stage.children().eq(t), i = e && e.find(".owl-lazy"); i && !(-1 < a.inArray(e.get(0), this._loaded)) && (i.each(a.proxy(function(t, e) { var i, s = a(e), n = 1 < o.devicePixelRatio && s.attr("data-src-retina") || s.attr("data-src") || s.attr("data-srcset"); this._core.trigger("load", { element: s, url: n }, "lazy"), s.is("img") ? s.one("load.owl.lazy", a.proxy(function() { s.css("opacity", 1), this._core.trigger("loaded", { element: s, url: n }, "lazy") }, this)).attr("src", n) : s.is("source") ? s.one("load.owl.lazy", a.proxy(function() { this._core.trigger("loaded", { element: s, url: n }, "lazy") }, this)).attr("srcset", n) : ((i = new Image).onload = a.proxy(function() { s.css({ "background-image": 'url("' + n + '")', opacity: "1" }), this._core.trigger("loaded", { element: s, url: n }, "lazy") }, this), i.src = n) }, this)), this._loaded.push(e.get(0))) }, i.prototype.destroy = function() { var t, e; for (t in this.handlers) this._core.$element.off(t, this.handlers[t]); for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) }, a.fn.owlCarousel.Constructor.Plugins.Lazy = i }(window.Zepto || window.jQuery, window, document), function(r, i, t, e) { var s = function(t) { this._core = t, this._previousHeight = null, this._handlers = { "initialized.owl.carousel refreshed.owl.carousel": r.proxy(function(t) { t.namespace && this._core.settings.autoHeight && this.update() }, this), "changed.owl.carousel": r.proxy(function(t) { t.namespace && this._core.settings.autoHeight && "position" === t.property.name && this.update() }, this), "loaded.owl.lazy": r.proxy(function(t) { t.namespace && this._core.settings.autoHeight && t.element.closest("." + this._core.settings.itemClass).index() === this._core.current() && this.update() }, this) }, this._core.options = r.extend({}, s.Defaults, this._core.options), this._core.$element.on(this._handlers), this._intervalId = null; var e = this; r(i).on("load", function() { e._core.settings.autoHeight && e.update() }), r(i).resize(function() { e._core.settings.autoHeight && (null != e._intervalId && clearTimeout(e._intervalId), e._intervalId = setTimeout(function() { e.update() }, 250)) }) }; s.Defaults = { autoHeight: !1, autoHeightClass: "owl-height" }, s.prototype.update = function() { var t = this._core._current, e = t + this._core.settings.items, i = this._core.settings.lazyLoad, s = this._core.$stage.children().toArray().slice(t, e), n = [], o = 0; r.each(s, function(t, e) { n.push(r(e).height()) }), (o = Math.max.apply(null, n)) <= 1 && i && this._previousHeight && (o = this._previousHeight), this._previousHeight = o, this._core.$stage.parent().height(o).addClass(this._core.settings.autoHeightClass) }, s.prototype.destroy = function() { var t, e; for (t in this._handlers) this._core.$element.off(t, this._handlers[t]); for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) }, r.fn.owlCarousel.Constructor.Plugins.AutoHeight = s }(window.Zepto || window.jQuery, window, document), function(l, t, e, i) { var s = function(t) { this._core = t, this._videos = {}, this._playing = null, this._handlers = { "initialized.owl.carousel": l.proxy(function(t) { t.namespace && this._core.register({ type: "state", name: "playing", tags: ["interacting"] }) }, this), "resize.owl.carousel": l.proxy(function(t) { t.namespace && this._core.settings.video && this.isInFullScreen() && t.preventDefault() }, this), "refreshed.owl.carousel": l.proxy(function(t) { t.namespace && this._core.is("resizing") && this._core.$stage.find(".cloned .owl-video-frame").remove() }, this), "changed.owl.carousel": l.proxy(function(t) { t.namespace && "position" === t.property.name && this._playing && this.stop() }, this), "prepared.owl.carousel": l.proxy(function(t) { if (t.namespace) { var e = l(t.content).find(".owl-video"); e.length && (e.css("display", "none"), this.fetch(e, l(t.content))) } }, this) }, this._core.options = l.extend({}, s.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", l.proxy(function(t) { this.play(t) }, this)) }; s.Defaults = { video: !1, videoHeight: !1, videoWidth: !1 }, s.prototype.fetch = function(t, e) { var i = t.attr("data-vimeo-id") ? "vimeo" : t.attr("data-vzaar-id") ? "vzaar" : "youtube", s = t.attr("data-vimeo-id") || t.attr("data-youtube-id") || t.attr("data-vzaar-id"), n = t.attr("data-width") || this._core.settings.videoWidth, o = t.attr("data-height") || this._core.settings.videoHeight, r = t.attr("href"); if (!r) throw Error("Missing video URL."); if (-1 < (s = r.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/))[3].indexOf("youtu")) i = "youtube"; else if (-1 < s[3].indexOf("vimeo")) i = "vimeo"; else { if (!(-1 < s[3].indexOf("vzaar"))) throw Error("Video URL not supported."); i = "vzaar" } s = s[6], this._videos[r] = { type: i, id: s, width: n, height: o }, e.attr("data-video", r), this.thumbnail(t, this._videos[r]) }, s.prototype.thumbnail = function(e, t) { var i, s = t.width && t.height ? "width:" + t.width + "px;height:" + t.height + "px;" : "", n = e.find("img"), o = "src", r = "", a = this._core.settings, h = function(t) { '
', i = a.lazyLoad ? l("", { class: "owl-video-tn " + r, srcType: t }) : l("", { class: "owl-video-tn", style: "opacity:1;background-image:url(" + t + ")" }), e.after(i), e.after('') }; if (e.wrap(l("", { class: "owl-video-wrapper", style: s })), this._core.settings.lazyLoad && (o = "data-src", r = "owl-lazy"), n.length) return h(n.attr(o)), n.remove(), !1; "youtube" === t.type ? h("//img.youtube.com/vi/" + t.id + "/hqdefault.jpg") : "vimeo" === t.type ? l.ajax({ type: "GET", url: "//vimeo.com/api/v2/video/" + t.id + ".json", jsonp: "callback", dataType: "jsonp", success: function(t) { h(t[0].thumbnail_large) } }) : "vzaar" === t.type && l.ajax({ type: "GET", url: "//vzaar.com/api/videos/" + t.id + ".json", jsonp: "callback", dataType: "jsonp", success: function(t) { h(t.framegrab_url) } }) }, s.prototype.stop = function() { this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing = null, this._core.leave("playing"), this._core.trigger("stopped", null, "video") }, s.prototype.play = function(t) { var e, i = l(t.target).closest("." + this._core.settings.itemClass), s = this._videos[i.attr("data-video")], n = s.width || "100%", o = s.height || this._core.$stage.height(); !this._playing && (this._core.enter("playing"), this._core.trigger("play", null, "video"), i = this._core.items(this._core.relative(i.index())), this._core.reset(i.index()), (e = l('')).attr("height", o), e.attr("width", n), "youtube" === s.type ? e.attr("src", "//www.youtube.com/embed/" + s.id + "?autoplay=1&rel=0&v=" + s.id) : "vimeo" === s.type ? e.attr("src", "//player.vimeo.com/video/" + s.id + "?autoplay=1") : "vzaar" === s.type && e.attr("src", "//view.vzaar.com/" + s.id + "/player?autoplay=true"), l(e).wrap('').insertAfter(i.find(".owl-video")), this._playing = i.addClass("owl-video-playing")) }, s.prototype.isInFullScreen = function() { var t = e.fullscreenElement || e.mozFullScreenElement || e.webkitFullscreenElement; return t && l(t).parent().hasClass("owl-video-frame") }, s.prototype.destroy = function() { var t, e; for (t in this._core.$element.off("click.owl.video"), this._handlers) this._core.$element.off(t, this._handlers[t]); for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) }, l.fn.owlCarousel.Constructor.Plugins.Video = s }(window.Zepto || window.jQuery, window, document), function(r, t, e, i) { var s = function(t) { this.core = t, this.core.options = r.extend({}, s.Defaults, this.core.options), this.swapping = !0, this.previous = void 0, this.next = void 0, this.handlers = { "change.owl.carousel": r.proxy(function(t) { t.namespace && "position" == t.property.name && (this.previous = this.core.current(), this.next = t.property.value) }, this), "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": r.proxy(function(t) { t.namespace && (this.swapping = "translated" == t.type) }, this), "translate.owl.carousel": r.proxy(function(t) { t.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap() }, this) }, this.core.$element.on(this.handlers) }; s.Defaults = { animateOut: !1, animateIn: !1 }, s.prototype.swap = function() { if (1 === this.core.settings.items && r.support.animation && r.support.transition) { this.core.speed(0); var t, e = r.proxy(this.clear, this), i = this.core.$stage.children().eq(this.previous), s = this.core.$stage.children().eq(this.next), n = this.core.settings.animateIn, o = this.core.settings.animateOut; this.core.current() !== this.previous && (o && (t = this.core.coordinates(this.previous) - this.core.coordinates(this.next), i.one(r.support.animation.end, e).css({ left: t + "px" }).addClass("animated owl-animated-out").addClass(o)), n && s.one(r.support.animation.end, e).addClass("animated owl-animated-in").addClass(n)) } }, s.prototype.clear = function(t) { r(t.target).css({ left: "" }).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.onTransitionEnd() }, s.prototype.destroy = function() { var t, e; for (t in this.handlers) this.core.$element.off(t, this.handlers[t]); for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) }, r.fn.owlCarousel.Constructor.Plugins.Animate = s }(window.Zepto || window.jQuery, window, document), function(s, n, e, t) { var i = function(t) { this._core = t, this._call = null, this._time = 0, this._timeout = 0, this._paused = !0, this._handlers = { "changed.owl.carousel": s.proxy(function(t) { t.namespace && "settings" === t.property.name ? this._core.settings.autoplay ? this.play() : this.stop() : t.namespace && "position" === t.property.name && this._paused && (this._time = 0) }, this), "initialized.owl.carousel": s.proxy(function(t) { t.namespace && this._core.settings.autoplay && this.play() }, this), "play.owl.autoplay": s.proxy(function(t, e, i) { t.namespace && this.play(e, i) }, this), "stop.owl.autoplay": s.proxy(function(t) { t.namespace && this.stop() }, this), "mouseover.owl.autoplay": s.proxy(function() { this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause() }, this), "mouseleave.owl.autoplay": s.proxy(function() { this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.play() }, this), "touchstart.owl.core": s.proxy(function() { this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause() }, this), "touchend.owl.core": s.proxy(function() { this._core.settings.autoplayHoverPause && this.play() }, this) }, this._core.$element.on(this._handlers), this._core.options = s.extend({}, i.Defaults, this._core.options) }; i.Defaults = { autoplay: !1, autoplayTimeout: 5e3, autoplayHoverPause: !1, autoplaySpeed: !1 }, i.prototype._next = function(t) { this._call = n.setTimeout(s.proxy(this._next, this, t), this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read()), !this._core.is("interacting") && !e.hidden && this._core.next(t || this._core.settings.autoplaySpeed) }, i.prototype.read = function() { return (new Date).getTime() - this._time }, i.prototype.play = function(t, e) { var i; this._core.is("rotating") || this._core.enter("rotating"), t = t || this._core.settings.autoplayTimeout, i = Math.min(this._time % (this._timeout || t), t), this._paused ? (this._time = this.read(), this._paused = !1) : n.clearTimeout(this._call), this._time += this.read() % t - i, this._timeout = t, this._call = n.setTimeout(s.proxy(this._next, this, e), t - i) }, i.prototype.stop = function() { this._core.is("rotating") && (this._time = 0, this._paused = !0, n.clearTimeout(this._call), this._core.leave("rotating")) }, i.prototype.pause = function() { this._core.is("rotating") && !this._paused && (this._time = this.read(), this._paused = !0, n.clearTimeout(this._call)) }, i.prototype.destroy = function() { var t, e; for (t in this.stop(), this._handlers) this._core.$element.off(t, this._handlers[t]); for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) }, s.fn.owlCarousel.Constructor.Plugins.autoplay = i }(window.Zepto || window.jQuery, window, document), function(o, t, e, i) { "use strict"; var s = function(t) { this._core = t, this._initialized = !1, this._pages = [], this._controls = {}, this._templates = [], this.$element = this._core.$element, this._overrides = { next: this._core.next, prev: this._core.prev, to: this._core.to }, this._handlers = { "prepared.owl.carousel": o.proxy(function(t) { t.namespace && this._core.settings.dotsData && this._templates.push('