/*

  Template Name: Freak Ecommerce Responsive Bootstrap Template
  Description: This is html5 template
  Author: BootExperts
  Version: 1.0
  Design and Developed by: BootExperts

NOTE:  

*/

/*================================================
[  Table of contents  ]
================================================
01. Avoid `console` errors in browsers that lack a console.
02. scrollup jquery
03. slick jquery carousel
04. jQuery UI / price range 
05. WOW / scrolling animation 
06. Owl Carousel
07. Nivo Slider
08. Countdown Jquery
09. Treeview
10. style customizer
11. Venobox Js
12. meanMenu jquery menu plugin / mobile menu

 
======================================
[ End table content ]
======================================*/

/***************************************************************
01. Avoid `console` errors in browsers that lack a console.  
***************************************************************/
(function() {
	var method;
	var noop = function() {};
	var methods = [
		'assert',
		'clear',
		'count',
		'debug',
		'dir',
		'dirxml',
		'error',
		'exception',
		'group',
		'groupCollapsed',
		'groupEnd',
		'info',
		'log',
		'markTimeline',
		'profile',
		'profileEnd',
		'table',
		'time',
		'timeEnd',
		'timeline',
		'timelineEnd',
		'timeStamp',
		'trace',
		'warn'
	];
	var length = methods.length;
	var console = (window.console = window.console || {});

	while (length--) {
		method = methods[length];

		// Only stub undefined methods.
		if (!console[method]) {
			console[method] = noop;
		}
	}
})();

// Place any jQuery/helper plugins in here.

/*******************************
02. scrollup jquery   
********************************/
/*!
 * scrollup v2.4.1
 * Url: http://markgoodyear.com/labs/scrollup/
 * Copyright (c) Mark Goodyear — @markgdyr — http://markgoodyear.com
 * License: MIT
 */
!(function(l, o, e) {
	'use strict';
	(l.fn.scrollUp = function(o) {
		l.data(e.body, 'scrollUp') || (l.data(e.body, 'scrollUp', !0), l.fn.scrollUp.init(o));
	}),
		(l.fn.scrollUp.init = function(r) {
			var s,
				t,
				c,
				i,
				n,
				a,
				d,
				p = (l.fn.scrollUp.settings = l.extend({}, l.fn.scrollUp.defaults, r)),
				f = !1;
			switch (((d = p.scrollTrigger ? l(p.scrollTrigger) : l('<a/>', { id: p.scrollName, href: '#top' })),
			p.scrollTitle && d.attr('title', p.scrollTitle),
			d.appendTo('body'),
			p.scrollImg || p.scrollTrigger || d.html(p.scrollText),
			d.css({ display: 'none', position: 'fixed', zIndex: p.zIndex }),
			p.activeOverlay &&
				l('<div/>', { id: p.scrollName + '-active' })
					.css({
						position: 'absolute',
						top: p.scrollDistance + 'px',
						width: '100%',
						borderTop: '1px dotted' + p.activeOverlay,
						zIndex: p.zIndex
					})
					.appendTo('body'),
			p.animation)) {
				case 'fade':
					(s = 'fadeIn'), (t = 'fadeOut'), (c = p.animationSpeed);
					break;
				case 'slide':
					(s = 'slideDown'), (t = 'slideUp'), (c = p.animationSpeed);
					break;
				default:
					(s = 'show'), (t = 'hide'), (c = 0);
			}
			(i = 'top' === p.scrollFrom ? p.scrollDistance : l(e).height() - l(o).height() - p.scrollDistance),
				(n = l(o).scroll(function() {
					l(o).scrollTop() > i ? f || (d[s](c), (f = !0)) : f && (d[t](c), (f = !1));
				})),
				p.scrollTarget
					? 'number' == typeof p.scrollTarget
						? (a = p.scrollTarget)
						: 'string' == typeof p.scrollTarget && (a = Math.floor(l(p.scrollTarget).offset().top))
					: (a = 0),
				d.click(function(o) {
					o.preventDefault(), l('html, body').animate({ scrollTop: a }, p.scrollSpeed, p.easingType);
				});
		}),
		(l.fn.scrollUp.defaults = {
			scrollName: 'scrollUp',
			scrollDistance: 300,
			scrollFrom: 'top',
			scrollSpeed: 300,
			easingType: 'linear',
			animation: 'fade',
			animationSpeed: 200,
			scrollTrigger: !1,
			scrollTarget: !1,
			scrollText: 'Scroll to top',
			scrollTitle: !1,
			scrollImg: !1,
			activeOverlay: !1,
			zIndex: 2147483647
		}),
		(l.fn.scrollUp.destroy = function(r) {
			l.removeData(e.body, 'scrollUp'),
				l('#' + l.fn.scrollUp.settings.scrollName).remove(),
				l('#' + l.fn.scrollUp.settings.scrollName + '-active').remove(),
				l.fn.jquery.split('.')[1] >= 7 ? l(o).off('scroll', r) : l(o).unbind('scroll', r);
		}),
		(l.scrollUp = l.fn.scrollUp);
})(jQuery, window, document);

/*******************************
03. slick jquery carousel
********************************/
/*
     _ _      _       _
 ___| (_) ___| | __  (_)___
/ __| | |/ __| |/ /  | / __|
\__ \ | | (__|   < _ | \__ \
|___/_|_|\___|_|\_(_)/ |___/
                   |__/

 Version: 1.6.0
  Author: Ken Wheeler
 Website: http://kenwheeler.github.io
    Docs: http://kenwheeler.github.io/slick
    Repo: http://github.com/kenwheeler/slick
  Issues: http://github.com/kenwheeler/slick/issues

 */
