You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1489 lines
111 KiB

1 year ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. /* jQuery Plugins and Scripts*/
  2. /*
  3. Jarallax
  4. SmoothScroll
  5. Owl Carousel
  6. Wow Js
  7. Counter Up
  8. WayPoints
  9. Easing JS
  10. Magnific popup
  11. Animsition
  12. */
  13. /*!
  14. * Name : Just Another Parallax [Jarallax]
  15. *
  16. Version : 1.5.0
  17. * Author : _nK http://nkdev.info
  18. *
  19. GitHub : https://github.com/nk-o/jarallax
  20. */
  21. (function(factory) {
  22. 'use strict';
  23. if (typeof define === 'function' && define.amd) {
  24. define(['jquery'], factory);
  25. } else if (typeof exports !== 'undefined') {
  26. module.exports = factory(require('jquery'));
  27. } else {
  28. factory(jQuery);
  29. }
  30. }(function($) {
  31. // Adapted from https://gist.github.com/paulirish/1579671
  32. if (!Date.now)
  33. Date.now = function() { return new Date().getTime(); };
  34. if(!window.requestAnimationFrame)
  35. (function() {
  36. 'use strict';
  37. var vendors = ['webkit', 'moz'];
  38. for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
  39. var vp = vendors[i];
  40. window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];
  41. window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']
  42. || window[vp+'CancelRequestAnimationFrame']);
  43. }
  44. if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) // iOS6 is buggy
  45. || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
  46. var lastTime = 0;
  47. window.requestAnimationFrame = function(callback) {
  48. var now = Date.now();
  49. var nextTime = Math.max(lastTime + 16, now);
  50. return setTimeout(function() { callback(lastTime = nextTime); },
  51. nextTime - now);
  52. };
  53. window.cancelAnimationFrame = clearTimeout;
  54. }
  55. }());
  56. var supportTransform = (function() {
  57. var prefixes = 'transform WebkitTransform MozTransform OTransform msTransform'.split(' ');
  58. var div = document.createElement('div');
  59. for(var i = 0; i < prefixes.length; i++) {
  60. if(div && div.style[prefixes[i]] !== undefined) {
  61. return prefixes[i];
  62. }
  63. }
  64. return false;
  65. }());
  66. var support3dtransform = (function() {
  67. if (!window.getComputedStyle) {
  68. return false;
  69. }
  70. var el = document.createElement('p'),
  71. has3d,
  72. transforms = {
  73. 'webkitTransform':'-webkit-transform',
  74. 'OTransform':'-o-transform',
  75. 'msTransform':'-ms-transform',
  76. 'MozTransform':'-moz-transform',
  77. 'transform':'transform'
  78. };
  79. // Add it to the body to get the computed style.
  80. (document.body || document.documentElement).insertBefore(el, null);
  81. for (var t in transforms) {
  82. if (el.style[t] !== undefined) {
  83. el.style[t] = "translate3d(1px,1px,1px)";
  84. has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]);
  85. }
  86. }
  87. (document.body || document.documentElement).removeChild(el);
  88. return (has3d !== undefined && has3d.length > 0 && has3d !== "none");
  89. }());
  90. var isAndroid = navigator.userAgent.toLowerCase().indexOf('android') > -1;
  91. var isOperaOld = !!window.opera;
  92. // list with all jarallax instances
  93. // need to render all in one scroll/resize event
  94. var jarallaxList = [];
  95. // Jarallax instance
  96. var Jarallax = (function() {
  97. var instanceID = 0;
  98. function Jarallax(item, userOptions) {
  99. var _this = this,
  100. dataOptions;
  101. _this.$item = $(item);
  102. _this.defaults = {
  103. type : 'scroll', // type of parallax: scroll, scale, opacity, scale-opacity, scroll-opacity
  104. speed : 0.5, // supported value from -1 to 2
  105. imgSrc : null,
  106. imgWidth : null,
  107. imgHeight : null,
  108. enableTransform : true,
  109. zIndex : -100,
  110. // events
  111. onScroll : null, // function(calculations) {}
  112. onInit : null, // function() {}
  113. onDestroy : null, // function() {}
  114. onCoverImage : null // function() {}
  115. };
  116. dataOptions = _this.$item.data('jarallax') || {};
  117. _this.options = $.extend({}, _this.defaults, dataOptions, userOptions);
  118. // fix speed option [-1.0, 2.0]
  119. _this.options.speed = Math.min(2, Math.max(-1, parseFloat(_this.options.speed)));
  120. _this.instanceID = instanceID++;
  121. _this.image = {
  122. src : _this.options.imgSrc || null,
  123. $container : null,
  124. $item : null,
  125. width : _this.options.imgWidth || null,
  126. height : _this.options.imgHeight || null,
  127. // fix for Android devices
  128. // use <img> instead background image - more smoothly
  129. useImgTag : isAndroid || isOperaOld
  130. }
  131. if(_this.initImg()) {
  132. _this.init();
  133. }
  134. }
  135. return Jarallax;
  136. }());
  137. Jarallax.prototype.initImg = function() {
  138. var _this = this;
  139. // get image src
  140. if(_this.image.src === null) {
  141. _this.image.src = _this.$item.css('background-image').replace(/^url\(['"]?/g,'').replace(/['"]?\)$/g,'');
  142. }
  143. if(!_this.image.src || _this.image.src === 'none') {
  144. return false;
  145. }
  146. return true;
  147. }
  148. Jarallax.prototype.init = function() {
  149. var _this = this,
  150. containerStyles = {
  151. position : 'absolute',
  152. top : 0,
  153. left : 0,
  154. width : '100%',
  155. height : '100%',
  156. overflow : 'hidden',
  157. 'pointer-events' : 'none',
  158. 'transition' : 'transform linear -1ms, -webkit-transform linear -1ms'
  159. },
  160. imageStyles = {
  161. position : 'fixed'
  162. };
  163. // container for parallax image
  164. _this.image.$container = $('<div>')
  165. .css(containerStyles)
  166. .css({
  167. visibility : 'hidden',
  168. 'z-index' : _this.options.zIndex
  169. })
  170. .attr('id', 'jarallax-container-' + _this.instanceID)
  171. .prependTo(_this.$item);
  172. // use img tag
  173. if(_this.image.useImgTag && supportTransform) {
  174. _this.image.$item = $('<img>').attr('src', _this.image.src);
  175. imageStyles = $.extend({
  176. 'max-width' : 'none'
  177. }, containerStyles, imageStyles)
  178. }
  179. // use div with background image
  180. else {
  181. _this.image.$item = $('<div>');
  182. imageStyles = $.extend({
  183. 'background-position' : '50% 50%',
  184. 'background-size' : '100% 100%',
  185. 'background-repeat' : 'no-repeat no-repeat',
  186. 'background-image' : 'url("' + _this.image.src + '")'
  187. }, containerStyles, imageStyles)
  188. }
  189. // check if one of parents have transform style (without this check, scroll transform will be inverted)
  190. _this.parentWithTransform = 0;
  191. _this.$item.parents().each(function() {
  192. if(!$(this).css('transform') || $(this).css('transform') !== 'none') {
  193. _this.parentWithTransform = 1;
  194. }
  195. })
  196. // parallax image
  197. _this.image.$item.css(imageStyles)
  198. .prependTo(_this.image.$container);
  199. // cover image if width and height is ready
  200. function initAfterReady() {
  201. _this.coverImage();
  202. _this.clipContainer();
  203. _this.onScroll(true);
  204. // save default user styles
  205. _this.$item.data('jarallax-original-styles', _this.$item.attr('style'));
  206. // call onInit event
  207. if(_this.options.onInit) {
  208. _this.options.onInit.call(_this);
  209. }
  210. // timeout to fix IE blinking
  211. setTimeout(function() {
  212. // remove default user background
  213. _this.$item.css({
  214. 'background-image' : 'none',
  215. 'background-attachment' : 'scroll',
  216. 'background-size' : 'auto'
  217. });
  218. }, 0);
  219. }
  220. if(_this.image.width && _this.image.height) {
  221. // init if width and height already exists
  222. initAfterReady();
  223. } else {
  224. // load image and get width and height
  225. _this.getImageSize(_this.image.src, function(width, height) {
  226. _this.image.width = width;
  227. _this.image.height = height;
  228. initAfterReady();
  229. });
  230. }
  231. jarallaxList.push(_this);
  232. };
  233. Jarallax.prototype.destroy = function() {
  234. var _this = this;
  235. // remove from instances list
  236. for(var k = 0, len = jarallaxList.length; k < len; k++) {
  237. if(jarallaxList[k].instanceID === _this.instanceID) {
  238. jarallaxList.splice(k, 1);
  239. break;
  240. }
  241. }
  242. // remove additional styles for clip
  243. $('head #jarallax-clip-' + _this.instanceID).remove();
  244. _this.$item.attr('style', _this.$item.data('jarallax-original-styles'));
  245. _this.$item.removeData('jarallax-original-styles');
  246. _this.image.$container.remove();
  247. // call onDestroy event
  248. if(_this.options.onDestroy) {
  249. _this.options.onDestroy.call(_this);
  250. }
  251. delete _this.$item[0].jarallax;
  252. }
  253. // round to 2 decimals
  254. Jarallax.prototype.round = function(num) {
  255. return Math.floor(num * 100) / 100;
  256. }
  257. Jarallax.prototype.getImageSize = function(src, callback) {
  258. if(!src || !callback) {
  259. return false;
  260. }
  261. var tempImg = new Image();
  262. tempImg.onload = function() {
  263. callback(tempImg.width, tempImg.height)
  264. }
  265. tempImg.src = src;
  266. }
  267. // it will remove some image overlapping
  268. // overlapping occur due to an image position fixed inside absolute possition element (webkit based browsers works without any fix)
  269. Jarallax.prototype.clipContainer = function() {
  270. var _this = this,
  271. width = _this.image.$container.outerWidth(true),
  272. height = _this.image.$container.outerHeight(true);
  273. var $styles = $('head #jarallax-clip-' + _this.instanceID);
  274. if(!$styles.length) {
  275. $('head').append('<style type="text/css" id="jarallax-clip-' + _this.instanceID + '"></style>');
  276. $styles = $('head #jarallax-clip-' + _this.instanceID);
  277. }
  278. var css = [
  279. '#jarallax-container-' + _this.instanceID + ' {',
  280. ' clip: rect(0px ' + width + 'px ' + height + 'px 0);',
  281. ' clip: rect(0px, ' + width + 'px, ' + height + 'px, 0);',
  282. '}'
  283. ].join('\n');
  284. // add clip styles inline (this method need for support IE8 and less browsers)
  285. if ($styles[0].styleSheet) {
  286. $styles[0].styleSheet.cssText = css;
  287. } else {
  288. $styles.html(css);
  289. }
  290. }
  291. Jarallax.prototype.coverImage = function() {
  292. var _this = this;
  293. if(!_this.image.width || !_this.image.height) {
  294. return;
  295. }
  296. var contW = Math.max(_this.image.$container.outerWidth(true), $(window).outerWidth(true)),
  297. contH = Math.max(_this.image.$container.outerHeight(true), $(window).outerHeight(true)),
  298. imgW = _this.image.width,
  299. imgH = _this.image.height,
  300. resultWidth, resultHeight;
  301. var speedFactor = 1;
  302. if(_this.options.speed < 0) {
  303. speedFactor += Math.abs(_this.options.speed);
  304. }
  305. else if(_this.options.speed > 1) {
  306. speedFactor = _this.options.speed;
  307. }
  308. var css = {
  309. width : contW * speedFactor,
  310. height : contH * speedFactor,
  311. marginLeft: 0,
  312. marginTop: 0
  313. };
  314. // cover by width
  315. if(css.width / css.height > imgW / imgH) {
  316. resultWidth = css.width;
  317. resultHeight = css.width * imgH / imgW;
  318. }
  319. // cover by height
  320. else {
  321. resultWidth = css.height * imgW / imgH;
  322. resultHeight = css.height;
  323. }
  324. css.width = _this.round(resultWidth);
  325. css.height = _this.round(resultHeight);
  326. if(css.width > contW) {
  327. css.marginLeft = _this.round(- (resultWidth - contW) / 2);
  328. }
  329. if(css.height > contH) {
  330. css.marginTop = _this.round(- (resultHeight - contH) / 2);
  331. }
  332. // apply to item
  333. _this.image.$item.css(css);
  334. // call onCoverImage event
  335. if(_this.options.onCoverImage) {
  336. _this.options.onCoverImage.call(_this);
  337. }
  338. };
  339. Jarallax.prototype.isVisible = function() {
  340. return this.isElementInViewport || false;
  341. }
  342. Jarallax.prototype.onScroll = function(force) {
  343. var _this = this;
  344. if(!_this.image.width || !_this.image.height) {
  345. return;
  346. }
  347. var section = _this.$item[0].getBoundingClientRect();
  348. var windowHeight = $(window).height(),
  349. windowWidth = $(window).width(),
  350. css = {
  351. visibility : 'visible',
  352. backgroundPosition : '50% 50%'
  353. };
  354. _this.isElementInViewport = (
  355. section.bottom >= 0 &&
  356. section.right >= 0 &&
  357. section.top <= windowHeight &&
  358. section.left <= windowWidth
  359. );
  360. // Check if totally above or totally below viewport
  361. var check = force ? false : !_this.isElementInViewport;
  362. if (check) {
  363. return;
  364. }
  365. // calculate parallax helping variables
  366. var beforeTop = Math.max(0, section.top);
  367. var beforeTopEnd = Math.max(0, section.height + section.top);
  368. var afterTop = Math.max(0, -section.top);
  369. var beforeBottom = Math.max(0, section.top + section.height - windowHeight);
  370. var beforeBottomEnd = Math.max(0, section.height - (section.top + section.height - windowHeight));
  371. var afterBottom = Math.max(0, -section.top + windowHeight - section.height);
  372. // calculate on how percent of section is visible
  373. var visiblePercent = 1;
  374. if(section.height < windowHeight) {
  375. visiblePercent = 1 - (afterTop || beforeBottom) / section.height;
  376. } else {
  377. if(beforeTopEnd <= windowHeight) {
  378. visiblePercent = beforeTopEnd / windowHeight;
  379. } else if (beforeBottomEnd <= windowHeight) {
  380. visiblePercent = beforeBottomEnd / windowHeight;
  381. }
  382. }
  383. // opacity
  384. if(_this.options.type == 'opacity' || _this.options.type == 'scale-opacity' || _this.options.type == 'scroll-opacity') {
  385. css.position = 'absolute';
  386. css.transform = 'translate3d(0, 0, 0)';
  387. css.opacity = visiblePercent;
  388. }
  389. // scale
  390. if(_this.options.type == 'scale' || _this.options.type == 'scale-opacity') {
  391. var scale = 1;
  392. scale += _this.options.speed * (1 - visiblePercent);
  393. css.position = 'absolute';
  394. css.transform = 'scale(' + scale + ') translate3d(0, 0, 0)';
  395. }
  396. // scroll
  397. if(_this.options.type == 'scroll' || _this.options.type == 'scroll-opacity') {
  398. var positionY = section.top;
  399. // centering parallax if block < window height
  400. if(section.height < windowHeight) {
  401. positionY -= (windowHeight - section.height) / 2;
  402. }
  403. // speed from 0 to 1
  404. if(_this.options.speed >= 0 && _this.options.speed <= 1) {
  405. positionY *= _this.options.speed;
  406. }
  407. // negative speed and from 1 to 2
  408. else {
  409. var imageRect = _this.image.$item[0].getBoundingClientRect();
  410. var percent = (windowHeight + section.height - section.height - section.top) / (windowHeight + section.height);
  411. percent = percent - 0.5; // 0.5 for top and 0.5 for bottom
  412. var newPos = percent * (imageRect.height - Math.max(section.height, windowHeight));
  413. if(_this.options.speed > 1) {
  414. positionY -= newPos;
  415. } else {
  416. positionY = newPos;
  417. }
  418. }
  419. positionY = _this.round(positionY);
  420. if(supportTransform && _this.options.enableTransform) {
  421. // fix if parents with transform style
  422. if(_this.parentWithTransform) {
  423. positionY *= -1;
  424. }
  425. css.transform = 'translateY(' + positionY + 'px)';
  426. if(support3dtransform) {
  427. css.transform = 'translate3d(0, ' + positionY + 'px, 0)';
  428. }
  429. } else {
  430. css.backgroundPosition = '50% ' + positionY + 'px';
  431. }
  432. css.position = 'fixed';
  433. }
  434. _this.image.$item.css(css);
  435. // call onScroll event
  436. if(_this.options.onScroll) {
  437. _this.options.onScroll.call(_this, {
  438. section: section,
  439. beforeTop: beforeTop,
  440. beforeTopEnd: beforeTopEnd,
  441. afterTop: afterTop,
  442. beforeBottom: beforeBottom,
  443. beforeBottomEnd: beforeBottomEnd,
  444. afterBottom: afterBottom,
  445. visiblePercent: visiblePercent
  446. });
  447. }
  448. };
  449. // init events
  450. (function() {
  451. $(window).on('scroll.jarallax', function() {
  452. window.requestAnimationFrame(function() {
  453. for(var k = 0, len = jarallaxList.length; k < len; k++) {
  454. jarallaxList[k].onScroll();
  455. }
  456. });
  457. });
  458. var timeout;
  459. $(window).on('resize.jarallax orientationchange.jarallax load.jarallax', function() {
  460. clearTimeout(timeout);
  461. timeout = setTimeout(function() {
  462. window.requestAnimationFrame(function() {
  463. for(var k = 0, len = jarallaxList.length; k < len; k++) {
  464. var _this = jarallaxList[k];
  465. _this.coverImage();
  466. _this.clipContainer();
  467. _this.onScroll();
  468. }
  469. });
  470. }, 100);
  471. });
  472. }());
  473. var oldJarallax = $.fn.jarallax;
  474. $.fn.jarallax = function() {
  475. var items = this,
  476. options = arguments[0],
  477. args = Array.prototype.slice.call(arguments, 1),
  478. len = items.length,
  479. k = 0,
  480. ret;
  481. for (k; k < len; k++) {
  482. if (typeof options === 'object' || typeof options === 'undefined') {
  483. if(!items[k].jarallax) {
  484. items[k].jarallax = new Jarallax(items[k], options);
  485. }
  486. }
  487. else {
  488. ret = items[k].jarallax ? items[k].jarallax[options].apply(items[k].jarallax, args) : undefined;
  489. }
  490. if (typeof ret !== 'undefined') {
  491. return ret;
  492. }
  493. }
  494. return this;
  495. };
  496. $.fn.jarallax.constructor = Jarallax;
  497. // no conflict
  498. $.fn.jarallax.noConflict = function () {
  499. $.fn.jarallax = oldJarallax;
  500. return this;
  501. };
  502. // data-jarallax initialization
  503. $(document).on('ready.data-jarallax', function () {
  504. $('[data-jarallax]').jarallax();
  505. });
  506. }));
  507. //
  508. // SmoothScroll for websites v1.4.4 (Balazs Galambosi)
  509. //
  510. http://www.smoothscroll.net/
  511. //
  512. // Licensed under the terms of the MIT license.
  513. //
  514. // You may use it in your theme if you credit me.
  515. // It is also free to use on any individual website.
  516. //
  517. //
  518. Exception:
  519. // The only restriction is to not publish any
  520. // extension for browsers or native application
  521. // without getting a written permission first.
  522. //
  523. (function () {
  524. // Scroll Variables (tweakable)
  525. var defaultOptions = {
  526. // Scrolling Core
  527. frameRate : 150, // [Hz]
  528. animationTime : 400, // [ms]
  529. stepSize : 100, // [px]
  530. // Pulse (less tweakable)
  531. // ratio of "tail" to "acceleration"
  532. pulseAlgorithm : true,
  533. pulseScale : 4,
  534. pulseNormalize : 1,
  535. // Acceleration
  536. accelerationDelta : 50, // 50
  537. accelerationMax : 3, // 3
  538. // Keyboard Settings
  539. keyboardSupport : true, // option
  540. arrowScroll : 50, // [px]
  541. // Other
  542. touchpadSupport : false, // ignore touchpad by default
  543. fixedBackground : true,
  544. excluded : ''
  545. };
  546. var options = defaultOptions;
  547. // Other Variables
  548. var isExcluded = false;
  549. var isFrame = false;
  550. var direction = { x: 0, y: 0 };
  551. var initDone = false;
  552. var root = document.documentElement;
  553. var activeElement;
  554. var observer;
  555. var refreshSize;
  556. var deltaBuffer = [];
  557. var isMac = /^Mac/.test(navigator.platform);
  558. var key = { left: 37, up: 38, right: 39, down: 40, spacebar: 32,
  559. pageup: 33, pagedown: 34, end: 35, home: 36 };
  560. var arrowKeys = { 37: 1, 38: 1, 39: 1, 40: 1 };
  561. /***********************************************
  562. * INITIALIZE
  563. ***********************************************/
  564. /**
  565. * Tests if smooth scrolling is allowed. Shuts down everything if not.
  566. */
  567. function initTest() {
  568. if (options.keyboardSupport) {
  569. addEvent('keydown', keydown);
  570. }
  571. }
  572. /**
  573. * Sets up scrolls array, determines if frames are involved.
  574. */
  575. function init() {
  576. if (initDone || !document.body) return;
  577. initDone = true;
  578. var body = document.body;
  579. var html = document.documentElement;
  580. var windowHeight = window.innerHeight;
  581. var scrollHeight = body.scrollHeight;
  582. // check compat mode for root element
  583. root = (document.compatMode.indexOf('CSS') >= 0) ? html : body;
  584. activeElement = body;
  585. initTest();
  586. // Checks if this script is running in a frame
  587. if (top != self) {
  588. isFrame = true;
  589. }
  590. /**
  591. * Please duplicate this radar for a Safari fix!
  592. * rdar://22376037
  593. * https://openradar.appspot.com/radar?id=4965070979203072
  594. *
  595. * Only applies to Safari now, Chrome fixed it in v45:
  596. * This fixes a bug where the areas left and right to
  597. * the content does not trigger the onmousewheel event
  598. * on some pages. e.g.: html, body { height: 100% }
  599. */
  600. else if (scrollHeight > windowHeight &&
  601. (body.offsetHeight <= windowHeight ||
  602. html.offsetHeight <= windowHeight)) {
  603. var fullPageElem = document.createElement('div');
  604. fullPageElem.style.cssText = 'position:absolute; z-index:-10000; ' +
  605. 'top:0; left:0; right:0; height:' +
  606. root.scrollHeight + 'px';
  607. document.body.appendChild(fullPageElem);
  608. // DOM changed (throttled) to fix height
  609. var pendingRefresh;
  610. refreshSize = function () {
  611. if (pendingRefresh) return; // could also be: clearTimeout(pendingRefresh);
  612. pendingRefresh = setTimeout(function () {
  613. if (isExcluded) return; // could be running after cleanup
  614. fullPageElem.style.height = '0';
  615. fullPageElem.style.height = root.scrollHeight + 'px';
  616. pendingRefresh = null;
  617. }, 500); // act rarely to stay fast
  618. };
  619. setTimeout(refreshSize, 10);
  620. addEvent('resize', refreshSize);
  621. // TODO: attributeFilter?
  622. var config = {
  623. attributes: true,
  624. childList: true,
  625. characterData: false
  626. // subtree: true
  627. };
  628. observer = new MutationObserver(refreshSize);
  629. observer.observe(body, config);
  630. if (root.offsetHeight <= windowHeight) {
  631. var clearfix = document.createElement('div');
  632. clearfix.style.clear = 'both';
  633. body.appendChild(clearfix);
  634. }
  635. }
  636. // disable fixed background
  637. if (!options.fixedBackground && !isExcluded) {
  638. body.style.backgroundAttachment = 'scroll';
  639. html.style.backgroundAttachment = 'scroll';
  640. }
  641. }
  642. /**
  643. * Removes event listeners and other traces left on the page.
  644. */
  645. function cleanup() {
  646. observer && observer.disconnect();
  647. removeEvent(wheelEvent, wheel);
  648. removeEvent('mousedown', mousedown);
  649. removeEvent('keydown', keydown);
  650. removeEvent('resize', refreshSize);
  651. removeEvent('load', init);
  652. }
  653. /************************************************
  654. * SCROLLING
  655. ************************************************/
  656. var que = [];
  657. var pending = false;
  658. var lastScroll = Date.now();
  659. /**
  660. * Pushes scroll actions to the scrolling queue.
  661. */
  662. function scrollArray(elem, left, top) {
  663. directionCheck(left, top);
  664. if (options.accelerationMax != 1) {
  665. var now = Date.now();
  666. var elapsed = now - lastScroll;
  667. if (elapsed < options.accelerationDelta) {
  668. var factor = (1 + (50 / elapsed)) / 2;
  669. if (factor > 1) {
  670. factor = Math.min(factor, options.accelerationMax);
  671. left *= factor;
  672. top *= factor;
  673. }
  674. }
  675. lastScroll = Date.now();
  676. }
  677. // push a scroll command
  678. que.push({
  679. x: left,
  680. y: top,
  681. lastX: (left < 0) ? 0.99 : -0.99,
  682. lastY: (top < 0) ? 0.99 : -0.99,
  683. start: Date.now()
  684. });
  685. // don't act if there's a pending queue
  686. if (pending) {
  687. return;
  688. }
  689. var scrollWindow = (elem === document.body);
  690. var step = function (time) {
  691. var now = Date.now();
  692. var scrollX = 0;
  693. var scrollY = 0;
  694. for (var i = 0; i < que.length; i++) {
  695. var item = que[i];
  696. var elapsed = now - item.start;
  697. var finished = (elapsed >= options.animationTime);
  698. // scroll position: [0, 1]
  699. var position = (finished) ? 1 : elapsed / options.animationTime;
  700. // easing [optional]
  701. if (options.pulseAlgorithm) {
  702. position = pulse(position);
  703. }
  704. // only need the difference
  705. var x = (item.x * position - item.lastX) >> 0;
  706. var y = (item.y * position - item.lastY) >> 0;
  707. // add this to the total scrolling
  708. scrollX += x;
  709. scrollY += y;
  710. // update last values
  711. item.lastX += x;
  712. item.lastY += y;
  713. // delete and step back if it's over
  714. if (finished) {
  715. que.splice(i, 1); i--;
  716. }
  717. }
  718. // scroll left and top
  719. if (scrollWindow) {
  720. window.scrollBy(scrollX, scrollY);
  721. }
  722. else {
  723. if (scrollX) elem.scrollLeft += scrollX;
  724. if (scrollY) elem.scrollTop += scrollY;
  725. }
  726. // clean up if there's nothing left to do
  727. if (!left && !top) {
  728. que = [];
  729. }
  730. if (que.length) {
  731. requestFrame(step, elem, (1000 / options.frameRate + 1));
  732. } else {
  733. pending = false;
  734. }
  735. };
  736. // start a new queue of actions
  737. requestFrame(step, elem, 0);
  738. pending = true;
  739. }
  740. /***********************************************
  741. * EVENTS
  742. ***********************************************/
  743. /**
  744. * Mouse wheel handler.
  745. * @param {Object} event
  746. */
  747. function wheel(event) {
  748. if (!initDone) {
  749. init();
  750. }
  751. var target = event.target;
  752. var overflowing = overflowingAncestor(target);
  753. // use default if there's no overflowing
  754. // element or default action is prevented
  755. // or it's a zooming event with CTRL
  756. if (!overflowing || event.defaultPrevented || event.ctrlKey) {
  757. return true;
  758. }
  759. // leave embedded content alone (flash & pdf)
  760. if (isNodeName(activeElement, 'embed') ||
  761. (isNodeName(target, 'embed') && /\.pdf/i.test(target.src)) ||
  762. isNodeName(activeElement, 'object') ||
  763. target.shadowRoot) {
  764. return true;
  765. }
  766. var deltaX = -event.wheelDeltaX || event.deltaX || 0;
  767. var deltaY = -event.wheelDeltaY || event.deltaY || 0;
  768. if (isMac) {
  769. if (event.wheelDeltaX && isDivisible(event.wheelDeltaX, 120)) {
  770. deltaX = -120 * (event.wheelDeltaX / Math.abs(event.wheelDeltaX));
  771. }
  772. if (event.wheelDeltaY && isDivisible(event.wheelDeltaY, 120)) {
  773. deltaY = -120 * (event.wheelDeltaY / Math.abs(event.wheelDeltaY));
  774. }
  775. }
  776. // use wheelDelta if deltaX/Y is not available
  777. if (!deltaX && !deltaY) {
  778. deltaY = -event.wheelDelta || 0;
  779. }
  780. // line based scrolling (Firefox mostly)
  781. if (event.deltaMode === 1) {
  782. deltaX *= 40;
  783. deltaY *= 40;
  784. }
  785. // check if it's a touchpad scroll that should be ignored
  786. if (!options.touchpadSupport && isTouchpad(deltaY)) {
  787. return true;
  788. }
  789. // scale by step size
  790. // delta is 120 most of the time
  791. // synaptics seems to send 1 sometimes
  792. if (Math.abs(deltaX) > 1.2) {
  793. deltaX *= options.stepSize / 120;
  794. }
  795. if (Math.abs(deltaY) > 1.2) {
  796. deltaY *= options.stepSize / 120;
  797. }
  798. scrollArray(overflowing, deltaX, deltaY);
  799. event.preventDefault();
  800. scheduleClearCache();
  801. }
  802. /**
  803. * Keydown event handler.
  804. * @param {Object} event
  805. */
  806. function keydown(event) {
  807. var target = event.target;
  808. var modifier = event.ctrlKey || event.altKey || event.metaKey ||
  809. (event.shiftKey && event.keyCode !== key.spacebar);
  810. // our own tracked active element could've been removed from the DOM
  811. if (!document.body.contains(activeElement)) {
  812. activeElement = document.activeElement;
  813. }
  814. // do nothing if user is editing text
  815. // or using a modifier key (except shift)
  816. // or in a dropdown
  817. // or inside interactive elements
  818. var inputNodeNames = /^(textarea|select|embed|object)$/i;
  819. var buttonTypes = /^(button|submit|radio|checkbox|file|color|image)$/i;
  820. if ( event.defaultPrevented ||
  821. inputNodeNames.test(target.nodeName) ||
  822. isNodeName(target, 'input') && !buttonTypes.test(target.type) ||
  823. isNodeName(activeElement, 'video') ||
  824. isInsideYoutubeVideo(event) ||
  825. target.isContentEditable ||
  826. modifier ) {
  827. return true;
  828. }
  829. // [spacebar] should trigger button press, leave it alone
  830. if ((isNodeName(target, 'button') ||
  831. isNodeName(target, 'input') && buttonTypes.test(target.type)) &&
  832. event.keyCode === key.spacebar) {
  833. return true;
  834. }
  835. // [arrwow keys] on radio buttons should be left alone
  836. if (isNodeName(target, 'input') && target.type == 'radio' &&
  837. arrowKeys[event.keyCode]) {
  838. return true;
  839. }
  840. var shift, x = 0, y = 0;
  841. var elem = overflowingAncestor(activeElement);
  842. var clientHeight = elem.clientHeight;
  843. if (elem == document.body) {
  844. clientHeight = window.innerHeight;
  845. }
  846. switch (event.keyCode) {
  847. case key.up:
  848. y = -options.arrowScroll;
  849. break;
  850. case key.down:
  851. y = options.arrowScroll;
  852. break;
  853. case key.spacebar: // (+ shift)
  854. shift = event.shiftKey ? 1 : -1;
  855. y = -shift * clientHeight * 0.9;
  856. break;
  857. case key.pageup:
  858. y = -clientHeight * 0.9;
  859. break;
  860. case key.pagedown:
  861. y = clientHeight * 0.9;
  862. break;
  863. case key.home:
  864. y = -elem.scrollTop;
  865. break;
  866. case key.end:
  867. var damt = elem.scrollHeight - elem.scrollTop - clientHeight;
  868. y = (damt > 0) ? damt+10 : 0;
  869. break;
  870. case key.left:
  871. x = -options.arrowScroll;
  872. break;
  873. case key.right:
  874. x = options.arrowScroll;
  875. break;
  876. default:
  877. return true; // a key we don't care about
  878. }
  879. scrollArray(elem, x, y);
  880. event.preventDefault();
  881. scheduleClearCache();
  882. }
  883. /**
  884. * Mousedown event only for updating activeElement
  885. */
  886. function mousedown(event) {
  887. activeElement = event.target;
  888. }
  889. /***********************************************
  890. * OVERFLOW
  891. ***********************************************/
  892. var uniqueID = (function () {
  893. var i = 0;
  894. return function (el) {
  895. return el.uniqueID || (el.uniqueID = i++);
  896. };
  897. })();
  898. var cache = {}; // cleared out after a scrolling session
  899. var clearCacheTimer;
  900. //setInterval(function () { cache = {}; }, 10 * 1000);
  901. function scheduleClearCache() {
  902. clearTimeout(clearCacheTimer);
  903. clearCacheTimer = setInterval(function () { cache = {}; }, 1*1000);
  904. }
  905. function setCache(elems, overflowing) {
  906. for (var i = elems.length; i--;)
  907. cache[uniqueID(elems[i])] = overflowing;
  908. return overflowing;
  909. }
  910. // (body) (root)
  911. // | hidden | visible | scroll | auto |
  912. // hidden | no | no | YES | YES |
  913. // visible | no | YES | YES | YES |
  914. // scroll | no | YES | YES | YES |
  915. // auto | no | YES | YES | YES |
  916. function overflowingAncestor(el) {
  917. var elems = [];
  918. var body = document.body;
  919. var rootScrollHeight = root.scrollHeight;
  920. do {
  921. var cached = cache[uniqueID(el)];
  922. if (cached) {
  923. return setCache(elems, cached);
  924. }
  925. elems.push(el);
  926. if (rootScrollHeight === el.scrollHeight) {
  927. var topOverflowsNotHidden = overflowNotHidden(root) && overflowNotHidden(body);
  928. var isOverflowCSS = topOverflowsNotHidden || overflowAutoOrScroll(root);
  929. if (isFrame && isContentOverflowing(root) ||
  930. !isFrame && isOverflowCSS) {
  931. return setCache(elems, getScrollRoot());
  932. }
  933. } else if (isContentOverflowing(el) && overflowAutoOrScroll(el)) {
  934. return setCache(elems, el);
  935. }
  936. } while (el = el.parentElement);
  937. }
  938. function isContentOverflowing(el) {
  939. return (el.clientHeight + 10 < el.scrollHeight);
  940. }
  941. // typically for <body> and <html>
  942. function overflowNotHidden(el) {
  943. var overflow = getComputedStyle(el, '').getPropertyValue('overflow-y');
  944. return (overflow !== 'hidden');
  945. }
  946. // for all other elements
  947. function overflowAutoOrScroll(el) {
  948. var overflow = getComputedStyle(el, '').getPropertyValue('overflow-y');
  949. return (overflow === 'scroll' || overflow === 'auto');
  950. }
  951. /***********************************************
  952. * HELPERS
  953. ***********************************************/
  954. function addEvent(type, fn) {
  955. window.addEventListener(type, fn, false);
  956. }
  957. function removeEvent(type, fn) {
  958. window.removeEventListener(type, fn, false);
  959. }
  960. function isNodeName(el, tag) {
  961. return (el.nodeName||'').toLowerCase() === tag.toLowerCase();
  962. }
  963. function directionCheck(x, y) {
  964. x = (x > 0) ? 1 : -1;
  965. y = (y > 0) ? 1 : -1;
  966. if (direction.x !== x || direction.y !== y) {
  967. direction.x = x;
  968. direction.y = y;
  969. que = [];
  970. lastScroll = 0;
  971. }
  972. }
  973. var deltaBufferTimer;
  974. if (window.localStorage && localStorage.SS_deltaBuffer) {
  975. deltaBuffer = localStorage.SS_deltaBuffer.split(',');
  976. }
  977. function isTouchpad(deltaY) {
  978. if (!deltaY) return;
  979. if (!deltaBuffer.length) {
  980. deltaBuffer = [deltaY, deltaY, deltaY];
  981. }
  982. deltaY = Math.abs(deltaY);
  983. deltaBuffer.push(deltaY);
  984. deltaBuffer.shift();
  985. clearTimeout(deltaBufferTimer);
  986. deltaBufferTimer = setTimeout(function () {
  987. if (window.localStorage) {
  988. localStorage.SS_deltaBuffer = deltaBuffer.join(',');
  989. }
  990. }, 1000);
  991. return !allDeltasDivisableBy(120) && !allDeltasDivisableBy(100);
  992. }
  993. function isDivisible(n, divisor) {
  994. return (Math.floor(n / divisor) == n / divisor);
  995. }
  996. function allDeltasDivisableBy(divisor) {
  997. return (isDivisible(deltaBuffer[0], divisor) &&
  998. isDivisible(deltaBuffer[1], divisor) &&
  999. isDivisible(deltaBuffer[2], divisor));
  1000. }
  1001. function isInsideYoutubeVideo(event) {
  1002. var elem = event.target;
  1003. var isControl = false;
  1004. if (document.URL.indexOf ('www.youtube.com/watch') != -1) {
  1005. do {
  1006. isControl = (elem.classList &&
  1007. elem.classList.contains('html5-video-controls'));
  1008. if (isControl) break;
  1009. } while (elem = elem.parentNode);
  1010. }
  1011. return isControl;
  1012. }
  1013. var requestFrame = (function () {
  1014. return (window.requestAnimationFrame ||
  1015. window.webkitRequestAnimationFrame ||
  1016. window.mozRequestAnimationFrame ||
  1017. function (callback, element, delay) {
  1018. window.setTimeout(callback, delay || (1000/60));
  1019. });
  1020. })();
  1021. var MutationObserver = (window.MutationObserver ||
  1022. window.WebKitMutationObserver ||
  1023. window.MozMutationObserver);
  1024. var getScrollRoot = (function() {
  1025. var SCROLL_ROOT;
  1026. return function() {
  1027. if (!SCROLL_ROOT) {
  1028. var dummy = document.createElement('div');
  1029. dummy.style.cssText = 'height:10000px;width:1px;';
  1030. document.body.appendChild(dummy);
  1031. var bodyScrollTop = document.body.scrollTop;
  1032. var docElScrollTop = document.documentElement.scrollTop;
  1033. window.scrollBy(0, 3);
  1034. if (document.body.scrollTop != bodyScrollTop)
  1035. (SCROLL_ROOT = document.body);
  1036. else
  1037. (SCROLL_ROOT = document.documentElement);
  1038. window.scrollBy(0, -3);
  1039. document.body.removeChild(dummy);
  1040. }
  1041. return SCROLL_ROOT;
  1042. };
  1043. })();
  1044. /***********************************************
  1045. * PULSE (by Michael Herf)
  1046. ***********************************************/
  1047. /**
  1048. * Viscous fluid with a pulse for part and decay for the rest.
  1049. * - Applies a fixed force over an interval (a damped acceleration), and
  1050. * - Lets the exponential bleed away the velocity over a longer interval
  1051. * - Michael Herf, http://stereopsis.com/stopping/
  1052. */
  1053. function pulse_(x) {
  1054. var val, start, expx;
  1055. // test
  1056. x = x * options.pulseScale;
  1057. if (x < 1) { // acceleartion
  1058. val = x - (1 - Math.exp(-x));
  1059. } else { // tail
  1060. // the previous animation ended here:
  1061. start = Math.exp(-1);
  1062. // simple viscous drag
  1063. x -= 1;
  1064. expx = 1 - Math.exp(-x);
  1065. val = start + (expx * (1 - start));
  1066. }
  1067. return val * options.pulseNormalize;
  1068. }
  1069. function pulse(x) {
  1070. if (x >= 1) return 1;
  1071. if (x <= 0) return 0;
  1072. if (options.pulseNormalize == 1) {
  1073. options.pulseNormalize /= pulse_(1);
  1074. }
  1075. return pulse_(x);
  1076. }
  1077. /***********************************************
  1078. * FIRST RUN
  1079. ***********************************************/
  1080. var userAgent = window.navigator.userAgent;
  1081. var isEdge = /Edge/.test(userAgent); // thank you MS
  1082. var isChrome = /chrome/i.test(userAgent) && !isEdge;
  1083. var isSafari = /safari/i.test(userAgent) && !isEdge;
  1084. var isMobile = /mobile/i.test(userAgent);
  1085. var isIEWin7 = /Windows NT 6.1/i.test(userAgent) && /rv:11/i.test(userAgent);
  1086. var isEnabledForBrowser = (isChrome || isSafari || isIEWin7) && !isMobile;
  1087. var wheelEvent;
  1088. if ('onwheel' in document.createElement('div'))
  1089. wheelEvent = 'wheel';
  1090. else if ('onmousewheel' in document.createElement('div'))
  1091. wheelEvent = 'mousewheel';
  1092. if (wheelEvent && isEnabledForBrowser) {
  1093. addEvent(wheelEvent, wheel);
  1094. addEvent('mousedown', mousedown);
  1095. addEvent('load', init);
  1096. }
  1097. /***********************************************
  1098. * PUBLIC INTERFACE
  1099. ***********************************************/
  1100. function SmoothScroll(optionsToSet) {
  1101. for (var key in optionsToSet)
  1102. if (defaultOptions.hasOwnProperty(key))
  1103. options[key] = optionsToSet[key];
  1104. }
  1105. SmoothScroll.destroy = cleanup;
  1106. if (window.SmoothScrollOptions) // async API
  1107. SmoothScroll(window.SmoothScrollOptions);
  1108. if (typeof define === 'function' && define.amd)
  1109. define(function() {
  1110. return SmoothScroll;
  1111. });
  1112. else if ('object' == typeof exports)
  1113. module.exports = SmoothScroll;
  1114. else
  1115. window.SmoothScroll = SmoothScroll;
  1116. })();
  1117. /* Owl Carousel Min Js */
  1118. "function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g});
  1119. (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?
  1120. (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;
  1121. 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&&
  1122. (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,
  1123. [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}),
  1124. 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")},
  1125. 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=
  1126. !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]),
  1127. 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&&
  1128. !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=
  1129. 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()/
  1130. 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]),
  1131. 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=
  1132. 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=
  1133. 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&&
  1134. (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")===
  1135. 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===
  1136. 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;
  1137. 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?
  1138. 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),
  1139. !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},
  1140. 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=
  1141. 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)},
  1142. 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))},
  1143. 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("+
  1144. 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)";
  1145. 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"]:
  1146. !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")})},
  1147. 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;
  1148. "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)}
  1149. 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")}),
  1150. 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;
  1151. !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=
  1152. 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)):
  1153. (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)});
  1154. 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")?
  1155. 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,
  1156. [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,
  1157. 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");
  1158. 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+
  1159. "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,
  1160. 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");
  1161. 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,
  1162. 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===
  1163. 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,
  1164. 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);
  1165. // Generated by CoffeeScript 1.6.2
  1166. /*
  1167. jQuery Waypoints - v2.0.3
  1168. Copyright (c) 2011-2013 Caleb Troughton
  1169. Dual licensed under the MIT license and GPL license.
  1170. https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt
  1171. */
  1172. (function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++){if(e in this&&this[e]===t)return e}return-1},e=[].slice;(function(t,e){if(typeof define==="function"&&define.amd){return define("waypoints",["jquery"],function(n){return e(n,t)})}else{return e(t.jQuery,t)}})(this,function(n,r){var i,o,l,s,f,u,a,c,h,d,p,y,v,w,g,m;i=n(r);c=t.call(r,"ontouchstart")>=0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t
  1173. /*!
  1174. * jquery.counterup.js 1.0
  1175. *
  1176. * Copyright 2013, Benjamin Intal http://gambit.ph @bfintal
  1177. * Released under the GPL v2 License
  1178. *
  1179. * Date: Nov 26, 2013
  1180. */(function(e){"use strict";e.fn.counterUp=function(t){var n=e.extend({time:400,delay:10},t);return this.each(function(){var t=e(this),r=n,i=function(){var e=[],n=r.time/r.delay,i=t.text(),s=/[0-9]+,[0-9]+/.test(i);i=i.replace(/,/g,"");var o=/^[0-9]+$/.test(i),u=/^[0-9]+\.[0-9]+$/.test(i),a=u?(i.split(".")[1]||[]).length:0;for(var f=n;f>=1;f--){var l=parseInt(i/n*f);u&&(l=parseFloat(i/n*f).toFixed(a));if(s)while(/(\d+)(\d{3})/.test(l.toString()))l=l.toString().replace(/(\d+)(\d{3})/,"$1,$2");e.unshift(l)}t.data("counterup-nums",e);t.text("0");var c=function(){t.text(t.data("counterup-nums").shift());if(t.data("counterup-nums").length)setTimeout(t.data("counterup-func"),r.delay);else{delete t.data("counterup-nums");t.data("counterup-nums",null);t.data("counterup-func",null)}};t.data("counterup-func",c);setTimeout(t.data("counterup-func"),r.delay)};t.waypoint(i,{offset:"100%",triggerOnce:!0})})}})(jQuery);
  1181. /*
  1182. * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
  1183. *
  1184. * Uses the built in easing capabilities added In jQuery 1.1
  1185. * to offer multiple easing options
  1186. *
  1187. * TERMS OF USE - EASING EQUATIONS
  1188. *
  1189. * Open source under the BSD License.
  1190. *
  1191. * Copyright © 2001 Robert Penner
  1192. * All rights reserved.
  1193. *
  1194. * TERMS OF USE - jQuery Easing
  1195. *
  1196. * Open source under the BSD License.
  1197. *
  1198. * Copyright © 2008 George McGinley Smith
  1199. * All rights reserved.
  1200. *
  1201. * Redistribution and use in source and binary forms, with or without modification,
  1202. * are permitted provided that the following conditions are met:
  1203. *
  1204. * Redistributions of source code must retain the above copyright notice, this list of
  1205. * conditions and the following disclaimer.
  1206. * Redistributions in binary form must reproduce the above copyright notice, this list
  1207. * of conditions and the following disclaimer in the documentation and/or other materials
  1208. * provided with the distribution.
  1209. *
  1210. * Neither the name of the author nor the names of contributors may be used to endorse
  1211. * or promote products derived from this software without specific prior written permission.
  1212. *
  1213. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
  1214. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  1215. * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  1216. * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  1217. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
  1218. * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  1219. * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  1220. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  1221. * OF THE POSSIBILITY OF SUCH DAMAGE.
  1222. *
  1223. */
  1224. jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return -(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return -0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});
  1225. /*! Magnific Popup - v1.1.0 - 2016-02-20
  1226. * http://dimsemenov.com/plugins/magnific-popup/
  1227. * Copyright (c) 2016 Dmitry Semenov; */
  1228. !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=a.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",c.mainEl&&c.mainEl.length?b.ev=c.mainEl.eq(0):b.ev=d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=x("bg").on("click"+p,function(){b.close()}),b.wrap=x("wrap").attr("tabindex",-1).on("click"+p,function(a){b._checkIfClose(a.target)&&b.close()}),b.container=x("container",b.wrap)),b.contentContainer=x("content"),b.st.preloader&&(b.preloader=x("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var j=i[e];j=j.charAt(0).toUpperCase()+j.slice(1),b["init"+j].call(b)}y("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(w(l,function(a,b,c,d){c.close_replaceWith=z(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(z())),b.st.alignTop&&(f+=" mfp-align-top"),b.fixedContentPos?b.wrap.css({overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}):b.wrap.css({top:v.scrollTop(),position:"absolute"}),(b.st.fixedBgPos===!1||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup"+p,function(a){27===a.keyCode&&b.close()}),v.on("resize"+p,function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var k=b.wH=v.height(),n={};if(b.fixedContentPos&&b._hasScrollBar(k)){var o=b._getScrollbarSize();o&&(n.marginRight=o)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):n.overflow="hidden");var r=b.st.mainClass;return b.isIE7&&(r+=" mfp-ie7"),r&&b._addClassToMFP(r),b.updateItemHTML(),y("BuildControls"),a("html").css(n),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP(q),b._setFocus()):b.bgOverlay.addClass(q),d.on("focusin"+p,b._onFocusIn)},16),b.isOpen=!0,b.updateSize(k),y(m),c},close:function(){b.isOpen&&(y(i),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP(r)
  1229. /*!
  1230. * animsition v4.0.2
  1231. * A simple and easy jQuery plugin for CSS animated page transitions.
  1232. * http://blivesta.github.io/animsition
  1233. * License : MIT
  1234. * Author : blivesta (http://blivesta.com/)
  1235. */
  1236. !function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){"use strict";var n="animsition",i={init:function(a){a=t.extend({inClass:"fade-in",outClass:"fade-out",inDuration:1500,outDuration:800,linkElement:".animsition-link",loading:!0,loadingParentElement:"body",loadingClass:"animsition-loading",loadingInner:"",timeout:!1,timeoutCountdown:5e3,onLoadEvent:!0,browser:["animation-duration","-webkit-animation-duration"],overlay:!1,overlayClass:"animsition-overlay-slide",overlayParentElement:"body",transition:function(t){window.location.href=t}},a),i.settings={timer:!1,data:{inClass:"animsition-in-class",inDuration:"animsition-in-duration",outClass:"animsition-out-class",outDuration:"animsition-out-duration",overlay:"animsition-overlay"},events:{inStart:"animsition.inStart",inEnd:"animsition.inEnd",outStart:"animsition.outStart",outEnd:"animsition.outEnd"}};var o=i.supportCheck.call(this,a);if(!o&&a.browser.length>0&&(!o||!this.length))return"console"in window||(window.console={},window.console.log=function(t){return t}),this.length||console.log("Animsition: Element does not exist on page."),o||console.log("Animsition: Does not support this browser."),i.destroy.call(this);var e=i.optionCheck.call(this,a);return e&&t("."+a.overlayClass).length<=0&&i.addOverlay.call(this,a),a.loading&&t("."+a.loadingClass).length<=0&&i.addLoading.call(this,a),this.each(function(){var o=this,e=t(this),s=t(window),r=t(document),l=e.data(n);l||(a=t.extend({},a),e.data(n,{options:a}),a.timeout&&i.addTimer.call(o),a.onLoadEvent&&s.on("load."+n,function(){i.settings.timer&&clearTimeout(i.settings.timer),i["in"].call(o)}),s.on("pageshow."+n,function(t){t.originalEvent.persisted&&i["in"].call(o)}),s.on("unload."+n,function(){}),r.on("click."+n,a.linkElement,function(n){n.preventDefault();var a=t(this),e=a.attr("href");2===n.which||n.metaKey||n.shiftKey||-1!==navigator.platform.toUpperCase().indexOf("WIN")&&n.ctrlKey?window.open(e,"_blank"):i.out.call(o,a,e)}))})},addOverlay:function(n){t(n.overlayParentElement).prepend('<div class="'+n.overlayClass+'"></div>')},addLoading:function(n){t(n.loadingParentElement).append('<div class="'+n.loadingClass+'">'+n.loadingInner+"</div>")},removeLoading:function(){var i=t(this),a=i.data(n).options,o=t(a.loadingParentElement).children("."+a.loadingClass);o.fadeOut().remove()},addTimer:function(){var a=this,o=t(this),e=o.data(n).options;i.settings.timer=setTimeout(function(){i["in"].call(a),t(window).off("load."+n)},e.timeoutCountdown)},supportCheck:function(n){var i=t(this),a=n.browser,o=a.length,e=!1;0===o&&(e=!0);for(var s=0;o>s;s++)if("string"==typeof i.css(a[s])){e=!0;break}return e},optionCheck:function(n){var a,o=t(this);return a=n.overlay||o.data(i.settings.data.overlay)?!0:!1},animationCheck:function(i,a,o){var e=t(this),s=e.data(n).options,r=typeof i,l=!a&&"number"===r,d=a&&"string"===r&&i.length>0;return l||d?i=i:a&&o?i=s.inClass:!a&&o?i=s.inDuration:a&&!o?i=s.outClass:a||o||(i=s.outDuration),i},"in":function(){var a=this,o=t(this),e=o.data(n).options,s=o.data(i.settings.data.inDuration),r=o.data(i.settings.data.inClass),l=i.animationCheck.call(a,s,!1,!0),d=i.animationCheck.call(a,r,!0,!0),u=i.optionCheck.call(a,e),c=o.data(n).outClass;e.loading&&i.removeLoading.call(a),c&&o.removeClass(c),u?i.inOverlay.call(a,d,l):i.inDefault.call(a,d,l)},inDefault:function(n,a){var o=t(this);o.css({"animation-duration":a+"ms"}).addClass(n).trigger(i.settings.events.inStart).animateCallback(function(){o.removeClass(n).css({opacity:1}).trigger(i.settings.events.inEnd)})},inOverlay:function(a,o){var e=t(this),s=e.data(n).options;e.css({opacity:1}).trigger(i.settings.events.inStart),t(s.overlayParentElement).children("."+s.overlayClass).css({"animation-duration":o+"ms"}).addClass(a).animateCallback(function(){e.trigger(i.settings.events.inEnd)})},out:function(a,o){var e=this,s=t(this),r=s.data(n).options,l=a.data(i.settings.data.outClass),d=s.data(i.settings.data.outClass),u=a.data(i.settings.data.outDuration),c=s.da
  1237. /*! WOW - v1.1.3 - 2016-05-06
  1238. *
  1239. Copyright (c) 2016 Matthieu Aussaguel;*/
  1240. (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,b){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.le