');\\r\\n\\r\\n\\t\\t// append stage\\r\\n\\t\\tthis.$element.append(this.$stage.parent());\\r\\n\\r\\n\\t\\t// append content\\r\\n\\t\\tthis.replace(this.$element.children().not(this.$stage.parent()));\\r\\n\\r\\n\\t\\t// set view width\\r\\n\\t\\tthis._width = this.$element.width();\\r\\n\\r\\n\\t\\t// update view\\r\\n\\t\\tthis.refresh();\\r\\n\\r\\n\\t\\tthis.$element.removeClass('owl-loading').addClass('owl-loaded');\\r\\n\\r\\n\\t\\t// attach generic events\\r\\n\\t\\tthis.eventsCall();\\r\\n\\r\\n\\t\\t// attach generic events\\r\\n\\t\\tthis.internalEvents();\\r\\n\\r\\n\\t\\t// attach custom control events\\r\\n\\t\\tthis.addTriggerableEvents();\\r\\n\\r\\n\\t\\tthis.trigger('initialized');\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Setups the current settings.\\r\\n\\t * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\\r\\n\\t * @todo Support for media queries by using `matchMedia` would be nice.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tOwl.prototype.setup = function() {\\r\\n\\t\\tvar viewport = this.viewport(),\\r\\n\\t\\t\\toverwrites = this.options.responsive,\\r\\n\\t\\t\\tmatch = -1,\\r\\n\\t\\t\\tsettings = null;\\r\\n\\r\\n\\t\\tif (!overwrites) {\\r\\n\\t\\t\\tsettings = $.extend({}, this.options);\\r\\n\\t\\t} else {\\r\\n\\t\\t\\t$.each(overwrites, function(breakpoint) {\\r\\n\\t\\t\\t\\tif (breakpoint <= viewport && breakpoint > match) {\\r\\n\\t\\t\\t\\t\\tmatch = Number(breakpoint);\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t});\\r\\n\\r\\n\\t\\t\\tsettings = $.extend({}, this.options, overwrites[match]);\\r\\n\\t\\t\\tdelete settings.responsive;\\r\\n\\r\\n\\t\\t\\t// responsive class\\r\\n\\t\\t\\tif (settings.responsiveClass) {\\r\\n\\t\\t\\t\\tthis.$element.attr('class', function(i, c) {\\r\\n\\t\\t\\t\\t\\treturn c.replace(/\\\\b owl-responsive-\\\\S+/g, '');\\r\\n\\t\\t\\t\\t}).addClass('owl-responsive-' + match);\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.settings === null || this._breakpoint !== match) {\\r\\n\\t\\t\\tthis.trigger('change', { property: { name: 'settings', value: settings } });\\r\\n\\t\\t\\tthis._breakpoint = match;\\r\\n\\t\\t\\tthis.settings = settings;\\r\\n\\t\\t\\tthis.invalidate('settings');\\r\\n\\t\\t\\tthis.trigger('changed', { property: { name: 'settings', value: this.settings } });\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Updates option logic if necessery.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.optionsLogic = function() {\\r\\n\\t\\t// Toggle Center class\\r\\n\\t\\tthis.$element.toggleClass('owl-center', this.settings.center);\\r\\n\\r\\n\\t\\t// if items number is less than in body\\r\\n\\t\\tif (this.settings.loop && this._items.length < this.settings.items) {\\r\\n\\t\\t\\tthis.settings.loop = false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.settings.autoWidth) {\\r\\n\\t\\t\\tthis.settings.stagePadding = false;\\r\\n\\t\\t\\tthis.settings.merge = false;\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Prepares an item before add.\\r\\n\\t * @todo Rename event parameter `content` to `item`.\\r\\n\\t * @protected\\r\\n\\t * @returns {jQuery|HTMLElement} - The item container.\\r\\n\\t */\\r\\n\\tOwl.prototype.prepare = function(item) {\\r\\n\\t\\tvar event = this.trigger('prepare', { content: item });\\r\\n\\r\\n\\t\\tif (!event.data) {\\r\\n\\t\\t\\tevent.data = $('<' + this.settings.itemElement + '/>')\\r\\n\\t\\t\\t\\t.addClass(this.settings.itemClass).append(item)\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.trigger('prepared', { content: event.data });\\r\\n\\r\\n\\t\\treturn event.data;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Updates the view.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tOwl.prototype.update = function() {\\r\\n\\t\\tvar i = 0,\\r\\n\\t\\t\\tn = this._pipe.length,\\r\\n\\t\\t\\tfilter = $.proxy(function(p) { return this[p] }, this._invalidated),\\r\\n\\t\\t\\tcache = {};\\r\\n\\r\\n\\t\\twhile (i < n) {\\r\\n\\t\\t\\tif (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\\r\\n\\t\\t\\t\\tthis._pipe[i].run(cache);\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\ti++;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis._invalidated = {};\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the width of the view.\\r\\n\\t * @public\\r\\n\\t * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\\r\\n\\t * @returns {Number} - The width of the view in pixel.\\r\\n\\t */\\r\\n\\tOwl.prototype.width = function(dimension) {\\r\\n\\t\\tdimension = dimension || Owl.Width.Default;\\r\\n\\t\\tswitch (dimension) {\\r\\n\\t\\t\\tcase Owl.Width.Inner:\\r\\n\\t\\t\\tcase Owl.Width.Outer:\\r\\n\\t\\t\\t\\treturn this._width;\\r\\n\\t\\t\\tdefault:\\r\\n\\t\\t\\t\\treturn this._width - this.settings.stagePadding * 2 + this.settings.margin;\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Refreshes the carousel primarily for adaptive purposes.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tOwl.prototype.refresh = function() {\\r\\n\\t\\tif (this._items.length === 0) {\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tvar start = new Date().getTime();\\r\\n\\r\\n\\t\\tthis.trigger('refresh');\\r\\n\\r\\n\\t\\tthis.setup();\\r\\n\\r\\n\\t\\tthis.optionsLogic();\\r\\n\\r\\n\\t\\t// hide and show methods helps here to set a proper widths,\\r\\n\\t\\t// this prevents scrollbar to be calculated in stage width\\r\\n\\t\\tthis.$stage.addClass('owl-refresh');\\r\\n\\r\\n\\t\\tthis.update();\\r\\n\\r\\n\\t\\tthis.$stage.removeClass('owl-refresh');\\r\\n\\r\\n\\t\\tthis.state.orientation = window.orientation;\\r\\n\\r\\n\\t\\tthis.watchVisibility();\\r\\n\\r\\n\\t\\tthis.trigger('refreshed');\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Save internal event references and add event based functions.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.eventsCall = function() {\\r\\n\\t\\t// Save events references\\r\\n\\t\\tthis.e._onDragStart = $.proxy(function(e) {\\r\\n\\t\\t\\tthis.onDragStart(e);\\r\\n\\t\\t}, this);\\r\\n\\t\\tthis.e._onDragMove = $.proxy(function(e) {\\r\\n\\t\\t\\tthis.onDragMove(e);\\r\\n\\t\\t}, this);\\r\\n\\t\\tthis.e._onDragEnd = $.proxy(function(e) {\\r\\n\\t\\t\\tthis.onDragEnd(e);\\r\\n\\t\\t}, this);\\r\\n\\t\\tthis.e._onResize = $.proxy(function(e) {\\r\\n\\t\\t\\tthis.onResize(e);\\r\\n\\t\\t}, this);\\r\\n\\t\\tthis.e._transitionEnd = $.proxy(function(e) {\\r\\n\\t\\t\\tthis.transitionEnd(e);\\r\\n\\t\\t}, this);\\r\\n\\t\\tthis.e._preventClick = $.proxy(function(e) {\\r\\n\\t\\t\\tthis.preventClick(e);\\r\\n\\t\\t}, this);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks window `resize` event.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.onThrottledResize = function() {\\r\\n\\t\\twindow.clearTimeout(this.resizeTimer);\\r\\n\\t\\tthis.resizeTimer = window.setTimeout(this.e._onResize, this.settings.responsiveRefreshRate);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks window `resize` event.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.onResize = function() {\\r\\n\\t\\tif (!this._items.length) {\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this._width === this.$element.width()) {\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.trigger('resize').isDefaultPrevented()) {\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis._width = this.$element.width();\\r\\n\\r\\n\\t\\tthis.invalidate('width');\\r\\n\\r\\n\\t\\tthis.refresh();\\r\\n\\r\\n\\t\\tthis.trigger('resized');\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks for touch/mouse drag event type and add run event handlers.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.eventsRouter = function(event) {\\r\\n\\t\\tvar type = event.type;\\r\\n\\r\\n\\t\\tif (type === \\\"mousedown\\\" || type === \\\"touchstart\\\") {\\r\\n\\t\\t\\tthis.onDragStart(event);\\r\\n\\t\\t} else if (type === \\\"mousemove\\\" || type === \\\"touchmove\\\") {\\r\\n\\t\\t\\tthis.onDragMove(event);\\r\\n\\t\\t} else if (type === \\\"mouseup\\\" || type === \\\"touchend\\\") {\\r\\n\\t\\t\\tthis.onDragEnd(event);\\r\\n\\t\\t} else if (type === \\\"touchcancel\\\") {\\r\\n\\t\\t\\tthis.onDragEnd(event);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks for touch/mouse drag options and add necessery event handlers.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.internalEvents = function() {\\r\\n\\t\\tvar isTouch = isTouchSupport(),\\r\\n\\t\\t\\tisTouchIE = isTouchSupportIE();\\r\\n\\r\\n\\t\\tif (this.settings.mouseDrag){\\r\\n\\t\\t\\tthis.$stage.on('mousedown', $.proxy(function(event) { this.eventsRouter(event) }, this));\\r\\n\\t\\t\\tthis.$stage.on('dragstart', function() { return false });\\r\\n\\t\\t\\tthis.$stage.get(0).onselectstart = function() { return false };\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tthis.$element.addClass('owl-text-select-on');\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.settings.touchDrag && !isTouchIE){\\r\\n\\t\\t\\tthis.$stage.on('touchstart touchcancel', $.proxy(function(event) { this.eventsRouter(event) }, this));\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// catch transitionEnd event\\r\\n\\t\\tif (this.transitionEndVendor) {\\r\\n\\t\\t\\tthis.on(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd, false);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// responsive\\r\\n\\t\\tif (this.settings.responsive !== false) {\\r\\n\\t\\t\\tthis.on(window, 'resize', $.proxy(this.onThrottledResize, this));\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Handles touchstart/mousedown event.\\r\\n\\t * @protected\\r\\n\\t * @param {Event} event - The event arguments.\\r\\n\\t */\\r\\n\\tOwl.prototype.onDragStart = function(event) {\\r\\n\\t\\tvar ev, isTouchEvent, pageX, pageY, animatedPos;\\r\\n\\r\\n\\t\\tev = event.originalEvent || event || window.event;\\r\\n\\r\\n\\t\\t// prevent right click\\r\\n\\t\\tif (ev.which === 3 || this.state.isTouch) {\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (ev.type === 'mousedown') {\\r\\n\\t\\t\\tthis.$stage.addClass('owl-grab');\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.trigger('drag');\\r\\n\\t\\tthis.drag.startTime = new Date().getTime();\\r\\n\\t\\tthis.speed(0);\\r\\n\\t\\tthis.state.isTouch = true;\\r\\n\\t\\tthis.state.isScrolling = false;\\r\\n\\t\\tthis.state.isSwiping = false;\\r\\n\\t\\tthis.drag.distance = 0;\\r\\n\\r\\n\\t\\tpageX = getTouches(ev).x;\\r\\n\\t\\tpageY = getTouches(ev).y;\\r\\n\\r\\n\\t\\t// get stage position left\\r\\n\\t\\tthis.drag.offsetX = this.$stage.position().left;\\r\\n\\t\\tthis.drag.offsetY = this.$stage.position().top;\\r\\n\\r\\n\\t\\tif (this.settings.rtl) {\\r\\n\\t\\t\\tthis.drag.offsetX = this.$stage.position().left + this.$stage.width() - this.width()\\r\\n\\t\\t\\t\\t+ this.settings.margin;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// catch position // ie to fix\\r\\n\\t\\tif (this.state.inMotion && this.support3d) {\\r\\n\\t\\t\\tanimatedPos = this.getTransformProperty();\\r\\n\\t\\t\\tthis.drag.offsetX = animatedPos;\\r\\n\\t\\t\\tthis.animate(animatedPos);\\r\\n\\t\\t\\tthis.state.inMotion = true;\\r\\n\\t\\t} else if (this.state.inMotion && !this.support3d) {\\r\\n\\t\\t\\tthis.state.inMotion = false;\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.drag.startX = pageX - this.drag.offsetX;\\r\\n\\t\\tthis.drag.startY = pageY - this.drag.offsetY;\\r\\n\\r\\n\\t\\tthis.drag.start = pageX - this.drag.startX;\\r\\n\\t\\tthis.drag.targetEl = ev.target || ev.srcElement;\\r\\n\\t\\tthis.drag.updatedX = this.drag.start;\\r\\n\\r\\n\\t\\t// to do/check\\r\\n\\t\\t// prevent links and images dragging;\\r\\n\\t\\tif (this.drag.targetEl.tagName === \\\"IMG\\\" || this.drag.targetEl.tagName === \\\"A\\\") {\\r\\n\\t\\t\\tthis.drag.targetEl.draggable = false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t$(document).on('mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents', $.proxy(function(event) {this.eventsRouter(event)},this));\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Handles the touchmove/mousemove events.\\r\\n\\t * @todo Simplify\\r\\n\\t * @protected\\r\\n\\t * @param {Event} event - The event arguments.\\r\\n\\t */\\r\\n\\tOwl.prototype.onDragMove = function(event) {\\r\\n\\t\\tvar ev, isTouchEvent, pageX, pageY, minValue, maxValue, pull;\\r\\n\\r\\n\\t\\tif (!this.state.isTouch) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.state.isScrolling) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tev = event.originalEvent || event || window.event;\\r\\n\\r\\n\\t\\tpageX = getTouches(ev).x;\\r\\n\\t\\tpageY = getTouches(ev).y;\\r\\n\\r\\n\\t\\t// Drag Direction\\r\\n\\t\\tthis.drag.currentX = pageX - this.drag.startX;\\r\\n\\t\\tthis.drag.currentY = pageY - this.drag.startY;\\r\\n\\t\\tthis.drag.distance = this.drag.currentX - this.drag.offsetX;\\r\\n\\r\\n\\t\\t// Check move direction\\r\\n\\t\\tif (this.drag.distance < 0) {\\r\\n\\t\\t\\tthis.state.direction = this.settings.rtl ? 'right' : 'left';\\r\\n\\t\\t} else if (this.drag.distance > 0) {\\r\\n\\t\\t\\tthis.state.direction = this.settings.rtl ? 'left' : 'right';\\r\\n\\t\\t}\\r\\n\\t\\t// Loop\\r\\n\\t\\tif (this.settings.loop) {\\r\\n\\t\\t\\tif (this.op(this.drag.currentX, '>', this.coordinates(this.minimum())) && this.state.direction === 'right') {\\r\\n\\t\\t\\t\\tthis.drag.currentX -= (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length);\\r\\n\\t\\t\\t} else if (this.op(this.drag.currentX, '<', this.coordinates(this.maximum())) && this.state.direction === 'left') {\\r\\n\\t\\t\\t\\tthis.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length);\\r\\n\\t\\t\\t}\\r\\n\\t\\t} else {\\r\\n\\t\\t\\t// pull\\r\\n\\t\\t\\tminValue = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\\r\\n\\t\\t\\tmaxValue = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\\r\\n\\t\\t\\tpull = this.settings.pullDrag ? this.drag.distance / 5 : 0;\\r\\n\\t\\t\\tthis.drag.currentX = Math.max(Math.min(this.drag.currentX, minValue + pull), maxValue + pull);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// Lock browser if swiping horizontal\\r\\n\\r\\n\\t\\tif ((this.drag.distance > 8 || this.drag.distance < -8)) {\\r\\n\\t\\t\\tif (ev.preventDefault !== undefined) {\\r\\n\\t\\t\\t\\tev.preventDefault();\\r\\n\\t\\t\\t} else {\\r\\n\\t\\t\\t\\tev.returnValue = false;\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\tthis.state.isSwiping = true;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.drag.updatedX = this.drag.currentX;\\r\\n\\r\\n\\t\\t// Lock Owl if scrolling\\r\\n\\t\\tif ((this.drag.currentY > 16 || this.drag.currentY < -16) && this.state.isSwiping === false) {\\r\\n\\t\\t\\tthis.state.isScrolling = true;\\r\\n\\t\\t\\tthis.drag.updatedX = this.drag.start;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.animate(this.drag.updatedX);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Handles the touchend/mouseup events.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.onDragEnd = function(event) {\\r\\n\\t\\tvar compareTimes, distanceAbs, closest;\\r\\n\\r\\n\\t\\tif (!this.state.isTouch) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (event.type === 'mouseup') {\\r\\n\\t\\t\\tthis.$stage.removeClass('owl-grab');\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.trigger('dragged');\\r\\n\\r\\n\\t\\t// prevent links and images dragging;\\r\\n\\t\\tthis.drag.targetEl.removeAttribute(\\\"draggable\\\");\\r\\n\\r\\n\\t\\t// remove drag event listeners\\r\\n\\r\\n\\t\\tthis.state.isTouch = false;\\r\\n\\t\\tthis.state.isScrolling = false;\\r\\n\\t\\tthis.state.isSwiping = false;\\r\\n\\r\\n\\t\\t// to check\\r\\n\\t\\tif (this.drag.distance === 0 && this.state.inMotion !== true) {\\r\\n\\t\\t\\tthis.state.inMotion = false;\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// prevent clicks while scrolling\\r\\n\\r\\n\\t\\tthis.drag.endTime = new Date().getTime();\\r\\n\\t\\tcompareTimes = this.drag.endTime - this.drag.startTime;\\r\\n\\t\\tdistanceAbs = Math.abs(this.drag.distance);\\r\\n\\r\\n\\t\\t// to test\\r\\n\\t\\tif (distanceAbs > 3 || compareTimes > 300) {\\r\\n\\t\\t\\tthis.removeClick(this.drag.targetEl);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tclosest = this.closest(this.drag.updatedX);\\r\\n\\r\\n\\t\\tthis.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\\r\\n\\t\\tthis.current(closest);\\r\\n\\t\\tthis.invalidate('position');\\r\\n\\t\\tthis.update();\\r\\n\\r\\n\\t\\t// if pullDrag is off then fire transitionEnd event manually when stick\\r\\n\\t\\t// to border\\r\\n\\t\\tif (!this.settings.pullDrag && this.drag.updatedX === this.coordinates(closest)) {\\r\\n\\t\\t\\tthis.transitionEnd();\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.drag.distance = 0;\\r\\n\\r\\n\\t\\t$(document).off('.owl.dragEvents');\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Attaches `preventClick` to disable link while swipping.\\r\\n\\t * @protected\\r\\n\\t * @param {HTMLElement} [target] - The target of the `click` event.\\r\\n\\t */\\r\\n\\tOwl.prototype.removeClick = function(target) {\\r\\n\\t\\tthis.drag.targetEl = target;\\r\\n\\t\\t$(target).on('click.preventClick', this.e._preventClick);\\r\\n\\t\\t// to make sure click is removed:\\r\\n\\t\\twindow.setTimeout(function() {\\r\\n\\t\\t\\t$(target).off('click.preventClick');\\r\\n\\t\\t}, 300);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Suppresses click event.\\r\\n\\t * @protected\\r\\n\\t * @param {Event} ev - The event arguments.\\r\\n\\t */\\r\\n\\tOwl.prototype.preventClick = function(ev) {\\r\\n\\t\\tif (ev.preventDefault) {\\r\\n\\t\\t\\tev.preventDefault();\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tev.returnValue = false;\\r\\n\\t\\t}\\r\\n\\t\\tif (ev.stopPropagation) {\\r\\n\\t\\t\\tev.stopPropagation();\\r\\n\\t\\t}\\r\\n\\t\\t$(ev.target).off('click.preventClick');\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Catches stage position while animate (only CSS3).\\r\\n\\t * @protected\\r\\n\\t * @returns\\r\\n\\t */\\r\\n\\tOwl.prototype.getTransformProperty = function() {\\r\\n\\t\\tvar transform, matrix3d;\\r\\n\\r\\n\\t\\ttransform = window.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + 'transform');\\r\\n\\t\\t// var transform = this.$stage.css(this.vendorName + 'transform')\\r\\n\\t\\ttransform = transform.replace(/matrix(3d)?\\\\(|\\\\)/g, '').split(',');\\r\\n\\t\\tmatrix3d = transform.length === 16;\\r\\n\\r\\n\\t\\treturn matrix3d !== true ? transform[4] : transform[12];\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets absolute position of the closest item for a coordinate.\\r\\n\\t * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\\r\\n\\t * @protected\\r\\n\\t * @param {Number} coordinate - The coordinate in pixel.\\r\\n\\t * @return {Number} - The absolute position of the closest item.\\r\\n\\t */\\r\\n\\tOwl.prototype.closest = function(coordinate) {\\r\\n\\t\\tvar position = -1, pull = 30, width = this.width(), coordinates = this.coordinates();\\r\\n\\r\\n\\t\\tif (!this.settings.freeDrag) {\\r\\n\\t\\t\\t// check closest item\\r\\n\\t\\t\\t$.each(coordinates, $.proxy(function(index, value) {\\r\\n\\t\\t\\t\\tif (coordinate > value - pull && coordinate < value + pull) {\\r\\n\\t\\t\\t\\t\\tposition = index;\\r\\n\\t\\t\\t\\t} else if (this.op(coordinate, '<', value)\\r\\n\\t\\t\\t\\t\\t&& this.op(coordinate, '>', coordinates[index + 1] || value - width)) {\\r\\n\\t\\t\\t\\t\\tposition = this.state.direction === 'left' ? index + 1 : index;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\treturn position === -1;\\r\\n\\t\\t\\t}, this));\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (!this.settings.loop) {\\r\\n\\t\\t\\t// non loop boundries\\r\\n\\t\\t\\tif (this.op(coordinate, '>', coordinates[this.minimum()])) {\\r\\n\\t\\t\\t\\tposition = coordinate = this.minimum();\\r\\n\\t\\t\\t} else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\\r\\n\\t\\t\\t\\tposition = coordinate = this.maximum();\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn position;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Animates the stage.\\r\\n\\t * @public\\r\\n\\t * @param {Number} coordinate - The coordinate in pixels.\\r\\n\\t */\\r\\n\\tOwl.prototype.animate = function(coordinate) {\\r\\n\\t\\tthis.trigger('translate');\\r\\n\\t\\tthis.state.inMotion = this.speed() > 0;\\r\\n\\r\\n\\t\\tif (this.support3d) {\\r\\n\\t\\t\\tthis.$stage.css({\\r\\n\\t\\t\\t\\ttransform: 'translate3d(' + coordinate + 'px' + ',0px, 0px)',\\r\\n\\t\\t\\t\\ttransition: (this.speed() / 1000) + 's ' + this.settings.slideTransition\\r\\n\\t\\t\\t});\\r\\n\\t\\t} else if (this.state.isTouch) {\\r\\n\\t\\t\\tthis.$stage.css({\\r\\n\\t\\t\\t\\tleft: coordinate + 'px'\\r\\n\\t\\t\\t});\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tthis.$stage.animate({\\r\\n\\t\\t\\t\\tleft: coordinate\\r\\n\\t\\t\\t}, this.speed() / 1000, this.settings.fallbackEasing, $.proxy(function() {\\r\\n\\t\\t\\t\\tif (this.state.inMotion) {\\r\\n\\t\\t\\t\\t\\tthis.transitionEnd();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this));\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Sets the absolute position of the current item.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\\r\\n\\t * @returns {Number} - The absolute position of the current item.\\r\\n\\t */\\r\\n\\tOwl.prototype.current = function(position) {\\r\\n\\t\\tif (position === undefined) {\\r\\n\\t\\t\\treturn this._current;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this._items.length === 0) {\\r\\n\\t\\t\\treturn undefined;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tposition = this.normalize(position);\\r\\n\\r\\n\\t\\tif (this._current !== position) {\\r\\n\\t\\t\\tvar event = this.trigger('change', { property: { name: 'position', value: position } });\\r\\n\\r\\n\\t\\t\\tif (event.data !== undefined) {\\r\\n\\t\\t\\t\\tposition = this.normalize(event.data);\\r\\n\\t\\t\\t}\\r\\n\\r\\n\\t\\t\\tthis._current = position;\\r\\n\\r\\n\\t\\t\\tthis.invalidate('position');\\r\\n\\r\\n\\t\\t\\tthis.trigger('changed', { property: { name: 'position', value: this._current } });\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn this._current;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Invalidates the given part of the update routine.\\r\\n\\t * @param {String} part - The part to invalidate.\\r\\n\\t */\\r\\n\\tOwl.prototype.invalidate = function(part) {\\r\\n\\t\\tthis._invalidated[part] = true;\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Resets the absolute position of the current item.\\r\\n\\t * @public\\r\\n\\t * @param {Number} position - The absolute position of the new item.\\r\\n\\t */\\r\\n\\tOwl.prototype.reset = function(position) {\\r\\n\\t\\tposition = this.normalize(position);\\r\\n\\r\\n\\t\\tif (position === undefined) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis._speed = 0;\\r\\n\\t\\tthis._current = position;\\r\\n\\r\\n\\t\\tthis.suppress([ 'translate', 'translated' ]);\\r\\n\\r\\n\\t\\tthis.animate(this.coordinates(position));\\r\\n\\r\\n\\t\\tthis.release([ 'translate', 'translated' ]);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Normalizes an absolute or a relative position for an item.\\r\\n\\t * @public\\r\\n\\t * @param {Number} position - The absolute or relative position to normalize.\\r\\n\\t * @param {Boolean} [relative=false] - Whether the given position is relative or not.\\r\\n\\t * @returns {Number} - The normalized position.\\r\\n\\t */\\r\\n\\tOwl.prototype.normalize = function(position, relative) {\\r\\n\\t\\tvar n = (relative ? this._items.length : this._items.length + this._clones.length);\\r\\n\\r\\n\\t\\tif (!$.isNumeric(position) || n < 1) {\\r\\n\\t\\t\\treturn undefined;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this._clones.length) {\\r\\n\\t\\t\\tposition = ((position % n) + n) % n;\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tposition = Math.max(this.minimum(relative), Math.min(this.maximum(relative), position));\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn position;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Converts an absolute position for an item into a relative position.\\r\\n\\t * @public\\r\\n\\t * @param {Number} position - The absolute position to convert.\\r\\n\\t * @returns {Number} - The converted position.\\r\\n\\t */\\r\\n\\tOwl.prototype.relative = function(position) {\\r\\n\\t\\tposition = this.normalize(position);\\r\\n\\t\\tposition = position - this._clones.length / 2;\\r\\n\\t\\treturn this.normalize(position, true);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the maximum position for an item.\\r\\n\\t * @public\\r\\n\\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\\r\\n\\t * @returns {Number}\\r\\n\\t */\\r\\n\\tOwl.prototype.maximum = function(relative) {\\r\\n\\t\\tvar maximum, width, i = 0, coordinate,\\r\\n\\t\\t\\tsettings = this.settings;\\r\\n\\r\\n\\t\\tif (relative) {\\r\\n\\t\\t\\treturn this._items.length - 1;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (!settings.loop && settings.center) {\\r\\n\\t\\t\\tmaximum = this._items.length - 1;\\r\\n\\t\\t} else if (!settings.loop && !settings.center) {\\r\\n\\t\\t\\tmaximum = this._items.length - settings.items;\\r\\n\\t\\t} else if (settings.loop || settings.center) {\\r\\n\\t\\t\\tmaximum = this._items.length + settings.items;\\r\\n\\t\\t} else if (settings.autoWidth || settings.merge) {\\r\\n\\t\\t\\trevert = settings.rtl ? 1 : -1;\\r\\n\\t\\t\\twidth = this.$stage.width() - this.$element.width();\\r\\n\\t\\t\\twhile (coordinate = this.coordinates(i)) {\\r\\n\\t\\t\\t\\tif (coordinate * revert >= width) {\\r\\n\\t\\t\\t\\t\\tbreak;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\tmaximum = ++i;\\r\\n\\t\\t\\t}\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tthrow 'Can not detect maximum absolute position.'\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn maximum;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the minimum position for an item.\\r\\n\\t * @public\\r\\n\\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\\r\\n\\t * @returns {Number}\\r\\n\\t */\\r\\n\\tOwl.prototype.minimum = function(relative) {\\r\\n\\t\\tif (relative) {\\r\\n\\t\\t\\treturn 0;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn this._clones.length / 2;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets an item at the specified relative position.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [position] - The relative position of the item.\\r\\n\\t * @return {jQuery|Array.
} - The item at the given position or all items if no position was given.\\r\\n\\t */\\r\\n\\tOwl.prototype.items = function(position) {\\r\\n\\t\\tif (position === undefined) {\\r\\n\\t\\t\\treturn this._items.slice();\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tposition = this.normalize(position, true);\\r\\n\\t\\treturn this._items[position];\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets an item at the specified relative position.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [position] - The relative position of the item.\\r\\n\\t * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\\r\\n\\t */\\r\\n\\tOwl.prototype.mergers = function(position) {\\r\\n\\t\\tif (position === undefined) {\\r\\n\\t\\t\\treturn this._mergers.slice();\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tposition = this.normalize(position, true);\\r\\n\\t\\treturn this._mergers[position];\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the absolute positions of clones for an item.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [position] - The relative position of the item.\\r\\n\\t * @returns {Array.} - The absolute positions of clones for the item or all if no position was given.\\r\\n\\t */\\r\\n\\tOwl.prototype.clones = function(position) {\\r\\n\\t\\tvar odd = this._clones.length / 2,\\r\\n\\t\\t\\teven = odd + this._items.length,\\r\\n\\t\\t\\tmap = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };\\r\\n\\r\\n\\t\\tif (position === undefined) {\\r\\n\\t\\t\\treturn $.map(this._clones, function(v, i) { return map(i) });\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn $.map(this._clones, function(v, i) { return v === position ? map(i) : null });\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Sets the current animation speed.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\\r\\n\\t * @returns {Number} - The current animation speed in milliseconds.\\r\\n\\t */\\r\\n\\tOwl.prototype.speed = function(speed) {\\r\\n\\t\\tif (speed !== undefined) {\\r\\n\\t\\t\\tthis._speed = speed;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn this._speed;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the coordinate of an item.\\r\\n\\t * @todo The name of this method is missleanding.\\r\\n\\t * @public\\r\\n\\t * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\\r\\n\\t * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates.\\r\\n\\t */\\r\\n\\tOwl.prototype.coordinates = function(position) {\\r\\n\\t\\tvar coordinate = null;\\r\\n\\r\\n\\t\\tif (position === undefined) {\\r\\n\\t\\t\\treturn $.map(this._coordinates, $.proxy(function(coordinate, index) {\\r\\n\\t\\t\\t\\treturn this.coordinates(index);\\r\\n\\t\\t\\t}, this));\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.settings.center) {\\r\\n\\t\\t\\tcoordinate = this._coordinates[position];\\r\\n\\t\\t\\tcoordinate += (this.width() - coordinate + (this._coordinates[position - 1] || 0)) / 2 * (this.settings.rtl ? -1 : 1);\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tcoordinate = this._coordinates[position - 1] || 0;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn coordinate;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Calculates the speed for a translation.\\r\\n\\t * @protected\\r\\n\\t * @param {Number} from - The absolute position of the start item.\\r\\n\\t * @param {Number} to - The absolute position of the target item.\\r\\n\\t * @param {Number} [factor=undefined] - The time factor in milliseconds.\\r\\n\\t * @returns {Number} - The time in milliseconds for the translation.\\r\\n\\t */\\r\\n\\tOwl.prototype.duration = function(from, to, factor) {\\r\\n\\t\\treturn Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Slides to the specified item.\\r\\n\\t * @public\\r\\n\\t * @param {Number} position - The position of the item.\\r\\n\\t * @param {Number} [speed] - The time in milliseconds for the transition.\\r\\n\\t */\\r\\n\\tOwl.prototype.to = function(position, speed) {\\r\\n\\t\\tif (this.settings.loop) {\\r\\n\\t\\t\\tvar distance = position - this.relative(this.current()),\\r\\n\\t\\t\\t\\trevert = this.current(),\\r\\n\\t\\t\\t\\tbefore = this.current(),\\r\\n\\t\\t\\t\\tafter = this.current() + distance,\\r\\n\\t\\t\\t\\tdirection = before - after < 0 ? true : false,\\r\\n\\t\\t\\t\\titems = this._clones.length + this._items.length;\\r\\n\\r\\n\\t\\t\\tif (after < this.settings.items && direction === false) {\\r\\n\\t\\t\\t\\trevert = before + this._items.length;\\r\\n\\t\\t\\t\\tthis.reset(revert);\\r\\n\\t\\t\\t} else if (after >= items - this.settings.items && direction === true) {\\r\\n\\t\\t\\t\\trevert = before - this._items.length;\\r\\n\\t\\t\\t\\tthis.reset(revert);\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\twindow.clearTimeout(this.e._goToLoop);\\r\\n\\t\\t\\tthis.e._goToLoop = window.setTimeout($.proxy(function() {\\r\\n\\t\\t\\t\\tthis.speed(this.duration(this.current(), revert + distance, speed));\\r\\n\\t\\t\\t\\tthis.current(revert + distance);\\r\\n\\t\\t\\t\\tthis.update();\\r\\n\\t\\t\\t}, this), 30);\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tthis.speed(this.duration(this.current(), position, speed));\\r\\n\\t\\t\\tthis.current(position);\\r\\n\\t\\t\\tthis.update();\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Slides to the next item.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [speed] - The time in milliseconds for the transition.\\r\\n\\t */\\r\\n\\tOwl.prototype.next = function(speed) {\\r\\n\\t\\tspeed = speed || false;\\r\\n\\t\\tthis.to(this.relative(this.current()) + 1, speed);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Slides to the previous item.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [speed] - The time in milliseconds for the transition.\\r\\n\\t */\\r\\n\\tOwl.prototype.prev = function(speed) {\\r\\n\\t\\tspeed = speed || false;\\r\\n\\t\\tthis.to(this.relative(this.current()) - 1, speed);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Handles the end of an animation.\\r\\n\\t * @protected\\r\\n\\t * @param {Event} event - The event arguments.\\r\\n\\t */\\r\\n\\tOwl.prototype.transitionEnd = function(event) {\\r\\n\\r\\n\\t\\t// if css2 animation then event object is undefined\\r\\n\\t\\tif (event !== undefined) {\\r\\n\\t\\t\\tevent.stopPropagation();\\r\\n\\r\\n\\t\\t\\t// Catch only owl-stage transitionEnd event\\r\\n\\t\\t\\tif ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\\r\\n\\t\\t\\t\\treturn false;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.state.inMotion = false;\\r\\n\\t\\tthis.trigger('translated');\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets viewport width.\\r\\n\\t * @protected\\r\\n\\t * @return {Number} - The width in pixel.\\r\\n\\t */\\r\\n\\tOwl.prototype.viewport = function() {\\r\\n\\t\\tvar width;\\r\\n\\t\\tif (this.options.responsiveBaseElement !== window) {\\r\\n\\t\\t\\twidth = $(this.options.responsiveBaseElement).width();\\r\\n\\t\\t} else if (window.innerWidth) {\\r\\n\\t\\t\\twidth = window.innerWidth;\\r\\n\\t\\t} else if (document.documentElement && document.documentElement.clientWidth) {\\r\\n\\t\\t\\twidth = document.documentElement.clientWidth;\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tthrow 'Can not detect viewport width.';\\r\\n\\t\\t}\\r\\n\\t\\treturn width;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Replaces the current content.\\r\\n\\t * @public\\r\\n\\t * @param {HTMLElement|jQuery|String} content - The new content.\\r\\n\\t */\\r\\n\\tOwl.prototype.replace = function(content) {\\r\\n\\t\\tthis.$stage.empty();\\r\\n\\t\\tthis._items = [];\\r\\n\\r\\n\\t\\tif (content) {\\r\\n\\t\\t\\tcontent = (content instanceof jQuery) ? content : $(content);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.settings.nestedItemSelector) {\\r\\n\\t\\t\\tcontent = content.find('.' + this.settings.nestedItemSelector);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tcontent.filter(function() {\\r\\n\\t\\t\\treturn this.nodeType === 1;\\r\\n\\t\\t}).each($.proxy(function(index, item) {\\r\\n\\t\\t\\titem = this.prepare(item);\\r\\n\\t\\t\\tthis.$stage.append(item);\\r\\n\\t\\t\\tthis._items.push(item);\\r\\n\\t\\t\\tthis._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\\r\\n\\t\\t}, this));\\r\\n\\r\\n\\t\\tthis.reset($.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\\r\\n\\r\\n\\t\\tthis.invalidate('items');\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Adds an item.\\r\\n\\t * @todo Use `item` instead of `content` for the event arguments.\\r\\n\\t * @public\\r\\n\\t * @param {HTMLElement|jQuery|String} content - The item content to add.\\r\\n\\t * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\\r\\n\\t */\\r\\n\\tOwl.prototype.add = function(content, position) {\\r\\n\\t\\tposition = position === undefined ? this._items.length : this.normalize(position, true);\\r\\n\\r\\n\\t\\tthis.trigger('add', { content: content, position: position });\\r\\n\\r\\n\\t\\tif (this._items.length === 0 || position === this._items.length) {\\r\\n\\t\\t\\tthis.$stage.append(content);\\r\\n\\t\\t\\tthis._items.push(content);\\r\\n\\t\\t\\tthis._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tthis._items[position].before(content);\\r\\n\\t\\t\\tthis._items.splice(position, 0, content);\\r\\n\\t\\t\\tthis._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.invalidate('items');\\r\\n\\r\\n\\t\\tthis.trigger('added', { content: content, position: position });\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Removes an item by its position.\\r\\n\\t * @todo Use `item` instead of `content` for the event arguments.\\r\\n\\t * @public\\r\\n\\t * @param {Number} position - The relative position of the item to remove.\\r\\n\\t */\\r\\n\\tOwl.prototype.remove = function(position) {\\r\\n\\t\\tposition = this.normalize(position, true);\\r\\n\\r\\n\\t\\tif (position === undefined) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.trigger('remove', { content: this._items[position], position: position });\\r\\n\\r\\n\\t\\tthis._items[position].remove();\\r\\n\\t\\tthis._items.splice(position, 1);\\r\\n\\t\\tthis._mergers.splice(position, 1);\\r\\n\\r\\n\\t\\tthis.invalidate('items');\\r\\n\\r\\n\\t\\tthis.trigger('removed', { content: null, position: position });\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Adds triggerable events.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.addTriggerableEvents = function() {\\r\\n\\t\\tvar handler = $.proxy(function(callback, event) {\\r\\n\\t\\t\\treturn $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (e.relatedTarget !== this) {\\r\\n\\t\\t\\t\\t\\tthis.suppress([ event ]);\\r\\n\\t\\t\\t\\t\\tcallback.apply(this, [].slice.call(arguments, 1));\\r\\n\\t\\t\\t\\t\\tthis.release([ event ]);\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this);\\r\\n\\t\\t}, this);\\r\\n\\r\\n\\t\\t$.each({\\r\\n\\t\\t\\t'next': this.next,\\r\\n\\t\\t\\t'prev': this.prev,\\r\\n\\t\\t\\t'to': this.to,\\r\\n\\t\\t\\t'destroy': this.destroy,\\r\\n\\t\\t\\t'refresh': this.refresh,\\r\\n\\t\\t\\t'replace': this.replace,\\r\\n\\t\\t\\t'add': this.add,\\r\\n\\t\\t\\t'remove': this.remove\\r\\n\\t\\t}, $.proxy(function(event, callback) {\\r\\n\\t\\t\\tthis.$element.on(event + '.owl.carousel', handler(callback, event + '.owl.carousel'));\\r\\n\\t\\t}, this));\\r\\n\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Watches the visibility of the carousel element.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.watchVisibility = function() {\\r\\n\\r\\n\\t\\t// test on zepto\\r\\n\\t\\tif (!isElVisible(this.$element.get(0))) {\\r\\n\\t\\t\\tthis.$element.addClass('owl-hidden');\\r\\n\\t\\t\\twindow.clearInterval(this.e._checkVisibile);\\r\\n\\t\\t\\tthis.e._checkVisibile = window.setInterval($.proxy(checkVisible, this), 500);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tfunction isElVisible(el) {\\r\\n\\t\\t\\treturn el.offsetWidth > 0 && el.offsetHeight > 0;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tfunction checkVisible() {\\r\\n\\t\\t\\tif (isElVisible(this.$element.get(0))) {\\r\\n\\t\\t\\t\\tthis.$element.removeClass('owl-hidden');\\r\\n\\t\\t\\t\\tthis.refresh();\\r\\n\\t\\t\\t\\twindow.clearInterval(this.e._checkVisibile);\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Preloads images with auto width.\\r\\n\\t * @protected\\r\\n\\t * @todo Still to test\\r\\n\\t */\\r\\n\\tOwl.prototype.preloadAutoWidthImages = function(imgs) {\\r\\n\\t\\tvar loaded, that, $el, img;\\r\\n\\r\\n\\t\\tloaded = 0;\\r\\n\\t\\tthat = this;\\r\\n\\t\\timgs.each(function(i, el) {\\r\\n\\t\\t\\t$el = $(el);\\r\\n\\t\\t\\timg = new Image();\\r\\n\\r\\n\\t\\t\\timg.onload = function() {\\r\\n\\t\\t\\t\\tloaded++;\\r\\n\\t\\t\\t\\t$el.attr('src', img.src);\\r\\n\\t\\t\\t\\t$el.css('opacity', 1);\\r\\n\\t\\t\\t\\tif (loaded >= imgs.length) {\\r\\n\\t\\t\\t\\t\\tthat.state.imagesLoaded = true;\\r\\n\\t\\t\\t\\t\\tthat.initialize();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t};\\r\\n\\r\\n\\t\\t\\timg.src = $el.attr('src') || $el.attr('data-src') || $el.attr('data-src-retina');\\r\\n\\t\\t});\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Destroys the carousel.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tOwl.prototype.destroy = function() {\\r\\n\\r\\n\\t\\tif (this.$element.hasClass(this.settings.themeClass)) {\\r\\n\\t\\t\\tthis.$element.removeClass(this.settings.themeClass);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.settings.responsive !== false) {\\r\\n\\t\\t\\t$(window).off('resize.owl.carousel');\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.transitionEndVendor) {\\r\\n\\t\\t\\tthis.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tfor ( var i in this._plugins) {\\r\\n\\t\\t\\tthis._plugins[i].destroy();\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (this.settings.mouseDrag || this.settings.touchDrag) {\\r\\n\\t\\t\\tthis.$stage.off('mousedown touchstart touchcancel');\\r\\n\\t\\t\\t$(document).off('.owl.dragEvents');\\r\\n\\t\\t\\tthis.$stage.get(0).onselectstart = function() {};\\r\\n\\t\\t\\tthis.$stage.off('dragstart', function() { return false });\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// remove event handlers in the \\\".owl.carousel\\\" namespace\\r\\n\\t\\tthis.$element.off('.owl');\\r\\n\\r\\n\\t\\tthis.$stage.children('.cloned').remove();\\r\\n\\t\\tthis.e = null;\\r\\n\\t\\tthis.$element.removeData('owlCarousel');\\r\\n\\r\\n\\t\\tthis.$stage.children().contents().unwrap();\\r\\n\\t\\tthis.$stage.children().unwrap();\\r\\n\\t\\tthis.$stage.unwrap();\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Operators to calculate right-to-left and left-to-right.\\r\\n\\t * @protected\\r\\n\\t * @param {Number} [a] - The left side operand.\\r\\n\\t * @param {String} [o] - The operator.\\r\\n\\t * @param {Number} [b] - The right side operand.\\r\\n\\t */\\r\\n\\tOwl.prototype.op = function(a, o, b) {\\r\\n\\t\\tvar rtl = this.settings.rtl;\\r\\n\\t\\tswitch (o) {\\r\\n\\t\\t\\tcase '<':\\r\\n\\t\\t\\t\\treturn rtl ? a > b : a < b;\\r\\n\\t\\t\\tcase '>':\\r\\n\\t\\t\\t\\treturn rtl ? a < b : a > b;\\r\\n\\t\\t\\tcase '>=':\\r\\n\\t\\t\\t\\treturn rtl ? a <= b : a >= b;\\r\\n\\t\\t\\tcase '<=':\\r\\n\\t\\t\\t\\treturn rtl ? a >= b : a <= b;\\r\\n\\t\\t\\tdefault:\\r\\n\\t\\t\\t\\tbreak;\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Attaches to an internal event.\\r\\n\\t * @protected\\r\\n\\t * @param {HTMLElement} element - The event source.\\r\\n\\t * @param {String} event - The event name.\\r\\n\\t * @param {Function} listener - The event handler to attach.\\r\\n\\t * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\\r\\n\\t */\\r\\n\\tOwl.prototype.on = function(element, event, listener, capture) {\\r\\n\\t\\tif (element.addEventListener) {\\r\\n\\t\\t\\telement.addEventListener(event, listener, capture);\\r\\n\\t\\t} else if (element.attachEvent) {\\r\\n\\t\\t\\telement.attachEvent('on' + event, listener);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Detaches from an internal event.\\r\\n\\t * @protected\\r\\n\\t * @param {HTMLElement} element - The event source.\\r\\n\\t * @param {String} event - The event name.\\r\\n\\t * @param {Function} listener - The attached event handler to detach.\\r\\n\\t * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\\r\\n\\t */\\r\\n\\tOwl.prototype.off = function(element, event, listener, capture) {\\r\\n\\t\\tif (element.removeEventListener) {\\r\\n\\t\\t\\telement.removeEventListener(event, listener, capture);\\r\\n\\t\\t} else if (element.detachEvent) {\\r\\n\\t\\t\\telement.detachEvent('on' + event, listener);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Triggers an public event.\\r\\n\\t * @protected\\r\\n\\t * @param {String} name - The event name.\\r\\n\\t * @param {*} [data=null] - The event data.\\r\\n\\t * @param {String} [namespace=.owl.carousel] - The event namespace.\\r\\n\\t * @returns {Event} - The event arguments.\\r\\n\\t */\\r\\n\\tOwl.prototype.trigger = function(name, data, namespace) {\\r\\n\\t\\tvar status = {\\r\\n\\t\\t\\titem: { count: this._items.length, index: this.current() }\\r\\n\\t\\t}, handler = $.camelCase(\\r\\n\\t\\t\\t$.grep([ 'on', name, namespace ], function(v) { return v })\\r\\n\\t\\t\\t\\t.join('-').toLowerCase()\\r\\n\\t\\t), event = $.Event(\\r\\n\\t\\t\\t[ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),\\r\\n\\t\\t\\t$.extend({ relatedTarget: this }, status, data)\\r\\n\\t\\t);\\r\\n\\r\\n\\t\\tif (!this._supress[name]) {\\r\\n\\t\\t\\t$.each(this._plugins, function(name, plugin) {\\r\\n\\t\\t\\t\\tif (plugin.onTrigger) {\\r\\n\\t\\t\\t\\t\\tplugin.onTrigger(event);\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t});\\r\\n\\r\\n\\t\\t\\tthis.$element.trigger(event);\\r\\n\\r\\n\\t\\t\\tif (this.settings && typeof this.settings[handler] === 'function') {\\r\\n\\t\\t\\t\\tthis.settings[handler].apply(this, event);\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn event;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Suppresses events.\\r\\n\\t * @protected\\r\\n\\t * @param {Array.} events - The events to suppress.\\r\\n\\t */\\r\\n\\tOwl.prototype.suppress = function(events) {\\r\\n\\t\\t$.each(events, $.proxy(function(index, event) {\\r\\n\\t\\t\\tthis._supress[event] = true;\\r\\n\\t\\t}, this));\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Releases suppressed events.\\r\\n\\t * @protected\\r\\n\\t * @param {Array.} events - The events to release.\\r\\n\\t */\\r\\n\\tOwl.prototype.release = function(events) {\\r\\n\\t\\t$.each(events, $.proxy(function(index, event) {\\r\\n\\t\\t\\tdelete this._supress[event];\\r\\n\\t\\t}, this));\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks the availability of some browser features.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tOwl.prototype.browserSupport = function() {\\r\\n\\t\\tthis.support3d = isPerspective();\\r\\n\\r\\n\\t\\tif (this.support3d) {\\r\\n\\t\\t\\tthis.transformVendor = isTransform();\\r\\n\\r\\n\\t\\t\\t// take transitionend event name by detecting transition\\r\\n\\t\\t\\tvar endVendors = [ 'transitionend', 'webkitTransitionEnd', 'transitionend', 'oTransitionEnd' ];\\r\\n\\t\\t\\tthis.transitionEndVendor = endVendors[isTransition()];\\r\\n\\r\\n\\t\\t\\t// take vendor name from transform name\\r\\n\\t\\t\\tthis.vendorName = this.transformVendor.replace(/Transform/i, '');\\r\\n\\t\\t\\tthis.vendorName = this.vendorName !== '' ? '-' + this.vendorName.toLowerCase() + '-' : '';\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.state.orientation = window.orientation;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Get touch/drag coordinats.\\r\\n\\t * @private\\r\\n\\t * @param {event} - mousedown/touchstart event\\r\\n\\t * @returns {object} - Contains X and Y of current mouse/touch position\\r\\n\\t */\\r\\n\\r\\n\\tfunction getTouches(event) {\\r\\n\\t\\tif (event.touches !== undefined) {\\r\\n\\t\\t\\treturn {\\r\\n\\t\\t\\t\\tx: event.touches[0].pageX,\\r\\n\\t\\t\\t\\ty: event.touches[0].pageY\\r\\n\\t\\t\\t};\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (event.touches === undefined) {\\r\\n\\t\\t\\tif (event.pageX !== undefined) {\\r\\n\\t\\t\\t\\treturn {\\r\\n\\t\\t\\t\\t\\tx: event.pageX,\\r\\n\\t\\t\\t\\t\\ty: event.pageY\\r\\n\\t\\t\\t\\t};\\r\\n\\t\\t\\t}\\r\\n\\r\\n\\t\\tif (event.pageX === undefined) {\\r\\n\\t\\t\\treturn {\\r\\n\\t\\t\\t\\t\\tx: event.clientX,\\r\\n\\t\\t\\t\\t\\ty: event.clientY\\r\\n\\t\\t\\t\\t};\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks for CSS support.\\r\\n\\t * @private\\r\\n\\t * @param {Array} array - The CSS properties to check for.\\r\\n\\t * @returns {Array} - Contains the supported CSS property name and its index or `false`.\\r\\n\\t */\\r\\n\\tfunction isStyleSupported(array) {\\r\\n\\t\\tvar p, s, fake = document.createElement('div'), list = array;\\r\\n\\t\\tfor (p in list) {\\r\\n\\t\\t\\ts = list[p];\\r\\n\\t\\t\\tif (typeof fake.style[s] !== 'undefined') {\\r\\n\\t\\t\\t\\tfake = null;\\r\\n\\t\\t\\t\\treturn [ s, p ];\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t\\treturn [ false ];\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks for CSS transition support.\\r\\n\\t * @private\\r\\n\\t * @todo Realy bad design\\r\\n\\t * @returns {Number}\\r\\n\\t */\\r\\n\\tfunction isTransition() {\\r\\n\\t\\treturn isStyleSupported([ 'transition', 'WebkitTransition', 'MozTransition', 'OTransition' ])[1];\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks for CSS transform support.\\r\\n\\t * @private\\r\\n\\t * @returns {String} The supported property name or false.\\r\\n\\t */\\r\\n\\tfunction isTransform() {\\r\\n\\t\\treturn isStyleSupported([ 'transform', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform' ])[0];\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks for CSS perspective support.\\r\\n\\t * @private\\r\\n\\t * @returns {String} The supported property name or false.\\r\\n\\t */\\r\\n\\tfunction isPerspective() {\\r\\n\\t\\treturn isStyleSupported([ 'perspective', 'webkitPerspective', 'MozPerspective', 'OPerspective', 'MsPerspective' ])[0];\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks wether touch is supported or not.\\r\\n\\t * @private\\r\\n\\t * @returns {Boolean}\\r\\n\\t */\\r\\n\\tfunction isTouchSupport() {\\r\\n\\t\\treturn 'ontouchstart' in window || !!(navigator.msMaxTouchPoints);\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks wether touch is supported or not for IE.\\r\\n\\t * @private\\r\\n\\t * @returns {Boolean}\\r\\n\\t */\\r\\n\\tfunction isTouchSupportIE() {\\r\\n\\t\\treturn window.navigator.msPointerEnabled;\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * The jQuery Plugin for the Owl Carousel\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\t$.fn.owlCarousel = function(options) {\\r\\n\\t\\treturn this.each(function() {\\r\\n\\t\\t\\tif (!$(this).data('owlCarousel')) {\\r\\n\\t\\t\\t\\t$(this).data('owlCarousel', new Owl(this, options));\\r\\n\\t\\t\\t}\\r\\n\\t\\t});\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * The constructor for the jQuery Plugin\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\t$.fn.owlCarousel.Constructor = Owl;\\r\\n\\r\\n})(window.Zepto || window.jQuery, window, document);\\r\\n\\r\\n/**\\r\\n * Lazy Plugin\\r\\n * @version 2.0.0\\r\\n * @author Bartosz Wojciechowski\\r\\n * @license The MIT License (MIT)\\r\\n */\\r\\n;(function($, window, document, undefined) {\\r\\n\\r\\n\\t/**\\r\\n\\t * Creates the lazy plugin.\\r\\n\\t * @class The Lazy Plugin\\r\\n\\t * @param {Owl} carousel - The Owl Carousel\\r\\n\\t */\\r\\n\\tvar Lazy = function(carousel) {\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Reference to the core.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Owl}\\r\\n\\t\\t */\\r\\n\\t\\tthis._core = carousel;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Already loaded items.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Array.}\\r\\n\\t\\t */\\r\\n\\t\\tthis._loaded = [];\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Event handlers.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._handlers = {\\r\\n\\t\\t\\t'initialized.owl.carousel change.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (!e.namespace) {\\r\\n\\t\\t\\t\\t\\treturn;\\r\\n\\t\\t\\t\\t}\\r\\n\\r\\n\\t\\t\\t\\tif (!this._core.settings || !this._core.settings.lazyLoad) {\\r\\n\\t\\t\\t\\t\\treturn;\\r\\n\\t\\t\\t\\t}\\r\\n\\r\\n\\t\\t\\t\\tif ((e.property && e.property.name == 'position') || e.type == 'initialized') {\\r\\n\\t\\t\\t\\t\\tvar settings = this._core.settings,\\r\\n\\t\\t\\t\\t\\t\\tn = (settings.center && Math.ceil(settings.items / 2) || settings.items),\\r\\n\\t\\t\\t\\t\\t\\ti = ((settings.center && n * -1) || 0),\\r\\n\\t\\t\\t\\t\\t\\tposition = ((e.property && e.property.value) || this._core.current()) + i,\\r\\n\\t\\t\\t\\t\\t\\tclones = this._core.clones().length,\\r\\n\\t\\t\\t\\t\\t\\tload = $.proxy(function(i, v) { this.load(v) }, this);\\r\\n\\r\\n\\t\\t\\t\\t\\twhile (i++ < n) {\\r\\n\\t\\t\\t\\t\\t\\tthis.load(clones / 2 + this._core.relative(position));\\r\\n\\t\\t\\t\\t\\t\\tclones && $.each(this._core.clones(this._core.relative(position++)), load);\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this)\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\t// set the default options\\r\\n\\t\\tthis._core.options = $.extend({}, Lazy.Defaults, this._core.options);\\r\\n\\r\\n\\t\\t// register event handler\\r\\n\\t\\tthis._core.$element.on(this._handlers);\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Default options.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tLazy.Defaults = {\\r\\n\\t\\tlazyLoad: false\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Loads all resources of an item at the specified position.\\r\\n\\t * @param {Number} position - The absolute position of the item.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tLazy.prototype.load = function(position) {\\r\\n\\t\\tvar $item = this._core.$stage.children().eq(position),\\r\\n\\t\\t\\t$elements = $item && $item.find('.owl-lazy');\\r\\n\\r\\n\\t\\tif (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t$elements.each($.proxy(function(index, element) {\\r\\n\\t\\t\\tvar $element = $(element), image,\\r\\n\\t\\t\\t\\turl = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');\\r\\n\\r\\n\\t\\t\\tthis._core.trigger('load', { element: $element, url: url }, 'lazy');\\r\\n\\r\\n\\t\\t\\tif ($element.is('img')) {\\r\\n\\t\\t\\t\\t$element.one('load.owl.lazy', $.proxy(function() {\\r\\n\\t\\t\\t\\t\\t$element.css('opacity', 1);\\r\\n\\t\\t\\t\\t\\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\\r\\n\\t\\t\\t\\t}, this)).attr('src', url);\\r\\n\\t\\t\\t} else {\\r\\n\\t\\t\\t\\timage = new Image();\\r\\n\\t\\t\\t\\timage.onload = $.proxy(function() {\\r\\n\\t\\t\\t\\t\\t$element.css({\\r\\n\\t\\t\\t\\t\\t\\t'background-image': 'url(' + url + ')',\\r\\n\\t\\t\\t\\t\\t\\t'opacity': '1'\\r\\n\\t\\t\\t\\t\\t});\\r\\n\\t\\t\\t\\t\\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\\r\\n\\t\\t\\t\\t}, this);\\r\\n\\t\\t\\t\\timage.src = url;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}, this));\\r\\n\\r\\n\\t\\tthis._loaded.push($item.get(0));\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Destroys the plugin.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tLazy.prototype.destroy = function() {\\r\\n\\t\\tvar handler, property;\\r\\n\\r\\n\\t\\tfor (handler in this.handlers) {\\r\\n\\t\\t\\tthis._core.$element.off(handler, this.handlers[handler]);\\r\\n\\t\\t}\\r\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\r\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\\r\\n\\r\\n})(window.Zepto || window.jQuery, window, document);\\r\\n\\r\\n/**\\r\\n * AutoHeight Plugin\\r\\n * @version 2.0.0\\r\\n * @author Bartosz Wojciechowski\\r\\n * @license The MIT License (MIT)\\r\\n */\\r\\n;(function($, window, document, undefined) {\\r\\n\\r\\n\\t/**\\r\\n\\t * Creates the auto height plugin.\\r\\n\\t * @class The Auto Height Plugin\\r\\n\\t * @param {Owl} carousel - The Owl Carousel\\r\\n\\t */\\r\\n\\tvar AutoHeight = function(carousel) {\\r\\n\\t\\t/**\\r\\n\\t\\t * Reference to the core.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Owl}\\r\\n\\t\\t */\\r\\n\\t\\tthis._core = carousel;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * All event handlers.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._handlers = {\\r\\n\\t\\t\\t'initialized.owl.carousel': $.proxy(function() {\\r\\n\\t\\t\\t\\tif (this._core.settings.autoHeight) {\\r\\n\\t\\t\\t\\t\\tthis.update();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'changed.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this._core.settings.autoHeight && e.property.name == 'position'){\\r\\n\\t\\t\\t\\t\\tthis.update();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'loaded.owl.lazy': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this._core.settings.autoHeight && e.element.closest('.' + this._core.settings.itemClass)\\r\\n\\t\\t\\t\\t\\t=== this._core.$stage.children().eq(this._core.current())) {\\r\\n\\t\\t\\t\\t\\tthis.update();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this)\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\t// set default options\\r\\n\\t\\tthis._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\\r\\n\\r\\n\\t\\t// register event handlers\\r\\n\\t\\tthis._core.$element.on(this._handlers);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Default options.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tAutoHeight.Defaults = {\\r\\n\\t\\tautoHeight: false,\\r\\n\\t\\tautoHeightClass: 'owl-height'\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Updates the view.\\r\\n\\t */\\r\\n\\tAutoHeight.prototype.update = function() {\\r\\n\\t\\tthis._core.$stage.parent()\\r\\n\\t\\t\\t.height(this._core.$stage.children().eq(this._core.current()).height())\\r\\n\\t\\t\\t.addClass(this._core.settings.autoHeightClass);\\r\\n\\t};\\r\\n\\r\\n\\tAutoHeight.prototype.destroy = function() {\\r\\n\\t\\tvar handler, property;\\r\\n\\r\\n\\t\\tfor (handler in this._handlers) {\\r\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\r\\n\\t\\t}\\r\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\r\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t$.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\\r\\n\\r\\n})(window.Zepto || window.jQuery, window, document);\\r\\n\\r\\n/**\\r\\n * Video Plugin\\r\\n * @version 2.0.0\\r\\n * @author Bartosz Wojciechowski\\r\\n * @license The MIT License (MIT)\\r\\n */\\r\\n;(function($, window, document, undefined) {\\r\\n\\r\\n\\t/**\\r\\n\\t * Creates the video plugin.\\r\\n\\t * @class The Video Plugin\\r\\n\\t * @param {Owl} carousel - The Owl Carousel\\r\\n\\t */\\r\\n\\tvar Video = function(carousel) {\\r\\n\\t\\t/**\\r\\n\\t\\t * Reference to the core.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Owl}\\r\\n\\t\\t */\\r\\n\\t\\tthis._core = carousel;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Cache all video URLs.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._videos = {};\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Current playing item.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {jQuery}\\r\\n\\t\\t */\\r\\n\\t\\tthis._playing = null;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Whether this is in fullscreen or not.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Boolean}\\r\\n\\t\\t */\\r\\n\\t\\tthis._fullscreen = false;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * All event handlers.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._handlers = {\\r\\n\\t\\t\\t'resize.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this._core.settings.video && !this.isInFullScreen()) {\\r\\n\\t\\t\\t\\t\\te.preventDefault();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'refresh.owl.carousel changed.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this._playing) {\\r\\n\\t\\t\\t\\t\\tthis.stop();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'prepared.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tvar $element = $(e.content).find('.owl-video');\\r\\n\\t\\t\\t\\tif ($element.length) {\\r\\n\\t\\t\\t\\t\\t// $element.css('display', 'none');\\r\\n\\t\\t\\t\\t\\tthis.fetch($element, $(e.content));\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this)\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\t// set default options\\r\\n\\t\\tthis._core.options = $.extend({}, Video.Defaults, this._core.options);\\r\\n\\r\\n\\t\\t// register event handlers\\r\\n\\t\\tthis._core.$element.on(this._handlers);\\r\\n\\r\\n\\t\\tthis._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {\\r\\n\\t\\t\\tconsole.log('clicked');\\r\\n\\t\\t\\t\\r\\n\\t\\t\\tthis.play(e);\\r\\n\\t\\t}, this));\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Default options.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tVideo.Defaults = {\\r\\n\\t\\tvideo: false,\\r\\n\\t\\tvideoHeight: false,\\r\\n\\t\\tvideoWidth: false\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the video ID and the type (YouTube/Vimeo only).\\r\\n\\t * @protected\\r\\n\\t * @param {jQuery} target - The target containing the video data.\\r\\n\\t * @param {jQuery} item - The item containing the video.\\r\\n\\t */\\r\\n\\tVideo.prototype.fetch = function(target, item) {\\r\\n\\r\\n\\t\\tvar type = target.attr('data-vimeo-id') ? 'vimeo' : 'youtube',\\r\\n\\t\\t\\tid = target.attr('data-vimeo-id') || target.attr('data-youtube-id'),\\r\\n\\t\\t\\twidth = target.attr('data-width') || this._core.settings.videoWidth,\\r\\n\\t\\t\\theight = target.attr('data-height') || this._core.settings.videoHeight,\\r\\n\\t\\t\\turl = target.attr('href');\\r\\n\\r\\n\\t\\tif (url) {\\r\\n\\t\\t\\tid = url.match(/(http:|https:|)\\\\/\\\\/(player.|www.)?(vimeo\\\\.com|youtu(be\\\\.com|\\\\.be|be\\\\.googleapis\\\\.com))\\\\/(video\\\\/|embed\\\\/|watch\\\\?v=|v\\\\/)?([A-Za-z0-9._%-]*)(\\\\&\\\\S+)?/);\\r\\n\\r\\n\\t\\t\\tif (id[3].indexOf('youtu') > -1) {\\r\\n\\t\\t\\t\\ttype = 'youtube';\\r\\n\\t\\t\\t} else if (id[3].indexOf('vimeo') > -1) {\\r\\n\\t\\t\\t\\ttype = 'vimeo';\\r\\n\\t\\t\\t} else {\\r\\n\\t\\t\\t\\tthrow new Error('Video URL not supported.');\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\tid = id[6];\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tthrow new Error('Missing video URL.');\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis._videos[url] = {\\r\\n\\t\\t\\ttype: type,\\r\\n\\t\\t\\tid: id,\\r\\n\\t\\t\\twidth: width,\\r\\n\\t\\t\\theight: height\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\titem.attr('data-video', url);\\r\\n\\r\\n\\t\\tthis.thumbnail(target, this._videos[url]);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Creates video thumbnail.\\r\\n\\t * @protected\\r\\n\\t * @param {jQuery} target - The target containing the video data.\\r\\n\\t * @param {Object} info - The video info object.\\r\\n\\t * @see `fetch`\\r\\n\\t */\\r\\n\\tVideo.prototype.thumbnail = function(target, video) {\\r\\n\\r\\n\\t\\tvar tnLink,\\r\\n\\t\\t\\ticon,\\r\\n\\t\\t\\tpath,\\r\\n\\t\\t\\tdimensions = video.width && video.height ? 'style=\\\"width:' + video.width + 'px;height:' + video.height + 'px;\\\"' : '',\\r\\n\\t\\t\\tcustomTn = target.find('img'),\\r\\n\\t\\t\\tsrcType = 'src',\\r\\n\\t\\t\\tlazyClass = '',\\r\\n\\t\\t\\tsettings = this._core.settings,\\r\\n\\t\\t\\tcreate = function(path) {\\r\\n\\t\\t\\t\\ticon = '';\\r\\n\\r\\n\\t\\t\\t\\tif (settings.lazyLoad) {\\r\\n\\t\\t\\t\\t\\ttnLink = '';\\r\\n\\t\\t\\t\\t} else {\\r\\n\\t\\t\\t\\t\\ttnLink = '';\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\ttarget.after(tnLink);\\r\\n\\t\\t\\t\\ttarget.after(icon);\\r\\n\\t\\t\\t};\\r\\n\\r\\n\\t\\t// wrap video content into owl-video-wrapper div\\r\\n\\t\\ttarget.wrap('');\\r\\n\\r\\n\\t\\tif (this._core.settings.lazyLoad) {\\r\\n\\t\\t\\tsrcType = 'data-src';\\r\\n\\t\\t\\tlazyClass = 'owl-lazy';\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// custom thumbnail\\r\\n\\t\\tif (customTn.length) {\\r\\n\\t\\t\\tcreate(customTn.attr(srcType));\\r\\n\\t\\t\\t// customTn.remove();\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (video.type === 'youtube') {\\r\\n\\t\\t\\tpath = \\\"http://img.youtube.com/vi/\\\" + video.id + \\\"/hqdefault.jpg\\\";\\r\\n\\t\\t\\tcreate(path);\\r\\n\\t\\t} else if (video.type === 'vimeo') {\\r\\n\\t\\t\\t$.ajax({\\r\\n\\t\\t\\t\\ttype: 'GET',\\r\\n\\t\\t\\t\\turl: 'http://vimeo.com/api/v2/video/' + video.id + '.json',\\r\\n\\t\\t\\t\\tjsonp: 'callback',\\r\\n\\t\\t\\t\\tdataType: 'jsonp',\\r\\n\\t\\t\\t\\tsuccess: function(data) {\\r\\n\\t\\t\\t\\t\\tpath = data[0].thumbnail_large;\\r\\n\\t\\t\\t\\t\\tcreate(path);\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t});\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Stops the current video.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tVideo.prototype.stop = function() {\\r\\n\\t\\tthis._core.trigger('stop', null, 'video');\\r\\n\\t\\tthis._playing.find('.owl-video-frame').remove();\\r\\n\\t\\tthis._playing.find('img').css('display','block');\\r\\n\\t\\tthis._playing.removeClass('owl-video-playing');\\r\\n\\t\\tthis._playing = null;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Starts the current video.\\r\\n\\t * @public\\r\\n\\t * @param {Event} ev - The event arguments.\\r\\n\\t */\\r\\n\\tVideo.prototype.play = function(ev) {\\r\\n\\t\\tvar target = $(ev.target || ev.srcElement),\\r\\n\\t\\t\\titem = target.closest('.' + this._core.settings.itemClass),\\r\\n\\t\\t\\tvideo = this._videos[item.attr('data-video')],\\r\\n\\t\\t\\twidth = video.width || '100%',\\r\\n\\t\\t\\theight = video.height || this._core.$stage.height(),\\r\\n\\t\\t\\thtml, wrap;\\r\\n\\t\\t\\t\\r\\n\\t\\ttarget.prev().find('img').css('display','none');\\r\\n\\r\\n\\t\\tthis._core.trigger('play', null, 'video');\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\tif (this._playing) {\\r\\n\\t\\t\\tthis.stop();\\r\\n\\t\\t}\\r\\n\\t\\t\\r\\n\\r\\n\\t\\tif (video.type === 'youtube') {\\r\\n\\t\\t\\thtml = '';\\r\\n\\t\\t} else if (video.type === 'vimeo') {\\r\\n\\t\\t\\thtml = '';\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\titem.addClass('owl-video-playing');\\r\\n\\t\\tthis._playing = item;\\r\\n\\r\\n\\t\\twrap = $(''\\r\\n\\t\\t\\t+ html + '
');\\r\\n\\t\\ttarget.after(wrap);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Checks whether an video is currently in full screen mode or not.\\r\\n\\t * @todo Bad style because looks like a readonly method but changes members.\\r\\n\\t * @protected\\r\\n\\t * @returns {Boolean}\\r\\n\\t */\\r\\n\\tVideo.prototype.isInFullScreen = function() {\\r\\n\\r\\n\\t\\t// if Vimeo Fullscreen mode\\r\\n\\t\\tvar element = document.fullscreenElement || document.mozFullScreenElement\\r\\n\\t\\t\\t|| document.webkitFullscreenElement;\\r\\n\\r\\n\\t\\tif (element && $(element).parent().hasClass('owl-video-frame')) {\\r\\n\\t\\t\\tthis._core.speed(0);\\r\\n\\t\\t\\tthis._fullscreen = true;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (element && this._fullscreen && this._playing) {\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// comming back from fullscreen\\r\\n\\t\\tif (this._fullscreen) {\\r\\n\\t\\t\\tthis._fullscreen = false;\\r\\n\\t\\t\\treturn false;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// check full screen mode and window orientation\\r\\n\\t\\tif (this._playing) {\\r\\n\\t\\t\\tif (this._core.state.orientation !== window.orientation) {\\r\\n\\t\\t\\t\\tthis._core.state.orientation = window.orientation;\\r\\n\\t\\t\\t\\treturn false;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\treturn true;\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Destroys the plugin.\\r\\n\\t */\\r\\n\\tVideo.prototype.destroy = function() {\\r\\n\\t\\tvar handler, property;\\r\\n\\r\\n\\t\\tthis._core.$element.off('click.owl.video');\\r\\n\\r\\n\\t\\tfor (handler in this._handlers) {\\r\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\r\\n\\t\\t}\\r\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\r\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t$.fn.owlCarousel.Constructor.Plugins.Video = Video;\\r\\n\\r\\n})(window.Zepto || window.jQuery, window, document);\\r\\n\\r\\n/**\\r\\n * Animate Plugin\\r\\n * @version 2.0.0\\r\\n * @author Bartosz Wojciechowski\\r\\n * @license The MIT License (MIT)\\r\\n */\\r\\n;(function($, window, document, undefined) {\\r\\n\\r\\n\\t/**\\r\\n\\t * Creates the animate plugin.\\r\\n\\t * @class The Navigation Plugin\\r\\n\\t * @param {Owl} scope - The Owl Carousel\\r\\n\\t */\\r\\n\\tvar Animate = function(scope) {\\r\\n\\t\\tthis.core = scope;\\r\\n\\t\\tthis.core.options = $.extend({}, Animate.Defaults, this.core.options);\\r\\n\\t\\tthis.swapping = true;\\r\\n\\t\\tthis.previous = undefined;\\r\\n\\t\\tthis.next = undefined;\\r\\n\\r\\n\\t\\tthis.handlers = {\\r\\n\\t\\t\\t'change.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (e.property.name == 'position') {\\r\\n\\t\\t\\t\\t\\tthis.previous = this.core.current();\\r\\n\\t\\t\\t\\t\\tthis.next = e.property.value;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tthis.swapping = e.type == 'translated';\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'translate.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\\r\\n\\t\\t\\t\\t\\tthis.swap();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this)\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\tthis.core.$element.on(this.handlers);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Default options.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tAnimate.Defaults = {\\r\\n\\t\\tanimateOut: false,\\r\\n\\t\\tanimateIn: false\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Toggles the animation classes whenever an translations starts.\\r\\n\\t * @protected\\r\\n\\t * @returns {Boolean|undefined}\\r\\n\\t */\\r\\n\\tAnimate.prototype.swap = function() {\\r\\n\\r\\n\\t\\tif (this.core.settings.items !== 1 || !this.core.support3d) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis.core.speed(0);\\r\\n\\r\\n\\t\\tvar left,\\r\\n\\t\\t\\tclear = $.proxy(this.clear, this),\\r\\n\\t\\t\\tprevious = this.core.$stage.children().eq(this.previous),\\r\\n\\t\\t\\tnext = this.core.$stage.children().eq(this.next),\\r\\n\\t\\t\\tincoming = this.core.settings.animateIn,\\r\\n\\t\\t\\toutgoing = this.core.settings.animateOut;\\r\\n\\r\\n\\t\\tif (this.core.current() === this.previous) {\\r\\n\\t\\t\\treturn;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (outgoing) {\\r\\n\\t\\t\\tleft = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\\r\\n\\t\\t\\tprevious.css( { 'left': left + 'px' } )\\r\\n\\t\\t\\t\\t.addClass('animated owl-animated-out')\\r\\n\\t\\t\\t\\t.addClass(outgoing)\\r\\n\\t\\t\\t\\t.one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', clear);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (incoming) {\\r\\n\\t\\t\\tnext.addClass('animated owl-animated-in')\\r\\n\\t\\t\\t\\t.addClass(incoming)\\r\\n\\t\\t\\t\\t.one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', clear);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\tAnimate.prototype.clear = function(e) {\\r\\n\\t\\t$(e.target).css( { 'left': '' } )\\r\\n\\t\\t\\t.removeClass('animated owl-animated-out owl-animated-in')\\r\\n\\t\\t\\t.removeClass(this.core.settings.animateIn)\\r\\n\\t\\t\\t.removeClass(this.core.settings.animateOut);\\r\\n\\t\\tthis.core.transitionEnd();\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Destroys the plugin.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tAnimate.prototype.destroy = function() {\\r\\n\\t\\tvar handler, property;\\r\\n\\r\\n\\t\\tfor (handler in this.handlers) {\\r\\n\\t\\t\\tthis.core.$element.off(handler, this.handlers[handler]);\\r\\n\\t\\t}\\r\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\r\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\\r\\n\\r\\n})(window.Zepto || window.jQuery, window, document);\\r\\n\\r\\n/**\\r\\n * Autoplay Plugin\\r\\n * @version 2.0.0\\r\\n * @author Bartosz Wojciechowski\\r\\n * @license The MIT License (MIT)\\r\\n */\\r\\n;(function($, window, document, undefined) {\\r\\n\\r\\n\\t/**\\r\\n\\t * Creates the autoplay plugin.\\r\\n\\t * @class The Autoplay Plugin\\r\\n\\t * @param {Owl} scope - The Owl Carousel\\r\\n\\t */\\r\\n\\tvar Autoplay = function(scope) {\\r\\n\\t\\tthis.core = scope;\\r\\n\\t\\tthis.core.options = $.extend({}, Autoplay.Defaults, this.core.options);\\r\\n\\r\\n\\t\\tthis.handlers = {\\r\\n\\t\\t\\t'translated.owl.carousel refreshed.owl.carousel': $.proxy(function() {\\r\\n\\t\\t\\t\\tthis.autoplay();\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'play.owl.autoplay': $.proxy(function(e, t, s) {\\r\\n\\t\\t\\t\\tthis.play(t, s);\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'stop.owl.autoplay': $.proxy(function() {\\r\\n\\t\\t\\t\\tthis.stop();\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'mouseover.owl.autoplay': $.proxy(function() {\\r\\n\\t\\t\\t\\tif (this.core.settings.autoplayHoverPause) {\\r\\n\\t\\t\\t\\t\\tthis.pause();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'mouseleave.owl.autoplay': $.proxy(function() {\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\tif ( this.core.settings.autoplayHoverPause && this.core.$element.find('.owl-video-playing').length == 0 ) {\\r\\n\\t\\t\\t\\t\\tthis.autoplay();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this)\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\tthis.core.$element.on(this.handlers);\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Default options.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tAutoplay.Defaults = {\\r\\n\\t\\tautoplay: false,\\r\\n\\t\\tautoplayTimeout: 5000,\\r\\n\\t\\tautoplayHoverPause: false,\\r\\n\\t\\tautoplaySpeed: false\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * @protected\\r\\n\\t * @todo Must be documented.\\r\\n\\t */\\r\\n\\tAutoplay.prototype.autoplay = function() {\\r\\n\\t\\tif (this.core.settings.autoplay && !this.core.state.videoPlay) {\\r\\n\\t\\t\\twindow.clearTimeout(this.interval);\\r\\n\\r\\n\\t\\t\\tthis.interval = window.setTimeout($.proxy(function() {\\r\\n\\t\\t\\t\\tthis.play();\\r\\n\\t\\t\\t}, this), this.core.settings.autoplayTimeout);\\r\\n\\t\\t} else {\\r\\n\\t\\t\\twindow.clearTimeout(this.interval);\\r\\n\\t\\t}\\r\\n\\t};\\r\\n\\r\\n\\t/**\\r\\n\\t * Starts the autoplay.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [timeout] - ...\\r\\n\\t * @param {Number} [speed] - ...\\r\\n\\t * @returns {Boolean|undefined} - ...\\r\\n\\t * @todo Must be documented.\\r\\n\\t */\\r\\n\\tAutoplay.prototype.play = function(timeout, speed) {\\r\\n\\t\\t// if tab is inactive - doesnt work in }\\r\\n\\t\\t */\\r\\n\\t\\tthis._templates = [];\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * The carousel element.\\r\\n\\t\\t * @type {jQuery}\\r\\n\\t\\t */\\r\\n\\t\\tthis.$element = this._core.$element;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Overridden methods of the carousel.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._overrides = {\\r\\n\\t\\t\\tnext: this._core.next,\\r\\n\\t\\t\\tprev: this._core.prev,\\r\\n\\t\\t\\tto: this._core.to\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * All event handlers.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._handlers = {\\r\\n\\t\\t\\t'prepared.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this._core.settings.dotsData) {\\r\\n\\t\\t\\t\\t\\tthis._templates.push($(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot'));\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'add.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this._core.settings.dotsData) {\\r\\n\\t\\t\\t\\t\\tthis._templates.splice(e.position, 0, $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot'));\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'remove.owl.carousel prepared.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (this._core.settings.dotsData) {\\r\\n\\t\\t\\t\\t\\tthis._templates.splice(e.position, 1);\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'change.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (e.property.name == 'position') {\\r\\n\\t\\t\\t\\t\\tif (!this._core.state.revert && !this._core.settings.loop && this._core.settings.navRewind) {\\r\\n\\t\\t\\t\\t\\t\\tvar current = this._core.current(),\\r\\n\\t\\t\\t\\t\\t\\t\\tmaximum = this._core.maximum(),\\r\\n\\t\\t\\t\\t\\t\\t\\tminimum = this._core.minimum();\\r\\n\\t\\t\\t\\t\\t\\te.data = e.property.value > maximum\\r\\n\\t\\t\\t\\t\\t\\t\\t? current >= maximum ? minimum : maximum\\r\\n\\t\\t\\t\\t\\t\\t\\t: e.property.value < minimum ? maximum : e.property.value;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'changed.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tif (e.property.name == 'position') {\\r\\n\\t\\t\\t\\t\\tthis.draw();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'refreshed.owl.carousel': $.proxy(function() {\\r\\n\\t\\t\\t\\tif (!this._initialized) {\\r\\n\\t\\t\\t\\t\\tthis.initialize();\\r\\n\\t\\t\\t\\t\\tthis._initialized = true;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\tthis._core.trigger('refresh', null, 'navigation');\\r\\n\\t\\t\\t\\tthis.update();\\r\\n\\t\\t\\t\\tthis.draw();\\r\\n\\t\\t\\t\\tthis._core.trigger('refreshed', null, 'navigation');\\r\\n\\t\\t\\t}, this)\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\t// set default options\\r\\n\\t\\tthis._core.options = $.extend({}, Navigation.Defaults, this._core.options);\\r\\n\\r\\n\\t\\t// register event handlers\\r\\n\\t\\tthis.$element.on(this._handlers);\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Default options.\\r\\n\\t * @public\\r\\n\\t * @todo Rename `slideBy` to `navBy`\\r\\n\\t */\\r\\n\\tNavigation.Defaults = {\\r\\n\\t\\tnav: false,\\r\\n\\t\\tnavRewind: true,\\r\\n\\t\\tnavText: [ 'prev', 'next' ],\\r\\n\\t\\tnavSpeed: false,\\r\\n\\t\\tnavElement: 'div',\\r\\n\\t\\tnavContainer: false,\\r\\n\\t\\tnavContainerClass: 'owl-nav',\\r\\n\\t\\tnavClass: [ 'owl-prev', 'owl-next' ],\\r\\n\\t\\tslideBy: 1,\\r\\n\\t\\tdotClass: 'owl-dot',\\r\\n\\t\\tdotsClass: 'owl-dots',\\r\\n\\t\\tdots: true,\\r\\n\\t\\tdotsEach: false,\\r\\n\\t\\tdotData: false,\\r\\n\\t\\tdotsSpeed: false,\\r\\n\\t\\tdotsContainer: false,\\r\\n\\t\\tcontrolsClass: 'owl-controls'\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Initializes the layout of the plugin and extends the carousel.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tNavigation.prototype.initialize = function() {\\r\\n\\t\\tvar $container, override,\\r\\n\\t\\t\\toptions = this._core.settings;\\r\\n\\r\\n\\t\\t// create the indicator template\\r\\n\\t\\tif (!options.dotsData) {\\r\\n\\t\\t\\tthis._templates = [ $('')\\r\\n\\t\\t\\t\\t.addClass(options.dotClass)\\r\\n\\t\\t\\t\\t.append($('
'))\\r\\n\\t\\t\\t\\t.prop('outerHTML') ];\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// create controls container if needed\\r\\n\\t\\tif (!options.navContainer || !options.dotsContainer) {\\r\\n\\t\\t\\tthis._controls.$container = $('')\\r\\n\\t\\t\\t\\t.addClass(options.controlsClass)\\r\\n\\t\\t\\t\\t.appendTo(this.$element);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t// create DOM structure for absolute navigation\\r\\n\\t\\tthis._controls.$indicators = options.dotsContainer ? $(options.dotsContainer)\\r\\n\\t\\t\\t: $('
').hide().addClass(options.dotsClass).appendTo(this.$element);\\r\\n\\r\\n\\t\\tthis._controls.$indicators.on('click', 'div', $.proxy(function(e) {\\r\\n\\t\\t\\tvar index = $(e.target).parent().is(this._controls.$indicators)\\r\\n\\t\\t\\t\\t? $(e.target).index() : $(e.target).parent().index();\\r\\n\\r\\n\\t\\t\\te.preventDefault();\\r\\n\\r\\n\\t\\t\\tthis.to(index, options.dotsSpeed);\\r\\n\\t\\t}, this));\\r\\n\\r\\n\\t\\t// create DOM structure for relative navigation\\r\\n\\t\\t$container = options.navContainer ? $(options.navContainer)\\r\\n\\t\\t\\t: $('
').addClass(options.navContainerClass).prependTo(this._controls.$container);\\r\\n\\r\\n\\t\\tthis._controls.$next = $('<' + options.navElement + '>');\\r\\n\\t\\tthis._controls.$previous = this._controls.$next.clone();\\r\\n\\r\\n\\t\\tthis._controls.$previous\\r\\n\\t\\t\\t.addClass(options.navClass[0])\\r\\n\\t\\t\\t.html(options.navText[0])\\r\\n\\t\\t\\t.hide()\\r\\n\\t\\t\\t.prependTo($container)\\r\\n\\t\\t\\t.on('click', $.proxy(function(e) {\\r\\n\\t\\t\\t\\tthis.prev(options.navSpeed);\\r\\n\\t\\t\\t}, this));\\r\\n\\t\\tthis._controls.$next\\r\\n\\t\\t\\t.addClass(options.navClass[1])\\r\\n\\t\\t\\t.html(options.navText[1])\\r\\n\\t\\t\\t.hide()\\r\\n\\t\\t\\t.appendTo($container)\\r\\n\\t\\t\\t.on('click', $.proxy(function(e) {\\r\\n\\t\\t\\t\\tthis.next(options.navSpeed);\\r\\n\\t\\t\\t}, this));\\r\\n\\r\\n\\t\\t// override public methods of the carousel\\r\\n\\t\\tfor (override in this._overrides) {\\r\\n\\t\\t\\tthis._core[override] = $.proxy(this[override], this);\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Destroys the plugin.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tNavigation.prototype.destroy = function() {\\r\\n\\t\\tvar handler, control, property, override;\\r\\n\\r\\n\\t\\tfor (handler in this._handlers) {\\r\\n\\t\\t\\tthis.$element.off(handler, this._handlers[handler]);\\r\\n\\t\\t}\\r\\n\\t\\tfor (control in this._controls) {\\r\\n\\t\\t\\tthis._controls[control].remove();\\r\\n\\t\\t}\\r\\n\\t\\tfor (override in this.overides) {\\r\\n\\t\\t\\tthis._core[override] = this._overrides[override];\\r\\n\\t\\t}\\r\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\r\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Updates the internal state.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tNavigation.prototype.update = function() {\\r\\n\\t\\tvar i, j, k,\\r\\n\\t\\t\\toptions = this._core.settings,\\r\\n\\t\\t\\tlower = this._core.clones().length / 2,\\r\\n\\t\\t\\tupper = lower + this._core.items().length,\\r\\n\\t\\t\\tsize = options.center || options.autoWidth || options.dotData\\r\\n\\t\\t\\t\\t? 1 : options.dotsEach || options.items;\\r\\n\\r\\n\\t\\tif (options.slideBy !== 'page') {\\r\\n\\t\\t\\toptions.slideBy = Math.min(options.slideBy, options.items);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tif (options.dots || options.slideBy == 'page') {\\r\\n\\t\\t\\tthis._pages = [];\\r\\n\\r\\n\\t\\t\\tfor (i = lower, j = 0, k = 0; i < upper; i++) {\\r\\n\\t\\t\\t\\tif (j >= size || j === 0) {\\r\\n\\t\\t\\t\\t\\tthis._pages.push({\\r\\n\\t\\t\\t\\t\\t\\tstart: i - lower,\\r\\n\\t\\t\\t\\t\\t\\tend: i - lower + size - 1\\r\\n\\t\\t\\t\\t\\t});\\r\\n\\t\\t\\t\\t\\tj = 0, ++k;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\tj += this._core.mergers(this._core.relative(i));\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Draws the user interface.\\r\\n\\t * @todo The option `dotData` wont work.\\r\\n\\t * @protected\\r\\n\\t */\\r\\n\\tNavigation.prototype.draw = function() {\\r\\n\\t\\tvar difference, i, html = '',\\r\\n\\t\\t\\toptions = this._core.settings,\\r\\n\\t\\t\\t$items = this._core.$stage.children(),\\r\\n\\t\\t\\tindex = this._core.relative(this._core.current());\\r\\n\\r\\n\\t\\tif (options.nav && !options.loop && !options.navRewind) {\\r\\n\\t\\t\\tthis._controls.$previous.toggleClass('disabled', index <= 0);\\r\\n\\t\\t\\tthis._controls.$next.toggleClass('disabled', index >= this._core.maximum());\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis._controls.$previous.toggle(options.nav);\\r\\n\\t\\tthis._controls.$next.toggle(options.nav);\\r\\n\\r\\n\\t\\tif (options.dots) {\\r\\n\\t\\t\\tdifference = this._pages.length - this._controls.$indicators.children().length;\\r\\n\\r\\n\\t\\t\\tif (options.dotData && difference !== 0) {\\r\\n\\t\\t\\t\\tfor (i = 0; i < this._controls.$indicators.children().length; i++) {\\r\\n\\t\\t\\t\\t\\thtml += this._templates[this._core.relative(i)];\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\tthis._controls.$indicators.html(html);\\r\\n\\t\\t\\t} else if (difference > 0) {\\r\\n\\t\\t\\t\\thtml = new Array(difference + 1).join(this._templates[0]);\\r\\n\\t\\t\\t\\tthis._controls.$indicators.append(html);\\r\\n\\t\\t\\t} else if (difference < 0) {\\r\\n\\t\\t\\t\\tthis._controls.$indicators.children().slice(difference).remove();\\r\\n\\t\\t\\t}\\r\\n\\r\\n\\t\\t\\tthis._controls.$indicators.find('.active').removeClass('active');\\r\\n\\t\\t\\tthis._controls.$indicators.children().eq($.inArray(this.current(), this._pages)).addClass('active');\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\tthis._controls.$indicators.toggle(options.dots);\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Extends event data.\\r\\n\\t * @protected\\r\\n\\t * @param {Event} event - The event object which gets thrown.\\r\\n\\t */\\r\\n\\tNavigation.prototype.onTrigger = function(event) {\\r\\n\\t\\tvar settings = this._core.settings;\\r\\n\\r\\n\\t\\tevent.page = {\\r\\n\\t\\t\\tindex: $.inArray(this.current(), this._pages),\\r\\n\\t\\t\\tcount: this._pages.length,\\r\\n\\t\\t\\tsize: settings && (settings.center || settings.autoWidth || settings.dotData\\r\\n\\t\\t\\t\\t? 1 : settings.dotsEach || settings.items)\\r\\n\\t\\t};\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the current page position of the carousel.\\r\\n\\t * @protected\\r\\n\\t * @returns {Number}\\r\\n\\t */\\r\\n\\tNavigation.prototype.current = function() {\\r\\n\\t\\tvar index = this._core.relative(this._core.current());\\r\\n\\t\\treturn $.grep(this._pages, function(o) {\\r\\n\\t\\t\\treturn o.start <= index && o.end >= index;\\r\\n\\t\\t}).pop();\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Gets the current succesor/predecessor position.\\r\\n\\t * @protected\\r\\n\\t * @returns {Number}\\r\\n\\t */\\r\\n\\tNavigation.prototype.getPosition = function(successor) {\\r\\n\\t\\tvar position, length,\\r\\n\\t\\t\\toptions = this._core.settings;\\r\\n\\r\\n\\t\\tif (options.slideBy == 'page') {\\r\\n\\t\\t\\tposition = $.inArray(this.current(), this._pages);\\r\\n\\t\\t\\tlength = this._pages.length;\\r\\n\\t\\t\\tsuccessor ? ++position : --position;\\r\\n\\t\\t\\tposition = this._pages[((position % length) + length) % length].start;\\r\\n\\t\\t} else {\\r\\n\\t\\t\\tposition = this._core.relative(this._core.current());\\r\\n\\t\\t\\tlength = this._core.items().length;\\r\\n\\t\\t\\tsuccessor ? position += options.slideBy : position -= options.slideBy;\\r\\n\\t\\t}\\r\\n\\t\\treturn position;\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Slides to the next item or page.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [speed=false] - The time in milliseconds for the transition.\\r\\n\\t */\\r\\n\\tNavigation.prototype.next = function(speed) {\\r\\n\\t\\t$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Slides to the previous item or page.\\r\\n\\t * @public\\r\\n\\t * @param {Number} [speed=false] - The time in milliseconds for the transition.\\r\\n\\t */\\r\\n\\tNavigation.prototype.prev = function(speed) {\\r\\n\\t\\t$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Slides to the specified item or page.\\r\\n\\t * @public\\r\\n\\t * @param {Number} position - The position of the item or page.\\r\\n\\t * @param {Number} [speed] - The time in milliseconds for the transition.\\r\\n\\t * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.\\r\\n\\t */\\r\\n\\tNavigation.prototype.to = function(position, speed, standard) {\\r\\n\\t\\tvar length;\\r\\n\\r\\n\\t\\tif (!standard) {\\r\\n\\t\\t\\tlength = this._pages.length;\\r\\n\\t\\t\\t$.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);\\r\\n\\t\\t} else {\\r\\n\\t\\t\\t$.proxy(this._overrides.to, this._core)(position, speed);\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;\\r\\n\\r\\n})(window.Zepto || window.jQuery, window, document);\\r\\n\\r\\n/**\\r\\n * Hash Plugin\\r\\n * @version 2.0.0\\r\\n * @author Artus Kolanowski\\r\\n * @license The MIT License (MIT)\\r\\n */\\r\\n;(function($, window, document, undefined) {\\r\\n\\t'use strict';\\r\\n\\r\\n\\t/**\\r\\n\\t * Creates the hash plugin.\\r\\n\\t * @class The Hash Plugin\\r\\n\\t * @param {Owl} carousel - The Owl Carousel\\r\\n\\t */\\r\\n\\tvar Hash = function(carousel) {\\r\\n\\t\\t/**\\r\\n\\t\\t * Reference to the core.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Owl}\\r\\n\\t\\t */\\r\\n\\t\\tthis._core = carousel;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * Hash table for the hashes.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._hashes = {};\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * The carousel element.\\r\\n\\t\\t * @type {jQuery}\\r\\n\\t\\t */\\r\\n\\t\\tthis.$element = this._core.$element;\\r\\n\\r\\n\\t\\t/**\\r\\n\\t\\t * All event handlers.\\r\\n\\t\\t * @protected\\r\\n\\t\\t * @type {Object}\\r\\n\\t\\t */\\r\\n\\t\\tthis._handlers = {\\r\\n\\t\\t\\t'initialized.owl.carousel': $.proxy(function() {\\r\\n\\t\\t\\t\\tif (this._core.settings.startPosition == 'URLHash') {\\r\\n\\t\\t\\t\\t\\t$(window).trigger('hashchange.owl.navigation');\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}, this),\\r\\n\\t\\t\\t'prepared.owl.carousel': $.proxy(function(e) {\\r\\n\\t\\t\\t\\tvar hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');\\r\\n\\t\\t\\t\\tthis._hashes[hash] = e.content;\\r\\n\\t\\t\\t}, this)\\r\\n\\t\\t};\\r\\n\\r\\n\\t\\t// set default options\\r\\n\\t\\tthis._core.options = $.extend({}, Hash.Defaults, this._core.options);\\r\\n\\r\\n\\t\\t// register the event handlers\\r\\n\\t\\tthis.$element.on(this._handlers);\\r\\n\\r\\n\\t\\t// register event listener for hash navigation\\r\\n\\t\\t$(window).on('hashchange.owl.navigation', $.proxy(function() {\\r\\n\\t\\t\\tvar hash = window.location.hash.substring(1),\\r\\n\\t\\t\\t\\titems = this._core.$stage.children(),\\r\\n\\t\\t\\t\\tposition = this._hashes[hash] && items.index(this._hashes[hash]) || 0;\\r\\n\\r\\n\\t\\t\\tif (!hash) {\\r\\n\\t\\t\\t\\treturn false;\\r\\n\\t\\t\\t}\\r\\n\\r\\n\\t\\t\\tthis._core.to(position, false, true);\\r\\n\\t\\t}, this));\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Default options.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tHash.Defaults = {\\r\\n\\t\\tURLhashListener: false\\r\\n\\t}\\r\\n\\r\\n\\t/**\\r\\n\\t * Destroys the plugin.\\r\\n\\t * @public\\r\\n\\t */\\r\\n\\tHash.prototype.destroy = function() {\\r\\n\\t\\tvar handler, property;\\r\\n\\r\\n\\t\\t$(window).off('hashchange.owl.navigation');\\r\\n\\r\\n\\t\\tfor (handler in this._handlers) {\\r\\n\\t\\t\\tthis._core.$element.off(handler, this._handlers[handler]);\\r\\n\\t\\t}\\r\\n\\t\\tfor (property in Object.getOwnPropertyNames(this)) {\\r\\n\\t\\t\\ttypeof this[property] != 'function' && (this[property] = null);\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;\\r\\n\\r\\n})(window.Zepto || window.jQuery, window, document);\"","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nmodule.exports = function(src) {\n\tfunction log(error) {\n\t\t(typeof console !== \"undefined\")\n\t\t&& (console.error || console.log)(\"[Script Loader]\", error);\n\t}\n\n\t// Check for IE =< 8\n\tfunction isIE() {\n\t\treturn typeof attachEvent !== \"undefined\" && typeof addEventListener === \"undefined\";\n\t}\n\n\ttry {\n\t\tif (typeof execScript !== \"undefined\" && isIE()) {\n\t\t\texecScript(src);\n\t\t} else if (typeof eval !== \"undefined\") {\n\t\t\teval.call(null, src);\n\t\t} else {\n\t\t\tlog(\"EvalError: No eval function available\");\n\t\t}\n\t} catch (error) {\n\t\tlog(error);\n\t}\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\script-loader\\\\addScript.js\")(require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\raw-loader\\\\index.js!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\js\\\\bootstrap.bundle.min.js\"))","require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\script-loader\\\\addScript.js\")(require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\raw-loader\\\\index.js!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\js\\\\jquery.easing.min.js\"))","require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\script-loader\\\\addScript.js\")(require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\raw-loader\\\\index.js!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\js\\\\owl.carousel.custom.js\"))","require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\script-loader\\\\addScript.js\")(require(\"!!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\node_modules\\\\raw-loader\\\\index.js!C:\\\\ProgramData\\\\Jenkins\\\\.jenkins\\\\workspace\\\\dotnet_gibo-umbraco_master\\\\js\\\\app.js\"))"],"names":["module","exports","src","log","error","console","execScript","attachEvent","addEventListener","eval","call","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}