!(function(a) {
	'use strict';
	'function' == typeof define && define.amd
		? define([ 'jquery' ], a)
		: 'undefined' != typeof exports ? (module.exports = a(require('jquery'))) : a(jQuery);
})(function(a) {
	'use strict';
	var b = window.Slick || {};
	(b = (function() {
		function c(c, d) {
			var f,
				e = this;
			(e.defaults = {
				accessibility: !0,
				adaptiveHeight: !1,
				appendArrows: a(c),
				appendDots: a(c),
				arrows: !0,
				asNavFor: null,
				prevArrow:
					'<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
				nextArrow:
					'<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
				autoplay: !1,
				autoplaySpeed: 3e3,
				centerMode: !1,
				centerPadding: '50px',
				cssEase: 'ease',
				customPaging: function(b, c) {
					return a('<button type="button" data-role="none" role="button" tabindex="0" />').text(c + 1);
				},
				dots: !1,
				dotsClass: 'slick-dots',
				draggable: !0,
				easing: 'linear',
				edgeFriction: 0.35,
				fade: !1,
				focusOnSelect: !1,
				infinite: !0,
				initialSlide: 0,
				lazyLoad: 'ondemand',
				mobileFirst: !1,
				pauseOnHover: !0,
				pauseOnFocus: !0,
				pauseOnDotsHover: !1,
				respondTo: 'window',
				responsive: null,
				rows: 1,
				rtl: !1,
				slide: '',
				slidesPerRow: 1,
				slidesToShow: 1,
				slidesToScroll: 1,
				speed: 500,
				swipe: !0,
				swipeToSlide: !1,
				touchMove: !0,
				touchThreshold: 5,
				useCSS: !0,
				useTransform: !0,
				variableWidth: !1,
				vertical: !1,
				verticalSwiping: !1,
				waitForAnimate: !0,
				zIndex: 1e3
			}),
				(e.initials = {
					animating: !1,
					dragging: !1,
					autoPlayTimer: null,
					currentDirection: 0,
					currentLeft: null,
					currentSlide: 0,
					direction: 1,
					$dots: null,
					listWidth: null,
					listHeight: null,
					loadIndex: 0,
					$nextArrow: null,
					$prevArrow: null,
					slideCount: null,
					slideWidth: null,
					$slideTrack: null,
					$slides: null,
					sliding: !1,
					slideOffset: 0,
					swipeLeft: null,
					$list: null,
					touchObject: {},
					transformsEnabled: !1,
					unslicked: !1
				}),
				a.extend(e, e.initials),
				(e.activeBreakpoint = null),
				(e.animType = null),
				(e.animProp = null),
				(e.breakpoints = []),
				(e.breakpointSettings = []),
				(e.cssTransitions = !1),
				(e.focussed = !1),
				(e.interrupted = !1),
				(e.hidden = 'hidden'),
				(e.paused = !0),
				(e.positionProp = null),
				(e.respondTo = null),
				(e.rowCount = 1),
				(e.shouldClick = !0),
				(e.$slider = a(c)),
				(e.$slidesCache = null),
				(e.transformType = null),
				(e.transitionType = null),
				(e.visibilityChange = 'visibilitychange'),
				(e.windowWidth = 0),
				(e.windowTimer = null),
				(f = a(c).data('slick') || {}),
				(e.options = a.extend({}, e.defaults, d, f)),
				(e.currentSlide = e.options.initialSlide),
				(e.originalSettings = e.options),
				'undefined' != typeof document.mozHidden
					? ((e.hidden = 'mozHidden'), (e.visibilityChange = 'mozvisibilitychange'))
					: 'undefined' != typeof document.webkitHidden &&
						((e.hidden = 'webkitHidden'), (e.visibilityChange = 'webkitvisibilitychange')),
				(e.autoPlay = a.proxy(e.autoPlay, e)),
				(e.autoPlayClear = a.proxy(e.autoPlayClear, e)),
				(e.autoPlayIterator = a.proxy(e.autoPlayIterator, e)),
				(e.changeSlide = a.proxy(e.changeSlide, e)),
				(e.clickHandler = a.proxy(e.clickHandler, e)),
				(e.selectHandler = a.proxy(e.selectHandler, e)),
				(e.setPosition = a.proxy(e.setPosition, e)),
				(e.swipeHandler = a.proxy(e.swipeHandler, e)),
				(e.dragHandler = a.proxy(e.dragHandler, e)),
				(e.keyHandler = a.proxy(e.keyHandler, e)),
				(e.instanceUid = b++),
				(e.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/),
				e.registerBreakpoints(),
				e.init(!0);
		}
		var b = 0;
		return c;
	})()),
		(b.prototype.activateADA = function() {
			var a = this;
			a.$slideTrack
				.find('.slick-active')
				.attr({ 'aria-hidden': 'false' })
				.find('a, input, button, select')
				.attr({ tabindex: '0' });
		}),
		(b.prototype.addSlide = b.prototype.slickAdd = function(b, c, d) {
			var e = this;
			if ('boolean' == typeof c) (d = c), (c = null);
			else if (0 > c || c >= e.slideCount) return !1;
			e.unload(),
				'number' == typeof c
					? 0 === c && 0 === e.$slides.length
						? a(b).appendTo(e.$slideTrack)
						: d ? a(b).insertBefore(e.$slides.eq(c)) : a(b).insertAfter(e.$slides.eq(c))
					: d === !0 ? a(b).prependTo(e.$slideTrack) : a(b).appendTo(e.$slideTrack),
				(e.$slides = e.$slideTrack.children(this.options.slide)),
				e.$slideTrack.children(this.options.slide).detach(),
				e.$slideTrack.append(e.$slides),
				e.$slides.each(function(b, c) {
					a(c).attr('data-slick-index', b);
				}),
				(e.$slidesCache = e.$slides),
				e.reinit();
		}),
		(b.prototype.animateHeight = function() {
			var a = this;
			if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) {
				var b = a.$slides.eq(a.currentSlide).outerHeight(!0);
				a.$list.animate({ height: b }, a.options.speed);
			}
		}),
		(b.prototype.animateSlide = function(b, c) {
			var d = {},
				e = this;
			e.animateHeight(),
				e.options.rtl === !0 && e.options.vertical === !1 && (b = -b),
				e.transformsEnabled === !1
					? e.options.vertical === !1
						? e.$slideTrack.animate({ left: b }, e.options.speed, e.options.easing, c)
						: e.$slideTrack.animate({ top: b }, e.options.speed, e.options.easing, c)
					: e.cssTransitions === !1
						? (e.options.rtl === !0 && (e.currentLeft = -e.currentLeft),
							a({ animStart: e.currentLeft }).animate(
								{ animStart: b },
								{
									duration: e.options.speed,
									easing: e.options.easing,
									step: function(a) {
										(a = Math.ceil(a)),
											e.options.vertical === !1
												? ((d[e.animType] = 'translate(' + a + 'px, 0px)'), e.$slideTrack.css(d))
												: ((d[e.animType] = 'translate(0px,' + a + 'px)'), e.$slideTrack.css(d));
									},
									complete: function() {
										c && c.call();
									}
								}
							))
						: (e.applyTransition(),
							(b = Math.ceil(b)),
							e.options.vertical === !1
								? (d[e.animType] = 'translate3d(' + b + 'px, 0px, 0px)')
								: (d[e.animType] = 'translate3d(0px,' + b + 'px, 0px)'),
							e.$slideTrack.css(d),
							c &&
								setTimeout(function() {
									e.disableTransition(), c.call();
								}, e.options.speed));
		}),
		(b.prototype.getNavTarget = function() {
			var b = this,
				c = b.options.asNavFor;
			return c && null !== c && (c = a(c).not(b.$slider)), c;
		}),
		(b.prototype.asNavFor = function(b) {
			var c = this,
				d = c.getNavTarget();
			null !== d &&
				'object' == typeof d &&
				d.each(function() {
					var c = a(this).slick('getSlick');
					c.unslicked || c.slideHandler(b, !0);
				});
		}),
		(b.prototype.applyTransition = function(a) {
			var b = this,
				c = {};
			b.options.fade === !1
				? (c[b.transitionType] = b.transformType + ' ' + b.options.speed + 'ms ' + b.options.cssEase)
				: (c[b.transitionType] = 'opacity ' + b.options.speed + 'ms ' + b.options.cssEase),
				b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c);
		}),
		(b.prototype.autoPlay = function() {
			var a = this;
			a.autoPlayClear(),
				a.slideCount > a.options.slidesToShow &&
					(a.autoPlayTimer = setInterval(a.autoPlayIterator, a.options.autoplaySpeed));
		}),
		(b.prototype.autoPlayClear = function() {
			var a = this;
			a.autoPlayTimer && clearInterval(a.autoPlayTimer);
		}),
		(b.prototype.autoPlayIterator = function() {
			var a = this,
				b = a.currentSlide + a.options.slidesToScroll;
			a.paused ||
				a.interrupted ||
				a.focussed ||
				(a.options.infinite === !1 &&
					(1 === a.direction && a.currentSlide + 1 === a.slideCount - 1
						? (a.direction = 0)
						: 0 === a.direction &&
							((b = a.currentSlide - a.options.slidesToScroll),
							a.currentSlide - 1 === 0 && (a.direction = 1))),
				a.slideHandler(b));
		}),
		(b.prototype.buildArrows = function() {
			var b = this;
			b.options.arrows === !0 &&
				((b.$prevArrow = a(b.options.prevArrow).addClass('slick-arrow')),
				(b.$nextArrow = a(b.options.nextArrow).addClass('slick-arrow')),
				b.slideCount > b.options.slidesToShow
					? (b.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'),
						b.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'),
						b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.prependTo(b.options.appendArrows),
						b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.appendTo(b.options.appendArrows),
						b.options.infinite !== !0 &&
							b.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'))
					: b.$prevArrow
							.add(b.$nextArrow)
							.addClass('slick-hidden')
							.attr({ 'aria-disabled': 'true', tabindex: '-1' }));
		}),
		(b.prototype.buildDots = function() {
			var c,
				d,
				b = this;
			if (b.options.dots === !0 && b.slideCount > b.options.slidesToShow) {
				for (
					b.$slider.addClass('slick-dotted'), d = a('<ul />').addClass(b.options.dotsClass), c = 0;
					c <= b.getDotCount();
					c += 1
				)
					d.append(a('<li />').append(b.options.customPaging.call(this, b, c)));
				(b.$dots = d.appendTo(b.options.appendDots)),
					b.$dots.find('li').first().addClass('slick-active').attr('aria-hidden', 'false');
			}
		}),
		(b.prototype.buildOut = function() {
			var b = this;
			(b.$slides = b.$slider.children(b.options.slide + ':not(.slick-cloned)').addClass('slick-slide')),
				(b.slideCount = b.$slides.length),
				b.$slides.each(function(b, c) {
					a(c).attr('data-slick-index', b).data('originalStyling', a(c).attr('style') || '');
				}),
				b.$slider.addClass('slick-slider'),
				(b.$slideTrack =
					0 === b.slideCount
						? a('<div class="slick-track"/>').appendTo(b.$slider)
						: b.$slides.wrapAll('<div class="slick-track"/>').parent()),
				(b.$list = b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent()),
				b.$slideTrack.css('opacity', 0),
				(b.options.centerMode === !0 || b.options.swipeToSlide === !0) && (b.options.slidesToScroll = 1),
				a('img[data-lazy]', b.$slider).not('[src]').addClass('slick-loading'),
				b.setupInfinite(),
				b.buildArrows(),
				b.buildDots(),
				b.updateDots(),
				b.setSlideClasses('number' == typeof b.currentSlide ? b.currentSlide : 0),
				b.options.draggable === !0 && b.$list.addClass('draggable');
		}),
		(b.prototype.buildRows = function() {
			var b,
				c,
				d,
				e,
				f,
				g,
				h,
				a = this;
			if (((e = document.createDocumentFragment()), (g = a.$slider.children()), a.options.rows > 1)) {
				for (h = a.options.slidesPerRow * a.options.rows, f = Math.ceil(g.length / h), b = 0; f > b; b++) {
					var i = document.createElement('div');
					for (c = 0; c < a.options.rows; c++) {
						var j = document.createElement('div');
						for (d = 0; d < a.options.slidesPerRow; d++) {
							var k = b * h + (c * a.options.slidesPerRow + d);
							g.get(k) && j.appendChild(g.get(k));
						}
						i.appendChild(j);
					}
					e.appendChild(i);
				}
				a.$slider.empty().append(e),
					a.$slider
						.children()
						.children()
						.children()
						.css({ width: 100 / a.options.slidesPerRow + '%', display: 'inline-block' });
			}
		}),
		(b.prototype.checkResponsive = function(b, c) {
			var e,
				f,
				g,
				d = this,
				h = !1,
				i = d.$slider.width(),
				j = window.innerWidth || a(window).width();
			if (
				('window' === d.respondTo
					? (g = j)
					: 'slider' === d.respondTo ? (g = i) : 'min' === d.respondTo && (g = Math.min(j, i)),
				d.options.responsive && d.options.responsive.length && null !== d.options.responsive)
			) {
				f = null;
				for (e in d.breakpoints)
					d.breakpoints.hasOwnProperty(e) &&
						(d.originalSettings.mobileFirst === !1
							? g < d.breakpoints[e] && (f = d.breakpoints[e])
							: g > d.breakpoints[e] && (f = d.breakpoints[e]));
				null !== f
					? null !== d.activeBreakpoint
						? (f !== d.activeBreakpoint || c) &&
							((d.activeBreakpoint = f),
							'unslick' === d.breakpointSettings[f]
								? d.unslick(f)
								: ((d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f])),
									b === !0 && (d.currentSlide = d.options.initialSlide),
									d.refresh(b)),
							(h = f))
						: ((d.activeBreakpoint = f),
							'unslick' === d.breakpointSettings[f]
								? d.unslick(f)
								: ((d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f])),
									b === !0 && (d.currentSlide = d.options.initialSlide),
									d.refresh(b)),
							(h = f))
					: null !== d.activeBreakpoint &&
						((d.activeBreakpoint = null),
						(d.options = d.originalSettings),
						b === !0 && (d.currentSlide = d.options.initialSlide),
						d.refresh(b),
						(h = f)),
					b || h === !1 || d.$slider.trigger('breakpoint', [ d, h ]);
			}
		}),
		(b.prototype.changeSlide = function(b, c) {
			var f,
				g,
				h,
				d = this,
				e = a(b.currentTarget);
			switch ((e.is('a') && b.preventDefault(),
			e.is('li') || (e = e.closest('li')),
			(h = d.slideCount % d.options.slidesToScroll !== 0),
			(f = h ? 0 : (d.slideCount - d.currentSlide) % d.options.slidesToScroll),
			b.data.message)) {
				case 'previous':
					(g = 0 === f ? d.options.slidesToScroll : d.options.slidesToShow - f),
						d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide - g, !1, c);
					break;
				case 'next':
					(g = 0 === f ? d.options.slidesToScroll : f),
						d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide + g, !1, c);
					break;
				case 'index':
					var i = 0 === b.data.index ? 0 : b.data.index || e.index() * d.options.slidesToScroll;
					d.slideHandler(d.checkNavigable(i), !1, c), e.children().trigger('focus');
					break;
				default:
					return;
			}
		}),
		(b.prototype.checkNavigable = function(a) {
			var c,
				d,
				b = this;
			if (((c = b.getNavigableIndexes()), (d = 0), a > c[c.length - 1])) a = c[c.length - 1];
			else
				for (var e in c) {
					if (a < c[e]) {
						a = d;
						break;
					}
					d = c[e];
				}
			return a;
		}),
		(b.prototype.cleanUpEvents = function() {
			var b = this;
			b.options.dots &&
				null !== b.$dots &&
				a('li', b.$dots)
					.off('click.slick', b.changeSlide)
					.off('mouseenter.slick', a.proxy(b.interrupt, b, !0))
					.off('mouseleave.slick', a.proxy(b.interrupt, b, !1)),
				b.$slider.off('focus.slick blur.slick'),
				b.options.arrows === !0 &&
					b.slideCount > b.options.slidesToShow &&
					(b.$prevArrow && b.$prevArrow.off('click.slick', b.changeSlide),
					b.$nextArrow && b.$nextArrow.off('click.slick', b.changeSlide)),
				b.$list.off('touchstart.slick mousedown.slick', b.swipeHandler),
				b.$list.off('touchmove.slick mousemove.slick', b.swipeHandler),
				b.$list.off('touchend.slick mouseup.slick', b.swipeHandler),
				b.$list.off('touchcancel.slick mouseleave.slick', b.swipeHandler),
				b.$list.off('click.slick', b.clickHandler),
				a(document).off(b.visibilityChange, b.visibility),
				b.cleanUpSlideEvents(),
				b.options.accessibility === !0 && b.$list.off('keydown.slick', b.keyHandler),
				b.options.focusOnSelect === !0 && a(b.$slideTrack).children().off('click.slick', b.selectHandler),
				a(window).off('orientationchange.slick.slick-' + b.instanceUid, b.orientationChange),
				a(window).off('resize.slick.slick-' + b.instanceUid, b.resize),
				a('[draggable!=true]', b.$slideTrack).off('dragstart', b.preventDefault),
				a(window).off('load.slick.slick-' + b.instanceUid, b.setPosition),
				a(document).off('ready.slick.slick-' + b.instanceUid, b.setPosition);
		}),
		(b.prototype.cleanUpSlideEvents = function() {
			var b = this;
			b.$list.off('mouseenter.slick', a.proxy(b.interrupt, b, !0)),
				b.$list.off('mouseleave.slick', a.proxy(b.interrupt, b, !1));
		}),
		(b.prototype.cleanUpRows = function() {
			var b,
				a = this;
			a.options.rows > 1 &&
				((b = a.$slides.children().children()), b.removeAttr('style'), a.$slider.empty().append(b));
		}),
		(b.prototype.clickHandler = function(a) {
			var b = this;
			b.shouldClick === !1 && (a.stopImmediatePropagation(), a.stopPropagation(), a.preventDefault());
		}),
		(b.prototype.destroy = function(b) {
			var c = this;
			c.autoPlayClear(),
				(c.touchObject = {}),
				c.cleanUpEvents(),
				a('.slick-cloned', c.$slider).detach(),
				c.$dots && c.$dots.remove(),
				c.$prevArrow &&
					c.$prevArrow.length &&
					(c.$prevArrow
						.removeClass('slick-disabled slick-arrow slick-hidden')
						.removeAttr('aria-hidden aria-disabled tabindex')
						.css('display', ''),
					c.htmlExpr.test(c.options.prevArrow) && c.$prevArrow.remove()),
				c.$nextArrow &&
					c.$nextArrow.length &&
					(c.$nextArrow
						.removeClass('slick-disabled slick-arrow slick-hidden')
						.removeAttr('aria-hidden aria-disabled tabindex')
						.css('display', ''),
					c.htmlExpr.test(c.options.nextArrow) && c.$nextArrow.remove()),
				c.$slides &&
					(c.$slides
						.removeClass('slick-slide slick-active slick-center slick-visible slick-current')
						.removeAttr('aria-hidden')
						.removeAttr('data-slick-index')
						.each(function() {
							a(this).attr('style', a(this).data('originalStyling'));
						}),
					c.$slideTrack.children(this.options.slide).detach(),
					c.$slideTrack.detach(),
					c.$list.detach(),
					c.$slider.append(c.$slides)),
				c.cleanUpRows(),
				c.$slider.removeClass('slick-slider'),
				c.$slider.removeClass('slick-initialized'),
				c.$slider.removeClass('slick-dotted'),
				(c.unslicked = !0),
				b || c.$slider.trigger('destroy', [ c ]);
		}),
		(b.prototype.disableTransition = function(a) {
			var b = this,
				c = {};
			(c[b.transitionType] = ''), b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c);
		}),
		(b.prototype.fadeSlide = function(a, b) {
			var c = this;
			c.cssTransitions === !1
				? (c.$slides.eq(a).css({ zIndex: c.options.zIndex }),
					c.$slides.eq(a).animate({ opacity: 1 }, c.options.speed, c.options.easing, b))
				: (c.applyTransition(a),
					c.$slides.eq(a).css({ opacity: 1, zIndex: c.options.zIndex }),
					b &&
						setTimeout(function() {
							c.disableTransition(a), b.call();
						}, c.options.speed));
		}),
		(b.prototype.fadeSlideOut = function(a) {
			var b = this;
			b.cssTransitions === !1
				? b.$slides
						.eq(a)
						.animate({ opacity: 0, zIndex: b.options.zIndex - 2 }, b.options.speed, b.options.easing)
				: (b.applyTransition(a), b.$slides.eq(a).css({ opacity: 0, zIndex: b.options.zIndex - 2 }));
		}),
		(b.prototype.filterSlides = b.prototype.slickFilter = function(a) {
			var b = this;
			null !== a &&
				((b.$slidesCache = b.$slides),
				b.unload(),
				b.$slideTrack.children(this.options.slide).detach(),
				b.$slidesCache.filter(a).appendTo(b.$slideTrack),
				b.reinit());
		}),
		(b.prototype.focusHandler = function() {
			var b = this;
			b.$slider.off('focus.slick blur.slick').on('focus.slick blur.slick', '*:not(.slick-arrow)', function(c) {
				c.stopImmediatePropagation();
				var d = a(this);
				setTimeout(function() {
					b.options.pauseOnFocus && ((b.focussed = d.is(':focus')), b.autoPlay());
				}, 0);
			});
		}),
		(b.prototype.getCurrent = b.prototype.slickCurrentSlide = function() {
			var a = this;
			return a.currentSlide;
		}),
		(b.prototype.getDotCount = function() {
			var a = this,
				b = 0,
				c = 0,
				d = 0;
			if (a.options.infinite === !0)
				for (; b < a.slideCount; )
					++d,
						(b = c + a.options.slidesToScroll),
						(c +=
							a.options.slidesToScroll <= a.options.slidesToShow
								? a.options.slidesToScroll
								: a.options.slidesToShow);
			else if (a.options.centerMode === !0) d = a.slideCount;
			else if (a.options.asNavFor)
				for (; b < a.slideCount; )
					++d,
						(b = c + a.options.slidesToScroll),
						(c +=
							a.options.slidesToScroll <= a.options.slidesToShow
								? a.options.slidesToScroll
								: a.options.slidesToShow);
			else d = 1 + Math.ceil((a.slideCount - a.options.slidesToShow) / a.options.slidesToScroll);
			return d - 1;
		}),
		(b.prototype.getLeft = function(a) {
			var c,
				d,
				f,
				b = this,
				e = 0;
			return (
				(b.slideOffset = 0),
				(d = b.$slides.first().outerHeight(!0)),
				b.options.infinite === !0
					? (b.slideCount > b.options.slidesToShow &&
							((b.slideOffset = b.slideWidth * b.options.slidesToShow * -1),
							(e = d * b.options.slidesToShow * -1)),
						b.slideCount % b.options.slidesToScroll !== 0 &&
							a + b.options.slidesToScroll > b.slideCount &&
							b.slideCount > b.options.slidesToShow &&
							(a > b.slideCount
								? ((b.slideOffset = (b.options.slidesToShow - (a - b.slideCount)) * b.slideWidth * -1),
									(e = (b.options.slidesToShow - (a - b.slideCount)) * d * -1))
								: ((b.slideOffset = (b.slideCount % b.options.slidesToScroll) * b.slideWidth * -1),
									(e = (b.slideCount % b.options.slidesToScroll) * d * -1))))
					: a + b.options.slidesToShow > b.slideCount &&
						((b.slideOffset = (a + b.options.slidesToShow - b.slideCount) * b.slideWidth),
						(e = (a + b.options.slidesToShow - b.slideCount) * d)),
				b.slideCount <= b.options.slidesToShow && ((b.slideOffset = 0), (e = 0)),
				b.options.centerMode === !0 && b.options.infinite === !0
					? (b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2) - b.slideWidth)
					: b.options.centerMode === !0 &&
						((b.slideOffset = 0), (b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2))),
				(c = b.options.vertical === !1 ? a * b.slideWidth * -1 + b.slideOffset : a * d * -1 + e),
				b.options.variableWidth === !0 &&
					((f =
						b.slideCount <= b.options.slidesToShow || b.options.infinite === !1
							? b.$slideTrack.children('.slick-slide').eq(a)
							: b.$slideTrack.children('.slick-slide').eq(a + b.options.slidesToShow)),
					(c =
						b.options.rtl === !0
							? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0
							: f[0] ? -1 * f[0].offsetLeft : 0),
					b.options.centerMode === !0 &&
						((f =
							b.slideCount <= b.options.slidesToShow || b.options.infinite === !1
								? b.$slideTrack.children('.slick-slide').eq(a)
								: b.$slideTrack.children('.slick-slide').eq(a + b.options.slidesToShow + 1)),
						(c =
							b.options.rtl === !0
								? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0
								: f[0] ? -1 * f[0].offsetLeft : 0),
						(c += (b.$list.width() - f.outerWidth()) / 2))),
				c
			);
		}),
		(b.prototype.getOption = b.prototype.slickGetOption = function(a) {
			var b = this;
			return b.options[a];
		}),
		(b.prototype.getNavigableIndexes = function() {
			var e,
				a = this,
				b = 0,
				c = 0,
				d = [];
			for (
				a.options.infinite === !1
					? (e = a.slideCount)
					: ((b = -1 * a.options.slidesToScroll),
						(c = -1 * a.options.slidesToScroll),
						(e = 2 * a.slideCount));
				e > b;

			)
				d.push(b),
					(b = c + a.options.slidesToScroll),
					(c +=
						a.options.slidesToScroll <= a.options.slidesToShow
							? a.options.slidesToScroll
							: a.options.slidesToShow);
			return d;
		}),
		(b.prototype.getSlick = function() {
			return this;
		}),
		(b.prototype.getSlideCount = function() {
			var c,
				d,
				e,
				b = this;
			return (
				(e = b.options.centerMode === !0 ? b.slideWidth * Math.floor(b.options.slidesToShow / 2) : 0),
				b.options.swipeToSlide === !0
					? (b.$slideTrack.find('.slick-slide').each(function(c, f) {
							return f.offsetLeft - e + a(f).outerWidth() / 2 > -1 * b.swipeLeft ? ((d = f), !1) : void 0;
						}),
						(c = Math.abs(a(d).attr('data-slick-index') - b.currentSlide) || 1))
					: b.options.slidesToScroll
			);
		}),
		(b.prototype.goTo = b.prototype.slickGoTo = function(a, b) {
			var c = this;
			c.changeSlide({ data: { message: 'index', index: parseInt(a) } }, b);
		}),
		(b.prototype.init = function(b) {
			var c = this;
			a(c.$slider).hasClass('slick-initialized') ||
				(a(c.$slider).addClass('slick-initialized'),
				c.buildRows(),
				c.buildOut(),
				c.setProps(),
				c.startLoad(),
				c.loadSlider(),
				c.initializeEvents(),
				c.updateArrows(),
				c.updateDots(),
				c.checkResponsive(!0),
				c.focusHandler()),
				b && c.$slider.trigger('init', [ c ]),
				c.options.accessibility === !0 && c.initADA(),
				c.options.autoplay && ((c.paused = !1), c.autoPlay());
		}),
		(b.prototype.initADA = function() {
			var b = this;
			b.$slides
				.add(b.$slideTrack.find('.slick-cloned'))
				.attr({ 'aria-hidden': 'true', tabindex: '-1' })
				.find('a, input, button, select')
				.attr({ tabindex: '-1' }),
				b.$slideTrack.attr('role', 'listbox'),
				b.$slides.not(b.$slideTrack.find('.slick-cloned')).each(function(c) {
					a(this).attr({ role: 'option', 'aria-describedby': 'slick-slide' + b.instanceUid + c });
				}),
				null !== b.$dots &&
					b.$dots
						.attr('role', 'tablist')
						.find('li')
						.each(function(c) {
							a(this).attr({
								role: 'presentation',
								'aria-selected': 'false',
								'aria-controls': 'navigation' + b.instanceUid + c,
								id: 'slick-slide' + b.instanceUid + c
							});
						})
						.first()
						.attr('aria-selected', 'true')
						.end()
						.find('button')
						.attr('role', 'button')
						.end()
						.closest('div')
						.attr('role', 'toolbar'),
				b.activateADA();
		}),
		(b.prototype.initArrowEvents = function() {
			var a = this;
			a.options.arrows === !0 &&
				a.slideCount > a.options.slidesToShow &&
				(a.$prevArrow.off('click.slick').on('click.slick', { message: 'previous' }, a.changeSlide),
				a.$nextArrow.off('click.slick').on('click.slick', { message: 'next' }, a.changeSlide));
		}),
		(b.prototype.initDotEvents = function() {
			var b = this;
			b.options.dots === !0 &&
				b.slideCount > b.options.slidesToShow &&
				a('li', b.$dots).on('click.slick', { message: 'index' }, b.changeSlide),
				b.options.dots === !0 &&
					b.options.pauseOnDotsHover === !0 &&
					a('li', b.$dots)
						.on('mouseenter.slick', a.proxy(b.interrupt, b, !0))
						.on('mouseleave.slick', a.proxy(b.interrupt, b, !1));
		}),
		(b.prototype.initSlideEvents = function() {
			var b = this;
			b.options.pauseOnHover &&
				(b.$list.on('mouseenter.slick', a.proxy(b.interrupt, b, !0)),
				b.$list.on('mouseleave.slick', a.proxy(b.interrupt, b, !1)));
		}),
		(b.prototype.initializeEvents = function() {
			var b = this;
			b.initArrowEvents(),
				b.initDotEvents(),
				b.initSlideEvents(),
				b.$list.on('touchstart.slick mousedown.slick', { action: 'start' }, b.swipeHandler),
				b.$list.on('touchmove.slick mousemove.slick', { action: 'move' }, b.swipeHandler),
				b.$list.on('touchend.slick mouseup.slick', { action: 'end' }, b.swipeHandler),
				b.$list.on('touchcancel.slick mouseleave.slick', { action: 'end' }, b.swipeHandler),
				b.$list.on('click.slick', b.clickHandler),
				a(document).on(b.visibilityChange, a.proxy(b.visibility, b)),
				b.options.accessibility === !0 && b.$list.on('keydown.slick', b.keyHandler),
				b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on('click.slick', b.selectHandler),
				a(window).on('orientationchange.slick.slick-' + b.instanceUid, a.proxy(b.orientationChange, b)),
				a(window).on('resize.slick.slick-' + b.instanceUid, a.proxy(b.resize, b)),
				a('[draggable!=true]', b.$slideTrack).on('dragstart', b.preventDefault),
				a(window).on('load.slick.slick-' + b.instanceUid, b.setPosition),
				a(document).on('ready.slick.slick-' + b.instanceUid, b.setPosition);
		}),
		(b.prototype.initUI = function() {
			var a = this;
			a.options.arrows === !0 &&
				a.slideCount > a.options.slidesToShow &&
				(a.$prevArrow.show(), a.$nextArrow.show()),
				a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.show();
		}),
		(b.prototype.keyHandler = function(a) {
			var b = this;
			a.target.tagName.match('TEXTAREA|INPUT|SELECT') ||
				(37 === a.keyCode && b.options.accessibility === !0
					? b.changeSlide({ data: { message: b.options.rtl === !0 ? 'next' : 'previous' } })
					: 39 === a.keyCode &&
						b.options.accessibility === !0 &&
						b.changeSlide({ data: { message: b.options.rtl === !0 ? 'previous' : 'next' } }));
		}),
		(b.prototype.lazyLoad = function() {
			function g(c) {
				a('img[data-lazy]', c).each(function() {
					var c = a(this),
						d = a(this).attr('data-lazy'),
						e = document.createElement('img');
					(e.onload = function() {
						c.animate({ opacity: 0 }, 100, function() {
							c.attr('src', d).animate({ opacity: 1 }, 200, function() {
								c.removeAttr('data-lazy').removeClass('slick-loading');
							}),
								b.$slider.trigger('lazyLoaded', [ b, c, d ]);
						});
					}),
						(e.onerror = function() {
							c.removeAttr('data-lazy').removeClass('slick-loading').addClass('slick-lazyload-error'),
								b.$slider.trigger('lazyLoadError', [ b, c, d ]);
						}),
						(e.src = d);
				});
			}
			var c,
				d,
				e,
				f,
				b = this;
			b.options.centerMode === !0
				? b.options.infinite === !0
					? ((e = b.currentSlide + (b.options.slidesToShow / 2 + 1)), (f = e + b.options.slidesToShow + 2))
					: ((e = Math.max(0, b.currentSlide - (b.options.slidesToShow / 2 + 1))),
						(f = 2 + (b.options.slidesToShow / 2 + 1) + b.currentSlide))
				: ((e = b.options.infinite ? b.options.slidesToShow + b.currentSlide : b.currentSlide),
					(f = Math.ceil(e + b.options.slidesToShow)),
					b.options.fade === !0 && (e > 0 && e--, f <= b.slideCount && f++)),
				(c = b.$slider.find('.slick-slide').slice(e, f)),
				g(c),
				b.slideCount <= b.options.slidesToShow
					? ((d = b.$slider.find('.slick-slide')), g(d))
					: b.currentSlide >= b.slideCount - b.options.slidesToShow
						? ((d = b.$slider.find('.slick-cloned').slice(0, b.options.slidesToShow)), g(d))
						: 0 === b.currentSlide &&
							((d = b.$slider.find('.slick-cloned').slice(-1 * b.options.slidesToShow)), g(d));
		}),
		(b.prototype.loadSlider = function() {
			var a = this;
			a.setPosition(),
				a.$slideTrack.css({ opacity: 1 }),
				a.$slider.removeClass('slick-loading'),
				a.initUI(),
				'progressive' === a.options.lazyLoad && a.progressiveLazyLoad();
		}),
		(b.prototype.next = b.prototype.slickNext = function() {
			var a = this;
			a.changeSlide({ data: { message: 'next' } });
		}),
		(b.prototype.orientationChange = function() {
			var a = this;
			a.checkResponsive(), a.setPosition();
		}),
		(b.prototype.pause = b.prototype.slickPause = function() {
			var a = this;
			a.autoPlayClear(), (a.paused = !0);
		}),
		(b.prototype.play = b.prototype.slickPlay = function() {
			var a = this;
			a.autoPlay(), (a.options.autoplay = !0), (a.paused = !1), (a.focussed = !1), (a.interrupted = !1);
		}),
		(b.prototype.postSlide = function(a) {
			var b = this;
			b.unslicked ||
				(b.$slider.trigger('afterChange', [ b, a ]),
				(b.animating = !1),
				b.setPosition(),
				(b.swipeLeft = null),
				b.options.autoplay && b.autoPlay(),
				b.options.accessibility === !0 && b.initADA());
		}),
		(b.prototype.prev = b.prototype.slickPrev = function() {
			var a = this;
			a.changeSlide({ data: { message: 'previous' } });
		}),
		(b.prototype.preventDefault = function(a) {
			a.preventDefault();
		}),
		(b.prototype.progressiveLazyLoad = function(b) {
			b = b || 1;
			var e,
				f,
				g,
				c = this,
				d = a('img[data-lazy]', c.$slider);
			d.length
				? ((e = d.first()),
					(f = e.attr('data-lazy')),
					(g = document.createElement('img')),
					(g.onload = function() {
						e.attr('src', f).removeAttr('data-lazy').removeClass('slick-loading'),
							c.options.adaptiveHeight === !0 && c.setPosition(),
							c.$slider.trigger('lazyLoaded', [ c, e, f ]),
							c.progressiveLazyLoad();
					}),
					(g.onerror = function() {
						3 > b
							? setTimeout(function() {
									c.progressiveLazyLoad(b + 1);
								}, 500)
							: (e.removeAttr('data-lazy').removeClass('slick-loading').addClass('slick-lazyload-error'),
								c.$slider.trigger('lazyLoadError', [ c, e, f ]),
								c.progressiveLazyLoad());
					}),
					(g.src = f))
				: c.$slider.trigger('allImagesLoaded', [ c ]);
		}),
		(b.prototype.refresh = function(b) {
			var d,
				e,
				c = this;
			(e = c.slideCount - c.options.slidesToShow),
				!c.options.infinite && c.currentSlide > e && (c.currentSlide = e),
				c.slideCount <= c.options.slidesToShow && (c.currentSlide = 0),
				(d = c.currentSlide),
				c.destroy(!0),
				a.extend(c, c.initials, { currentSlide: d }),
				c.init(),
				b || c.changeSlide({ data: { message: 'index', index: d } }, !1);
		}),
		(b.prototype.registerBreakpoints = function() {
			var c,
				d,
				e,
				b = this,
				f = b.options.responsive || null;
			if ('array' === a.type(f) && f.length) {
				b.respondTo = b.options.respondTo || 'window';
				for (c in f)
					if (((e = b.breakpoints.length - 1), (d = f[c].breakpoint), f.hasOwnProperty(c))) {
						for (; e >= 0; ) b.breakpoints[e] && b.breakpoints[e] === d && b.breakpoints.splice(e, 1), e--;
						b.breakpoints.push(d), (b.breakpointSettings[d] = f[c].settings);
					}
				b.breakpoints.sort(function(a, c) {
					return b.options.mobileFirst ? a - c : c - a;
				});
			}
		}),
		(b.prototype.reinit = function() {
			var b = this;
			(b.$slides = b.$slideTrack.children(b.options.slide).addClass('slick-slide')),
				(b.slideCount = b.$slides.length),
				b.currentSlide >= b.slideCount &&
					0 !== b.currentSlide &&
					(b.currentSlide = b.currentSlide - b.options.slidesToScroll),
				b.slideCount <= b.options.slidesToShow && (b.currentSlide = 0),
				b.registerBreakpoints(),
				b.setProps(),
				b.setupInfinite(),
				b.buildArrows(),
				b.updateArrows(),
				b.initArrowEvents(),
				b.buildDots(),
				b.updateDots(),
				b.initDotEvents(),
				b.cleanUpSlideEvents(),
				b.initSlideEvents(),
				b.checkResponsive(!1, !0),
				b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on('click.slick', b.selectHandler),
				b.setSlideClasses('number' == typeof b.currentSlide ? b.currentSlide : 0),
				b.setPosition(),
				b.focusHandler(),
				(b.paused = !b.options.autoplay),
				b.autoPlay(),
				b.$slider.trigger('reInit', [ b ]);
		}),
		(b.prototype.resize = function() {
			var b = this;
			a(window).width() !== b.windowWidth &&
				(clearTimeout(b.windowDelay),
				(b.windowDelay = window.setTimeout(function() {
					(b.windowWidth = a(window).width()), b.checkResponsive(), b.unslicked || b.setPosition();
				}, 50)));
		}),
		(b.prototype.removeSlide = b.prototype.slickRemove = function(a, b, c) {
			var d = this;
			return (
				'boolean' == typeof a ? ((b = a), (a = b === !0 ? 0 : d.slideCount - 1)) : (a = b === !0 ? --a : a),
				d.slideCount < 1 || 0 > a || a > d.slideCount - 1
					? !1
					: (d.unload(),
						c === !0
							? d.$slideTrack.children().remove()
							: d.$slideTrack.children(this.options.slide).eq(a).remove(),
						(d.$slides = d.$slideTrack.children(this.options.slide)),
						d.$slideTrack.children(this.options.slide).detach(),
						d.$slideTrack.append(d.$slides),
						(d.$slidesCache = d.$slides),
						void d.reinit())
			);
		}),
		(b.prototype.setCSS = function(a) {
			var d,
				e,
				b = this,
				c = {};
			b.options.rtl === !0 && (a = -a),
				(d = 'left' == b.positionProp ? Math.ceil(a) + 'px' : '0px'),
				(e = 'top' == b.positionProp ? Math.ceil(a) + 'px' : '0px'),
				(c[b.positionProp] = a),
				b.transformsEnabled === !1
					? b.$slideTrack.css(c)
					: ((c = {}),
						b.cssTransitions === !1
							? ((c[b.animType] = 'translate(' + d + ', ' + e + ')'), b.$slideTrack.css(c))
							: ((c[b.animType] = 'translate3d(' + d + ', ' + e + ', 0px)'), b.$slideTrack.css(c)));
		}),
		(b.prototype.setDimensions = function() {
			var a = this;
			a.options.vertical === !1
				? a.options.centerMode === !0 && a.$list.css({ padding: '0px ' + a.options.centerPadding })
				: (a.$list.height(a.$slides.first().outerHeight(!0) * a.options.slidesToShow),
					a.options.centerMode === !0 && a.$list.css({ padding: a.options.centerPadding + ' 0px' })),
				(a.listWidth = a.$list.width()),
				(a.listHeight = a.$list.height()),
				a.options.vertical === !1 && a.options.variableWidth === !1
					? ((a.slideWidth = Math.ceil(a.listWidth / a.options.slidesToShow)),
						a.$slideTrack.width(Math.ceil(a.slideWidth * a.$slideTrack.children('.slick-slide').length)))
					: a.options.variableWidth === !0
						? a.$slideTrack.width(5e3 * a.slideCount)
						: ((a.slideWidth = Math.ceil(a.listWidth)),
							a.$slideTrack.height(
								Math.ceil(a.$slides.first().outerHeight(!0) * a.$slideTrack.children('.slick-slide').length)
							));
			var b = a.$slides.first().outerWidth(!0) - a.$slides.first().width();
			a.options.variableWidth === !1 && a.$slideTrack.children('.slick-slide').width(a.slideWidth - b);
		}),
		(b.prototype.setFade = function() {
			var c,
				b = this;
			b.$slides.each(function(d, e) {
				(c = b.slideWidth * d * -1),
					b.options.rtl === !0
						? a(e).css({ position: 'relative', right: c, top: 0, zIndex: b.options.zIndex - 2, opacity: 0 })
						: a(e).css({ position: 'relative', left: c, top: 0, zIndex: b.options.zIndex - 2, opacity: 0 });
			}),
				b.$slides.eq(b.currentSlide).css({ zIndex: b.options.zIndex - 1, opacity: 1 });
		}),
		(b.prototype.setHeight = function() {
			var a = this;
			if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) {
				var b = a.$slides.eq(a.currentSlide).outerHeight(!0);
				a.$list.css('height', b);
			}
		}),
		(b.prototype.setOption = b.prototype.slickSetOption = function() {
			var c,
				d,
				e,
				f,
				h,
				b = this,
				g = !1;
			if (
				('object' === a.type(arguments[0])
					? ((e = arguments[0]), (g = arguments[1]), (h = 'multiple'))
					: 'string' === a.type(arguments[0]) &&
						((e = arguments[0]),
						(f = arguments[1]),
						(g = arguments[2]),
						'responsive' === arguments[0] && 'array' === a.type(arguments[1])
							? (h = 'responsive')
							: 'undefined' != typeof arguments[1] && (h = 'single')),
				'single' === h)
			)
				b.options[e] = f;
			else if ('multiple' === h)
				a.each(e, function(a, c) {
					b.options[a] = c;
				});
			else if ('responsive' === h)
				for (d in f)
					if ('array' !== a.type(b.options.responsive)) b.options.responsive = [ f[d] ];
					else {
						for (c = b.options.responsive.length - 1; c >= 0; )
							b.options.responsive[c].breakpoint === f[d].breakpoint && b.options.responsive.splice(c, 1),
								c--;
						b.options.responsive.push(f[d]);
					}
			g && (b.unload(), b.reinit());
		}),
		(b.prototype.setPosition = function() {
			var a = this;
			a.setDimensions(),
				a.setHeight(),
				a.options.fade === !1 ? a.setCSS(a.getLeft(a.currentSlide)) : a.setFade(),
				a.$slider.trigger('setPosition', [ a ]);
		}),
		(b.prototype.setProps = function() {
			var a = this,
				b = document.body.style;
			(a.positionProp = a.options.vertical === !0 ? 'top' : 'left'),
				'top' === a.positionProp
					? a.$slider.addClass('slick-vertical')
					: a.$slider.removeClass('slick-vertical'),
				(void 0 !== b.WebkitTransition || void 0 !== b.MozTransition || void 0 !== b.msTransition) &&
					a.options.useCSS === !0 &&
					(a.cssTransitions = !0),
				a.options.fade &&
					('number' == typeof a.options.zIndex
						? a.options.zIndex < 3 && (a.options.zIndex = 3)
						: (a.options.zIndex = a.defaults.zIndex)),
				void 0 !== b.OTransform &&
					((a.animType = 'OTransform'),
					(a.transformType = '-o-transform'),
					(a.transitionType = 'OTransition'),
					void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)),
				void 0 !== b.MozTransform &&
					((a.animType = 'MozTransform'),
					(a.transformType = '-moz-transform'),
					(a.transitionType = 'MozTransition'),
					void 0 === b.perspectiveProperty && void 0 === b.MozPerspective && (a.animType = !1)),
				void 0 !== b.webkitTransform &&
					((a.animType = 'webkitTransform'),
					(a.transformType = '-webkit-transform'),
					(a.transitionType = 'webkitTransition'),
					void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)),
				void 0 !== b.msTransform &&
					((a.animType = 'msTransform'),
					(a.transformType = '-ms-transform'),
					(a.transitionType = 'msTransition'),
					void 0 === b.msTransform && (a.animType = !1)),
				void 0 !== b.transform &&
					a.animType !== !1 &&
					((a.animType = 'transform'), (a.transformType = 'transform'), (a.transitionType = 'transition')),
				(a.transformsEnabled = a.options.useTransform && null !== a.animType && a.animType !== !1);
		}),
		(b.prototype.setSlideClasses = function(a) {
			var c,
				d,
				e,
				f,
				b = this;
			(d = b.$slider
				.find('.slick-slide')
				.removeClass('slick-active slick-center slick-current')
				.attr('aria-hidden', 'true')),
				b.$slides.eq(a).addClass('slick-current'),
				b.options.centerMode === !0
					? ((c = Math.floor(b.options.slidesToShow / 2)),
						b.options.infinite === !0 &&
							(a >= c && a <= b.slideCount - 1 - c
								? b.$slides.slice(a - c, a + c + 1).addClass('slick-active').attr('aria-hidden', 'false')
								: ((e = b.options.slidesToShow + a),
									d.slice(e - c + 1, e + c + 2).addClass('slick-active').attr('aria-hidden', 'false')),
							0 === a
								? d.eq(d.length - 1 - b.options.slidesToShow).addClass('slick-center')
								: a === b.slideCount - 1 && d.eq(b.options.slidesToShow).addClass('slick-center')),
						b.$slides.eq(a).addClass('slick-center'))
					: a >= 0 && a <= b.slideCount - b.options.slidesToShow
						? b.$slides
								.slice(a, a + b.options.slidesToShow)
								.addClass('slick-active')
								.attr('aria-hidden', 'false')
						: d.length <= b.options.slidesToShow
							? d.addClass('slick-active').attr('aria-hidden', 'false')
							: ((f = b.slideCount % b.options.slidesToShow),
								(e = b.options.infinite === !0 ? b.options.slidesToShow + a : a),
								b.options.slidesToShow == b.options.slidesToScroll &&
								b.slideCount - a < b.options.slidesToShow
									? d
											.slice(e - (b.options.slidesToShow - f), e + f)
											.addClass('slick-active')
											.attr('aria-hidden', 'false')
									: d
											.slice(e, e + b.options.slidesToShow)
											.addClass('slick-active')
											.attr('aria-hidden', 'false')),
				'ondemand' === b.options.lazyLoad && b.lazyLoad();
		}),
		(b.prototype.setupInfinite = function() {
			var c,
				d,
				e,
				b = this;
			if (
				(b.options.fade === !0 && (b.options.centerMode = !1),
				b.options.infinite === !0 &&
					b.options.fade === !1 &&
					((d = null), b.slideCount > b.options.slidesToShow))
			) {
				for (
					e = b.options.centerMode === !0 ? b.options.slidesToShow + 1 : b.options.slidesToShow,
						c = b.slideCount;
					c > b.slideCount - e;
					c -= 1
				)
					(d = c - 1),
						a(b.$slides[d])
							.clone(!0)
							.attr('id', '')
							.attr('data-slick-index', d - b.slideCount)
							.prependTo(b.$slideTrack)
							.addClass('slick-cloned');
				for (c = 0; e > c; c += 1)
					(d = c),
						a(b.$slides[d])
							.clone(!0)
							.attr('id', '')
							.attr('data-slick-index', d + b.slideCount)
							.appendTo(b.$slideTrack)
							.addClass('slick-cloned');
				b.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
					a(this).attr('id', '');
				});
			}
		}),
		(b.prototype.interrupt = function(a) {
			var b = this;
			a || b.autoPlay(), (b.interrupted = a);
		}),
		(b.prototype.selectHandler = function(b) {
			var c = this,
				d = a(b.target).is('.slick-slide') ? a(b.target) : a(b.target).parents('.slick-slide'),
				e = parseInt(d.attr('data-slick-index'));
			return (
				e || (e = 0),
				c.slideCount <= c.options.slidesToShow
					? (c.setSlideClasses(e), void c.asNavFor(e))
					: void c.slideHandler(e)
			);
		}),
		(b.prototype.slideHandler = function(a, b, c) {
			var d,
				e,
				f,
				g,
				j,
				h = null,
				i = this;
			return (
				(b = b || !1),
				(i.animating === !0 && i.options.waitForAnimate === !0) ||
				(i.options.fade === !0 && i.currentSlide === a) ||
				i.slideCount <= i.options.slidesToShow
					? void 0
					: (b === !1 && i.asNavFor(a),
						(d = a),
						(h = i.getLeft(d)),
						(g = i.getLeft(i.currentSlide)),
						(i.currentLeft = null === i.swipeLeft ? g : i.swipeLeft),
						i.options.infinite === !1 &&
						i.options.centerMode === !1 &&
						(0 > a || a > i.getDotCount() * i.options.slidesToScroll)
							? void (
									i.options.fade === !1 &&
									((d = i.currentSlide),
									c !== !0
										? i.animateSlide(g, function() {
												i.postSlide(d);
											})
										: i.postSlide(d))
								)
							: i.options.infinite === !1 &&
								i.options.centerMode === !0 &&
								(0 > a || a > i.slideCount - i.options.slidesToScroll)
								? void (
										i.options.fade === !1 &&
										((d = i.currentSlide),
										c !== !0
											? i.animateSlide(g, function() {
													i.postSlide(d);
												})
											: i.postSlide(d))
									)
								: (i.options.autoplay && clearInterval(i.autoPlayTimer),
									(e =
										0 > d
											? i.slideCount % i.options.slidesToScroll !== 0
												? i.slideCount - i.slideCount % i.options.slidesToScroll
												: i.slideCount + d
											: d >= i.slideCount
												? i.slideCount % i.options.slidesToScroll !== 0 ? 0 : d - i.slideCount
												: d),
									(i.animating = !0),
									i.$slider.trigger('beforeChange', [ i, i.currentSlide, e ]),
									(f = i.currentSlide),
									(i.currentSlide = e),
									i.setSlideClasses(i.currentSlide),
									i.options.asNavFor &&
										((j = i.getNavTarget()),
										(j = j.slick('getSlick')),
										j.slideCount <= j.options.slidesToShow && j.setSlideClasses(i.currentSlide)),
									i.updateDots(),
									i.updateArrows(),
									i.options.fade === !0
										? (c !== !0
												? (i.fadeSlideOut(f),
													i.fadeSlide(e, function() {
														i.postSlide(e);
													}))
												: i.postSlide(e),
											void i.animateHeight())
										: void (c !== !0
												? i.animateSlide(h, function() {
														i.postSlide(e);
													})
												: i.postSlide(e))))
			);
		}),
		(b.prototype.startLoad = function() {
			var a = this;
			a.options.arrows === !0 &&
				a.slideCount > a.options.slidesToShow &&
				(a.$prevArrow.hide(), a.$nextArrow.hide()),
				a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.hide(),
				a.$slider.addClass('slick-loading');
		}),
		(b.prototype.swipeDirection = function() {
			var a,
				b,
				c,
				d,
				e = this;
			return (
				(a = e.touchObject.startX - e.touchObject.curX),
				(b = e.touchObject.startY - e.touchObject.curY),
				(c = Math.atan2(b, a)),
				(d = Math.round(180 * c / Math.PI)),
				0 > d && (d = 360 - Math.abs(d)),
				45 >= d && d >= 0
					? e.options.rtl === !1 ? 'left' : 'right'
					: 360 >= d && d >= 315
						? e.options.rtl === !1 ? 'left' : 'right'
						: d >= 135 && 225 >= d
							? e.options.rtl === !1 ? 'right' : 'left'
							: e.options.verticalSwiping === !0 ? (d >= 35 && 135 >= d ? 'down' : 'up') : 'vertical'
			);
		}),
		(b.prototype.swipeEnd = function(a) {
			var c,
				d,
				b = this;
			if (
				((b.dragging = !1),
				(b.interrupted = !1),
				(b.shouldClick = b.touchObject.swipeLength > 10 ? !1 : !0),
				void 0 === b.touchObject.curX)
			)
				return !1;
			if (
				(b.touchObject.edgeHit === !0 && b.$slider.trigger('edge', [ b, b.swipeDirection() ]),
				b.touchObject.swipeLength >= b.touchObject.minSwipe)
			) {
				switch ((d = b.swipeDirection())) {
					case 'left':
					case 'down':
						(c = b.options.swipeToSlide
							? b.checkNavigable(b.currentSlide + b.getSlideCount())
							: b.currentSlide + b.getSlideCount()),
							(b.currentDirection = 0);
						break;
					case 'right':
					case 'up':
						(c = b.options.swipeToSlide
							? b.checkNavigable(b.currentSlide - b.getSlideCount())
							: b.currentSlide - b.getSlideCount()),
							(b.currentDirection = 1);
				}
				'vertical' != d && (b.slideHandler(c), (b.touchObject = {}), b.$slider.trigger('swipe', [ b, d ]));
			} else
				b.touchObject.startX !== b.touchObject.curX && (b.slideHandler(b.currentSlide), (b.touchObject = {}));
		}),
		(b.prototype.swipeHandler = function(a) {
			var b = this;
			if (
				!(
					b.options.swipe === !1 ||
					('ontouchend' in document && b.options.swipe === !1) ||
					(b.options.draggable === !1 && -1 !== a.type.indexOf('mouse'))
				)
			)
				switch (((b.touchObject.fingerCount =
					a.originalEvent && void 0 !== a.originalEvent.touches ? a.originalEvent.touches.length : 1),
				(b.touchObject.minSwipe = b.listWidth / b.options.touchThreshold),
				b.options.verticalSwiping === !0 && (b.touchObject.minSwipe = b.listHeight / b.options.touchThreshold),
				a.data.action)) {
					case 'start':
						b.swipeStart(a);
						break;
					case 'move':
						b.swipeMove(a);
						break;
					case 'end':
						b.swipeEnd(a);
				}
		}),
		(b.prototype.swipeMove = function(a) {
			var d,
				e,
				f,
				g,
				h,
				b = this;
			return (
				(h = void 0 !== a.originalEvent ? a.originalEvent.touches : null),
				!b.dragging || (h && 1 !== h.length)
					? !1
					: ((d = b.getLeft(b.currentSlide)),
						(b.touchObject.curX = void 0 !== h ? h[0].pageX : a.clientX),
						(b.touchObject.curY = void 0 !== h ? h[0].pageY : a.clientY),
						(b.touchObject.swipeLength = Math.round(
							Math.sqrt(Math.pow(b.touchObject.curX - b.touchObject.startX, 2))
						)),
						b.options.verticalSwiping === !0 &&
							(b.touchObject.swipeLength = Math.round(
								Math.sqrt(Math.pow(b.touchObject.curY - b.touchObject.startY, 2))
							)),
						(e = b.swipeDirection()),
						'vertical' !== e
							? (void 0 !== a.originalEvent && b.touchObject.swipeLength > 4 && a.preventDefault(),
								(g =
									(b.options.rtl === !1 ? 1 : -1) * (b.touchObject.curX > b.touchObject.startX ? 1 : -1)),
								b.options.verticalSwiping === !0 &&
									(g = b.touchObject.curY > b.touchObject.startY ? 1 : -1),
								(f = b.touchObject.swipeLength),
								(b.touchObject.edgeHit = !1),
								b.options.infinite === !1 &&
									((0 === b.currentSlide && 'right' === e) ||
										(b.currentSlide >= b.getDotCount() && 'left' === e)) &&
									((f = b.touchObject.swipeLength * b.options.edgeFriction),
									(b.touchObject.edgeHit = !0)),
								b.options.vertical === !1
									? (b.swipeLeft = d + f * g)
									: (b.swipeLeft = d + f * (b.$list.height() / b.listWidth) * g),
								b.options.verticalSwiping === !0 && (b.swipeLeft = d + f * g),
								b.options.fade === !0 || b.options.touchMove === !1
									? !1
									: b.animating === !0 ? ((b.swipeLeft = null), !1) : void b.setCSS(b.swipeLeft))
							: void 0)
			);
		}),
		(b.prototype.swipeStart = function(a) {
			var c,
				b = this;
			return (
				(b.interrupted = !0),
				1 !== b.touchObject.fingerCount || b.slideCount <= b.options.slidesToShow
					? ((b.touchObject = {}), !1)
					: (void 0 !== a.originalEvent &&
							void 0 !== a.originalEvent.touches &&
							(c = a.originalEvent.touches[0]),
						(b.touchObject.startX = b.touchObject.curX = void 0 !== c ? c.pageX : a.clientX),
						(b.touchObject.startY = b.touchObject.curY = void 0 !== c ? c.pageY : a.clientY),
						void (b.dragging = !0))
			);
		}),
		(b.prototype.unfilterSlides = b.prototype.slickUnfilter = function() {
			var a = this;
			null !== a.$slidesCache &&
				(a.unload(),
				a.$slideTrack.children(this.options.slide).detach(),
				a.$slidesCache.appendTo(a.$slideTrack),
				a.reinit());
		}),
		(b.prototype.unload = function() {
			var b = this;
			a('.slick-cloned', b.$slider).remove(),
				b.$dots && b.$dots.remove(),
				b.$prevArrow && b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.remove(),
				b.$nextArrow && b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.remove(),
				b.$slides
					.removeClass('slick-slide slick-active slick-visible slick-current')
					.attr('aria-hidden', 'true')
					.css('width', '');
		}),
		(b.prototype.unslick = function(a) {
			var b = this;
			b.$slider.trigger('unslick', [ b, a ]), b.destroy();
		}),
		(b.prototype.updateArrows = function() {
			var b,
				a = this;
			(b = Math.floor(a.options.slidesToShow / 2)),
				a.options.arrows === !0 &&
					a.slideCount > a.options.slidesToShow &&
					!a.options.infinite &&
					(a.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'),
					a.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'),
					0 === a.currentSlide
						? (a.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'),
							a.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'))
						: a.currentSlide >= a.slideCount - a.options.slidesToShow && a.options.centerMode === !1
							? (a.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'),
								a.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'))
							: a.currentSlide >= a.slideCount - 1 &&
								a.options.centerMode === !0 &&
								(a.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'),
								a.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false')));
		}),
		(b.prototype.updateDots = function() {
			var a = this;
			null !== a.$dots &&
				(a.$dots.find('li').removeClass('slick-active').attr('aria-hidden', 'true'),
				a.$dots
					.find('li')
					.eq(Math.floor(a.currentSlide / a.options.slidesToScroll))
					.addClass('slick-active')
					.attr('aria-hidden', 'false'));
		}),
		(b.prototype.visibility = function() {
			var a = this;
			a.options.autoplay && (document[a.hidden] ? (a.interrupted = !0) : (a.interrupted = !1));
		}),
		(a.fn.slick = function() {
			var f,
				g,
				a = this,
				c = arguments[0],
				d = Array.prototype.slice.call(arguments, 1),
				e = a.length;
			for (f = 0; e > f; f++)
				if (
					('object' == typeof c || 'undefined' == typeof c
						? (a[f].slick = new b(a[f], c))
						: (g = a[f].slick[c].apply(a[f].slick, d)),
					'undefined' != typeof g)
				)
					return g;
			return a;
		});
});

/*******************************
04. jQuery UI / price range 
********************************/

/*! jQuery UI - v1.11.4 - 2016-06-07
* http://jqueryui.com
* Includes: core.js, widget.js, mouse.js, slider.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */

(function(e) {
	'function' == typeof define && define.amd ? define([ 'jquery' ], e) : e(jQuery);
})(function(e) {
	function t(t, s) {
		var n,
			a,
			o,
			r = t.nodeName.toLowerCase();
		return 'area' === r
			? ((n = t.parentNode),
				(a = n.name),
				t.href && a && 'map' === n.nodeName.toLowerCase()
					? ((o = e("img[usemap='#" + a + "']")[0]), !!o && i(o))
					: !1)
			: (/^(input|select|textarea|button|object)$/.test(r) ? !t.disabled : 'a' === r ? t.href || s : s) && i(t);
	}
	function i(t) {
		return (
			e.expr.filters.visible(t) &&
			!e(t).parents().addBack().filter(function() {
				return 'hidden' === e.css(this, 'visibility');
			}).length
		);
	}
	(e.ui = e.ui || {}),
		e.extend(e.ui, {
			version: '1.11.4',
			keyCode: {
				BACKSPACE: 8,
				COMMA: 188,
				DELETE: 46,
				DOWN: 40,
				END: 35,
				ENTER: 13,
				ESCAPE: 27,
				HOME: 36,
				LEFT: 37,
				PAGE_DOWN: 34,
				PAGE_UP: 33,
				PERIOD: 190,
				RIGHT: 39,
				SPACE: 32,
				TAB: 9,
				UP: 38
			}
		}),
		e.fn.extend({
			scrollParent: function(t) {
				var i = this.css('position'),
					s = 'absolute' === i,
					n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
					a = this.parents()
						.filter(function() {
							var t = e(this);
							return s && 'static' === t.css('position')
								? !1
								: n.test(t.css('overflow') + t.css('overflow-y') + t.css('overflow-x'));
						})
						.eq(0);
				return 'fixed' !== i && a.length ? a : e(this[0].ownerDocument || document);
			},
			uniqueId: (function() {
				var e = 0;
				return function() {
					return this.each(function() {
						this.id || (this.id = 'ui-id-' + ++e);
					});
				};
			})(),
			removeUniqueId: function() {
				return this.each(function() {
					/^ui-id-\d+$/.test(this.id) && e(this).removeAttr('id');
				});
			}
		}),
		e.extend(e.expr[':'], {
			data: e.expr.createPseudo
				? e.expr.createPseudo(function(t) {
						return function(i) {
							return !!e.data(i, t);
						};
					})
				: function(t, i, s) {
						return !!e.data(t, s[3]);
					},
			focusable: function(i) {
				return t(i, !isNaN(e.attr(i, 'tabindex')));
			},
			tabbable: function(i) {
				var s = e.attr(i, 'tabindex'),
					n = isNaN(s);
				return (n || s >= 0) && t(i, !n);
			}
		}),
		e('<a>').outerWidth(1).jquery ||
			e.each([ 'Width', 'Height' ], function(t, i) {
				function s(t, i, s, a) {
					return (
						e.each(n, function() {
							(i -= parseFloat(e.css(t, 'padding' + this)) || 0),
								s && (i -= parseFloat(e.css(t, 'border' + this + 'Width')) || 0),
								a && (i -= parseFloat(e.css(t, 'margin' + this)) || 0);
						}),
						i
					);
				}
				var n = 'Width' === i ? [ 'Left', 'Right' ] : [ 'Top', 'Bottom' ],
					a = i.toLowerCase(),
					o = {
						innerWidth: e.fn.innerWidth,
						innerHeight: e.fn.innerHeight,
						outerWidth: e.fn.outerWidth,
						outerHeight: e.fn.outerHeight
					};
				(e.fn['inner' + i] = function(t) {
					return void 0 === t
						? o['inner' + i].call(this)
						: this.each(function() {
								e(this).css(a, s(this, t) + 'px');
							});
				}),
					(e.fn['outer' + i] = function(t, n) {
						return 'number' != typeof t
							? o['outer' + i].call(this, t)
							: this.each(function() {
									e(this).css(a, s(this, t, !0, n) + 'px');
								});
					});
			}),
		e.fn.addBack ||
			(e.fn.addBack = function(e) {
				return this.add(null == e ? this.prevObject : this.prevObject.filter(e));
			}),
		e('<a>').data('a-b', 'a').removeData('a-b').data('a-b') &&
			(e.fn.removeData = (function(t) {
				return function(i) {
					return arguments.length ? t.call(this, e.camelCase(i)) : t.call(this);
				};
			})(e.fn.removeData)),
		(e.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase())),
		e.fn.extend({
			focus: (function(t) {
				return function(i, s) {
					return 'number' == typeof i
						? this.each(function() {
								var t = this;
								setTimeout(function() {
									e(t).focus(), s && s.call(t);
								}, i);
							})
						: t.apply(this, arguments);
				};
			})(e.fn.focus),
			disableSelection: (function() {
				var e = 'onselectstart' in document.createElement('div') ? 'selectstart' : 'mousedown';
				return function() {
					return this.bind(e + '.ui-disableSelection', function(e) {
						e.preventDefault();
					});
				};
			})(),
			enableSelection: function() {
				return this.unbind('.ui-disableSelection');
			},
			zIndex: function(t) {
				if (void 0 !== t) return this.css('zIndex', t);
				if (this.length)
					for (var i, s, n = e(this[0]); n.length && n[0] !== document; ) {
						if (
							((i = n.css('position')),
							('absolute' === i || 'relative' === i || 'fixed' === i) &&
								((s = parseInt(n.css('zIndex'), 10)), !isNaN(s) && 0 !== s))
						)
							return s;
						n = n.parent();
					}
				return 0;
			}
		}),
		(e.ui.plugin = {
			add: function(t, i, s) {
				var n,
					a = e.ui[t].prototype;
				for (n in s) (a.plugins[n] = a.plugins[n] || []), a.plugins[n].push([ i, s[n] ]);
			},
			call: function(e, t, i, s) {
				var n,
					a = e.plugins[t];
				if (a && (s || (e.element[0].parentNode && 11 !== e.element[0].parentNode.nodeType)))
					for (n = 0; a.length > n; n++) e.options[a[n][0]] && a[n][1].apply(e.element, i);
			}
		});
	var s = 0,
		n = Array.prototype.slice;
	(e.cleanData = (function(t) {
		return function(i) {
			var s, n, a;
			for (a = 0; null != (n = i[a]); a++)
				try {
					(s = e._data(n, 'events')), s && s.remove && e(n).triggerHandler('remove');
				} catch (o) {}
			t(i);
		};
	})(e.cleanData)),
		(e.widget = function(t, i, s) {
			var n,
				a,
				o,
				r,
				h = {},
				l = t.split('.')[0];
			return (
				(t = t.split('.')[1]),
				(n = l + '-' + t),
				s || ((s = i), (i = e.Widget)),
				(e.expr[':'][n.toLowerCase()] = function(t) {
					return !!e.data(t, n);
				}),
				(e[l] = e[l] || {}),
				(a = e[l][t]),
				(o = e[l][t] = function(e, t) {
					return this._createWidget ? (arguments.length && this._createWidget(e, t), void 0) : new o(e, t);
				}),
				e.extend(o, a, { version: s.version, _proto: e.extend({}, s), _childConstructors: [] }),
				(r = new i()),
				(r.options = e.widget.extend({}, r.options)),
				e.each(s, function(t, s) {
					return e.isFunction(s)
						? ((h[t] = (function() {
								var e = function() {
										return i.prototype[t].apply(this, arguments);
									},
									n = function(e) {
										return i.prototype[t].apply(this, e);
									};
								return function() {
									var t,
										i = this._super,
										a = this._superApply;
									return (
										(this._super = e),
										(this._superApply = n),
										(t = s.apply(this, arguments)),
										(this._super = i),
										(this._superApply = a),
										t
									);
								};
							})()),
							void 0)
						: ((h[t] = s), void 0);
				}),
				(o.prototype = e.widget.extend(r, { widgetEventPrefix: a ? r.widgetEventPrefix || t : t }, h, {
					constructor: o,
					namespace: l,
					widgetName: t,
					widgetFullName: n
				})),
				a
					? (e.each(a._childConstructors, function(t, i) {
							var s = i.prototype;
							e.widget(s.namespace + '.' + s.widgetName, o, i._proto);
						}),
						delete a._childConstructors)
					: i._childConstructors.push(o),
				e.widget.bridge(t, o),
				o
			);
		}),
		(e.widget.extend = function(t) {
			for (var i, s, a = n.call(arguments, 1), o = 0, r = a.length; r > o; o++)
				for (i in a[o])
					(s = a[o][i]),
						a[o].hasOwnProperty(i) &&
							void 0 !== s &&
							(t[i] = e.isPlainObject(s)
								? e.isPlainObject(t[i]) ? e.widget.extend({}, t[i], s) : e.widget.extend({}, s)
								: s);
			return t;
		}),
		(e.widget.bridge = function(t, i) {
			var s = i.prototype.widgetFullName || t;
			e.fn[t] = function(a) {
				var o = 'string' == typeof a,
					r = n.call(arguments, 1),
					h = this;
				return (
					o
						? this.each(function() {
								var i,
									n = e.data(this, s);
								return 'instance' === a
									? ((h = n), !1)
									: n
										? e.isFunction(n[a]) && '_' !== a.charAt(0)
											? ((i = n[a].apply(n, r)),
												i !== n && void 0 !== i
													? ((h = i && i.jquery ? h.pushStack(i.get()) : i), !1)
													: void 0)
											: e.error("no such method '" + a + "' for " + t + ' widget instance')
										: e.error(
												'cannot call methods on ' +
													t +
													' prior to initialization; ' +
													"attempted to call method '" +
													a +
													"'"
											);
							})
						: (r.length && (a = e.widget.extend.apply(null, [ a ].concat(r))),
							this.each(function() {
								var t = e.data(this, s);
								t ? (t.option(a || {}), t._init && t._init()) : e.data(this, s, new i(a, this));
							})),
					h
				);
			};
		}),
		(e.Widget = function() {}),
		(e.Widget._childConstructors = []),
		(e.Widget.prototype = {
			widgetName: 'widget',
			widgetEventPrefix: '',
			defaultElement: '<div>',
			options: { disabled: !1, create: null },
			_createWidget: function(t, i) {
				(i = e(i || this.defaultElement || this)[0]),
					(this.element = e(i)),
					(this.uuid = s++),
					(this.eventNamespace = '.' + this.widgetName + this.uuid),
					(this.bindings = e()),
					(this.hoverable = e()),
					(this.focusable = e()),
					i !== this &&
						(e.data(i, this.widgetFullName, this),
						this._on(!0, this.element, {
							remove: function(e) {
								e.target === i && this.destroy();
							}
						}),
						(this.document = e(i.style ? i.ownerDocument : i.document || i)),
						(this.window = e(this.document[0].defaultView || this.document[0].parentWindow))),
					(this.options = e.widget.extend({}, this.options, this._getCreateOptions(), t)),
					this._create(),
					this._trigger('create', null, this._getCreateEventData()),
					this._init();
			},
			_getCreateOptions: e.noop,
			_getCreateEventData: e.noop,
			_create: e.noop,
			_init: e.noop,
			destroy: function() {
				this._destroy(),
					this.element
						.unbind(this.eventNamespace)
						.removeData(this.widgetFullName)
						.removeData(e.camelCase(this.widgetFullName)),
					this.widget()
						.unbind(this.eventNamespace)
						.removeAttr('aria-disabled')
						.removeClass(this.widgetFullName + '-disabled ' + 'ui-state-disabled'),
					this.bindings.unbind(this.eventNamespace),
					this.hoverable.removeClass('ui-state-hover'),
					this.focusable.removeClass('ui-state-focus');
			},
			_destroy: e.noop,
			widget: function() {
				return this.element;
			},
			option: function(t, i) {
				var s,
					n,
					a,
					o = t;
				if (0 === arguments.length) return e.widget.extend({}, this.options);
				if ('string' == typeof t)
					if (((o = {}), (s = t.split('.')), (t = s.shift()), s.length)) {
						for (n = o[t] = e.widget.extend({}, this.options[t]), a = 0; s.length - 1 > a; a++)
							(n[s[a]] = n[s[a]] || {}), (n = n[s[a]]);
						if (((t = s.pop()), 1 === arguments.length)) return void 0 === n[t] ? null : n[t];
						n[t] = i;
					} else {
						if (1 === arguments.length) return void 0 === this.options[t] ? null : this.options[t];
						o[t] = i;
					}
				return this._setOptions(o), this;
			},
			_setOptions: function(e) {
				var t;
				for (t in e) this._setOption(t, e[t]);
				return this;
			},
			_setOption: function(e, t) {
				return (
					(this.options[e] = t),
					'disabled' === e &&
						(this.widget().toggleClass(this.widgetFullName + '-disabled', !!t),
						t &&
							(this.hoverable.removeClass('ui-state-hover'),
							this.focusable.removeClass('ui-state-focus'))),
					this
				);
			},
			enable: function() {
				return this._setOptions({ disabled: !1 });
			},
			disable: function() {
				return this._setOptions({ disabled: !0 });
			},
			_on: function(t, i, s) {
				var n,
					a = this;
				'boolean' != typeof t && ((s = i), (i = t), (t = !1)),
					s
						? ((i = n = e(i)), (this.bindings = this.bindings.add(i)))
						: ((s = i), (i = this.element), (n = this.widget())),
					e.each(s, function(s, o) {
						function r() {
							return t || (a.options.disabled !== !0 && !e(this).hasClass('ui-state-disabled'))
								? ('string' == typeof o ? a[o] : o).apply(a, arguments)
								: void 0;
						}
						'string' != typeof o && (r.guid = o.guid = o.guid || r.guid || e.guid++);
						var h = s.match(/^([\w:-]*)\s*(.*)$/),
							l = h[1] + a.eventNamespace,
							u = h[2];
						u ? n.delegate(u, l, r) : i.bind(l, r);
					});
			},
			_off: function(t, i) {
				(i = (i || '').split(' ').join(this.eventNamespace + ' ') + this.eventNamespace),
					t.unbind(i).undelegate(i),
					(this.bindings = e(this.bindings.not(t).get())),
					(this.focusable = e(this.focusable.not(t).get())),
					(this.hoverable = e(this.hoverable.not(t).get()));
			},
			_delay: function(e, t) {
				function i() {
					return ('string' == typeof e ? s[e] : e).apply(s, arguments);
				}
				var s = this;
				return setTimeout(i, t || 0);
			},
			_hoverable: function(t) {
				(this.hoverable = this.hoverable.add(t)),
					this._on(t, {
						mouseenter: function(t) {
							e(t.currentTarget).addClass('ui-state-hover');
						},
						mouseleave: function(t) {
							e(t.currentTarget).removeClass('ui-state-hover');
						}
					});
			},
			_focusable: function(t) {
				(this.focusable = this.focusable.add(t)),
					this._on(t, {
						focusin: function(t) {
							e(t.currentTarget).addClass('ui-state-focus');
						},
						focusout: function(t) {
							e(t.currentTarget).removeClass('ui-state-focus');
						}
					});
			},
			_trigger: function(t, i, s) {
				var n,
					a,
					o = this.options[t];
				if (
					((s = s || {}),
					(i = e.Event(i)),
					(i.type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase()),
					(i.target = this.element[0]),
					(a = i.originalEvent))
				)
					for (n in a) n in i || (i[n] = a[n]);
				return (
					this.element.trigger(i, s),
					!((e.isFunction(o) && o.apply(this.element[0], [ i ].concat(s)) === !1) || i.isDefaultPrevented())
				);
			}
		}),
		e.each({ show: 'fadeIn', hide: 'fadeOut' }, function(t, i) {
			e.Widget.prototype['_' + t] = function(s, n, a) {
				'string' == typeof n && (n = { effect: n });
				var o,
					r = n ? (n === !0 || 'number' == typeof n ? i : n.effect || i) : t;
				(n = n || {}),
					'number' == typeof n && (n = { duration: n }),
					(o = !e.isEmptyObject(n)),
					(n.complete = a),
					n.delay && s.delay(n.delay),
					o && e.effects && e.effects.effect[r]
						? s[t](n)
						: r !== t && s[r]
							? s[r](n.duration, n.easing, a)
							: s.queue(function(i) {
									e(this)[t](), a && a.call(s[0]), i();
								});
			};
		}),
		e.widget;
	var a = !1;
	e(document).mouseup(function() {
		a = !1;
	}),
		e.widget('ui.mouse', {
			version: '1.11.4',
			options: { cancel: 'input,textarea,button,select,option', distance: 1, delay: 0 },
			_mouseInit: function() {
				var t = this;
				this.element
					.bind('mousedown.' + this.widgetName, function(e) {
						return t._mouseDown(e);
					})
					.bind('click.' + this.widgetName, function(i) {
						return !0 === e.data(i.target, t.widgetName + '.preventClickEvent')
							? (e.removeData(i.target, t.widgetName + '.preventClickEvent'),
								i.stopImmediatePropagation(),
								!1)
							: void 0;
					}),
					(this.started = !1);
			},
			_mouseDestroy: function() {
				this.element.unbind('.' + this.widgetName),
					this._mouseMoveDelegate &&
						this.document
							.unbind('mousemove.' + this.widgetName, this._mouseMoveDelegate)
							.unbind('mouseup.' + this.widgetName, this._mouseUpDelegate);
			},
			_mouseDown: function(t) {
				if (!a) {
					(this._mouseMoved = !1), this._mouseStarted && this._mouseUp(t), (this._mouseDownEvent = t);
					var i = this,
						s = 1 === t.which,
						n =
							'string' == typeof this.options.cancel && t.target.nodeName
								? e(t.target).closest(this.options.cancel).length
								: !1;
					return s && !n && this._mouseCapture(t)
						? ((this.mouseDelayMet = !this.options.delay),
							this.mouseDelayMet ||
								(this._mouseDelayTimer = setTimeout(function() {
									i.mouseDelayMet = !0;
								}, this.options.delay)),
							this._mouseDistanceMet(t) &&
							this._mouseDelayMet(t) &&
							((this._mouseStarted = this._mouseStart(t) !== !1), !this._mouseStarted)
								? (t.preventDefault(), !0)
								: (!0 === e.data(t.target, this.widgetName + '.preventClickEvent') &&
										e.removeData(t.target, this.widgetName + '.preventClickEvent'),
									(this._mouseMoveDelegate = function(e) {
										return i._mouseMove(e);
									}),
									(this._mouseUpDelegate = function(e) {
										return i._mouseUp(e);
									}),
									this.document
										.bind('mousemove.' + this.widgetName, this._mouseMoveDelegate)
										.bind('mouseup.' + this.widgetName, this._mouseUpDelegate),
									t.preventDefault(),
									(a = !0),
									!0))
						: !0;
				}
			},
			_mouseMove: function(t) {
				if (this._mouseMoved) {
					if (e.ui.ie && (!document.documentMode || 9 > document.documentMode) && !t.button)
						return this._mouseUp(t);
					if (!t.which) return this._mouseUp(t);
				}
				return (
					(t.which || t.button) && (this._mouseMoved = !0),
					this._mouseStarted
						? (this._mouseDrag(t), t.preventDefault())
						: (this._mouseDistanceMet(t) &&
								this._mouseDelayMet(t) &&
								((this._mouseStarted = this._mouseStart(this._mouseDownEvent, t) !== !1),
								this._mouseStarted ? this._mouseDrag(t) : this._mouseUp(t)),
							!this._mouseStarted)
				);
			},
			_mouseUp: function(t) {
				return (
					this.document
						.unbind('mousemove.' + this.widgetName, this._mouseMoveDelegate)
						.unbind('mouseup.' + this.widgetName, this._mouseUpDelegate),
					this._mouseStarted &&
						((this._mouseStarted = !1),
						t.target === this._mouseDownEvent.target &&
							e.data(t.target, this.widgetName + '.preventClickEvent', !0),
						this._mouseStop(t)),
					(a = !1),
					!1
				);
			},
			_mouseDistanceMet: function(e) {
				return (
					Math.max(
						Math.abs(this._mouseDownEvent.pageX - e.pageX),
						Math.abs(this._mouseDownEvent.pageY - e.pageY)
					) >= this.options.distance
				);
			},
			_mouseDelayMet: function() {
				return this.mouseDelayMet;
			},
			_mouseStart: function() {},
			_mouseDrag: function() {},
			_mouseStop: function() {},
			_mouseCapture: function() {
				return !0;
			}
		}),
		e.widget('ui.slider', e.ui.mouse, {
			version: '1.11.4',
			widgetEventPrefix: 'slide',
			options: {
				animate: !1,
				distance: 0,
				max: 100,
				min: 0,
				orientation: 'horizontal',
				range: !1,
				step: 1,
				value: 0,
				values: null,
				change: null,
				slide: null,
				start: null,
				stop: null
			},
			numPages: 5,
			_create: function() {
				(this._keySliding = !1),
					(this._mouseSliding = !1),
					(this._animateOff = !0),
					(this._handleIndex = null),
					this._detectOrientation(),
					this._mouseInit(),
					this._calculateNewMax(),
					this.element.addClass(
						'ui-slider ui-slider-' +
							this.orientation +
							' ui-widget' +
							' ui-widget-content' +
							' ui-corner-all'
					),
					this._refresh(),
					this._setOption('disabled', this.options.disabled),
					(this._animateOff = !1);
			},
			_refresh: function() {
				this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue();
			},
			_createHandles: function() {
				var t,
					i,
					s = this.options,
					n = this.element.find('.ui-slider-handle').addClass('ui-state-default ui-corner-all'),
					a = "<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",
					o = [];
				for (
					i = (s.values && s.values.length) || 1,
						n.length > i && (n.slice(i).remove(), (n = n.slice(0, i))),
						t = n.length;
					i > t;
					t++
				)
					o.push(a);
				(this.handles = n.add(e(o.join('')).appendTo(this.element))),
					(this.handle = this.handles.eq(0)),
					this.handles.each(function(t) {
						e(this).data('ui-slider-handle-index', t);
					});
			},
			_createRange: function() {
				var t = this.options,
					i = '';
				t.range
					? (t.range === !0 &&
							(t.values
								? t.values.length && 2 !== t.values.length
									? (t.values = [ t.values[0], t.values[0] ])
									: e.isArray(t.values) && (t.values = t.values.slice(0))
								: (t.values = [ this._valueMin(), this._valueMin() ])),
						this.range && this.range.length
							? this.range
									.removeClass('ui-slider-range-min ui-slider-range-max')
									.css({ left: '', bottom: '' })
							: ((this.range = e('<div></div>').appendTo(this.element)),
								(i = 'ui-slider-range ui-widget-header ui-corner-all')),
						this.range.addClass(
							i + ('min' === t.range || 'max' === t.range ? ' ui-slider-range-' + t.range : '')
						))
					: (this.range && this.range.remove(), (this.range = null));
			},
			_setupEvents: function() {
				this._off(this.handles),
					this._on(this.handles, this._handleEvents),
					this._hoverable(this.handles),
					this._focusable(this.handles);
			},
			_destroy: function() {
				this.handles.remove(),
					this.range && this.range.remove(),
					this.element.removeClass(
						'ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all'
					),
					this._mouseDestroy();
			},
			_mouseCapture: function(t) {
				var i,
					s,
					n,
					a,
					o,
					r,
					h,
					l,
					u = this,
					c = this.options;
				return c.disabled
					? !1
					: ((this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }),
						(this.elementOffset = this.element.offset()),
						(i = { x: t.pageX, y: t.pageY }),
						(s = this._normValueFromMouse(i)),
						(n = this._valueMax() - this._valueMin() + 1),
						this.handles.each(function(t) {
							var i = Math.abs(s - u.values(t));
							(n > i || (n === i && (t === u._lastChangedValue || u.values(t) === c.min))) &&
								((n = i), (a = e(this)), (o = t));
						}),
						(r = this._start(t, o)),
						r === !1
							? !1
							: ((this._mouseSliding = !0),
								(this._handleIndex = o),
								a.addClass('ui-state-active').focus(),
								(h = a.offset()),
								(l = !e(t.target).parents().addBack().is('.ui-slider-handle')),
								(this._clickOffset = l
									? { left: 0, top: 0 }
									: {
											left: t.pageX - h.left - a.width() / 2,
											top:
												t.pageY -
												h.top -
												a.height() / 2 -
												(parseInt(a.css('borderTopWidth'), 10) || 0) -
												(parseInt(a.css('borderBottomWidth'), 10) || 0) +
												(parseInt(a.css('marginTop'), 10) || 0)
										}),
								this.handles.hasClass('ui-state-hover') || this._slide(t, o, s),
								(this._animateOff = !0),
								!0));
			},
			_mouseStart: function() {
				return !0;
			},
			_mouseDrag: function(e) {
				var t = { x: e.pageX, y: e.pageY },
					i = this._normValueFromMouse(t);
				return this._slide(e, this._handleIndex, i), !1;
			},
			_mouseStop: function(e) {
				return (
					this.handles.removeClass('ui-state-active'),
					(this._mouseSliding = !1),
					this._stop(e, this._handleIndex),
					this._change(e, this._handleIndex),
					(this._handleIndex = null),
					(this._clickOffset = null),
					(this._animateOff = !1),
					!1
				);
			},
			_detectOrientation: function() {
				this.orientation = 'vertical' === this.options.orientation ? 'vertical' : 'horizontal';
			},
			_normValueFromMouse: function(e) {
				var t, i, s, n, a;
				return (
					'horizontal' === this.orientation
						? ((t = this.elementSize.width),
							(i = e.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)))
						: ((t = this.elementSize.height),
							(i = e.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0))),
					(s = i / t),
					s > 1 && (s = 1),
					0 > s && (s = 0),
					'vertical' === this.orientation && (s = 1 - s),
					(n = this._valueMax() - this._valueMin()),
					(a = this._valueMin() + s * n),
					this._trimAlignValue(a)
				);
			},
			_start: function(e, t) {
				var i = { handle: this.handles[t], value: this.value() };
				return (
					this.options.values &&
						this.options.values.length &&
						((i.value = this.values(t)), (i.values = this.values())),
					this._trigger('start', e, i)
				);
			},
			_slide: function(e, t, i) {
				var s, n, a;
				this.options.values && this.options.values.length
					? ((s = this.values(t ? 0 : 1)),
						2 === this.options.values.length &&
							this.options.range === !0 &&
							((0 === t && i > s) || (1 === t && s > i)) &&
							(i = s),
						i !== this.values(t) &&
							((n = this.values()),
							(n[t] = i),
							(a = this._trigger('slide', e, { handle: this.handles[t], value: i, values: n })),
							(s = this.values(t ? 0 : 1)),
							a !== !1 && this.values(t, i)))
					: i !== this.value() &&
						((a = this._trigger('slide', e, { handle: this.handles[t], value: i })),
						a !== !1 && this.value(i));
			},
			_stop: function(e, t) {
				var i = { handle: this.handles[t], value: this.value() };
				this.options.values &&
					this.options.values.length &&
					((i.value = this.values(t)), (i.values = this.values())),
					this._trigger('stop', e, i);
			},
			_change: function(e, t) {
				if (!this._keySliding && !this._mouseSliding) {
					var i = { handle: this.handles[t], value: this.value() };
					this.options.values &&
						this.options.values.length &&
						((i.value = this.values(t)), (i.values = this.values())),
						(this._lastChangedValue = t),
						this._trigger('change', e, i);
				}
			},
			value: function(e) {
				return arguments.length
					? ((this.options.value = this._trimAlignValue(e)),
						this._refreshValue(),
						this._change(null, 0),
						void 0)
					: this._value();
			},
			values: function(t, i) {
				var s, n, a;
				if (arguments.length > 1)
					return (
						(this.options.values[t] = this._trimAlignValue(i)),
						this._refreshValue(),
						this._change(null, t),
						void 0
					);
				if (!arguments.length) return this._values();
				if (!e.isArray(arguments[0]))
					return this.options.values && this.options.values.length ? this._values(t) : this.value();
				for (s = this.options.values, n = arguments[0], a = 0; s.length > a; a += 1)
					(s[a] = this._trimAlignValue(n[a])), this._change(null, a);
				this._refreshValue();
			},
			_setOption: function(t, i) {
				var s,
					n = 0;
				switch (('range' === t &&
					this.options.range === !0 &&
					('min' === i
						? ((this.options.value = this._values(0)), (this.options.values = null))
						: 'max' === i &&
							((this.options.value = this._values(this.options.values.length - 1)),
							(this.options.values = null))),
				e.isArray(this.options.values) && (n = this.options.values.length),
				'disabled' === t && this.element.toggleClass('ui-state-disabled', !!i),
				this._super(t, i),
				t)) {
					case 'orientation':
						this._detectOrientation(),
							this.element
								.removeClass('ui-slider-horizontal ui-slider-vertical')
								.addClass('ui-slider-' + this.orientation),
							this._refreshValue(),
							this.handles.css('horizontal' === i ? 'bottom' : 'left', '');
						break;
					case 'value':
						(this._animateOff = !0), this._refreshValue(), this._change(null, 0), (this._animateOff = !1);
						break;
					case 'values':
						for (this._animateOff = !0, this._refreshValue(), s = 0; n > s; s += 1) this._change(null, s);
						this._animateOff = !1;
						break;
					case 'step':
					case 'min':
					case 'max':
						(this._animateOff = !0), this._calculateNewMax(), this._refreshValue(), (this._animateOff = !1);
						break;
					case 'range':
						(this._animateOff = !0), this._refresh(), (this._animateOff = !1);
				}
			},
			_value: function() {
				var e = this.options.value;
				return (e = this._trimAlignValue(e));
			},
			_values: function(e) {
				var t, i, s;
				if (arguments.length) return (t = this.options.values[e]), (t = this._trimAlignValue(t));
				if (this.options.values && this.options.values.length) {
					for (i = this.options.values.slice(), s = 0; i.length > s; s += 1)
						i[s] = this._trimAlignValue(i[s]);
					return i;
				}
				return [];
			},
			_trimAlignValue: function(e) {
				if (this._valueMin() >= e) return this._valueMin();
				if (e >= this._valueMax()) return this._valueMax();
				var t = this.options.step > 0 ? this.options.step : 1,
					i = (e - this._valueMin()) % t,
					s = e - i;
				return 2 * Math.abs(i) >= t && (s += i > 0 ? t : -t), parseFloat(s.toFixed(5));
			},
			_calculateNewMax: function() {
				var e = this.options.max,
					t = this._valueMin(),
					i = this.options.step,
					s = Math.floor(+(e - t).toFixed(this._precision()) / i) * i;
				(e = s + t), (this.max = parseFloat(e.toFixed(this._precision())));
			},
			_precision: function() {
				var e = this._precisionOf(this.options.step);
				return null !== this.options.min && (e = Math.max(e, this._precisionOf(this.options.min))), e;
			},
			_precisionOf: function(e) {
				var t = '' + e,
					i = t.indexOf('.');
				return -1 === i ? 0 : t.length - i - 1;
			},
			_valueMin: function() {
				return this.options.min;
			},
			_valueMax: function() {
				return this.max;
			},
			_refreshValue: function() {
				var t,
					i,
					s,
					n,
					a,
					o = this.options.range,
					r = this.options,
					h = this,
					l = this._animateOff ? !1 : r.animate,
					u = {};
				this.options.values && this.options.values.length
					? this.handles.each(function(s) {
							(i = 100 * ((h.values(s) - h._valueMin()) / (h._valueMax() - h._valueMin()))),
								(u['horizontal' === h.orientation ? 'left' : 'bottom'] = i + '%'),
								e(this).stop(1, 1)[l ? 'animate' : 'css'](u, r.animate),
								h.options.range === !0 &&
									('horizontal' === h.orientation
										? (0 === s &&
												h.range.stop(1, 1)[l ? 'animate' : 'css']({ left: i + '%' }, r.animate),
											1 === s &&
												h.range[l ? 'animate' : 'css'](
													{ width: i - t + '%' },
													{ queue: !1, duration: r.animate }
												))
										: (0 === s &&
												h.range.stop(1, 1)[l ? 'animate' : 'css']({ bottom: i + '%' }, r.animate),
											1 === s &&
												h.range[l ? 'animate' : 'css'](
													{ height: i - t + '%' },
													{ queue: !1, duration: r.animate }
												))),
								(t = i);
						})
					: ((s = this.value()),
						(n = this._valueMin()),
						(a = this._valueMax()),
						(i = a !== n ? 100 * ((s - n) / (a - n)) : 0),
						(u['horizontal' === this.orientation ? 'left' : 'bottom'] = i + '%'),
						this.handle.stop(1, 1)[l ? 'animate' : 'css'](u, r.animate),
						'min' === o &&
							'horizontal' === this.orientation &&
							this.range.stop(1, 1)[l ? 'animate' : 'css']({ width: i + '%' }, r.animate),
						'max' === o &&
							'horizontal' === this.orientation &&
							this.range[l ? 'animate' : 'css'](
								{ width: 100 - i + '%' },
								{ queue: !1, duration: r.animate }
							),
						'min' === o &&
							'vertical' === this.orientation &&
							this.range.stop(1, 1)[l ? 'animate' : 'css']({ height: i + '%' }, r.animate),
						'max' === o &&
							'vertical' === this.orientation &&
							this.range[l ? 'animate' : 'css'](
								{ height: 100 - i + '%' },
								{ queue: !1, duration: r.animate }
							));
			},
			_handleEvents: {
				keydown: function(t) {
					var i,
						s,
						n,
						a,
						o = e(t.target).data('ui-slider-handle-index');
					switch (t.keyCode) {
						case e.ui.keyCode.HOME:
						case e.ui.keyCode.END:
						case e.ui.keyCode.PAGE_UP:
						case e.ui.keyCode.PAGE_DOWN:
						case e.ui.keyCode.UP:
						case e.ui.keyCode.RIGHT:
						case e.ui.keyCode.DOWN:
						case e.ui.keyCode.LEFT:
							if (
								(t.preventDefault(),
								!this._keySliding &&
									((this._keySliding = !0),
									e(t.target).addClass('ui-state-active'),
									(i = this._start(t, o)),
									i === !1))
							)
								return;
					}
					switch (((a = this.options.step),
					(s = n = this.options.values && this.options.values.length ? this.values(o) : this.value()),
					t.keyCode)) {
						case e.ui.keyCode.HOME:
							n = this._valueMin();
							break;
						case e.ui.keyCode.END:
							n = this._valueMax();
							break;
						case e.ui.keyCode.PAGE_UP:
							n = this._trimAlignValue(s + (this._valueMax() - this._valueMin()) / this.numPages);
							break;
						case e.ui.keyCode.PAGE_DOWN:
							n = this._trimAlignValue(s - (this._valueMax() - this._valueMin()) / this.numPages);
							break;
						case e.ui.keyCode.UP:
						case e.ui.keyCode.RIGHT:
							if (s === this._valueMax()) return;
							n = this._trimAlignValue(s + a);
							break;
						case e.ui.keyCode.DOWN:
						case e.ui.keyCode.LEFT:
							if (s === this._valueMin()) return;
							n = this._trimAlignValue(s - a);
					}
					this._slide(t, o, n);
				},
				keyup: function(t) {
					var i = e(t.target).data('ui-slider-handle-index');
					this._keySliding &&
						((this._keySliding = !1),
						this._stop(t, i),
						this._change(t, i),
						e(t.target).removeClass('ui-state-active'));
				}
			}
		});
});

/*******************************
05. WOW / scrolling animation 
********************************/

/*! WOW - v1.1.2 - 2015-08-19
* Copyright (c) 2015 Matthieu Aussaguel; Licensed MIT */ (function() {
	var a,
		b,
		c,
		d,
		e,
		f = function(a, b) {
			return function() {
				return a.apply(b, arguments);
			};
		},
		g =
			[].indexOf ||
			function(a) {
				for (var b = 0, c = this.length; c > b; b++) if (b in this && this[b] === a) return b;
				return -1;
			};
	(b = (function() {
		function a() {}
		return (
			(a.prototype.extend = function(a, b) {
				var c, d;
				for (c in b) (d = b[c]), null == a[c] && (a[c] = d);
				return a;
			}),
			(a.prototype.isMobile = function(a) {
				return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a);
			}),
			(a.prototype.createEvent = function(a, b, c, d) {
				var e;
				return (
					null == b && (b = !1),
					null == c && (c = !1),
					null == d && (d = null),
					null != document.createEvent
						? ((e = document.createEvent('CustomEvent')), e.initCustomEvent(a, b, c, d))
						: null != document.createEventObject
							? ((e = document.createEventObject()), (e.eventType = a))
							: (e.eventName = a),
					e
				);
			}),
			(a.prototype.emitEvent = function(a, b) {
				return null != a.dispatchEvent
					? a.dispatchEvent(b)
					: b in (null != a) ? a[b]() : 'on' + b in (null != a) ? a['on' + b]() : void 0;
			}),
			(a.prototype.addEvent = function(a, b, c) {
				return null != a.addEventListener
					? a.addEventListener(b, c, !1)
					: null != a.attachEvent ? a.attachEvent('on' + b, c) : (a[b] = c);
			}),
			(a.prototype.removeEvent = function(a, b, c) {
				return null != a.removeEventListener
					? a.removeEventListener(b, c, !1)
					: null != a.detachEvent ? a.detachEvent('on' + b, c) : delete a[b];
			}),
			(a.prototype.innerHeight = function() {
				return 'innerHeight' in window ? window.innerHeight : document.documentElement.clientHeight;
			}),
			a
		);
	})()),
		(c =
			this.WeakMap ||
			this.MozWeakMap ||
			(c = (function() {
				function a() {
					(this.keys = []), (this.values = []);
				}
				return (
					(a.prototype.get = function(a) {
						var b, c, d, e, f;
						for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d)
							if (((c = f[b]), c === a)) return this.values[b];
					}),
					(a.prototype.set = function(a, b) {
						var c, d, e, f, g;
						for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e)
							if (((d = g[c]), d === a)) return void (this.values[c] = b);
						return this.keys.push(a), this.values.push(b);
					}),
					a
				);
			})())),
		(a =
			this.MutationObserver ||
			this.WebkitMutationObserver ||
			this.MozMutationObserver ||
			(a = (function() {
				function a() {
					'undefined' != typeof console &&
						null !== console &&
						console.warn('MutationObserver is not supported by your browser.'),
						'undefined' != typeof console &&
							null !== console &&
							console.warn(
								'WOW.js cannot detect dom mutations, please call .sync() after loading new content.'
							);
				}
				return (a.notSupported = !0), (a.prototype.observe = function() {}), a;
			})())),
		(d =
			this.getComputedStyle ||
			function(a) {
				return (
					(this.getPropertyValue = function(b) {
						var c;
						return (
							'float' === b && (b = 'styleFloat'),
							e.test(b) &&
								b.replace(e, function(a, b) {
									return b.toUpperCase();
								}),
							(null != (c = a.currentStyle) ? c[b] : void 0) || null
						);
					}),
					this
				);
			}),
		(e = /(\-([a-z]){1})/g),
		(this.WOW = (function() {
			function e(a) {
				null == a && (a = {}),
					(this.scrollCallback = f(this.scrollCallback, this)),
					(this.scrollHandler = f(this.scrollHandler, this)),
					(this.resetAnimation = f(this.resetAnimation, this)),
					(this.start = f(this.start, this)),
					(this.scrolled = !0),
					(this.config = this.util().extend(a, this.defaults)),
					null != a.scrollContainer &&
						(this.config.scrollContainer = document.querySelector(a.scrollContainer)),
					(this.animationNameCache = new c()),
					(this.wowEvent = this.util().createEvent(this.config.boxClass));
			}
			return (
				(e.prototype.defaults = {
					boxClass: 'wow',
					animateClass: 'animated',
					offset: 0,
					mobile: !0,
					live: !0,
					callback: null,
					scrollContainer: null
				}),
				(e.prototype.init = function() {
					var a;
					return (
						(this.element = window.document.documentElement),
						'interactive' === (a = document.readyState) || 'complete' === a
							? this.start()
							: this.util().addEvent(document, 'DOMContentLoaded', this.start),
						(this.finished = [])
					);
				}),
				(e.prototype.start = function() {
					var b, c, d, e;
					if (
						((this.stopped = !1),
						(this.boxes = function() {
							var a, c, d, e;
							for (
								d = this.element.querySelectorAll('.' + this.config.boxClass),
									e = [],
									a = 0,
									c = d.length;
								c > a;
								a++
							)
								(b = d[a]), e.push(b);
							return e;
						}.call(this)),
						(this.all = function() {
							var a, c, d, e;
							for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++) (b = d[a]), e.push(b);
							return e;
						}.call(this)),
						this.boxes.length)
					)
						if (this.disabled()) this.resetStyle();
						else for (e = this.boxes, c = 0, d = e.length; d > c; c++) (b = e[c]), this.applyStyle(b, !0);
					return (
						this.disabled() ||
							(this.util().addEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler),
							this.util().addEvent(window, 'resize', this.scrollHandler),
							(this.interval = setInterval(this.scrollCallback, 50))),
						this.config.live
							? new a(
									(function(a) {
										return function(b) {
											var c, d, e, f, g;
											for (g = [], c = 0, d = b.length; d > c; c++)
												(f = b[c]),
													g.push(
														function() {
															var a, b, c, d;
															for (
																c = f.addedNodes || [], d = [], a = 0, b = c.length;
																b > a;
																a++
															)
																(e = c[a]), d.push(this.doSync(e));
															return d;
														}.call(a)
													);
											return g;
										};
									})(this)
								).observe(document.body, { childList: !0, subtree: !0 })
							: void 0
					);
				}),
				(e.prototype.stop = function() {
					return (
						(this.stopped = !0),
						this.util().removeEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler),
						this.util().removeEvent(window, 'resize', this.scrollHandler),
						null != this.interval ? clearInterval(this.interval) : void 0
					);
				}),
				(e.prototype.sync = function() {
					return a.notSupported ? this.doSync(this.element) : void 0;
				}),
				(e.prototype.doSync = function(a) {
					var b, c, d, e, f;
					if ((null == a && (a = this.element), 1 === a.nodeType)) {
						for (
							a = a.parentNode || a,
								e = a.querySelectorAll('.' + this.config.boxClass),
								f = [],
								c = 0,
								d = e.length;
							d > c;
							c++
						)
							(b = e[c]),
								g.call(this.all, b) < 0
									? (this.boxes.push(b),
										this.all.push(b),
										this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(b, !0),
										f.push((this.scrolled = !0)))
									: f.push(void 0);
						return f;
					}
				}),
				(e.prototype.show = function(a) {
					return (
						this.applyStyle(a),
						(a.className = a.className + ' ' + this.config.animateClass),
						null != this.config.callback && this.config.callback(a),
						this.util().emitEvent(a, this.wowEvent),
						this.util().addEvent(a, 'animationend', this.resetAnimation),
						this.util().addEvent(a, 'oanimationend', this.resetAnimation),
						this.util().addEvent(a, 'webkitAnimationEnd', this.resetAnimation),
						this.util().addEvent(a, 'MSAnimationEnd', this.resetAnimation),
						a
					);
				}),
				(e.prototype.applyStyle = function(a, b) {
					var c, d, e;
					return (
						(d = a.getAttribute('data-wow-duration')),
						(c = a.getAttribute('data-wow-delay')),
						(e = a.getAttribute('data-wow-iteration')),
						this.animate(
							(function(f) {
								return function() {
									return f.customStyle(a, b, d, c, e);
								};
							})(this)
						)
					);
				}),
				(e.prototype.animate = (function() {
					return 'requestAnimationFrame' in window
						? function(a) {
								return window.requestAnimationFrame(a);
							}
						: function(a) {
								return a();
							};
				})()),
				(e.prototype.resetStyle = function() {
					var a, b, c, d, e;
					for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)
						(a = d[b]), e.push((a.style.visibility = 'visible'));
					return e;
				}),
				(e.prototype.resetAnimation = function(a) {
					var b;
					return a.type.toLowerCase().indexOf('animationend') >= 0
						? ((b = a.target || a.srcElement),
							(b.className = b.className.replace(this.config.animateClass, '').trim()))
						: void 0;
				}),
				(e.prototype.customStyle = function(a, b, c, d, e) {
					return (
						b && this.cacheAnimationName(a),
						(a.style.visibility = b ? 'hidden' : 'visible'),
						c && this.vendorSet(a.style, { animationDuration: c }),
						d && this.vendorSet(a.style, { animationDelay: d }),
						e && this.vendorSet(a.style, { animationIterationCount: e }),
						this.vendorSet(a.style, { animationName: b ? 'none' : this.cachedAnimationName(a) }),
						a
					);
				}),
				(e.prototype.vendors = [ 'moz', 'webkit' ]),
				(e.prototype.vendorSet = function(a, b) {
					var c, d, e, f;
					d = [];
					for (c in b)
						(e = b[c]),
							(a['' + c] = e),
							d.push(
								function() {
									var b, d, g, h;
									for (g = this.vendors, h = [], b = 0, d = g.length; d > b; b++)
										(f = g[b]), h.push((a['' + f + c.charAt(0).toUpperCase() + c.substr(1)] = e));
									return h;
								}.call(this)
							);
					return d;
				}),
				(e.prototype.vendorCSS = function(a, b) {
					var c, e, f, g, h, i;
					for (h = d(a), g = h.getPropertyCSSValue(b), f = this.vendors, c = 0, e = f.length; e > c; c++)
						(i = f[c]), (g = g || h.getPropertyCSSValue('-' + i + '-' + b));
					return g;
				}),
				(e.prototype.animationName = function(a) {
					var b;
					try {
						b = this.vendorCSS(a, 'animation-name').cssText;
					} catch (c) {
						b = d(a).getPropertyValue('animation-name');
					}
					return 'none' === b ? '' : b;
				}),
				(e.prototype.cacheAnimationName = function(a) {
					return this.animationNameCache.set(a, this.animationName(a));
				}),
				(e.prototype.cachedAnimationName = function(a) {
					return this.animationNameCache.get(a);
				}),
				(e.prototype.scrollHandler = function() {
					return (this.scrolled = !0);
				}),
				(e.prototype.scrollCallback = function() {
					var a;
					return !this.scrolled ||
					((this.scrolled = !1),
					(this.boxes = function() {
						var b, c, d, e;
						for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)
							(a = d[b]), a && (this.isVisible(a) ? this.show(a) : e.push(a));
						return e;
					}.call(this)),
					this.boxes.length || this.config.live)
						? void 0
						: this.stop();
				}),
				(e.prototype.offsetTop = function(a) {
					for (var b; void 0 === a.offsetTop; ) a = a.parentNode;
					for (b = a.offsetTop; (a = a.offsetParent); ) b += a.offsetTop;
					return b;
				}),
				(e.prototype.isVisible = function(a) {
					var b, c, d, e, f;
					return (
						(c = a.getAttribute('data-wow-offset') || this.config.offset),
						(f =
							(this.config.scrollContainer && this.config.scrollContainer.scrollTop) ||
							window.pageYOffset),
						(e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c),
						(d = this.offsetTop(a)),
						(b = d + a.clientHeight),
						e >= d && b >= f
					);
				}),
				(e.prototype.util = function() {
					return null != this._util ? this._util : (this._util = new b());
				}),
				(e.prototype.disabled = function() {
					return !this.config.mobile && this.util().isMobile(navigator.userAgent);
				}),
				e
			);
		})());
}.call(this));

/*******************************
06. Owl Carousel
********************************/

'function' !== typeof Object.create &&
	(Object.create = function(f) {
		function g() {}
		g.prototype = f;
		return new g();
	});
(function(f, g, k) {
	var l = {
		init: function(a, b) {
			this.$elem = f(b);
			this.options = f.extend({}, f.fn.owlCarousel.options, this.$elem.data(), a);
			this.userOptions = a;
			this.loadContent();
		},
		loadContent: function() {
			function a(a) {
				var d,
					e = '';
				if ('function' === typeof b.options.jsonSuccess) b.options.jsonSuccess.apply(this, [ a ]);
				else {
					for (d in a.owl) a.owl.hasOwnProperty(d) && (e += a.owl[d].item);
					b.$elem.html(e);
				}
				b.logIn();
			}
			var b = this,
				e;
			'function' === typeof b.options.beforeInit && b.options.beforeInit.apply(this, [ b.$elem ]);
			'string' === typeof b.options.jsonPath ? ((e = b.options.jsonPath), f.getJSON(e, a)) : b.logIn();
		},
		logIn: function() {
			this.$elem.data('owl-originalStyles', this.$elem.attr('style'));
			this.$elem.data('owl-originalClasses', this.$elem.attr('class'));
			this.$elem.css({ opacity: 0 });
			this.orignalItems = this.options.items;
			this.checkBrowser();
			this.wrapperWidth = 0;
			this.checkVisible = null;
			this.setVars();
		},
		setVars: function() {
			if (0 === this.$elem.children().length) return !1;
			this.baseClass();
			this.eventTypes();
			this.$userItems = this.$elem.children();
			this.itemsAmount = this.$userItems.length;
			this.wrapItems();
			this.$owlItems = this.$elem.find('.owl-item');
			this.$owlWrapper = this.$elem.find('.owl-wrapper');
			this.playDirection = 'next';
			this.prevItem = 0;
			this.prevArr = [ 0 ];
			this.currentItem = 0;
			this.customEvents();
			this.onStartup();
		},
		onStartup: function() {
			this.updateItems();
			this.calculateAll();
			this.buildControls();
			this.updateControls();
			this.response();
			this.moveEvents();
			this.stopOnHover();
			this.owlStatus();
			!1 !== this.options.transitionStyle && this.transitionTypes(this.options.transitionStyle);
			!0 === this.options.autoPlay && (this.options.autoPlay = 5e3);
			this.play();
			this.$elem.find('.owl-wrapper').css('display', 'block');
			this.$elem.is(':visible') ? this.$elem.css('opacity', 1) : this.watchVisibility();
			this.onstartup = !1;
			this.eachMoveUpdate();
			'function' === typeof this.options.afterInit && this.options.afterInit.apply(this, [ this.$elem ]);
		},
		eachMoveUpdate: function() {
			!0 === this.options.lazyLoad && this.lazyLoad();
			!0 === this.options.autoHeight && this.autoHeight();
			this.onVisibleItems();
			'function' === typeof this.options.afterAction && this.options.afterAction.apply(this, [ this.$elem ]);
		},
		updateVars: function() {
			'function' === typeof this.options.beforeUpdate && this.options.beforeUpdate.apply(this, [ this.$elem ]);
			this.watchVisibility();
			this.updateItems();
			this.calculateAll();
			this.updatePosition();
			this.updateControls();
			this.eachMoveUpdate();
			'function' === typeof this.options.afterUpdate && this.options.afterUpdate.apply(this, [ this.$elem ]);
		},
		reload: function() {
			var a = this;
			g.setTimeout(function() {
				a.updateVars();
			}, 0);
		},
		watchVisibility: function() {
			var a = this;
			if (!1 === a.$elem.is(':visible'))
				a.$elem.css({ opacity: 0 }), g.clearInterval(a.autoPlayInterval), g.clearInterval(a.checkVisible);
			else return !1;
			a.checkVisible = g.setInterval(function() {
				a.$elem.is(':visible') &&
					(a.reload(), a.$elem.animate({ opacity: 1 }, 200), g.clearInterval(a.checkVisible));
			}, 500);
		},
		wrapItems: function() {
			this.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>');
			this.$elem.find('.owl-wrapper').wrap('<div class="owl-wrapper-outer">');
			this.wrapperOuter = this.$elem.find('.owl-wrapper-outer');
			this.$elem.css('display', 'block');
		},
		baseClass: function() {
			var a = this.$elem.hasClass(this.options.baseClass),
				b = this.$elem.hasClass(this.options.theme);
			a || this.$elem.addClass(this.options.baseClass);
			b || this.$elem.addClass(this.options.theme);
		},
		updateItems: function() {
			var a, b;
			if (!1 === this.options.responsive) return !1;
			if (!0 === this.options.singleItem)
				return (
					(this.options.items = this.orignalItems = 1),
					(this.options.itemsCustom = !1),
					(this.options.itemsDesktop = !1),
					(this.options.itemsDesktopSmall = !1),
					(this.options.itemsTablet = !1),
					(this.options.itemsTabletSmall = !1),
					(this.options.itemsMobile = !1)
				);
			a = f(this.options.responsiveBaseWidth).width();
			a > (this.options.itemsDesktop[0] || this.orignalItems) && (this.options.items = this.orignalItems);
			if (!1 !== this.options.itemsCustom)
				for (
					this.options.itemsCustom.sort(function(a, b) {
						return a[0] - b[0];
					}),
						b = 0;
					b < this.options.itemsCustom.length;
					b += 1
				)
					this.options.itemsCustom[b][0] <= a && (this.options.items = this.options.itemsCustom[b][1]);
			else
				a <= this.options.itemsDesktop[0] &&
					!1 !== this.options.itemsDesktop &&
					(this.options.items = this.options.itemsDesktop[1]),
					a <= this.options.itemsDesktopSmall[0] &&
						!1 !== this.options.itemsDesktopSmall &&
						(this.options.items = this.options.itemsDesktopSmall[1]),
					a <= this.options.itemsTablet[0] &&
						!1 !== this.options.itemsTablet &&
						(this.options.items = this.options.itemsTablet[1]),
					a <= this.options.itemsTabletSmall[0] &&
						!1 !== this.options.itemsTabletSmall &&
						(this.options.items = this.options.itemsTabletSmall[1]),
					a <= this.options.itemsMobile[0] &&
						!1 !== this.options.itemsMobile &&
						(this.options.items = this.options.itemsMobile[1]);
			this.options.items > this.itemsAmount &&
				!0 === this.options.itemsScaleUp &&
				(this.options.items = this.itemsAmount);
		},
		response: function() {
			var a = this,
				b,
				e;
			if (!0 !== a.options.responsive) return !1;
			e = f(g).width();
			a.resizer = function() {
				f(g).width() !== e &&
					(!1 !== a.options.autoPlay && g.clearInterval(a.autoPlayInterval),
					g.clearTimeout(b),
					(b = g.setTimeout(function() {
						e = f(g).width();
						a.updateVars();
					}, a.options.responsiveRefreshRate)));
			};
			f(g).resize(a.resizer);
		},
		updatePosition: function() {
			this.jumpTo(this.currentItem);
			!1 !== this.options.autoPlay && this.checkAp();
		},
		appendItemsSizes: function() {
			var a = this,
				b = 0,
				e = a.itemsAmount - a.options.items;
			a.$owlItems.each(function(c) {
				var d = f(this);
				d.css({ width: a.itemWidth }).data('owl-item', Number(c));
				if (0 === c % a.options.items || c === e) c > e || (b += 1);
				d.data('owl-roundPages', b);
			});
		},
		appendWrapperSizes: function() {
			this.$owlWrapper.css({ width: this.$owlItems.length * this.itemWidth * 2, left: 0 });
			this.appendItemsSizes();
		},
		calculateAll: function() {
			this.calculateWidth();
			this.appendWrapperSizes();
			this.loops();
			this.max();
		},
		calculateWidth: function() {
			this.itemWidth = Math.round(this.$elem.width() / this.options.items);
		},
		max: function() {
			var a = -1 * (this.itemsAmount * this.itemWidth - this.options.items * this.itemWidth);
			this.options.items > this.itemsAmount
				? (this.maximumPixels = a = this.maximumItem = 0)
				: ((this.maximumItem = this.itemsAmount - this.options.items), (this.maximumPixels = a));
			return a;
		},
		min: function() {
			return 0;
		},
		loops: function() {
			var a = 0,
				b = 0,
				e,
				c;
			this.positionsInArray = [ 0 ];
			this.pagesInArray = [];
			for (e = 0; e < this.itemsAmount; e += 1)
				(b += this.itemWidth),
					this.positionsInArray.push(-b),
					!0 === this.options.scrollPerPage &&
						((c = f(this.$owlItems[e])),
						(c = c.data('owl-roundPages')),
						c !== a && ((this.pagesInArray[a] = this.positionsInArray[e]), (a = c)));
		},
		buildControls: function() {
			if (!0 === this.options.navigation || !0 === this.options.pagination)
				this.owlControls = f('<div class="owl-controls"/>')
					.toggleClass('clickable', !this.browser.isTouch)
					.appendTo(this.$elem);
			!0 === this.options.pagination && this.buildPagination();
			!0 === this.options.navigation && this.buildButtons();
		},
		buildButtons: function() {
			var a = this,
				b = f('<div class="owl-buttons"/>');
			a.owlControls.append(b);
			a.buttonPrev = f('<div/>', { class: 'owl-prev', html: a.options.navigationText[0] || '' });
			a.buttonNext = f('<div/>', { class: 'owl-next', html: a.options.navigationText[1] || '' });
			b.append(a.buttonPrev).append(a.buttonNext);
			b.on('touchstart.owlControls mousedown.owlControls', 'div[class^="owl"]', function(a) {
				a.preventDefault();
			});
			b.on('touchend.owlControls mouseup.owlControls', 'div[class^="owl"]', function(b) {
				b.preventDefault();
				f(this).hasClass('owl-next') ? a.next() : a.prev();
			});
		},
		buildPagination: function() {
			var a = this;
			a.paginationWrapper = f('<div class="owl-pagination"/>');
			a.owlControls.append(a.paginationWrapper);
			a.paginationWrapper.on('touchend.owlControls mouseup.owlControls', '.owl-page', function(b) {
				b.preventDefault();
				Number(f(this).data('owl-page')) !== a.currentItem && a.goTo(Number(f(this).data('owl-page')), !0);
			});
		},
		updatePagination: function() {
			var a, b, e, c, d, g;
			if (!1 === this.options.pagination) return !1;
			this.paginationWrapper.html('');
			a = 0;
			b = this.itemsAmount - this.itemsAmount % this.options.items;
			for (c = 0; c < this.itemsAmount; c += 1)
				0 === c % this.options.items &&
					((a += 1),
					b === c && (e = this.itemsAmount - this.options.items),
					(d = f('<div/>', { class: 'owl-page' })),
					(g = f('<span></span>', {
						text: !0 === this.options.paginationNumbers ? a : '',
						class: !0 === this.options.paginationNumbers ? 'owl-numbers' : ''
					})),
					d.append(g),
					d.data('owl-page', b === c ? e : c),
					d.data('owl-roundPages', a),
					this.paginationWrapper.append(d));
			this.checkPagination();
		},
		checkPagination: function() {
			var a = this;
			if (!1 === a.options.pagination) return !1;
			a.paginationWrapper.find('.owl-page').each(function() {
				f(this).data('owl-roundPages') === f(a.$owlItems[a.currentItem]).data('owl-roundPages') &&
					(a.paginationWrapper.find('.owl-page').removeClass('active'), f(this).addClass('active'));
			});
		},
		checkNavigation: function() {
			if (!1 === this.options.navigation) return !1;
			!1 === this.options.rewindNav &&
				(0 === this.currentItem && 0 === this.maximumItem
					? (this.buttonPrev.addClass('disabled'), this.buttonNext.addClass('disabled'))
					: 0 === this.currentItem && 0 !== this.maximumItem
						? (this.buttonPrev.addClass('disabled'), this.buttonNext.removeClass('disabled'))
						: this.currentItem === this.maximumItem
							? (this.buttonPrev.removeClass('disabled'), this.buttonNext.addClass('disabled'))
							: 0 !== this.currentItem &&
								this.currentItem !== this.maximumItem &&
								(this.buttonPrev.removeClass('disabled'), this.buttonNext.removeClass('disabled')));
		},
		updateControls: function() {
			this.updatePagination();
			this.checkNavigation();
			this.owlControls &&
				(this.options.items >= this.itemsAmount ? this.owlControls.hide() : this.owlControls.show());
		},
		destroyControls: function() {
			this.owlControls && this.owlControls.remove();
		},
		next: function(a) {
			if (this.isTransition) return !1;
			this.currentItem += !0 === this.options.scrollPerPage ? this.options.items : 1;
			if (this.currentItem > this.maximumItem + (!0 === this.options.scrollPerPage ? this.options.items - 1 : 0))
				if (!0 === this.options.rewindNav) (this.currentItem = 0), (a = 'rewind');
				else return (this.currentItem = this.maximumItem), !1;
			this.goTo(this.currentItem, a);
		},
		prev: function(a) {
			if (this.isTransition) return !1;
			this.currentItem =
				!0 === this.options.scrollPerPage && 0 < this.currentItem && this.currentItem < this.options.items
					? 0
					: this.currentItem - (!0 === this.options.scrollPerPage ? this.options.items : 1);
			if (0 > this.currentItem)
				if (!0 === this.options.rewindNav) (this.currentItem = this.maximumItem), (a = 'rewind');
				else return (this.currentItem = 0), !1;
			this.goTo(this.currentItem, a);
		},
		goTo: function(a, b, e) {
			var c = this;
			if (c.isTransition) return !1;
			'function' === typeof c.options.beforeMove && c.options.beforeMove.apply(this, [ c.$elem ]);
			a >= c.maximumItem ? (a = c.maximumItem) : 0 >= a && (a = 0);
			c.currentItem = c.owl.currentItem = a;
			if (!1 !== c.options.transitionStyle && 'drag' !== e && 1 === c.options.items && !0 === c.browser.support3d)
				return (
					c.swapSpeed(0),
					!0 === c.browser.support3d
						? c.transition3d(c.positionsInArray[a])
						: c.css2slide(c.positionsInArray[a], 1),
					c.afterGo(),
					c.singleItemTransition(),
					!1
				);
			a = c.positionsInArray[a];
			!0 === c.browser.support3d
				? ((c.isCss3Finish = !1),
					!0 === b
						? (c.swapSpeed('paginationSpeed'),
							g.setTimeout(function() {
								c.isCss3Finish = !0;
							}, c.options.paginationSpeed))
						: 'rewind' === b
							? (c.swapSpeed(c.options.rewindSpeed),
								g.setTimeout(function() {
									c.isCss3Finish = !0;
								}, c.options.rewindSpeed))
							: (c.swapSpeed('slideSpeed'),
								g.setTimeout(function() {
									c.isCss3Finish = !0;
								}, c.options.slideSpeed)),
					c.transition3d(a))
				: !0 === b
					? c.css2slide(a, c.options.paginationSpeed)
					: 'rewind' === b ? c.css2slide(a, c.options.rewindSpeed) : c.css2slide(a, c.options.slideSpeed);
			c.afterGo();
		},
		jumpTo: function(a) {
			'function' === typeof this.options.beforeMove && this.options.beforeMove.apply(this, [ this.$elem ]);
			a >= this.maximumItem || -1 === a ? (a = this.maximumItem) : 0 >= a && (a = 0);
			this.swapSpeed(0);
			!0 === this.browser.support3d
				? this.transition3d(this.positionsInArray[a])
				: this.css2slide(this.positionsInArray[a], 1);
			this.currentItem = this.owl.currentItem = a;
			this.afterGo();
		},
		afterGo: function() {
			this.prevArr.push(this.currentItem);
			this.prevItem = this.owl.prevItem = this.prevArr[this.prevArr.length - 2];
			this.prevArr.shift(0);
			this.prevItem !== this.currentItem &&
				(this.checkPagination(),
				this.checkNavigation(),
				this.eachMoveUpdate(),
				!1 !== this.options.autoPlay && this.checkAp());
			'function' === typeof this.options.afterMove &&
				this.prevItem !== this.currentItem &&
				this.options.afterMove.apply(this, [ this.$elem ]);
		},
		stop: function() {
			this.apStatus = 'stop';
			g.clearInterval(this.autoPlayInterval);
		},
		checkAp: function() {
			'stop' !== this.apStatus && this.play();
		},
		play: function() {
			var a = this;
			a.apStatus = 'play';
			if (!1 === a.options.autoPlay) return !1;
			g.clearInterval(a.autoPlayInterval);
			a.autoPlayInterval = g.setInterval(function() {
				a.next(!0);
			}, a.options.autoPlay);
		},
		swapSpeed: function(a) {
			'slideSpeed' === a
				? this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed))
				: 'paginationSpeed' === a
					? this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed))
					: 'string' !== typeof a && this.$owlWrapper.css(this.addCssSpeed(a));
		},
		addCssSpeed: function(a) {
			return {
				'-webkit-transition': 'all ' + a + 'ms ease',
				'-moz-transition': 'all ' + a + 'ms ease',
				'-o-transition': 'all ' + a + 'ms ease',
				transition: 'all ' + a + 'ms ease'
			};
		},
		removeTransition: function() {
			return { '-webkit-transition': '', '-moz-transition': '', '-o-transition': '', transition: '' };
		},
		doTranslate: function(a) {
			return {
				'-webkit-transform': 'translate3d(' + a + 'px, 0px, 0px)',
				'-moz-transform': 'translate3d(' + a + 'px, 0px, 0px)',
				'-o-transform': 'translate3d(' + a + 'px, 0px, 0px)',
				'-ms-transform': 'translate3d(' + a + 'px, 0px, 0px)',
				transform: 'translate3d(' + a + 'px, 0px,0px)'
			};
		},
		transition3d: function(a) {
			this.$owlWrapper.css(this.doTranslate(a));
		},
		css2move: function(a) {
			this.$owlWrapper.css({ left: a });
		},
		css2slide: function(a, b) {
			var e = this;
			e.isCssFinish = !1;
			e.$owlWrapper.stop(!0, !0).animate(
				{ left: a },
				{
					duration: b || e.options.slideSpeed,
					complete: function() {
						e.isCssFinish = !0;
					}
				}
			);
		},
		checkBrowser: function() {
			var a = k.createElement('div');
			a.style.cssText =
				'  -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)';
			a = a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);
			this.browser = {
				support3d: null !== a && 1 === a.length,
				isTouch: 'ontouchstart' in g || g.navigator.msMaxTouchPoints
			};
		},
		moveEvents: function() {
			if (!1 !== this.options.mouseDrag || !1 !== this.options.touchDrag) this.gestures(), this.disabledEvents();
		},
		eventTypes: function() {
			var a = [ 's', 'e', 'x' ];
			this.ev_types = {};
			!0 === this.options.mouseDrag && !0 === this.options.touchDrag
				? (a = [
						'touchstart.owl mousedown.owl',
						'touchmove.owl mousemove.owl',
						'touchend.owl touchcancel.owl mouseup.owl'
					])
				: !1 === this.options.mouseDrag && !0 === this.options.touchDrag
					? (a = [ 'touchstart.owl', 'touchmove.owl', 'touchend.owl touchcancel.owl' ])
					: !0 === this.options.mouseDrag &&
						!1 === this.options.touchDrag &&
						(a = [ 'mousedown.owl', 'mousemove.owl', 'mouseup.owl' ]);
			this.ev_types.start = a[0];
			this.ev_types.move = a[1];
			this.ev_types.end = a[2];
		},
		disabledEvents: function() {
			this.$elem.on('dragstart.owl', function(a) {
				a.preventDefault();
			});
			this.$elem.on('mousedown.disableTextSelect', function(a) {
				return f(a.target).is('input, textarea, select, option');
			});
		},
		gestures: function() {
			function a(a) {
				if (void 0 !== a.touches) return { x: a.touches[0].pageX, y: a.touches[0].pageY };
				if (void 0 === a.touches) {
					if (void 0 !== a.pageX) return { x: a.pageX, y: a.pageY };
					if (void 0 === a.pageX) return { x: a.clientX, y: a.clientY };
				}
			}
			function b(a) {
				'on' === a
					? (f(k).on(d.ev_types.move, e), f(k).on(d.ev_types.end, c))
					: 'off' === a && (f(k).off(d.ev_types.move), f(k).off(d.ev_types.end));
			}
			function e(b) {
				b = b.originalEvent || b || g.event;
				d.newPosX = a(b).x - h.offsetX;
				d.newPosY = a(b).y - h.offsetY;
				d.newRelativeX = d.newPosX - h.relativePos;
				'function' === typeof d.options.startDragging &&
					!0 !== h.dragging &&
					0 !== d.newRelativeX &&
					((h.dragging = !0), d.options.startDragging.apply(d, [ d.$elem ]));
				(8 < d.newRelativeX || -8 > d.newRelativeX) &&
					!0 === d.browser.isTouch &&
					(void 0 !== b.preventDefault ? b.preventDefault() : (b.returnValue = !1), (h.sliding = !0));
				(10 < d.newPosY || -10 > d.newPosY) && !1 === h.sliding && f(k).off('touchmove.owl');
				d.newPosX = Math.max(Math.min(d.newPosX, d.newRelativeX / 5), d.maximumPixels + d.newRelativeX / 5);
				!0 === d.browser.support3d ? d.transition3d(d.newPosX) : d.css2move(d.newPosX);
			}
			function c(a) {
				a = a.originalEvent || a || g.event;
				var c;
				a.target = a.target || a.srcElement;
				h.dragging = !1;
				!0 !== d.browser.isTouch && d.$owlWrapper.removeClass('grabbing');
				d.dragDirection = 0 > d.newRelativeX ? (d.owl.dragDirection = 'left') : (d.owl.dragDirection = 'right');
				0 !== d.newRelativeX &&
					((c = d.getNewPosition()),
					d.goTo(c, !1, 'drag'),
					h.targetElement === a.target &&
						!0 !== d.browser.isTouch &&
						(f(a.target).on('click.disable', function(a) {
							a.stopImmediatePropagation();
							a.stopPropagation();
							a.preventDefault();
							f(a.target).off('click.disable');
						}),
						(a = f._data(a.target, 'events').click),
						(c = a.pop()),
						a.splice(0, 0, c)));
				b('off');
			}
			var d = this,
				h = {
					offsetX: 0,
					offsetY: 0,
					baseElWidth: 0,
					relativePos: 0,
					position: null,
					minSwipe: null,
					maxSwipe: null,
					sliding: null,
					dargging: null,
					targetElement: null
				};
			d.isCssFinish = !0;
			d.$elem.on(d.ev_types.start, '.owl-wrapper', function(c) {
				c = c.originalEvent || c || g.event;
				var e;
				if (3 === c.which) return !1;
				if (!(d.itemsAmount <= d.options.items)) {
					if (
						(!1 === d.isCssFinish && !d.options.dragBeforeAnimFinish) ||
						(!1 === d.isCss3Finish && !d.options.dragBeforeAnimFinish)
					)
						return !1;
					!1 !== d.options.autoPlay && g.clearInterval(d.autoPlayInterval);
					!0 === d.browser.isTouch ||
						d.$owlWrapper.hasClass('grabbing') ||
						d.$owlWrapper.addClass('grabbing');
					d.newPosX = 0;
					d.newRelativeX = 0;
					f(this).css(d.removeTransition());
					e = f(this).position();
					h.relativePos = e.left;
					h.offsetX = a(c).x - e.left;
					h.offsetY = a(c).y - e.top;
					b('on');
					h.sliding = !1;
					h.targetElement = c.target || c.srcElement;
				}
			});
		},
		getNewPosition: function() {
			var a = this.closestItem();
			a > this.maximumItem
				? (a = this.currentItem = this.maximumItem)
				: 0 <= this.newPosX && (this.currentItem = a = 0);
			return a;
		},
		closestItem: function() {
			var a = this,
				b = !0 === a.options.scrollPerPage ? a.pagesInArray : a.positionsInArray,
				e = a.newPosX,
				c = null;
			f.each(b, function(d, g) {
				e - a.itemWidth / 20 > b[d + 1] && e - a.itemWidth / 20 < g && 'left' === a.moveDirection()
					? ((c = g), (a.currentItem = !0 === a.options.scrollPerPage ? f.inArray(c, a.positionsInArray) : d))
					: e + a.itemWidth / 20 < g &&
						e + a.itemWidth / 20 > (b[d + 1] || b[d] - a.itemWidth) &&
						'right' === a.moveDirection() &&
						(!0 === a.options.scrollPerPage
							? ((c = b[d + 1] || b[b.length - 1]), (a.currentItem = f.inArray(c, a.positionsInArray)))
							: ((c = b[d + 1]), (a.currentItem = d + 1)));
			});
			return a.currentItem;
		},
		moveDirection: function() {
			var a;
			0 > this.newRelativeX
				? ((a = 'right'), (this.playDirection = 'next'))
				: ((a = 'left'), (this.playDirection = 'prev'));
			return a;
		},
		customEvents: function() {
			var a = this;
			a.$elem.on('owl.next', function() {
				a.next();
			});
			a.$elem.on('owl.prev', function() {
				a.prev();
			});
			a.$elem.on('owl.play', function(b, e) {
				a.options.autoPlay = e;
				a.play();
				a.hoverStatus = 'play';
			});
			a.$elem.on('owl.stop', function() {
				a.stop();
				a.hoverStatus = 'stop';
			});
			a.$elem.on('owl.goTo', function(b, e) {
				a.goTo(e);
			});
			a.$elem.on('owl.jumpTo', function(b, e) {
				a.jumpTo(e);
			});
		},
		stopOnHover: function() {
			var a = this;
			!0 === a.options.stopOnHover &&
				!0 !== a.browser.isTouch &&
				!1 !== a.options.autoPlay &&
				(a.$elem.on('mouseover', function() {
					a.stop();
				}),
				a.$elem.on('mouseout', function() {
					'stop' !== a.hoverStatus && a.play();
				}));
		},
		lazyLoad: function() {
			var a, b, e, c, d;
			if (!1 === this.options.lazyLoad) return !1;
			for (a = 0; a < this.itemsAmount; a += 1)
				(b = f(this.$owlItems[a])),
					'loaded' !== b.data('owl-loaded') &&
						((e = b.data('owl-item')),
						(c = b.find('.lazyOwl')),
						'string' !== typeof c.data('src')
							? b.data('owl-loaded', 'loaded')
							: (void 0 === b.data('owl-loaded') &&
									(c.hide(), b.addClass('loading').data('owl-loaded', 'checked')),
								(d = !0 === this.options.lazyFollow ? e >= this.currentItem : !0) &&
									e < this.currentItem + this.options.items &&
									c.length &&
									this.lazyPreload(b, c)));
		},
		lazyPreload: function(a, b) {
			function e() {
				a.data('owl-loaded', 'loaded').removeClass('loading');
				b.removeAttr('data-src');
				'fade' === d.options.lazyEffect ? b.fadeIn(400) : b.show();
				'function' === typeof d.options.afterLazyLoad && d.options.afterLazyLoad.apply(this, [ d.$elem ]);
			}
			function c() {
				f += 1;
				d.completeImg(b.get(0)) || !0 === k ? e() : 100 >= f ? g.setTimeout(c, 100) : e();
			}
			var d = this,
				f = 0,
				k;
			'DIV' === b.prop('tagName')
				? (b.css('background-image', 'url(' + b.data('src') + ')'), (k = !0))
				: (b[0].src = b.data('src'));
			c();
		},
		autoHeight: function() {
			function a() {
				var a = f(e.$owlItems[e.currentItem]).height();
				e.wrapperOuter.css('height', a + 'px');
				e.wrapperOuter.hasClass('autoHeight') ||
					g.setTimeout(function() {
						e.wrapperOuter.addClass('autoHeight');
					}, 0);
			}
			function b() {
				d += 1;
				e.completeImg(c.get(0)) ? a() : 100 >= d ? g.setTimeout(b, 100) : e.wrapperOuter.css('height', '');
			}
			var e = this,
				c = f(e.$owlItems[e.currentItem]).find('img'),
				d;
			void 0 !== c.get(0) ? ((d = 0), b()) : a();
		},
		completeImg: function(a) {
			return !a.complete || ('undefined' !== typeof a.naturalWidth && 0 === a.naturalWidth) ? !1 : !0;
		},
		onVisibleItems: function() {
			var a;
			!0 === this.options.addClassActive && this.$owlItems.removeClass('active');
			this.visibleItems = [];
			for (a = this.currentItem; a < this.currentItem + this.options.items; a += 1)
				this.visibleItems.push(a),
					!0 === this.options.addClassActive && f(this.$owlItems[a]).addClass('active');
			this.owl.visibleItems = this.visibleItems;
		},
		transitionTypes: function(a) {
			this.outClass = 'owl-' + a + '-out';
			this.inClass = 'owl-' + a + '-in';
		},
		singleItemTransition: function() {
			var a = this,
				b = a.outClass,
				e = a.inClass,
				c = a.$owlItems.eq(a.currentItem),
				d = a.$owlItems.eq(a.prevItem),
				f = Math.abs(a.positionsInArray[a.currentItem]) + a.positionsInArray[a.prevItem],
				g = Math.abs(a.positionsInArray[a.currentItem]) + a.itemWidth / 2;
			a.isTransition = !0;
			a.$owlWrapper.addClass('owl-origin').css({
				'-webkit-transform-origin': g + 'px',
				'-moz-perspective-origin': g + 'px',
				'perspective-origin': g + 'px'
			});
			d
				.css({ position: 'relative', left: f + 'px' })
				.addClass(b)
				.on('webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend', function() {
					a.endPrev = !0;
					d.off('webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend');
					a.clearTransStyle(d, b);
				});
			c.addClass(e).on('webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend', function() {
				a.endCurrent = !0;
				c.off('webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend');
				a.clearTransStyle(c, e);
			});
		},
		clearTransStyle: function(a, b) {
			a.css({ position: '', left: '' }).removeClass(b);
			this.endPrev &&
				this.endCurrent &&
				(this.$owlWrapper.removeClass('owl-origin'), (this.isTransition = this.endCurrent = this.endPrev = !1));
		},
		owlStatus: function() {
			this.owl = {
				userOptions: this.userOptions,
				baseElement: this.$elem,
				userItems: this.$userItems,
				owlItems: this.$owlItems,
				currentItem: this.currentItem,
				prevItem: this.prevItem,
				visibleItems: this.visibleItems,
				isTouch: this.browser.isTouch,
				browser: this.browser,
				dragDirection: this.dragDirection
			};
		},
		clearEvents: function() {
			this.$elem.off('.owl owl mousedown.disableTextSelect');
			f(k).off('.owl owl');
			f(g).off('resize', this.resizer);
		},
		unWrap: function() {
			0 !== this.$elem.children().length &&
				(this.$owlWrapper.unwrap(),
				this.$userItems.unwrap().unwrap(),
				this.owlControls && this.owlControls.remove());
			this.clearEvents();
			this.$elem
				.attr('style', this.$elem.data('owl-originalStyles') || '')
				.attr('class', this.$elem.data('owl-originalClasses'));
		},
		destroy: function() {
			this.stop();
			g.clearInterval(this.checkVisible);
			this.unWrap();
			this.$elem.removeData();
		},
		reinit: function(a) {
			a = f.extend({}, this.userOptions, a);
			this.unWrap();
			this.init(a, this.$elem);
		},
		addItem: function(a, b) {
			var e;
			if (!a) return !1;
			if (0 === this.$elem.children().length) return this.$elem.append(a), this.setVars(), !1;
			this.unWrap();
			e = void 0 === b || -1 === b ? -1 : b;
			e >= this.$userItems.length || -1 === e ? this.$userItems.eq(-1).after(a) : this.$userItems.eq(e).before(a);
			this.setVars();
		},
		removeItem: function(a) {
			if (0 === this.$elem.children().length) return !1;
			a = void 0 === a || -1 === a ? -1 : a;
			this.unWrap();
			this.$userItems.eq(a).remove();
			this.setVars();
		}
	};
	f.fn.owlCarousel = function(a) {
		return this.each(function() {
			if (!0 === f(this).data('owl-init')) return !1;
			f(this).data('owl-init', !0);
			var b = Object.create(l);
			b.init(a, this);
			f.data(this, 'owlCarousel', b);
		});
	};
	f.fn.owlCarousel.options = {
		items: 5,
		itemsCustom: !1,
		itemsDesktop: [ 1199, 4 ],
		itemsDesktopSmall: [ 979, 3 ],
		itemsTablet: [ 768, 2 ],
		itemsTabletSmall: !1,
		itemsMobile: [ 479, 1 ],
		singleItem: !1,
		itemsScaleUp: !1,
		slideSpeed: 200,
		paginationSpeed: 800,
		rewindSpeed: 1e3,
		autoPlay: !1,
		stopOnHover: !1,
		navigation: !1,
		navigationText: [ 'prev', 'next' ],
		rewindNav: !0,
		scrollPerPage: !1,
		pagination: !0,
		paginationNumbers: !1,
		responsive: !0,
		responsiveRefreshRate: 200,
		responsiveBaseWidth: g,
		baseClass: 'owl-carousel',
		theme: 'owl-theme',
		lazyLoad: !1,
		lazyFollow: !0,
		lazyEffect: 'fade',
		autoHeight: !1,
		jsonPath: !1,
		jsonSuccess: !1,
		dragBeforeAnimFinish: !0,
		mouseDrag: !0,
		touchDrag: !0,
		addClassActive: !1,
		transitionStyle: !1,
		beforeUpdate: !1,
		afterUpdate: !1,
		beforeInit: !1,
		afterInit: !1,
		beforeMove: !1,
		afterMove: !1,
		afterAction: !1,
		startDragging: !1,
		afterLazyLoad: !1
	};
})(jQuery, window, document);

/*******************************
07. Nivo Slider
********************************/
/*
 * jQuery Nivo Slider v3.2
 * http://nivo.dev7studios.com
 *
 * Copyright 2012, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */

(function(e) {
	var t = function(t, n) {
		var r = e.extend({}, e.fn.nivoSlider.defaults, n);
		var i = {
			currentSlide: 0,
			currentImage: '',
			totalSlides: 0,
			running: false,
			paused: false,
			stop: false,
			controlNavEl: false
		};
		var s = e(t);
		s.data('nivo:vars', i).addClass('nivoSlider');
		var o = s.children();
		o.each(function() {
			var t = e(this);
			var n = '';
			if (!t.is('img')) {
				if (t.is('a')) {
					t.addClass('nivo-imageLink');
					n = t;
				}
				t = t.find('img:first');
			}
			var r = r === 0 ? t.attr('width') : t.width(),
				s = s === 0 ? t.attr('height') : t.height();
			if (n !== '') {
				n.css('display', 'none');
			}
			t.css('display', 'none');
			i.totalSlides++;
		});
		if (r.randomStart) {
			r.startSlide = Math.floor(Math.random() * i.totalSlides);
		}
		if (r.startSlide > 0) {
			if (r.startSlide >= i.totalSlides) {
				r.startSlide = i.totalSlides - 1;
			}
			i.currentSlide = r.startSlide;
		}
		if (e(o[i.currentSlide]).is('img')) {
			i.currentImage = e(o[i.currentSlide]);
		} else {
			i.currentImage = e(o[i.currentSlide]).find('img:first');
		}
		if (e(o[i.currentSlide]).is('a')) {
			e(o[i.currentSlide]).css('display', 'block');
		}
		var u = e('<img/>').addClass('nivo-main-image');
		u.attr('src', i.currentImage.attr('src')).show();
		s.append(u);
		e(window).resize(function() {
			s.children('img').width(s.width());
			u.attr('src', i.currentImage.attr('src'));
			u.stop().height('auto');
			e('.nivo-slice').remove();
			e('.nivo-box').remove();
		});
		s.append(e('<div class="nivo-caption"></div>'));
		var a = function(t) {
			var n = e('.nivo-caption', s);
			if (i.currentImage.attr('title') != '' && i.currentImage.attr('title') != undefined) {
				var r = i.currentImage.attr('title');
				if (r.substr(0, 1) == '#') r = e(r).html();
				if (n.css('display') == 'block') {
					setTimeout(function() {
						n.html(r);
					}, t.animSpeed);
				} else {
					n.html(r);
					n.stop().fadeIn(t.animSpeed);
				}
			} else {
				n.stop().fadeOut(t.animSpeed);
			}
		};
		a(r);
		var f = 0;
		if (!r.manualAdvance && o.length > 1) {
			f = setInterval(function() {
				d(s, o, r, false);
			}, r.pauseTime);
		}
		if (r.directionNav) {
			s.append(
				'<div class="nivo-directionNav"><a class="nivo-prevNav">' +
					r.prevText +
					'</a><a class="nivo-nextNav">' +
					r.nextText +
					'</a></div>'
			);
			e(s).on('click', 'a.nivo-prevNav', function() {
				if (i.running) {
					return false;
				}
				clearInterval(f);
				f = '';
				i.currentSlide -= 2;
				d(s, o, r, 'prev');
			});
			e(s).on('click', 'a.nivo-nextNav', function() {
				if (i.running) {
					return false;
				}
				clearInterval(f);
				f = '';
				d(s, o, r, 'next');
			});
		}
		if (r.controlNav) {
			i.controlNavEl = e('<div class="nivo-controlNav"></div>');
			s.after(i.controlNavEl);
			for (var l = 0; l < o.length; l++) {
				if (r.controlNavThumbs) {
					i.controlNavEl.addClass('nivo-thumbs-enabled');
					var c = o.eq(l);
					if (!c.is('img')) {
						c = c.find('img:first');
					}
					if (c.attr('data-thumb'))
						i.controlNavEl.append(
							'<a class="nivo-control" rel="' +
								l +
								'"><img src="' +
								c.attr('data-thumb') +
								'" alt="" /></a>'
						);
				} else {
					i.controlNavEl.append('<a class="nivo-control" rel="' + l + '">' + (l + 1) + '</a>');
				}
			}
			e('a:eq(' + i.currentSlide + ')', i.controlNavEl).addClass('active');
			e('a', i.controlNavEl).bind('click', function() {
				if (i.running) return false;
				if (e(this).hasClass('active')) return false;
				clearInterval(f);
				f = '';
				u.attr('src', i.currentImage.attr('src'));
				i.currentSlide = e(this).attr('rel') - 1;
				d(s, o, r, 'control');
			});
		}
		if (r.pauseOnHover) {
			s.hover(
				function() {
					i.paused = true;
					clearInterval(f);
					f = '';
				},
				function() {
					i.paused = false;
					if (f === '' && !r.manualAdvance) {
						f = setInterval(function() {
							d(s, o, r, false);
						}, r.pauseTime);
					}
				}
			);
		}
		s.bind('nivo:animFinished', function() {
			u.attr('src', i.currentImage.attr('src'));
			i.running = false;
			e(o).each(function() {
				if (e(this).is('a')) {
					e(this).css('display', 'none');
				}
			});
			if (e(o[i.currentSlide]).is('a')) {
				e(o[i.currentSlide]).css('display', 'block');
			}
			if (f === '' && !i.paused && !r.manualAdvance) {
				f = setInterval(function() {
					d(s, o, r, false);
				}, r.pauseTime);
			}
			r.afterChange.call(this);
		});
		var h = function(t, n, r) {
			if (e(r.currentImage).parent().is('a')) e(r.currentImage).parent().css('display', 'block');
			e('img[src="' + r.currentImage.attr('src') + '"]', t)
				.not('.nivo-main-image,.nivo-control img')
				.width(t.width())
				.css('visibility', 'hidden')
				.show();
			var i = e('img[src="' + r.currentImage.attr('src') + '"]', t)
				.not('.nivo-main-image,.nivo-control img')
				.parent()
				.is('a')
				? e('img[src="' + r.currentImage.attr('src') + '"]', t)
						.not('.nivo-main-image,.nivo-control img')
						.parent()
						.height()
				: e('img[src="' + r.currentImage.attr('src') + '"]', t)
						.not('.nivo-main-image,.nivo-control img')
						.height();
			for (var s = 0; s < n.slices; s++) {
				var o = Math.round(t.width() / n.slices);
				if (s === n.slices - 1) {
					t.append(
						e(
							'<div class="nivo-slice" name="' +
								s +
								'"><img src="' +
								r.currentImage.attr('src') +
								'" style="position:absolute; width:' +
								t.width() +
								'px; height:auto; display:block !important; top:0; left:-' +
								(o + s * o - o) +
								'px;" /></div>'
						).css({
							left: o * s + 'px',
							width: t.width() - o * s + 'px',
							height: i + 'px',
							opacity: '0',
							overflow: 'hidden'
						})
					);
				} else {
					t.append(
						e(
							'<div class="nivo-slice" name="' +
								s +
								'"><img src="' +
								r.currentImage.attr('src') +
								'" style="position:absolute; width:' +
								t.width() +
								'px; height:auto; display:block !important; top:0; left:-' +
								(o + s * o - o) +
								'px;" /></div>'
						).css({
							left: o * s + 'px',
							width: o + 'px',
							height: i + 'px',
							opacity: '0',
							overflow: 'hidden'
						})
					);
				}
			}
			e('.nivo-slice', t).height(i);
			u.stop().animate({ height: e(r.currentImage).height() }, n.animSpeed);
		};
		var p = function(t, n, r) {
			if (e(r.currentImage).parent().is('a')) e(r.currentImage).parent().css('display', 'block');
			e('img[src="' + r.currentImage.attr('src') + '"]', t)
				.not('.nivo-main-image,.nivo-control img')
				.width(t.width())
				.css('visibility', 'hidden')
				.show();
			var i = Math.round(t.width() / n.boxCols),
				s = Math.round(
					e('img[src="' + r.currentImage.attr('src') + '"]', t)
						.not('.nivo-main-image,.nivo-control img')
						.height() / n.boxRows
				);
			for (var o = 0; o < n.boxRows; o++) {
				for (var a = 0; a < n.boxCols; a++) {
					if (a === n.boxCols - 1) {
						t.append(
							e(
								'<div class="nivo-box" name="' +
									a +
									'" rel="' +
									o +
									'"><img src="' +
									r.currentImage.attr('src') +
									'" style="position:absolute; width:' +
									t.width() +
									'px; height:auto; display:block; top:-' +
									s * o +
									'px; left:-' +
									i * a +
									'px;" /></div>'
							).css({
								opacity: 0,
								left: i * a + 'px',
								top: s * o + 'px',
								width: t.width() - i * a + 'px'
							})
						);
						e('.nivo-box[name="' + a + '"]', t).height(
							e('.nivo-box[name="' + a + '"] img', t).height() + 'px'
						);
					} else {
						t.append(
							e(
								'<div class="nivo-box" name="' +
									a +
									'" rel="' +
									o +
									'"><img src="' +
									r.currentImage.attr('src') +
									'" style="position:absolute; width:' +
									t.width() +
									'px; height:auto; display:block; top:-' +
									s * o +
									'px; left:-' +
									i * a +
									'px;" /></div>'
							).css({ opacity: 0, left: i * a + 'px', top: s * o + 'px', width: i + 'px' })
						);
						e('.nivo-box[name="' + a + '"]', t).height(
							e('.nivo-box[name="' + a + '"] img', t).height() + 'px'
						);
					}
				}
			}
			u.stop().animate({ height: e(r.currentImage).height() }, n.animSpeed);
		};
		var d = function(t, n, r, i) {
			var s = t.data('nivo:vars');
			if (s && s.currentSlide === s.totalSlides - 1) {
				r.lastSlide.call(this);
			}
			if ((!s || s.stop) && !i) {
				return false;
			}
			r.beforeChange.call(this);
			if (!i) {
				u.attr('src', s.currentImage.attr('src'));
			} else {
				if (i === 'prev') {
					u.attr('src', s.currentImage.attr('src'));
				}
				if (i === 'next') {
					u.attr('src', s.currentImage.attr('src'));
				}
			}
			s.currentSlide++;
			if (s.currentSlide === s.totalSlides) {
				s.currentSlide = 0;
				r.slideshowEnd.call(this);
			}
			if (s.currentSlide < 0) {
				s.currentSlide = s.totalSlides - 1;
			}
			if (e(n[s.currentSlide]).is('img')) {
				s.currentImage = e(n[s.currentSlide]);
			} else {
				s.currentImage = e(n[s.currentSlide]).find('img:first');
			}
			if (r.controlNav) {
				e('a', s.controlNavEl).removeClass('active');
				e('a:eq(' + s.currentSlide + ')', s.controlNavEl).addClass('active');
			}
			a(r);
			e('.nivo-slice', t).remove();
			e('.nivo-box', t).remove();
			var o = r.effect,
				f = '';
			if (r.effect === 'random') {
				f = new Array(
					'sliceDownRight',
					'sliceDownLeft',
					'sliceUpRight',
					'sliceUpLeft',
					'sliceUpDown',
					'sliceUpDownLeft',
					'fold',
					'fade',
					'boxRandom',
					'boxRain',
					'boxRainReverse',
					'boxRainGrow',
					'boxRainGrowReverse'
				);
				o = f[Math.floor(Math.random() * (f.length + 1))];
				if (o === undefined) {
					o = 'fade';
				}
			}
			if (r.effect.indexOf(',') !== -1) {
				f = r.effect.split(',');
				o = f[Math.floor(Math.random() * f.length)];
				if (o === undefined) {
					o = 'fade';
				}
			}
			if (s.currentImage.attr('data-transition')) {
				o = s.currentImage.attr('data-transition');
			}
			s.running = true;
			var l = 0,
				c = 0,
				d = '',
				m = '',
				g = '',
				y = '';
			if (o === 'sliceDown' || o === 'sliceDownRight' || o === 'sliceDownLeft') {
				h(t, r, s);
				l = 0;
				c = 0;
				d = e('.nivo-slice', t);
				if (o === 'sliceDownLeft') {
					d = e('.nivo-slice', t)._reverse();
				}
				d.each(function() {
					var n = e(this);
					n.css({ top: '0px' });
					if (c === r.slices - 1) {
						setTimeout(function() {
							n.animate({ opacity: '1.0' }, r.animSpeed, '', function() {
								t.trigger('nivo:animFinished');
							});
						}, 100 + l);
					} else {
						setTimeout(function() {
							n.animate({ opacity: '1.0' }, r.animSpeed);
						}, 100 + l);
					}
					l += 50;
					c++;
				});
			} else if (o === 'sliceUp' || o === 'sliceUpRight' || o === 'sliceUpLeft') {
				h(t, r, s);
				l = 0;
				c = 0;
				d = e('.nivo-slice', t);
				if (o === 'sliceUpLeft') {
					d = e('.nivo-slice', t)._reverse();
				}
				d.each(function() {
					var n = e(this);
					n.css({ bottom: '0px' });
					if (c === r.slices - 1) {
						setTimeout(function() {
							n.animate({ opacity: '1.0' }, r.animSpeed, '', function() {
								t.trigger('nivo:animFinished');
							});
						}, 100 + l);
					} else {
						setTimeout(function() {
							n.animate({ opacity: '1.0' }, r.animSpeed);
						}, 100 + l);
					}
					l += 50;
					c++;
				});
			} else if (o === 'sliceUpDown' || o === 'sliceUpDownRight' || o === 'sliceUpDownLeft') {
				h(t, r, s);
				l = 0;
				c = 0;
				var b = 0;
				d = e('.nivo-slice', t);
				if (o === 'sliceUpDownLeft') {
					d = e('.nivo-slice', t)._reverse();
				}
				d.each(function() {
					var n = e(this);
					if (c === 0) {
						n.css('top', '0px');
						c++;
					} else {
						n.css('bottom', '0px');
						c = 0;
					}
					if (b === r.slices - 1) {
						setTimeout(function() {
							n.animate({ opacity: '1.0' }, r.animSpeed, '', function() {
								t.trigger('nivo:animFinished');
							});
						}, 100 + l);
					} else {
						setTimeout(function() {
							n.animate({ opacity: '1.0' }, r.animSpeed);
						}, 100 + l);
					}
					l += 50;
					b++;
				});
			} else if (o === 'fold') {
				h(t, r, s);
				l = 0;
				c = 0;
				e('.nivo-slice', t).each(function() {
					var n = e(this);
					var i = n.width();
					n.css({ top: '0px', width: '0px' });
					if (c === r.slices - 1) {
						setTimeout(function() {
							n.animate({ width: i, opacity: '1.0' }, r.animSpeed, '', function() {
								t.trigger('nivo:animFinished');
							});
						}, 100 + l);
					} else {
						setTimeout(function() {
							n.animate({ width: i, opacity: '1.0' }, r.animSpeed);
						}, 100 + l);
					}
					l += 50;
					c++;
				});
			} else if (o === 'fade') {
				h(t, r, s);
				m = e('.nivo-slice:first', t);
				m.css({ width: t.width() + 'px' });
				m.animate({ opacity: '1.0' }, r.animSpeed * 2, '', function() {
					t.trigger('nivo:animFinished');
				});
			} else if (o === 'slideInRight') {
				h(t, r, s);
				m = e('.nivo-slice:first', t);
				m.css({ width: '0px', opacity: '1' });
				m.animate({ width: t.width() + 'px' }, r.animSpeed * 2, '', function() {
					t.trigger('nivo:animFinished');
				});
			} else if (o === 'slideInLeft') {
				h(t, r, s);
				m = e('.nivo-slice:first', t);
				m.css({ width: '0px', opacity: '1', left: '', right: '0px' });
				m.animate({ width: t.width() + 'px' }, r.animSpeed * 2, '', function() {
					m.css({ left: '0px', right: '' });
					t.trigger('nivo:animFinished');
				});
			} else if (o === 'boxRandom') {
				p(t, r, s);
				g = r.boxCols * r.boxRows;
				c = 0;
				l = 0;
				y = v(e('.nivo-box', t));
				y.each(function() {
					var n = e(this);
					if (c === g - 1) {
						setTimeout(function() {
							n.animate({ opacity: '1' }, r.animSpeed, '', function() {
								t.trigger('nivo:animFinished');
							});
						}, 100 + l);
					} else {
						setTimeout(function() {
							n.animate({ opacity: '1' }, r.animSpeed);
						}, 100 + l);
					}
					l += 20;
					c++;
				});
			} else if (o === 'boxRain' || o === 'boxRainReverse' || o === 'boxRainGrow' || o === 'boxRainGrowReverse') {
				p(t, r, s);
				g = r.boxCols * r.boxRows;
				c = 0;
				l = 0;
				var w = 0;
				var E = 0;
				var S = [];
				S[w] = [];
				y = e('.nivo-box', t);
				if (o === 'boxRainReverse' || o === 'boxRainGrowReverse') {
					y = e('.nivo-box', t)._reverse();
				}
				y.each(function() {
					S[w][E] = e(this);
					E++;
					if (E === r.boxCols) {
						w++;
						E = 0;
						S[w] = [];
					}
				});
				for (var x = 0; x < r.boxCols * 2; x++) {
					var T = x;
					for (var N = 0; N < r.boxRows; N++) {
						if (T >= 0 && T < r.boxCols) {
							(function(n, i, s, u, a) {
								var f = e(S[n][i]);
								var l = f.width();
								var c = f.height();
								if (o === 'boxRainGrow' || o === 'boxRainGrowReverse') {
									f.width(0).height(0);
								}
								if (u === a - 1) {
									setTimeout(function() {
										f.animate(
											{ opacity: '1', width: l, height: c },
											r.animSpeed / 1.3,
											'',
											function() {
												t.trigger('nivo:animFinished');
											}
										);
									}, 100 + s);
								} else {
									setTimeout(function() {
										f.animate({ opacity: '1', width: l, height: c }, r.animSpeed / 1.3);
									}, 100 + s);
								}
							})(N, T, l, c, g);
							c++;
						}
						T--;
					}
					l += 100;
				}
			}
		};
		var v = function(e) {
			for (var t, n, r = e.length; r; t = parseInt(Math.random() * r, 10), n = e[--r], e[r] = e[t], e[t] = n);
			return e;
		};
		var m = function(e) {
			if (this.console && typeof console.log !== 'undefined') {
				console.log(e);
			}
		};
		this.stop = function() {
			if (!e(t).data('nivo:vars').stop) {
				e(t).data('nivo:vars').stop = true;
				m('Stop Slider');
			}
		};
		this.start = function() {
			if (e(t).data('nivo:vars').stop) {
				e(t).data('nivo:vars').stop = false;
				m('Start Slider');
			}
		};
		r.afterLoad.call(this);
		return this;
	};
	e.fn.nivoSlider = function(n) {
		return this.each(function(r, i) {
			var s = e(this);
			if (s.data('nivoslider')) {
				return s.data('nivoslider');
			}
			var o = new t(this, n);
			s.data('nivoslider', o);
		});
	};
	e.fn.nivoSlider.defaults = {
		effect: 'random',
		slices: 15,
		boxCols: 8,
		boxRows: 4,
		animSpeed: 500,
		pauseTime: 3e3,
		startSlide: 0,
		directionNav: true,
		controlNav: true,
		controlNavThumbs: false,
		pauseOnHover: true,
		manualAdvance: false,
		prevText: 'Prev',
		nextText: 'Next',
		randomStart: false,
		beforeChange: function() {},
		afterChange: function() {},
		slideshowEnd: function() {},
		lastSlide: function() {},
		afterLoad: function() {}
	};
	e.fn._reverse = [].reverse;
})(jQuery);

/*******************************
08. Countdown Jquery
********************************/

!(function(a) {
	'use strict';
	'function' == typeof define && define.amd ? define([ 'jquery' ], a) : a(jQuery);
})(function(a) {
	'use strict';
	function b(a) {
		if (a instanceof Date) return a;
		if (String(a).match(g))
			return (
				String(a).match(/^[0-9]*$/) && (a = Number(a)),
				String(a).match(/\-/) && (a = String(a).replace(/\-/g, '/')),
				new Date(a)
			);
		throw new Error("Couldn't cast `" + a + '` to a date object.');
	}
	function c(a) {
		return function(b) {
			var c = b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);
			if (c)
				for (var e = 0, f = c.length; f > e; ++e) {
					var g = c[e].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),
						i = new RegExp(g[0]),
						j = g[1] || '',
						k = g[3] || '',
						l = null;
					(g = g[2]),
						h.hasOwnProperty(g) && ((l = h[g]), (l = Number(a[l]))),
						null !== l &&
							('!' === j && (l = d(k, l)),
							'' === j && 10 > l && (l = '0' + l.toString()),
							(b = b.replace(i, l.toString())));
				}
			return (b = b.replace(/%%/, '%'));
		};
	}
	function d(a, b) {
		var c = 's',
			d = '';
		return (
			a &&
				((a = a.replace(/(:|;|\s)/gi, '').split(/\,/)), 1 === a.length ? (c = a[0]) : ((d = a[0]), (c = a[1]))),
			1 === Math.abs(b) ? d : c
		);
	}
	var e = 100,
		f = [],
		g = [];
	g.push(/^[0-9]*$/.source),
		g.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),
		g.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),
		(g = new RegExp(g.join('|')));
	var h = { Y: 'years', m: 'months', w: 'weeks', d: 'days', D: 'totalDays', H: 'hours', M: 'minutes', S: 'seconds' },
		i = function(b, c, d) {
			(this.el = b),
				(this.$el = a(b)),
				(this.interval = null),
				(this.offset = {}),
				(this.instanceNumber = f.length),
				f.push(this),
				this.$el.data('countdown-instance', this.instanceNumber),
				d &&
					(this.$el.on('update.countdown', d),
					this.$el.on('stoped.countdown', d),
					this.$el.on('finish.countdown', d)),
				this.setFinalDate(c),
				this.start();
		};
	a.extend(i.prototype, {
		start: function() {
			null !== this.interval && clearInterval(this.interval);
			var a = this;
			this.update(),
				(this.interval = setInterval(function() {
					a.update.call(a);
				}, e));
		},
		stop: function() {
			clearInterval(this.interval), (this.interval = null), this.dispatchEvent('stoped');
		},
		pause: function() {
			this.stop.call(this);
		},
		resume: function() {
			this.start.call(this);
		},
		remove: function() {
			this.stop(), (f[this.instanceNumber] = null), delete this.$el.data().countdownInstance;
		},
		setFinalDate: function(a) {
			this.finalDate = b(a);
		},
		update: function() {
			return 0 === this.$el.closest('html').length
				? void this.remove()
				: ((this.totalSecsLeft = this.finalDate.getTime() - new Date().getTime()),
					(this.totalSecsLeft = Math.ceil(this.totalSecsLeft / 1e3)),
					(this.totalSecsLeft = this.totalSecsLeft < 0 ? 0 : this.totalSecsLeft),
					(this.offset = {
						seconds: this.totalSecsLeft % 60,
						minutes: Math.floor(this.totalSecsLeft / 60) % 60,
						hours: Math.floor(this.totalSecsLeft / 60 / 60) % 24,
						days: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,
						totalDays: Math.floor(this.totalSecsLeft / 60 / 60 / 24),
						weeks: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7),
						months: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30),
						years: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 365)
					}),
					void (0 === this.totalSecsLeft
						? (this.stop(), this.dispatchEvent('finish'))
						: this.dispatchEvent('update')));
		},
		dispatchEvent: function(b) {
			var d = a.Event(b + '.countdown');
			(d.finalDate = this.finalDate),
				(d.offset = a.extend({}, this.offset)),
				(d.strftime = c(this.offset)),
				this.$el.trigger(d);
		}
	}),
		(a.fn.countdown = function() {
			var b = Array.prototype.slice.call(arguments, 0);
			return this.each(function() {
				var c = a(this).data('countdown-instance');
				if (void 0 !== c) {
					var d = f[c],
						e = b[0];
					i.prototype.hasOwnProperty(e)
						? d[e].apply(d, b.slice(1))
						: null === String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i)
							? (d.setFinalDate.call(d, e), d.start())
							: a.error('Method %s does not exist on jQuery.countdown'.replace(/\%s/gi, e));
				} else new i(this, b[0], b[1]);
			});
		});
});

/*******************************
09. Treeview
********************************/
/*
 * Treeview 1.4.2 - jQuery plugin to hide and show branches of a tree
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
 *
 * Copyright Jörn Zaefferer
 * Released under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 */

(function($) {
	// TODO rewrite as a widget, removing all the extra plugins
	$.extend($.fn, {
		swapClass: function(c1, c2) {
			var c1Elements = this.filter('.' + c1);
			this.filter('.' + c2).removeClass(c2).addClass(c1);
			c1Elements.removeClass(c1).addClass(c2);
			return this;
		},
		replaceClass: function(c1, c2) {
			return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
		},
		hoverClass: function(className) {
			className = className || 'hover';
			return this.hover(
				function() {
					$(this).addClass(className);
				},
				function() {
					$(this).removeClass(className);
				}
			);
		},
		heightToggle: function(animated, callback) {
			animated
				? this.animate({ height: 'toggle' }, animated, callback)
				: this.each(function() {
						jQuery(this)[jQuery(this).is(':hidden') ? 'show' : 'hide']();
						if (callback) callback.apply(this, arguments);
					});
		},
		heightHide: function(animated, callback) {
			if (animated) {
				this.animate({ height: 'hide' }, animated, callback);
			} else {
				this.hide();
				if (callback) this.each(callback);
			}
		},
		prepareBranches: function(settings) {
			if (!settings.prerendered) {
				// mark last tree items
				this.filter(':last-child:not(ul)').addClass(CLASSES.last);
				// collapse whole tree, or only those marked as closed, anyway except those marked as open
				this.filter((settings.collapsed ? '' : '.' + CLASSES.closed) + ':not(.' + CLASSES.open + ')')
					.find('>ul')
					.hide();
			}
			// return all items with sublists
			return this.filter(':has(>ul)');
		},
		applyClasses: function(settings, toggler) {
			// TODO use event delegation
			this.filter(':has(>ul):not(:has(>a))')
				.find('>span')
				.unbind('click.treeview')
				.bind('click.treeview', function(event) {
					// don't handle click events on children, eg. checkboxes
					if (this == event.target) toggler.apply($(this).next());
				})
				.add($('a', this))
				.hoverClass();

			if (!settings.prerendered) {
				// handle closed ones first
				this.filter(':has(>ul:hidden)')
					.addClass(CLASSES.expandable)
					.replaceClass(CLASSES.last, CLASSES.lastExpandable);

				// handle open ones
				this.not(':has(>ul:hidden)')
					.addClass(CLASSES.collapsable)
					.replaceClass(CLASSES.last, CLASSES.lastCollapsable);

				// create hitarea if not present
				var hitarea = this.find('div.' + CLASSES.hitarea);
				if (!hitarea.length)
					hitarea = this.prepend('<div class="' + CLASSES.hitarea + '"/>').find('div.' + CLASSES.hitarea);
				hitarea.removeClass().addClass(CLASSES.hitarea).each(function() {
					var classes = '';
					$.each($(this).parent().attr('class').split(' '), function() {
						classes += this + '-hitarea ';
					});
					$(this).addClass(classes);
				});
			}

			// apply event to hitarea
			this.find('div.' + CLASSES.hitarea).click(toggler);
		},
		treeview: function(settings) {
			settings = $.extend(
				{
					cookieId: 'treeview'
				},
				settings
			);

			if (settings.toggle) {
				var callback = settings.toggle;
				settings.toggle = function() {
					return callback.apply($(this).parent()[0], arguments);
				};
			}

			// factory for treecontroller
			function treeController(tree, control) {
				// factory for click handlers
				function handler(filter) {
					return function() {
						// reuse toggle event handler, applying the elements to toggle
						// start searching for all hitareas
						toggler.apply(
							$('div.' + CLASSES.hitarea, tree).filter(function() {
								// for plain toggle, no filter is provided, otherwise we need to check the parent element
								return filter ? $(this).parent('.' + filter).length : true;
							})
						);
						return false;
					};
				}
				// click on first element to collapse tree
				$('a:eq(0)', control).click(handler(CLASSES.collapsable));
				// click on second to expand tree
				$('a:eq(1)', control).click(handler(CLASSES.expandable));
				// click on third to toggle tree
				$('a:eq(2)', control).click(handler());
			}

			// handle toggle event
			function toggler() {
				$(this)
					.parent()
					// swap classes for hitarea
					.find('>.hitarea')
					.swapClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea)
					.swapClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea)
					.end()
					// swap classes for parent li
					.swapClass(CLASSES.collapsable, CLASSES.expandable)
					.swapClass(CLASSES.lastCollapsable, CLASSES.lastExpandable)
					// find child lists
					.find('>ul')
					// toggle them
					.heightToggle(settings.animated, settings.toggle);
				if (settings.unique) {
					$(this)
						.parent()
						.siblings()
						// swap classes for hitarea
						.find('>.hitarea')
						.replaceClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea)
						.replaceClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea)
						.end()
						.replaceClass(CLASSES.collapsable, CLASSES.expandable)
						.replaceClass(CLASSES.lastCollapsable, CLASSES.lastExpandable)
						.find('>ul')
						.heightHide(settings.animated, settings.toggle);
				}
			}
			this.data('toggler', toggler);

			function serialize() {
				function binary(arg) {
					return arg ? 1 : 0;
				}
				var data = [];
				branches.each(function(i, e) {
					data[i] = $(e).is(':has(>ul:visible)') ? 1 : 0;
				});
				$.cookie(settings.cookieId, data.join(''), settings.cookieOptions);
			}

			function deserialize() {
				var stored = $.cookie(settings.cookieId);
				if (stored) {
					var data = stored.split('');
					branches.each(function(i, e) {
						$(e).find('>ul')[parseInt(data[i]) ? 'show' : 'hide']();
					});
				}
			}

			// add treeview class to activate styles
			this.addClass('treeview');

			// prepare branches and find all tree items with child lists
			var branches = this.find('li').prepareBranches(settings);

			switch (settings.persist) {
				case 'cookie':
					var toggleCallback = settings.toggle;
					settings.toggle = function() {
						serialize();
						if (toggleCallback) {
							toggleCallback.apply(this, arguments);
						}
					};
					deserialize();
					break;
				case 'location':
					var current = this.find('a').filter(function() {
						return location.href.toLowerCase().indexOf(this.href.toLowerCase()) == 0;
					});
					if (current.length) {
						// TODO update the open/closed classes
						var items = current.addClass('selected').parents('ul, li').add(current.next()).show();
						if (settings.prerendered) {
							// if prerendered is on, replicate the basic class swapping
							items
								.filter('li')
								.swapClass(CLASSES.collapsable, CLASSES.expandable)
								.swapClass(CLASSES.lastCollapsable, CLASSES.lastExpandable)
								.find('>.hitarea')
								.swapClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea)
								.swapClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea);
						}
					}
					break;
			}

			branches.applyClasses(settings, toggler);

			// if control option is set, create the treecontroller and show it
			if (settings.control) {
				treeController(this, settings.control);
				$(settings.control).show();
			}

			return this;
		}
	});

	// classes used by the plugin
	// need to be styled via external stylesheet, see first example
	$.treeview = {};
	var CLASSES = ($.treeview.classes = {
		open: 'open',
		closed: 'closed',
		expandable: 'expandable',
		expandableHitarea: 'expandable-hitarea',
		lastExpandableHitarea: 'lastExpandable-hitarea',
		collapsable: 'collapsable',
		collapsableHitarea: 'collapsable-hitarea',
		lastCollapsableHitarea: 'lastCollapsable-hitarea',
		lastCollapsable: 'lastCollapsable',
		lastExpandable: 'lastExpandable',
		last: 'last',
		hitarea: 'hitarea'
	});
})(jQuery);

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
	if (typeof value != 'undefined') {
		// name and value given, set cookie
		options = options || {};
		if (value === null) {
			value = '';
			options.expires = -1;
		}
		var expires = '';
		if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
			var date;
			if (typeof options.expires == 'number') {
				date = new Date();
				date.setTime(date.getTime() + options.expires * 24 * 60 * 60 * 1000);
			} else {
				date = options.expires;
			}
			expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
		}
		var path = options.path ? '; path=' + options.path : '';
		var domain = options.domain ? '; domain=' + options.domain : '';
		var secure = options.secure ? '; secure' : '';
		document.cookie = [ name, '=', encodeURIComponent(value), expires, path, domain, secure ].join('');
	} else {
		// only name given, get cookie
		var cookieValue = null;
		if (document.cookie && document.cookie != '') {
			var cookies = document.cookie.split(';');
			for (var i = 0; i < cookies.length; i++) {
				var cookie = jQuery.trim(cookies[i]);
				// Does this cookie string begin with the name we want?
				if (cookie.substring(0, name.length + 1) == name + '=') {
					cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
					break;
				}
			}
		}
		return cookieValue;
	}
};

/*******************************
10. style customizer
********************************/
/*!
 * jQuery Cookie Plugin v1.4.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2006, 2014 Klaus Hartl
 * Released under the MIT license
 */

!(function(a) {
	'function' == typeof define && define.amd
		? define([ 'jquery' ], a)
		: 'object' == typeof exports ? a(require('jquery')) : a(jQuery);
})(function(a) {
	function c(a) {
		return h.raw ? a : encodeURIComponent(a);
	}
	function d(a) {
		return h.raw ? a : decodeURIComponent(a);
	}
	function e(a) {
		return c(h.json ? JSON.stringify(a) : String(a));
	}
	function f(a) {
		0 === a.indexOf('"') && (a = a.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'));
		try {
			return (a = decodeURIComponent(a.replace(b, ' '))), h.json ? JSON.parse(a) : a;
		} catch (c) {}
	}
	function g(b, c) {
		var d = h.raw ? b : f(b);
		return a.isFunction(c) ? c(d) : d;
	}
	var b = /\+/g,
		h = (a.cookie = function(b, f, i) {
			if (arguments.length > 1 && !a.isFunction(f)) {
				if (((i = a.extend({}, h.defaults, i)), 'number' == typeof i.expires)) {
					var j = i.expires,
						k = (i.expires = new Date());
					k.setTime(+k + 864e5 * j);
				}
				return (document.cookie = [
					c(b),
					'=',
					e(f),
					i.expires ? '; expires=' + i.expires.toUTCString() : '',
					i.path ? '; path=' + i.path : '',
					i.domain ? '; domain=' + i.domain : '',
					i.secure ? '; secure' : ''
				].join(''));
			}
			for (
				var l = b ? void 0 : {}, m = document.cookie ? document.cookie.split('; ') : [], n = 0, o = m.length;
				o > n;
				n++
			) {
				var p = m[n].split('='),
					q = d(p.shift()),
					r = p.join('=');
				if (b && b === q) {
					l = g(r, f);
					break;
				}
				b || void 0 === (r = g(r)) || (l[q] = r);
			}
			return l;
		});
	(h.defaults = {}),
		(a.removeCookie = function(b, c) {
			return void 0 === a.cookie(b) ? !1 : (a.cookie(b, '', a.extend({}, c, { expires: -1 })), !a.cookie(b));
		});
});

/*

  Template Name: Freak Ecommerce Responsive Bootstrap Template
  Description: This is html5 template
  Author: BootExperts
  Version: 1.0
  Design and Developed by: BootExperts

NOTE: This is js of style customizer, This file Change the styling of color, 
backgrond patterns, Background images and box layout of the actual Template. 
so you can change as your requirement.

*/

/* style-customizer */

jQuery(document).ready(function($) {
	/* ----------------------------
        Left sidebar
    ----------------------------- */
	(style_switcher = $('.style-customizer')), (panelWidth = style_switcher.outerWidth(true));
	$('.style-customizer .opener').on('click', function() {
		var $this = $(this);
		if ($('.style-customizer.closed').length > 0) {
			style_switcher.animate({ left: '0px' });
			$('.style-customizer.closed').removeClass('closed');
			$('.style-customizer').addClass('opened');
		} else {
			$('.style-customizer.opened').removeClass('opened');
			$('.style-customizer').addClass('closed');
			style_switcher.animate({ left: '-' + panelWidth });
		}
		return false;
	});

	/* ----------------------------------
        style change 
    ------------------------------------- */
	var link = $('link[data-style="styles"]'),
		link_no_cookie = $('link[data-style="styles-no-cookie"]');

	/* ----------------------------------
        Resume from last selected style
    ------------------------------------- */
	var tp_stylesheet = $.cookie('tp_stylesheet'),
		footer_bg = $.cookie('footer_bg'),
		customizer_mode = $.cookie('customizer_mode'),
		pattern = $.cookie('pattern');

	$('.style-customizer .selected').removeClass('selected');
	if (!$.cookie('tp_stylesheet')) {
		$.cookie('tp_stylesheet', 'skin-default', 30);
		tp_stylesheet = $.cookie('tp_stylesheet');
		$('.style-customizer .styleChange li[data-style="' + tp_stylesheet + '"]').addClass('selected');
	} else {
		if (link.length > 0) {
			link.attr('href', 'css/color/' + tp_stylesheet + '.css');
			$('.style-customizer .styleChange li[data-style="' + tp_stylesheet + '"]').addClass('selected');
			if ($('.swicher-title-page-dark').length > 0) {
				document.getElementById('logo_img').src =
					'images/customizer/logo/logo_dark_swicher-title_' + tp_stylesheet + '.png';
			} else {
				if ($('#logo_img').length > 0) {
					document.getElementById('logo_img').src = 'images/customizer/logo/logo_' + tp_stylesheet + '.png';
				}
				if ($('#logo_dark_img').length > 0) {
					document.getElementById('logo_dark_img').src =
						'images/customizer/logo/dark/logo_' + tp_stylesheet + '.png';
				}
				if ($('#logo-footer').length > 0) {
					document.getElementById('logo-footer').src =
						'images/customizer/logo/logo_' + tp_stylesheet + '.png';
				}
			}
		}
	}

	if (!$.cookie('customizer_mode')) {
		$.cookie('customizer_mode', 'wide-layout', 30);
		customizer_mode = $.cookie('customizer_mode');
		$('body').addClass(customizer_mode);
		$('.style-customizer .layoutstyle li[data-style="wide-layout"]').addClass('selected');
	} else {
		if (customizer_mode == 'boxed-layout') {
			$('body').addClass(customizer_mode);
			$('body').removeClass('wide-layout');
			$('.style-customizer .layoutstyle li[data-style="boxed-layout"]').addClass('selected');
			$('.style-customizer .layoutstyle li[data-style="wide-layout"]').removeClass('selected');
			$('.owl-carousel .container').css('marginLeft', '0');
		} else {
			$('body').addClass(customizer_mode);
			$('body').removeClass(
				'boxed-layout pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
			);

			$('.style-customizer .layoutstyle li[data-style="boxed-layout"]').removeClass('selected');
			$('.style-customizer .layoutstyle li[data-style="wide-layout"]').addClass('selected');
			$('.owl-carousel .container').css('marginLeft', 'auto');
		}
	}

	if (customizer_mode == 'boxed-layout' && $.cookie('pattern')) {
		$('.style-customizer .patternChange li[data-style="' + pattern + '"]').addClass('selected');
		$('body').removeClass(
			'pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
		);

		$('body').addClass(pattern);
	} else if (customizer_mode == 'boxed-layout') {
		$('body').removeClass(
			'pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
		);

		$('.style-customizer .patternChange li[data-style="pattern-0"]').addClass('selected');
	} else {
		$('.style-customizer .patternChange li.selected').removeClass('selected');
		$('body').removeClass(
			'pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
		);
	}

	/* ----------------------------------
        Color Changer
    ------------------------------------- */
	$('.style-customizer .styleChange li').on('click', function() {
		if (link.length > 0) {
			var $this = $(this),
				tp_stylesheet = $this.data('style');
			$('.style-customizer .styleChange .selected').removeClass('selected');
			$this.addClass('selected');
			link.attr('href', 'css/color/' + tp_stylesheet + '.css');
			if ($('.swicher-title-page-dark').length > 0) {
				document.getElementById('logo_img').src =
					'images/customizer/logo/logo_dark_swicher-title_' + tp_stylesheet + '.png';
			} else {
				if ($('#logo_img').length > 0) {
					document.getElementById('logo_img').src = 'images/customizer/logo/logo_' + tp_stylesheet + '.png';
				}
				if ($('#logo_dark_img').length > 0) {
					document.getElementById('logo_dark_img').src =
						'images/customizer/logo/dark/logo_' + tp_stylesheet + '.png';
				}
				if ($('#logo-footer').length > 0) {
					document.getElementById('logo-footer').src =
						'images/customizer/logo/logo_' + tp_stylesheet + '.png';
				}
			}
			$.cookie('tp_stylesheet', tp_stylesheet, 30);
		} else {
			var $this = $(this),
				tp_stylesheet_no_cookie = $this.data('style');
			$('.style-customizer .styleChange .selected').removeClass('selected');
			$this.addClass('selected');
			link_no_cookie.attr('href', 'css/color/' + tp_stylesheet_no_cookie + '.css');
			if ($('.swicher-title-page-dark').length > 0) {
				document.getElementById('logo_img').src =
					'images/customizer/logo/logo_dark_swicher-title_' + tp_stylesheet_no_cookie + '.png';
			} else {
				if ($('#logo_img').length > 0) {
					document.getElementById('logo_img').src =
						'images/customizer/logo/logo_' + tp_stylesheet_no_cookie + '.png';
				}
				if ($('#logo_dark_img').length > 0) {
					document.getElementById('logo_dark_img').src =
						'images/customizer/logo/dark/logo_' + tp_stylesheet_no_cookie + '.png';
				}
				if ($('#logo-footer').length > 0) {
					document.getElementById('logo-footer').src =
						'images/customizer/logo/logo_' + tp_stylesheet_no_cookie + '.png';
				}
			}
		}
	});

	/* ----------------------------------
        Patterns Changer
    ------------------------------------- */
	$('.style-customizer .patternChange li').on('click', function() {
		var $this = $(this),
			pattern = $this.data('style');
		$('.style-customizer .patternChange .selected').removeClass('selected');
		$this.addClass('selected');
		$('body').removeClass(
			'pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
		);

		$('body').addClass(pattern);
		$('body').addClass('boxed-layout');
		$('.style-customizer .layoutstyle li[data-style="boxed-layout"]').addClass('selected');
		$('.style-customizer .layoutstyle li[data-style="wide-layout"]').removeClass('selected');
		$('.owl-carousel .container').css('marginLeft', '0');
		$('.style-customizer select').val('boxed-layout');
		$.cookie('pattern', pattern, 30);
		$.cookie('customizer_mode', 'boxed-layout', 30);
		$(window).trigger('resize');
	});

	/* ----------------------------------
        layout Changer (boxed Layout)
    ------------------------------------- */
	$('.style-customizer .layoutstyle li.boxed-layout').on('click', function() {
		$('body').addClass('boxed-layout');
		$('body').removeClass('wide-layout');
		$('.style-customizer .layoutstyle li[data-style="boxed-layout"]').addClass('selected');
		$('.style-customizer .layoutstyle li[data-style="wide-layout"]').removeClass('selected');
		$('.owl-carousel .container').css('marginLeft', '0');
		$.cookie('customizer_mode', 'boxed-layout', 30);
		if ($.cookie('pattern')) {
			var pattern = $.cookie('pattern');
			$('.style-customizer .patternChange li[data-style="' + pattern + '"]').addClass('selected');
			$('body').removeClass(
				'pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
			);

			$('body').addClass(pattern);
		} else {
			$('.style-customizer .patternChange li[data-style="pattern-0"]').addClass('selected');
		}
		$(window).trigger('resize');
	});

	/* ----------------------------------
        layout Changer (Wide Layout)
    ------------------------------------- */
	$('.style-customizer .layoutstyle li.wide-layout').on('click', function() {
		$('body').addClass('wide-layout');
		$('body').removeClass(
			'boxed-layout pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
		);
		$('body').removeClass('');
		$('.style-customizer .layoutstyle li[data-style="boxed-layout"]').removeClass('selected');
		$('.style-customizer .layoutstyle li[data-style="wide-layout"]').addClass('selected');
		$('.owl-carousel .container').css('marginLeft', 'auto');
		$('.style-customizer .patternChange li.selected').removeClass('selected');
		$.cookie('customizer_mode', 'wide-layout', 30);
		$(window).trigger('resize');
	});

	/* ----------------------------------
        Reset all customize styles
    ------------------------------------- */
	$('.style-customizer .resetAll li a.button-reset').on('click', function() {
		$.cookie('customizer_mode', 'wide-layout', 30);
		$('body').addClass('wide-layout');
		$('body').removeClass('boxed-layout');
		$('.style-customizer .layoutstyle li[data-style="boxed-layout"]').removeClass('selected');
		$('.style-customizer .layoutstyle li[data-style="wide-layout"]').addClass('selected');
		$('.owl-carousel .container').css('marginLeft', 'auto');
		$('.style-customizer .patternChange li.selected').removeClass('selected');

		//patterns and backgrond change
		$.cookie('pattern', 'pattern-0', 30);
		$('body').removeClass(
			'reset pattern-0 pattern-1 pattern-2 pattern-3 pattern-4 pattern-5  pattern-6  pattern-7  pattern-8 main-bg-1 main-bg-2 main-bg-3 main-bg-4 main-bg-5 main-bg-6 main-bg-7 main-bg-8 '
		);
		$('.style-customizer .patternChange .selected').removeClass('selected');

		//Logo change
		$.cookie('tp_stylesheet', 'skin-default', 30);
		var tp_stylesheet = 'skin-default';
		$('.style-customizer .styleChange li.selected').removeClass('selected');
		$('.style-customizer .styleChange li[data-style="' + tp_stylesheet + '"]').addClass('selected');
		link.attr('href', 'css/color/' + tp_stylesheet + '.css');
		if ($('#logo_img').length > 0) {
			document.getElementById('logo_img').src = 'images/customizer/logo/logo_' + tp_stylesheet + '.png';
		}
		if ($('#logo_dark_img').length > 0) {
			document.getElementById('logo_dark_img').src = 'images/customizer/logo/dark/logo_' + tp_stylesheet + '.png';
		}
		if ($('#logo-footer').length > 0) {
			document.getElementById('logo-footer').src = 'images/customizer/logo/logo_' + tp_stylesheet + '.png';
		}
		$(window).trigger('resize');
		$('.desktopTopFixed').removeClass('desktopTopFixed');
	});
});

/*******************************
11. Venobox Js
********************************/

/*
 * VenoBox - jQuery Plugin
 * version: 1.8.9
 * @requires jQuery >= 1.7.0
 *
 * Examples at http://veno.es/venobox/
 * License: MIT License
 * License URI: https://github.com/nicolafranchini/VenoBox/blob/master/LICENSE
 * Copyright 2013-2020 Nicola Franchini - @nicolafranchini
 *
 */

/* global jQuery */

(function($){
    "use strict";
    var autoplay, bgcolor, blockleft, blocknum, blockshare, blocktitle, border, core, container, content, dest, extraCss,
        framewidth, frameheight, gallItems, infinigall, items, keyNavigationDisabled, margine, numeratio,
        overlayColor, overlay, title, thisgall, thenext, theprev, nextok, prevok, preloader, $preloader, navigation,
        obj, gallIndex, startouch, vbheader, images, startY, startX, endY, endX, diff, diffX, diffY, threshold,
        share, sharelinks, vbfooter, sharepos;

    var pinIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.372-12 12 0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738.098.119.112.224.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146 1.124.347 2.317.535 3.554.535 6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12z" fill-rule="evenodd" clip-rule="evenodd"/></svg>';
    var fbIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm3 8h-1.35c-.538 0-.65.221-.65.778v1.222h2l-.209 2h-1.791v7h-3v-7h-2v-2h2v-2.308c0-1.769.931-2.692 3.029-2.692h1.971v3z"/></svg>';
    var twitterIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm6.066 9.645c.183 4.04-2.83 8.544-8.164 8.544-1.622 0-3.131-.476-4.402-1.291 1.524.18 3.045-.244 4.252-1.189-1.256-.023-2.317-.854-2.684-1.995.451.086.895.061 1.298-.049-1.381-.278-2.335-1.522-2.304-2.853.388.215.83.344 1.301.359-1.279-.855-1.641-2.544-.889-3.835 1.416 1.738 3.533 2.881 5.92 3.001-.419-1.796.944-3.527 2.799-3.527.825 0 1.572.349 2.096.907.654-.128 1.27-.368 1.824-.697-.215.671-.67 1.233-1.263 1.589.581-.07 1.135-.224 1.649-.453-.384.578-.87 1.084-1.433 1.489z"/></svg>';
    var linkedinIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-2 16h-2v-6h2v6zm-1-6.891c-.607 0-1.1-.496-1.1-1.109 0-.612.492-1.109 1.1-1.109s1.1.497 1.1 1.109c0 .613-.493 1.109-1.1 1.109zm8 6.891h-1.998v-2.861c0-1.881-2.002-1.722-2.002 0v2.861h-2v-6h2v1.093c.872-1.616 4-1.736 4 1.548v3.359z"/></svg>';
    var downloadIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm2 9h-4v-1h4v1zm0-3v1h-4v-1h4zm-2 13l-6-6h4v-3h4v3h4l-6 6z"/></svg>';
   
    $.fn.extend({
        //plugin name - venobox
        venobox: function(options) {
            var plugin = this;
            // default options
            var defaults = {
                arrowsColor : '#B6B6B6',
                autoplay : false, // same as data-autoplay - thanks @codibit
                bgcolor: '#fff',
                border: '0',
                closeBackground : 'transparent',
                closeColor : "#d2d2d2",
                framewidth: '',
                frameheight: '',
                gallItems: false,
                infinigall: false,
                htmlClose : '&times;',
                htmlNext : '<span>Next</span>',
                htmlPrev : '<span>Prev</span>',
                numeratio: false,
                numerationBackground : '#161617',
                numerationColor : '#d2d2d2',
                numerationPosition : 'top', // 'top' || 'bottom'
                overlayClose: true, // disable overlay click-close - thanx @martybalandis
                overlayColor : 'rgba(23,23,23,0.85)',
                spinner : 'double-bounce', // available: 'rotating-plane' | 'double-bounce' | 'wave' | 'wandering-cubes' | 'spinner-pulse' | 'chasing-dots' | 'three-bounce' | 'circle' | 'cube-grid' | 'fading-circle' | 'folding-cube'
                spinColor : '#d2d2d2',
                titleattr: 'title', // specific attribute to get a title (e.g. [data-title]) - thanx @mendezcode
                titleBackground: '#161617',
                titleColor: '#d2d2d2',
                titlePosition : 'top', // 'top' || 'bottom'
                share: [ 'facebook', 'twitter', 'linkedin', 'pinterest', 'download' ], 
                cb_pre_open: function(){ return true; }, // Callbacks - thanx @garyee
                cb_post_open: function(){},
                cb_pre_close: function(){ return true; },
                cb_post_close: function(){},
                cb_post_resize: function(){},
                cb_after_nav: function(){},
                cb_content_loaded: function(){},
                cb_init: function(){}
            };

            var option = $.extend(defaults, options);

            // callback plugin initialization
            option.cb_init(plugin);

            return this.each(function() {

                obj = $(this);

                // Prevent double initialization - thanx @matthistuff
                if (obj.data('venobox')) {
                  return true;
                }

                // method to be used outside the plugin
                plugin.VBclose = function() {
                    closeVbox();
                };
                obj.addClass('vbox-item');
                obj.data('framewidth', option.framewidth);
                obj.data('frameheight', option.frameheight);
                obj.data('border', option.border);
                obj.data('bgcolor', option.bgcolor);
                obj.data('numeratio', option.numeratio);
                obj.data('gallItems', option.gallItems);
                obj.data('infinigall', option.infinigall);
                obj.data('overlaycolor', option.overlayColor);
                obj.data('titleattr', option.titleattr);
                obj.data('share', option.share);

                obj.data('venobox', true);

                obj.on('click', function(e){

                    e.preventDefault();
                    obj = $(this);

                    // callback plugin initialization
                    var cb_pre_open = option.cb_pre_open(obj);

                    if (cb_pre_open === false) {
                      return false;
                    }

                    // methods to be used outside the plugin
                    plugin.VBnext = function() {
                        navigateGall(thenext);
                    };
                    plugin.VBprev = function() {
                        navigateGall(theprev);
                    };

                    overlayColor = obj.data('overlay') || obj.data('overlaycolor');

                    framewidth = obj.data('framewidth');
                    frameheight = obj.data('frameheight');
                    // set data-autoplay="true" for vimeo and youtube videos - thanx @zehfernandes
                    autoplay = obj.data('autoplay') || option.autoplay;
                    border = obj.data('border');
                    bgcolor = obj.data('bgcolor');
                    nextok = false;
                    prevok = false;
                    keyNavigationDisabled = false;

                    // set a different url to be loaded using data-href="" - thanx @pixeline
                    dest = obj.data('href') || obj.attr('href');
                    extraCss = obj.data( 'css' ) || '';
                    title = obj.attr(obj.data('titleattr')) || '';
                    share = obj.data('share');
                    
                    preloader = '<div class="vbox-preloader">';

                    switch (option.spinner) {

                        case 'rotating-plane':
                            preloader += '<div class="sk-rotating-plane"></div>';
                            break;
                        case 'double-bounce':
                            preloader += '<div class="sk-double-bounce">'+
                            '<div class="sk-child sk-double-bounce1"></div>'+
                            '<div class="sk-child sk-double-bounce2"></div>'+
                            '</div>';
                            break;
                        case 'wave':
                            preloader += '<div class="sk-wave">'+
                            '<div class="sk-rect sk-rect1"></div>'+
                            '<div class="sk-rect sk-rect2"></div>'+
                            '<div class="sk-rect sk-rect3"></div>'+
                            '<div class="sk-rect sk-rect4"></div>'+
                            '<div class="sk-rect sk-rect5"></div>'+
                            '</div>';
                            break;
                        case 'wandering-cubes':
                            preloader += '<div class="sk-wandering-cubes">'+
                            '<div class="sk-cube sk-cube1"></div>'+
                            '<div class="sk-cube sk-cube2"></div>'+
                            '</div>';
                            break;
                          case 'spinner-pulse':
                            preloader += '<div class="sk-spinner sk-spinner-pulse"></div>';
                            break;
                        case 'chasing-dots':
                            preloader += '<div class="sk-chasing-dots">'+
                            '<div class="sk-child sk-dot1"></div>'+
                            '<div class="sk-child sk-dot2"></div>'+
                            '</div>';
                            break;
                        case 'three-bounce':
                            preloader += '<div class="sk-three-bounce">'+
                            '<div class="sk-child sk-bounce1"></div>'+
                            '<div class="sk-child sk-bounce2"></div>'+
                            '<div class="sk-child sk-bounce3"></div>'+
                            '</div>';
                            break;
                        case 'circle':
                            preloader += '<div class="sk-circle">'+
                            '<div class="sk-circle1 sk-child"></div>'+
                            '<div class="sk-circle2 sk-child"></div>'+
                            '<div class="sk-circle3 sk-child"></div>'+
                            '<div class="sk-circle4 sk-child"></div>'+
                            '<div class="sk-circle5 sk-child"></div>'+
                            '<div class="sk-circle6 sk-child"></div>'+
                            '<div class="sk-circle7 sk-child"></div>'+
                            '<div class="sk-circle8 sk-child"></div>'+
                            '<div class="sk-circle9 sk-child"></div>'+
                            '<div class="sk-circle10 sk-child"></div>'+
                            '<div class="sk-circle11 sk-child"></div>'+
                            '<div class="sk-circle12 sk-child"></div>'+
                            '</div>';
                            break;
                        case 'cube-grid':
                            preloader += '<div class="sk-cube-grid">'+
                            '<div class="sk-cube sk-cube1"></div>'+
                            '<div class="sk-cube sk-cube2"></div>'+
                            '<div class="sk-cube sk-cube3"></div>'+
                            '<div class="sk-cube sk-cube4"></div>'+
                            '<div class="sk-cube sk-cube5"></div>'+
                            '<div class="sk-cube sk-cube6"></div>'+
                            '<div class="sk-cube sk-cube7"></div>'+
                            '<div class="sk-cube sk-cube8"></div>'+
                            '<div class="sk-cube sk-cube9"></div>'+
                            '</div>';
                            break;
                        case 'fading-circle':
                            preloader += '<div class="sk-fading-circle">'+
                            '<div class="sk-circle1 sk-circle"></div>'+
                            '<div class="sk-circle2 sk-circle"></div>'+
                            '<div class="sk-circle3 sk-circle"></div>'+
                            '<div class="sk-circle4 sk-circle"></div>'+
                            '<div class="sk-circle5 sk-circle"></div>'+
                            '<div class="sk-circle6 sk-circle"></div>'+
                            '<div class="sk-circle7 sk-circle"></div>'+
                            '<div class="sk-circle8 sk-circle"></div>'+
                            '<div class="sk-circle9 sk-circle"></div>'+
                            '<div class="sk-circle10 sk-circle"></div>'+
                            '<div class="sk-circle11 sk-circle"></div>'+
                            '<div class="sk-circle12 sk-circle"></div>'+
                            '</div>';
                            break;
                        case 'folding-cube':
                            preloader += '<div class="sk-folding-cube">'+
                            '<div class="sk-cube1 sk-cube"></div>'+
                            '<div class="sk-cube2 sk-cube"></div>'+
                            '<div class="sk-cube4 sk-cube"></div>'+
                            '<div class="sk-cube3 sk-cube"></div>'+
                            '</div>';
                            break;
                    }
                    preloader += '</div>';

                    navigation = '<a class="vbox-next">' + option.htmlNext + '</a><a class="vbox-prev">' + option.htmlPrev + '</a>';
                    vbheader = '<div class="vbox-title"></div><div class="vbox-left"><div class="vbox-num">0/0</div></div><div class="vbox-close">' + option.htmlClose + '</div>';
                    vbfooter = '<div class="vbox-share"></div>';

                    core = '<div class="vbox-overlay ' + extraCss + '" style="background:'+ overlayColor +'">'+
                    preloader + '<div class="vbox-container"><div class="vbox-content"></div></div>' + vbheader + navigation + vbfooter + '</div>';

                    $('body').append(core).addClass('vbox-open');

                    $('.vbox-preloader div:not(.sk-circle) .sk-child, .vbox-preloader .sk-rotating-plane, .vbox-preloader .sk-rect, .vbox-preloader div:not(.sk-folding-cube) .sk-cube, .vbox-preloader .sk-spinner-pulse').css('background-color', option.spinColor);

                    overlay = $('.vbox-overlay');
                    container = $('.vbox-container');
                    content = $('.vbox-content');
                    blockleft = $('.vbox-left');
                    blocknum = $('.vbox-num');
                    blockshare = $('.vbox-share');
                    blocktitle = $('.vbox-title');
                    $preloader = $('.vbox-preloader');

                    $preloader.show();

                    if (option.titlePosition == 'top') {
                        sharepos = 'bottom';
                    } else {
                        sharepos = 'top';
                    }
                    blockshare.css(sharepos, '-1px');
                    blockshare.css({
                      'color' : option.titleColor,
                      'fill' : option.titleColor,
                      'background-color' : option.titleBackground
                    });

                    blocktitle.css(option.titlePosition, '-1px',);

                    blocktitle.css({
                      'color' : option.titleColor,
                      'background-color' : option.titleBackground
                    });

                    $('.vbox-close').css({
                      'color' : option.closeColor,
                      'background-color' : option.closeBackground
                    });

                    blockleft.css(option.numerationPosition, '-1px');
                    blockleft.css({
                      'color' : option.numerationColor,
                      'background-color' : option.numerationBackground
                    });

                    $('.vbox-next span, .vbox-prev span').css({
                      'border-top-color' : option.arrowsColor,
                      'border-right-color' : option.arrowsColor
                    });

                    content.html('');
                    content.css('opacity', '0');
                    overlay.css('opacity', '0');

                    checknav();

                    // fade in overlay
                    overlay.animate({opacity:1}, 250, function(){

                        if (obj.data('vbtype') == 'iframe') {
                          loadIframe();
                        } else if (obj.data('vbtype') == 'inline') {
                          loadInline();
                        } else if (obj.data('vbtype') == 'ajax') {
                          loadAjax();
                        } else if (obj.data('vbtype') == 'video') {
                          loadVid(autoplay);
                        } else {
                          content.html('<img src="'+dest+'">');
                          preloadFirst();
                        }
                        option.cb_post_open(obj, gallIndex, thenext, theprev);
                    });

                    /* -------- KEYBOARD ACTIONS -------- */
                    $('body').keydown(keyboardHandler);

                    /* -------- PREVGALL -------- */
                    $('.vbox-prev').on('click', function(){
                        navigateGall(theprev);
                    });
                    /* -------- NEXTGALL -------- */
                    $('.vbox-next').on('click', function(){
                        navigateGall(thenext);
                    });

                    return false;

                }); // click

                /* -------- CHECK NEXT / PREV -------- */
                function checknav(){

                    thisgall = obj.data('gall');
                    numeratio = obj.data('numeratio');
                    gallItems = obj.data('gallItems');
                    infinigall = obj.data('infinigall');
                    share = obj.data('share');
                    blockshare.html('');
                    if ( obj.data('vbtype') !== 'iframe' && obj.data('vbtype') !== 'inline' && obj.data('vbtype') !== 'ajax' ) {
                        sharelinks = { 
                            pinterest : '<a target="_blank" href="https://pinterest.com/pin/create/button/?url='+obj.prop('href')+'&media='+obj.prop('href')+'&description='+title+'">'+pinIcon+'</a>', 
                            facebook  : '<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u='+obj.prop('href')+'">'+fbIcon+'</a>', 
                            twitter   : '<a target="_blank" href="https://twitter.com/intent/tweet?text='+title+'&url='+obj.prop('href')+'">'+twitterIcon+'</a>', 
                            linkedin  : '<a target="_blank" href="https://www.linkedin.com/sharing/share-offsite/?url='+obj.prop('href')+'">'+linkedinIcon+'</a>',
                            download  : '<a target="_blank" href="'+obj.prop('href')+'">'+downloadIcon+'</a>'
                        };
                        $.each( share, function( key, value ) {
                            blockshare.append(sharelinks[value]);
                        });
                    }

                    if (gallItems) {
                        items = gallItems;
                    } else {
                        items = $('.vbox-item[data-gall="' + thisgall + '"]');
                    }

                    if (items.length < 2) {
                        infinigall = false;
                        numeratio = false;
                    }

                    thenext = items.eq( items.index(obj) + 1 );
                    theprev = items.eq( items.index(obj) - 1 );

                    if (!thenext.length && infinigall === true) {
                      thenext = items.eq(0);
                    }

                    // update gall numeration
                    if (items.length >= 1) {
                      gallIndex = items.index(obj)+1;
                      blocknum.html(gallIndex + ' / ' + items.length);
                    } else {
                      gallIndex = 1;
                    }
                    if (numeratio === true) {
                      blocknum.show();
                    } else {
                      blocknum.hide();
                    }

                    // update title
                    if (title !== '') {
                      blocktitle.show();
                    } else {
                      blocktitle.hide();
                    }

                    // update navigation arrows
                    if (!thenext.length && infinigall !== true) {
                      $('.vbox-next').css('display', 'none');
                      nextok = false;
                    } else {
                      $('.vbox-next').css('display', 'block');
                      nextok = true;
                    }

                    if (items.index(obj) > 0 || infinigall === true) {
                      $('.vbox-prev').css('display', 'block');
                      prevok = true;
                    } else {
                      $('.vbox-prev').css('display', 'none');
                      prevok = false;
                    }
                    // activate swipe
                    if (prevok === true || nextok === true) {
                      content.on(TouchMouseEvent.DOWN, onDownEvent);
                      content.on(TouchMouseEvent.MOVE, onMoveEvent);
                      content.on(TouchMouseEvent.UP, onUpEvent);
                    }
                }

                /* -------- gallery navigation -------- */
                function navigateGall(destination) {

                    if (destination.length < 1) {
                      return false;
                    }
                    if (keyNavigationDisabled) {
                      return false;
                    }
                    keyNavigationDisabled = true;

                    overlayColor = destination.data('overlay') || destination.data('overlaycolor');

                    framewidth = destination.data('framewidth');
                    frameheight = destination.data('frameheight');
                    border = destination.data('border');
                    bgcolor = destination.data('bgcolor');
                    dest = destination.data('href') || destination.attr('href');

                    autoplay = destination.data('autoplay');

                    title = (destination.data('titleattr') && destination.attr(destination.data('titleattr'))) || '';

                    // swipe out item
                    if (destination === theprev) {
                      content.addClass('vbox-animated').addClass('swipe-right');
                    }
                    if (destination === thenext) {
                      content.addClass('vbox-animated').addClass('swipe-left');
                    }

                    $preloader.show();

                    content.animate({
                      opacity : 0,
                    }, 500, function(){

                        overlay.css('background',overlayColor);

                        content
                        .removeClass('vbox-animated')
                        .removeClass('swipe-left')
                        .removeClass('swipe-right')
                        .css({'margin-left': 0,'margin-right': 0});

                        if (destination.data('vbtype') == 'iframe') {
                            loadIframe();
                        } else if (destination.data('vbtype') == 'inline') {
                            loadInline();
                        } else if (destination.data('vbtype') == 'ajax') {
                            loadAjax();
                        } else if (destination.data('vbtype') == 'video') {
                            loadVid(autoplay);
                        } else {
                            content.html('<img src="'+dest+'">');
                            preloadFirst();
                        }
                        obj = destination;
                        checknav();
                        keyNavigationDisabled = false;
                        option.cb_after_nav(obj, gallIndex, thenext, theprev);
                    });
                }

                /* -------- KEYBOARD HANDLER -------- */
                function keyboardHandler(e) {
                    if (e.keyCode === 27) { // esc
                      closeVbox();
                    }

                    if (e.keyCode == 37 && prevok === true) { // left
                      navigateGall(theprev);
                    }

                    if (e.keyCode == 39 && nextok === true) { // right
                      navigateGall(thenext);
                    }
                }

                /* -------- CLOSE VBOX -------- */
                function closeVbox(){

                    var cb_pre_close = option.cb_pre_close(obj, gallIndex, thenext, theprev);

                    if (cb_pre_close === false) {
                      return false;
                    }

                    $('body').off('keydown', keyboardHandler).removeClass('vbox-open');

                    obj.focus();

                    overlay.animate({opacity:0}, 500, function(){
                      overlay.remove();
                      keyNavigationDisabled = false;
                      option.cb_post_close();
                    });
                }

                /* -------- CLOSE CLICK -------- */
                var closeclickclass = '.vbox-overlay';
                if(!option.overlayClose){
                    closeclickclass = '.vbox-close'; // close only on X
                }

                $('body').on('click touchstart', closeclickclass, function(e){
                    if ($(e.target).is('.vbox-overlay') ||
						$(e.target).is('.vbox-content') ||
						$(e.target).is('.vbox-close') ||
						$(e.target).is('.vbox-preloader') ||
						$(e.target).is('.vbox-container')
                    ) {
                        closeVbox();
                    }
                });

                startX = 0;
                endX = 0;

                diff = 0;
                threshold = 50;
                startouch = false;

                function onDownEvent(e){
                    content.addClass('vbox-animated');
                    startY = endY = e.pageY;
                    startX = endX = e.pageX;
                    startouch = true;
                }

                function onMoveEvent(e){
                    if (startouch === true) {
                        endX = e.pageX;
                        endY = e.pageY;

                        diffX = endX - startX;
                        diffY = endY - startY;

                        var absdiffX = Math.abs(diffX);
                        var absdiffY = Math.abs(diffY);

                        if ((absdiffX > absdiffY) && (absdiffX <= 100)) {
                            e.preventDefault();
                            content.css('margin-left', diffX);
                        }
                    }
                }

                function onUpEvent(e){
                    if (startouch === true) {
                        startouch = false;
                        var subject = obj;
                        var change = false;
                        diff = endX - startX;

                        if (diff < 0 && nextok === true) {
                            subject = thenext;
                            change = true;
                        }
                        if (diff > 0 && prevok === true) {
                            subject = theprev;
                            change = true;
                        }

                        if (Math.abs(diff) >= threshold && change === true) {
                            navigateGall(subject);
                        } else {
                            content.css({'margin-left': 0,'margin-right': 0});
                        }
                    }
                }

                /* == GLOBAL DECLERATIONS == */
                var TouchMouseEvent = {
                    DOWN: "touchmousedown",
                    UP: "touchmouseup",
                    MOVE: "touchmousemove"
                };

                /* == EVENT LISTENERS == */
                var onMouseEvent = function(event) {
                    var type;
                    switch (event.type) {
                        case "mousedown": type = TouchMouseEvent.DOWN; break;
                        case "mouseup":   type = TouchMouseEvent.UP;   break;
                        case "mouseout":   type = TouchMouseEvent.UP;   break;
                        case "mousemove": type = TouchMouseEvent.MOVE; break;
                        default:
                            return;
                    }
                    var touchMouseEvent = normalizeEvent(type, event, event.pageX, event.pageY);
                    $(event.target).trigger(touchMouseEvent);
                };

                var onTouchEvent = function(event) {
                    var type;
                    switch (event.type) {
                        case "touchstart": type = TouchMouseEvent.DOWN; break;
                        case "touchend":   type = TouchMouseEvent.UP;   break;
                        case "touchmove":  type = TouchMouseEvent.MOVE; break;
                        default:
                            return;
                    }

                    var touch = event.originalEvent.touches[0];
                    var touchMouseEvent;

                    if (type == TouchMouseEvent.UP) {
                         touchMouseEvent = normalizeEvent(type, event, null, null);
                    } else {
                        touchMouseEvent = normalizeEvent(type, event, touch.pageX, touch.pageY);
                    }
                    $(event.target).trigger(touchMouseEvent);
                };

                /* == NORMALIZE == */
                var normalizeEvent = function(type, original, x, y) {
                    return $.Event(type, {
                        pageX: x,
                        pageY: y,
                        originalEvent: original
                    });
                };

                /* == LISTEN TO ORIGINAL EVENT == */
                if ("ontouchstart" in window) {
                    $(document).on("touchstart", onTouchEvent);
                    $(document).on("touchmove", onTouchEvent);
                    $(document).on("touchend", onTouchEvent);
                } else {
                    $(document).on("mousedown", onMouseEvent);
                    $(document).on("mouseup", onMouseEvent);
                    $(document).on("mouseout", onMouseEvent);
                    $(document).on("mousemove", onMouseEvent);
                }

                /* -------- LOAD AJAX -------- */
                function loadAjax(){
                  $.ajax({
                  url: dest,
                  cache: false
                  }).done(function( msg ) {
                      content.html('<div class="vbox-inline">'+ msg +'</div>');
                      preloadFirst();

                  }).fail(function() {
                      content.html('<div class="vbox-inline"><p>Error retrieving contents, please retry</div>');
                      updateoverlay();
                  });
                }

                /* -------- LOAD IFRAME -------- */
                function loadIframe(){
                    content.html('<iframe class="venoframe" src="'+dest+'"></iframe>');
                  //  $('.venoframe').load(function(){ // valid only for iFrames in same domain
                    updateoverlay();
                  //  });
                }

                /* -------- LOAD VIDEOs -------- */
                function loadVid(autoplay){

                    var player;
                    var videoObj = parseVideo(dest);

                    // set rel=0 to hide related videos at the end of YT + optional autoplay
                    var stringAutoplay = autoplay ? "?rel=0&autoplay=1" : "?rel=0";
                    var queryvars = stringAutoplay + getUrlParameter(dest);

                    if (videoObj.type == 'vimeo') {
                      player = 'https://player.vimeo.com/video/';
                    } else if (videoObj.type == 'youtube') {
                      player = 'https://www.youtube.com/embed/';
                    }
                    content.html('<iframe class="venoframe vbvid" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay" frameborder="0" src="'+player+videoObj.id+queryvars+'"></iframe>');
                    updateoverlay();
                }

                /**
                * Parse Youtube or Vimeo videos and get host & ID
                */
                function parseVideo (url) {
                    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+)?/);
                    var type;
                    if (RegExp.$3.indexOf('youtu') > -1) {
                        type = 'youtube';
                    } else if (RegExp.$3.indexOf('vimeo') > -1) {
                        type = 'vimeo';
                    }
                    return {
                        type: type,
                        id: RegExp.$6
                    };
                }

                /**
                * get additional video url parameters
                */
                function getUrlParameter(name) {
                  var result = '';
                  var sPageURL = decodeURIComponent(name);
                  var firstsplit = sPageURL.split('?');

                  if (firstsplit[1] !== undefined) {
                      var sURLVariables = firstsplit[1].split('&');
                      var sParameterName;
                      var i;
                      for (i = 0; i < sURLVariables.length; i++) {
                          sParameterName = sURLVariables[i].split('=');
                          result = result + '&'+ sParameterName[0]+'='+ sParameterName[1];
                      }
                  }
                  return encodeURI(result);
                }

                /* -------- LOAD INLINE -------- */
                function loadInline(){
                    content.html('<div class="vbox-inline">'+$(dest).html()+'</div>');
                    updateoverlay();
                }

                /* -------- PRELOAD IMAGE -------- */
                function preloadFirst(){
                    images = content.find('img');

                    if (images.length) {
                        images.each(function(){
                            $(this).one('load', function() {
                                updateoverlay();
                            });
                        });
                    } else {
                        updateoverlay();
                    }
                }

                /* -------- FADE-IN THE NEW CONTENT -------- */
                function updateoverlay(){

                    blocktitle.html(title);
                    content.find(">:first-child").addClass('vbox-figlio').css({
                        'width': framewidth,
                        'height': frameheight,
                        'padding': border,
                        'background': bgcolor
                    });

                    $('img.vbox-figlio').on('dragstart', function(event) {
                        event.preventDefault();
                    });

                    updateOL();

                    content.animate({
                        'opacity': '1'
                    },'slow', function(){
                        $preloader.hide();
                    });

                    option.cb_content_loaded(obj, gallIndex, thenext, theprev);
                }

                /* -------- CENTER FRAME -------- */
                function updateOL(){

                    var sonH = content.outerHeight();
                    var finH = $(window).height();

                    if (sonH + 60 < finH) {
                        margine = (finH - sonH)/2;
                    } else {
                        margine = '30px';
                    }
                    content.css('margin-top', margine);
                    content.css('margin-bottom', margine);
                    option.cb_post_resize();
                }

                $(window).resize(function(){
                    if($('.vbox-content').length){
                        setTimeout(updateOL(), 800);
                    }
                });
            }); // each
        } // venobox
    }); // extend
})(jQuery);

/********************************************
12. meanMenu jquery menu plugin / mobile menu
*********************************************/
/*!
* jQuery meanMenu v2.0.8
* @Copyright (C) 2012-2014 Chris Wharton @ MeanThemes (https://github.com/meanthemes/meanMenu)
*
*/
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
* HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR
* FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE
* OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
* COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.COPYRIGHT HOLDERS WILL NOT
* BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL
* DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://gnu.org/licenses/>.
*
* Find more information at http://www.meanthemes.com/plugins/meanmenu/
*
*/
(function($) {
	'use strict';
	$.fn.meanmenu = function(options) {
		var defaults = {
			meanMenuTarget: jQuery(this), // Target the current HTML markup you wish to replace
			meanMenuContainer: '.mobile-menu-area .container', // Choose where meanmenu will be placed within the HTML
			meanMenuClose: 'X', // single character you want to represent the close menu button
			meanMenuCloseSize: '18px', // set font size of close button
			meanMenuOpen: '<span /><span /><span />', // text/markup you want when menu is closed
			meanRevealPosition: 'right', // left right or center positions
			meanRevealPositionDistance: '0', // Tweak the position of the menu
			meanRevealColour: '', // override CSS colours for the reveal background
			meanScreenWidth: '767', // set the screen width you want meanmenu to kick in at
			meanNavPush: '', // set a height here in px, em or % if you want to budge your layout now the navigation is missing.
			meanShowChildren: true, // true to show children in the menu, false to hide them
			meanExpandableChildren: true, // true to allow expand/collapse children
			meanExpand: '+', // single character you want to represent the expand for ULs
			meanContract: '-', // single character you want to represent the contract for ULs
			meanRemoveAttrs: false, // true to remove classes and IDs, false to keep them
			onePage: false, // set to true for one page sites
			meanDisplay: 'block', // override display method for table cell based layouts e.g. table-cell
			removeElements: '' // set to hide page elements
		};
		options = $.extend(defaults, options);

		// get browser width
		var currentWidth = window.innerWidth || document.documentElement.clientWidth;

		return this.each(function() {
			var meanMenu = options.meanMenuTarget;
			var meanContainer = options.meanMenuContainer;
			var meanMenuClose = options.meanMenuClose;
			var meanMenuCloseSize = options.meanMenuCloseSize;
			var meanMenuOpen = options.meanMenuOpen;
			var meanRevealPosition = options.meanRevealPosition;
			var meanRevealPositionDistance = options.meanRevealPositionDistance;
			var meanRevealColour = options.meanRevealColour;
			var meanScreenWidth = options.meanScreenWidth;
			var meanNavPush = options.meanNavPush;
			var meanRevealClass = '.meanmenu-reveal';
			var meanShowChildren = options.meanShowChildren;
			var meanExpandableChildren = options.meanExpandableChildren;
			var meanExpand = options.meanExpand;
			var meanContract = options.meanContract;
			var meanRemoveAttrs = options.meanRemoveAttrs;
			var onePage = options.onePage;
			var meanDisplay = options.meanDisplay;
			var removeElements = options.removeElements;

			//detect known mobile/tablet usage
			var isMobile = false;
			if (
				navigator.userAgent.match(/iPhone/i) ||
				navigator.userAgent.match(/iPod/i) ||
				navigator.userAgent.match(/iPad/i) ||
				navigator.userAgent.match(/Android/i) ||
				navigator.userAgent.match(/Blackberry/i) ||
				navigator.userAgent.match(/Windows Phone/i)
			) {
				isMobile = true;
			}

			if (navigator.userAgent.match(/MSIE 8/i) || navigator.userAgent.match(/MSIE 7/i)) {
				// add scrollbar for IE7 & 8 to stop breaking resize function on small content sites
				jQuery('html').css('overflow-y', 'scroll');
			}

			var meanRevealPos = '';
			var meanCentered = function() {
				if (meanRevealPosition === 'center') {
					var newWidth = window.innerWidth || document.documentElement.clientWidth;
					var meanCenter = newWidth / 2 - 22 + 'px';
					meanRevealPos = 'left:' + meanCenter + ';right:auto;';

					if (!isMobile) {
						jQuery('.meanmenu-reveal').css('left', meanCenter);
					} else {
						jQuery('.meanmenu-reveal').animate({
							left: meanCenter
						});
					}
				}
			};

			var menuOn = false;
			var meanMenuExist = false;

			if (meanRevealPosition === 'right') {
				meanRevealPos = 'right:' + meanRevealPositionDistance + ';left:auto;';
			}
			if (meanRevealPosition === 'left') {
				meanRevealPos = 'left:' + meanRevealPositionDistance + ';right:auto;';
			}
			// run center function
			meanCentered();

			// set all styles for mean-reveal
			var $navreveal = '';

			var meanInner = function() {
				// get last class name
				if (jQuery($navreveal).is('.meanmenu-reveal.meanclose')) {
					$navreveal.html(meanMenuClose);
				} else {
					$navreveal.html(meanMenuOpen);
				}
			};

			// re-instate original nav (and call this on window.width functions)
			var meanOriginal = function() {
				jQuery('.mean-bar,.mean-push').remove();
				jQuery(meanContainer).removeClass('mean-container');
				jQuery(meanMenu).css('display', meanDisplay);
				menuOn = false;
				meanMenuExist = false;
				jQuery(removeElements).removeClass('mean-remove');
			};

			// navigation reveal
			var showMeanMenu = function() {
				var meanStyles = 'background:' + meanRevealColour + ';color:' + meanRevealColour + ';' + meanRevealPos;
				if (currentWidth <= meanScreenWidth) {
					jQuery(removeElements).addClass('mean-remove');
					meanMenuExist = true;
					// add class to body so we don't need to worry about media queries here, all CSS is wrapped in '.mean-container'
					jQuery(meanContainer).addClass('mean-container');
					jQuery('.mean-container').prepend(
						'<div class="mean-bar"><a href="#nav" class="meanmenu-reveal" style="' +
							meanStyles +
							'">Show Navigation</a><nav class="mean-nav"></nav></div>'
					);

					//push meanMenu navigation into .mean-nav
					var meanMenuContents = jQuery(meanMenu).html();
					jQuery('.mean-nav').html(meanMenuContents);

					// remove all classes from EVERYTHING inside meanmenu nav
					if (meanRemoveAttrs) {
						jQuery('nav.mean-nav ul, nav.mean-nav ul *').each(function() {
							// First check if this has mean-remove class
							if (jQuery(this).is('.mean-remove')) {
								jQuery(this).attr('class', 'mean-remove');
							} else {
								jQuery(this).removeAttr('class');
							}
							jQuery(this).removeAttr('id');
						});
					}

					// push in a holder div (this can be used if removal of nav is causing layout issues)
					jQuery(meanMenu).before('<div class="mean-push" />');
					jQuery('.mean-push').css('margin-top', meanNavPush);

					// hide current navigation and reveal mean nav link
					jQuery(meanMenu).hide();
					jQuery('.meanmenu-reveal').show();

					// turn 'X' on or off
					jQuery(meanRevealClass).html(meanMenuOpen);
					$navreveal = jQuery(meanRevealClass);

					//hide mean-nav ul
					jQuery('.mean-nav ul').hide();

					// hide sub nav
					if (meanShowChildren) {
						// allow expandable sub nav(s)
						if (meanExpandableChildren) {
							jQuery('.mean-nav ul ul').each(function() {
								if (jQuery(this).children().length) {
									jQuery(this, 'li:first')
										.parent()
										.append(
											'<a class="mean-expand" href="#" style="font-size: ' +
												meanMenuCloseSize +
												'">' +
												meanExpand +
												'</a>'
										);
								}
							});
							jQuery('.mean-expand').on('click', function(e) {
								e.preventDefault();
								if (jQuery(this).hasClass('mean-clicked')) {
									jQuery(this).text(meanExpand);
									jQuery(this).prev('ul').slideUp(300, function() {});
								} else {
									jQuery(this).text(meanContract);
									jQuery(this).prev('ul').slideDown(300, function() {});
								}
								jQuery(this).toggleClass('mean-clicked');
							});
						} else {
							jQuery('.mean-nav ul ul').show();
						}
					} else {
						jQuery('.mean-nav ul ul').hide();
					}

					// add last class to tidy up borders
					jQuery('.mean-nav ul li').last().addClass('mean-last');
					$navreveal.removeClass('meanclose');
					jQuery($navreveal).click(function(e) {
						e.preventDefault();
						if (menuOn === false) {
							$navreveal.css('text-align', 'center');
							$navreveal.css('text-indent', '0');
							$navreveal.css('font-size', meanMenuCloseSize);
							jQuery('.mean-nav ul:first').slideDown();
							menuOn = true;
						} else {
							jQuery('.mean-nav ul:first').slideUp();
							menuOn = false;
						}
						$navreveal.toggleClass('meanclose');
						meanInner();
						jQuery(removeElements).addClass('mean-remove');
					});

					// for one page websites, reset all variables...
					if (onePage) {
						jQuery('.mean-nav ul > li > a:first-child').on('click', function() {
							jQuery('.mean-nav ul:first').slideUp();
							menuOn = false;
							jQuery($navreveal).toggleClass('meanclose').html(meanMenuOpen);
						});
					}
				} else {
					meanOriginal();
				}
			};

			if (!isMobile) {
				// reset menu on resize above meanScreenWidth
				jQuery(window).resize(function() {
					currentWidth = window.innerWidth || document.documentElement.clientWidth;
					if (currentWidth > meanScreenWidth) {
						meanOriginal();
					} else {
						meanOriginal();
					}
					if (currentWidth <= meanScreenWidth) {
						showMeanMenu();
						meanCentered();
					} else {
						meanOriginal();
					}
				});
			}

			jQuery(window).resize(function() {
				// get browser width
				currentWidth = window.innerWidth || document.documentElement.clientWidth;

				if (!isMobile) {
					meanOriginal();
					if (currentWidth <= meanScreenWidth) {
						showMeanMenu();
						meanCentered();
					}
				} else {
					meanCentered();
					if (currentWidth <= meanScreenWidth) {
						if (meanMenuExist === false) {
							showMeanMenu();
						}
					} else {
						meanOriginal();
					}
				}
			});

			// run main menuMenu function on load
			showMeanMenu();
		});
	};
})(jQuery);
