summaryrefslogtreecommitdiff
path: root/static/website/slick
diff options
context:
space:
mode:
Diffstat (limited to 'static/website/slick')
-rw-r--r--static/website/slick/ajax-loader.gifbin0 -> 4178 bytes
-rw-r--r--static/website/slick/fonts/slick.eotbin0 -> 2048 bytes
-rw-r--r--static/website/slick/fonts/slick.svg14
-rw-r--r--static/website/slick/fonts/slick.ttfbin0 -> 1892 bytes
-rw-r--r--static/website/slick/fonts/slick.woffbin0 -> 1380 bytes
-rw-r--r--static/website/slick/slick.css47
-rw-r--r--static/website/slick/slick.js1668
-rw-r--r--static/website/slick/slick.min.js1
-rw-r--r--static/website/slick/slick.scss223
9 files changed, 1953 insertions, 0 deletions
diff --git a/static/website/slick/ajax-loader.gif b/static/website/slick/ajax-loader.gif
new file mode 100644
index 0000000..e0e6e97
--- /dev/null
+++ b/static/website/slick/ajax-loader.gif
Binary files differ
diff --git a/static/website/slick/fonts/slick.eot b/static/website/slick/fonts/slick.eot
new file mode 100644
index 0000000..2cbab9c
--- /dev/null
+++ b/static/website/slick/fonts/slick.eot
Binary files differ
diff --git a/static/website/slick/fonts/slick.svg b/static/website/slick/fonts/slick.svg
new file mode 100644
index 0000000..b36a66a
--- /dev/null
+++ b/static/website/slick/fonts/slick.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by Fontastic.me</metadata>
+<defs>
+<font id="slick" horiz-adv-x="512">
+<font-face font-family="slick" units-per-em="512" ascent="480" descent="-32"/>
+<missing-glyph horiz-adv-x="512" />
+
+<glyph unicode="&#8594;" d="M241 113l130 130c4 4 6 8 6 13 0 5-2 9-6 13l-130 130c-3 3-7 5-12 5-5 0-10-2-13-5l-29-30c-4-3-6-7-6-12 0-5 2-10 6-13l87-88-87-88c-4-3-6-8-6-13 0-5 2-9 6-12l29-30c3-3 8-5 13-5 5 0 9 2 12 5z m234 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
+<glyph unicode="&#8592;" d="M296 113l29 30c4 3 6 7 6 12 0 5-2 10-6 13l-87 88 87 88c4 3 6 8 6 13 0 5-2 9-6 12l-29 30c-3 3-8 5-13 5-5 0-9-2-12-5l-130-130c-4-4-6-8-6-13 0-5 2-9 6-13l130-130c3-3 7-5 12-5 5 0 10 2 13 5z m179 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
+<glyph unicode="&#8226;" d="M475 256c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
+<glyph unicode="&#97;" d="M475 439l0-128c0-5-1-9-5-13-4-4-8-5-13-5l-128 0c-8 0-13 3-17 11-3 7-2 14 4 20l40 39c-28 26-62 39-100 39-20 0-39-4-57-11-18-8-33-18-46-32-14-13-24-28-32-46-7-18-11-37-11-57 0-20 4-39 11-57 8-18 18-33 32-46 13-14 28-24 46-32 18-7 37-11 57-11 23 0 44 5 64 15 20 9 38 23 51 42 2 1 4 3 7 3 3 0 5-1 7-3l39-39c2-2 3-3 3-6 0-2-1-4-2-6-21-25-46-45-76-59-29-14-60-20-93-20-30 0-58 5-85 17-27 12-51 27-70 47-20 19-35 43-47 70-12 27-17 55-17 85 0 30 5 58 17 85 12 27 27 51 47 70 19 20 43 35 70 47 27 12 55 17 85 17 28 0 55-5 81-15 26-11 50-26 70-45l37 37c6 6 12 7 20 4 8-4 11-9 11-17z"/>
+</font></defs></svg>
diff --git a/static/website/slick/fonts/slick.ttf b/static/website/slick/fonts/slick.ttf
new file mode 100644
index 0000000..9d03461
--- /dev/null
+++ b/static/website/slick/fonts/slick.ttf
Binary files differ
diff --git a/static/website/slick/fonts/slick.woff b/static/website/slick/fonts/slick.woff
new file mode 100644
index 0000000..8ee9972
--- /dev/null
+++ b/static/website/slick/fonts/slick.woff
Binary files differ
diff --git a/static/website/slick/slick.css b/static/website/slick/slick.css
new file mode 100644
index 0000000..8c09f9e
--- /dev/null
+++ b/static/website/slick/slick.css
@@ -0,0 +1,47 @@
+/* Slider */
+.slick-slider { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: none; touch-action: none; -webkit-tap-highlight-color: transparent; }
+
+.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
+.slick-list:focus { outline: none; }
+.slick-loading .slick-list { background: white url(./ajax-loader.gif) center center no-repeat; }
+.slick-list.dragging { cursor: pointer; cursor: hand; }
+
+.slick-slider .slick-list, .slick-track, .slick-slide, .slick-slide img { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
+
+.slick-track { position: relative; left: 0; top: 0; display: block; zoom: 1; }
+.slick-track:before, .slick-track:after { content: ""; display: table; }
+.slick-track:after { clear: both; }
+.slick-loading .slick-track { visibility: hidden; }
+
+.slick-slide { float: left; height: 100%; min-height: 1px; display: none; }
+.slick-slide img { display: block; }
+.slick-slide img.slick-loading { background: white url(./ajax-loader.gif) center center no-repeat; padding-bottom: 100%; }
+.slick-slide.dragging img { pointer-events: none; }
+.slick-initialized .slick-slide { display: block; }
+.slick-loading .slick-slide { visibility: hidden; }
+.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
+
+/* Icons */
+@font-face { font-family: "slick"; src: url("./fonts/slick.eot"); src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg"); font-weight: normal; font-style: normal; }
+/* Arrows */
+.slick-prev, .slick-next { position: absolute; display: block; height: 20px; width: 20px; line-height: 0; font-size: 0; cursor: pointer; background: transparent; color: transparent; top: 50%; margin-top: -10px; padding: 0; border: none; outline: none; }
+.slick-prev:focus, .slick-next:focus { outline: none; }
+.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: 0.25; }
+
+.slick-prev:before, .slick-next:before { font-family: "slick"; font-size: 20px; line-height: 1; color: white; opacity: 0.85; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
+
+.slick-prev { left: -25px; }
+.slick-prev:before { content: '\2190'; }
+
+.slick-next { right: -25px; }
+.slick-next:before { content: '\2192'; }
+
+/* Dots */
+.slick-slider { margin-bottom: 30px; }
+
+.slick-dots { position: absolute; bottom: -45px; list-style: none; display: block; text-align: center; padding: 0px; width: 100%; }
+.slick-dots li { position: relative; display: inline-block; height: 20px; width: 20px; margin: 0px 5px; padding: 0px; cursor: pointer; }
+.slick-dots li button { border: 0; background: transparent; display: block; height: 20px; width: 20px; outline: none; line-height: 0; font-size: 0; color: transparent; padding: 5px; cursor: pointer; outline: none; }
+.slick-dots li button:focus { outline: none; }
+.slick-dots li button:before { position: absolute; top: 0; left: 0; content: '\2022'; width: 20px; height: 20px; font-family: "slick"; font-size: 6px; line-height: 20px; text-align: center; color: black; opacity: 0.25; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
+.slick-dots li.slick-active button:before { opacity: 0.75; } \ No newline at end of file
diff --git a/static/website/slick/slick.js b/static/website/slick/slick.js
new file mode 100644
index 0000000..ceb40f0
--- /dev/null
+++ b/static/website/slick/slick.js
@@ -0,0 +1,1668 @@
+/*
+ _ _ _ _
+ ___| (_) ___| | __ (_)___
+/ __| | |/ __| |/ / | / __|
+\__ \ | | (__| < _ | \__ \
+|___/_|_|\___|_|\_(_)/ |___/
+ |__/
+
+ 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
+
+ */
+
+/* global window, document, define, jQuery, setInterval, clearInterval */
+
+(function(factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ define(['jquery'], factory);
+ } else {
+ factory(jQuery);
+ }
+
+}(function($) {
+ 'use strict';
+ var Slick = window.Slick || {};
+
+ Slick = (function() {
+
+ var instanceUid = 0;
+
+ function Slick(element, settings) {
+
+ var _ = this,
+ responsiveSettings, breakpoint;
+
+ _.defaults = {
+ accessibility: true,
+ arrows: true,
+ autoplay: false,
+ autoplaySpeed: 3000,
+ centerMode: false,
+ centerPadding: '50px',
+ cssEase: 'ease',
+ customPaging: function(slider, i) {
+ return '<button type="button">' + (i + 1) + '</button>';
+ },
+ dots: false,
+ draggable: true,
+ easing: 'linear',
+ fade: false,
+ infinite: true,
+ lazyLoad: 'ondemand',
+ onBeforeChange: null,
+ onAfterChange: null,
+ onInit: null,
+ onReInit: null,
+ pauseOnHover: true,
+ responsive: null,
+ slide: 'div',
+ slidesToShow: 1,
+ slidesToScroll: 1,
+ speed: 300,
+ swipe: true,
+ touchMove: true,
+ touchThreshold: 5,
+ vertical: false
+ };
+
+ _.initials = {
+ animating: false,
+ autoPlayTimer: null,
+ currentSlide: 0,
+ currentLeft: null,
+ direction: 1,
+ $dots: null,
+ listWidth: null,
+ listHeight: null,
+ loadIndex: 0,
+ $nextArrow: null,
+ $prevArrow: null,
+ slideCount: null,
+ slideWidth: null,
+ $slideTrack: null,
+ $slides: null,
+ sliding: false,
+ slideOffset: 0,
+ swipeLeft: null,
+ $list: null,
+ touchObject: {},
+ transformsEnabled: false
+ };
+
+ $.extend(_, _.initials);
+
+ _.activeBreakpoint = null;
+ _.animType = null;
+ _.animProp = null;
+ _.breakpoints = [];
+ _.breakpointSettings = [];
+ _.cssTransitions = false;
+ _.paused = false;
+ _.positionProp = null;
+ _.$slider = $(element);
+ _.$slidesCache = null;
+ _.transformType = null;
+ _.transitionType = null;
+ _.windowWidth = 0;
+ _.windowTimer = null;
+
+ _.options = $.extend({}, _.defaults, settings);
+
+ _.originalSettings = _.options;
+ responsiveSettings = _.options.responsive || null;
+
+ if (responsiveSettings && responsiveSettings.length > -1) {
+ for (breakpoint in responsiveSettings) {
+ if (responsiveSettings.hasOwnProperty(breakpoint)) {
+ _.breakpoints.push(responsiveSettings[
+ breakpoint].breakpoint);
+ _.breakpointSettings[responsiveSettings[
+ breakpoint].breakpoint] =
+ responsiveSettings[breakpoint].settings;
+ }
+ }
+ _.breakpoints.sort(function(a, b) {
+ return b - a;
+ });
+ }
+
+ _.autoPlay = $.proxy(_.autoPlay, _);
+ _.autoPlayClear = $.proxy(_.autoPlayClear, _);
+ _.changeSlide = $.proxy(_.changeSlide, _);
+ _.setPosition = $.proxy(_.setPosition, _);
+ _.swipeHandler = $.proxy(_.swipeHandler, _);
+ _.dragHandler = $.proxy(_.dragHandler, _);
+ _.keyHandler = $.proxy(_.keyHandler, _);
+ _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
+
+ _.instanceUid = instanceUid++;
+
+ _.init();
+
+ }
+
+ return Slick;
+
+ }());
+
+ Slick.prototype.addSlide = function(markup, index, addBefore) {
+
+ var _ = this;
+
+ if (typeof(index) === 'boolean') {
+ addBefore = index;
+ index = null;
+ } else if (index < 0 || (index >= _.slideCount)) {
+ return false;
+ }
+
+ _.unload();
+
+ if (typeof(index) === 'number') {
+ if (index === 0 && _.$slides.length === 0) {
+ $(markup).appendTo(_.$slideTrack);
+ } else if (addBefore) {
+ $(markup).insertBefore(_.$slides.eq(index));
+ } else {
+ $(markup).insertAfter(_.$slides.eq(index));
+ }
+ } else {
+ if (addBefore === true) {
+ $(markup).prependTo(_.$slideTrack);
+ } else {
+ $(markup).appendTo(_.$slideTrack);
+ }
+ }
+
+ _.$slides = _.$slideTrack.children(this.options.slide);
+
+ _.$slideTrack.children(this.options.slide).remove();
+
+ _.$slideTrack.append(_.$slides);
+
+ _.$slidesCache = _.$slides;
+
+ _.reinit();
+
+ };
+
+ Slick.prototype.animateSlide = function(targetLeft,
+ callback) {
+
+ var animProps = {}, _ = this;
+
+ if (_.transformsEnabled === false) {
+ if (_.options.vertical === false) {
+ _.$slideTrack.animate({
+ left: targetLeft
+ }, _.options.speed, _.options.easing, callback);
+ } else {
+ _.$slideTrack.animate({
+ top: targetLeft
+ }, _.options.speed, _.options.easing, callback);
+ }
+
+ } else {
+
+ if (_.cssTransitions === false) {
+
+ $({
+ animStart: _.currentLeft
+ }).animate({
+ animStart: targetLeft
+ }, {
+ duration: _.options.speed,
+ easing: _.options.easing,
+ step: function(now) {
+ if (_.options.vertical === false) {
+ animProps[_.animType] = 'translate(' +
+ now + 'px, 0px)';
+ _.$slideTrack.css(animProps);
+ } else {
+ animProps[_.animType] = 'translate(0px,' +
+ now + 'px,0px)';
+ _.$slideTrack.css(animProps);
+ }
+ },
+ complete: function() {
+ if (callback) {
+ callback.call();
+ }
+ }
+ });
+
+ } else {
+
+ _.applyTransition();
+
+ if (_.options.vertical === false) {
+ animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
+ } else {
+ animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
+ }
+ _.$slideTrack.css(animProps);
+
+ if (callback) {
+ setTimeout(function() {
+
+ _.disableTransition();
+
+ callback.call();
+ }, _.options.speed);
+ }
+
+ }
+
+ }
+
+ };
+
+ Slick.prototype.applyTransition = function(slide) {
+
+ var _ = this,
+ transition = {};
+
+ if (_.options.fade === false) {
+ transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
+ } else {
+ transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
+ }
+
+ if (_.options.fade === false) {
+ _.$slideTrack.css(transition);
+ } else {
+ _.$slides.eq(slide).css(transition);
+ }
+
+ };
+
+ Slick.prototype.autoPlay = function() {
+
+ var _ = this;
+
+ if (_.autoPlayTimer) {
+ clearInterval(_.autoPlayTimer);
+ }
+
+ if (_.slideCount > _.options.slidesToShow && _.paused !== true) {
+ _.autoPlayTimer = setInterval(_.autoPlayIterator,
+ _.options.autoplaySpeed);
+ }
+
+ };
+
+ Slick.prototype.autoPlayClear = function() {
+
+ var _ = this;
+
+ if (_.autoPlayTimer) {
+ clearInterval(_.autoPlayTimer);
+ }
+
+ };
+
+ Slick.prototype.autoPlayIterator = function() {
+
+ var _ = this;
+
+ if (_.options.infinite === false) {
+
+ if (_.direction === 1) {
+
+ if ((_.currentSlide + 1) === _.slideCount -
+ 1) {
+ _.direction = 0;
+ }
+
+ _.slideHandler(_.currentSlide + _.options
+ .slidesToScroll);
+
+ } else {
+
+ if ((_.currentSlide - 1 === 0)) {
+
+ _.direction = 1;
+
+ }
+
+ _.slideHandler(_.currentSlide - _.options
+ .slidesToScroll);
+
+ }
+
+ } else {
+
+ _.slideHandler(_.currentSlide + _.options.slidesToScroll);
+
+ }
+
+ };
+
+ Slick.prototype.buildArrows = function() {
+
+ var _ = this;
+
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
+
+ _.$prevArrow = $(
+ '<button type="button" class="slick-prev">Previous</button>').appendTo(
+ _.$slider);
+ _.$nextArrow = $(
+ '<button type="button" class="slick-next">Next</button>').appendTo(
+ _.$slider);
+
+ if (_.options.infinite !== true) {
+ _.$prevArrow.addClass('slick-disabled');
+ }
+
+ }
+
+ };
+
+ Slick.prototype.buildDots = function() {
+
+ var _ = this,
+ i, dotString;
+
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
+
+ dotString = '<ul class="slick-dots">';
+
+ for (i = 0; i <= _.getDotCount(); i += 1) {
+ dotString += '<li>' + _.options.customPaging.call(this, _, i) + '</li>';
+ }
+
+ dotString += '</ul>';
+
+ _.$dots = $(dotString).appendTo(
+ _.$slider);
+
+ _.$dots.find('li').first().addClass(
+ 'slick-active');
+
+ }
+
+ };
+
+ Slick.prototype.buildOut = function() {
+
+ var _ = this;
+
+ _.$slides = _.$slider.children(_.options.slide +
+ ':not(.slick-cloned)').addClass(
+ 'slick-slide');
+ _.slideCount = _.$slides.length;
+ _.$slidesCache = _.$slides;
+
+ _.$slider.addClass('slick-slider');
+
+ _.$slideTrack = (_.slideCount === 0) ?
+ $('<div class="slick-track"/>').appendTo(_.$slider) :
+ _.$slides.wrapAll('<div class="slick-track"/>').parent();
+
+ _.$list = _.$slideTrack.wrap(
+ '<div class="slick-list"/>').parent();
+ _.$slideTrack.css('opacity', 0);
+
+ if (_.options.centerMode === true) {
+ _.options.infinite = true;
+ _.options.slidesToScroll = 1;
+ if (_.options.slidesToShow % 2 === 0) {
+ _.options.slidesToShow = 3;
+ }
+ }
+
+ $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
+
+ _.setupInfinite();
+
+ _.buildArrows();
+
+ _.buildDots();
+
+ if (_.options.accessibility === true) {
+ _.$list.prop('tabIndex', 0);
+ }
+
+ _.setSlideClasses(0);
+
+ if (_.options.draggable === true) {
+ _.$list.addClass('draggable');
+ }
+
+ };
+
+ Slick.prototype.checkResponsive = function() {
+
+ var _ = this,
+ breakpoint, targetBreakpoint;
+
+ if (_.originalSettings.responsive && _.originalSettings
+ .responsive.length > -1 && _.originalSettings.responsive !== null) {
+
+ targetBreakpoint = null;
+
+ for (breakpoint in _.breakpoints) {
+ if (_.breakpoints.hasOwnProperty(breakpoint)) {
+ if ($(window).width() < _.breakpoints[
+ breakpoint]) {
+ targetBreakpoint = _.breakpoints[
+ breakpoint];
+ }
+ }
+ }
+
+ if (targetBreakpoint !== null) {
+ if (_.activeBreakpoint !== null) {
+ if (targetBreakpoint !== _.activeBreakpoint) {
+ _.activeBreakpoint =
+ targetBreakpoint;
+ _.options = $.extend({}, _.defaults,
+ _.breakpointSettings[
+ targetBreakpoint]);
+ _.refresh();
+ }
+ } else {
+ _.activeBreakpoint = targetBreakpoint;
+ _.options = $.extend({}, _.defaults,
+ _.breakpointSettings[
+ targetBreakpoint]);
+ _.refresh();
+ }
+ } else {
+ if (_.activeBreakpoint !== null) {
+ _.activeBreakpoint = null;
+ _.options = $.extend({}, _.defaults,
+ _.originalSettings);
+ _.refresh();
+ }
+ }
+
+ }
+
+ };
+
+ Slick.prototype.changeSlide = function(event) {
+
+ var _ = this;
+
+ switch (event.data.message) {
+
+ case 'previous':
+ _.slideHandler(_.currentSlide - _.options
+ .slidesToScroll);
+ break;
+
+ case 'next':
+ _.slideHandler(_.currentSlide + _.options
+ .slidesToScroll);
+ break;
+
+ case 'index':
+ _.slideHandler($(event.target).parent().index() * _.options.slidesToScroll);
+ break;
+
+ default:
+ return false;
+ }
+
+ };
+
+ Slick.prototype.destroy = function() {
+
+ var _ = this;
+
+ _.autoPlayClear();
+
+ _.touchObject = {};
+
+ $('.slick-cloned', _.$slider).remove();
+ if (_.$dots) {
+ _.$dots.remove();
+ }
+ if (_.$prevArrow) {
+ _.$prevArrow.remove();
+ _.$nextArrow.remove();
+ }
+ _.$slides.unwrap().unwrap();
+ _.$slides.removeClass(
+ 'slick-slide slick-active slick-visible').removeAttr('style');
+ _.$slider.removeClass('slick-slider');
+ _.$slider.removeClass('slick-initialized');
+
+ _.$list.off('.slick');
+ $(window).off('.slick-' + _.instanceUid);
+ };
+
+ Slick.prototype.disableTransition = function(slide) {
+
+ var _ = this,
+ transition = {};
+
+ transition[_.transitionType] = "";
+
+ if (_.options.fade === false) {
+ _.$slideTrack.css(transition);
+ } else {
+ _.$slides.eq(slide).css(transition);
+ }
+
+ };
+
+ Slick.prototype.fadeSlide = function(slideIndex, callback) {
+
+ var _ = this;
+
+ if (_.cssTransitions === false) {
+
+ _.$slides.eq(slideIndex).css({
+ zIndex: 1000
+ });
+
+ _.$slides.eq(slideIndex).animate({
+ opacity: 1
+ }, _.options.speed, _.options.easing, callback);
+
+ } else {
+
+ _.applyTransition(slideIndex);
+
+ _.$slides.eq(slideIndex).css({
+ opacity: 1,
+ zIndex: 1000
+ });
+
+ if (callback) {
+ setTimeout(function() {
+
+ _.disableTransition(slideIndex);
+
+ callback.call();
+ }, _.options.speed);
+ }
+
+ }
+
+ };
+
+ Slick.prototype.filterSlides = function(filter) {
+
+ var _ = this;
+
+ if (filter !== null) {
+
+ _.unload();
+
+ _.$slideTrack.children(this.options.slide).remove();
+
+ _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
+
+ _.reinit();
+
+ }
+
+ };
+
+ Slick.prototype.getDotCount = function() {
+
+ var _ = this,
+ breaker = 0,
+ dotCounter = 0,
+ dotCount = 0,
+ dotLimit;
+
+ dotLimit = _.options.infinite === true ? _.slideCount + _.options.slidesToShow - _.options.slidesToScroll : _.slideCount;
+
+ while (breaker < dotLimit) {
+ dotCount++;
+ dotCounter += _.options.slidesToScroll;
+ breaker = dotCounter + _.options.slidesToShow;
+ }
+
+ return dotCount;
+
+ };
+
+ Slick.prototype.getLeft = function(slideIndex) {
+
+ var _ = this,
+ targetLeft;
+
+ _.slideOffset = 0;
+
+ if (_.options.infinite === true) {
+ if (_.slideCount > _.options.slidesToShow) {
+ _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
+ }
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
+ if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
+ _.slideOffset = ((_.slideCount % _.options.slidesToShow) * _.slideWidth) * -1;
+ }
+ }
+ } else {
+ if (_.slideCount % _.options.slidesToShow !== 0) {
+ if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
+ _.slideOffset = ((_.slideCount % _.options.slidesToShow) * _.slideWidth);
+ }
+ }
+ }
+
+ if (_.options.centerMode === true) {
+ _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
+ }
+
+ if (_.options.vertical === false) {
+ targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
+ } else {
+ _.listHeight = _.$list.height();
+ if (_.options.infinite === true) {
+ targetLeft = ((slideIndex * _.listHeight) * -1) - _.listHeight;
+ } else {
+ targetLeft = ((slideIndex * _.listHeight) * -1);
+ }
+ }
+
+ return targetLeft;
+
+ };
+
+ Slick.prototype.init = function() {
+
+ var _ = this;
+
+ if (!$(_.$slider).hasClass('slick-initialized')) {
+
+ $(_.$slider).addClass('slick-initialized');
+ _.buildOut();
+ _.setProps();
+ _.startLoad();
+ _.loadSlider();
+ _.initializeEvents();
+ _.checkResponsive();
+ }
+
+ if (_.options.onInit !== null) {
+ _.options.onInit.call(this, _);
+ }
+
+ };
+
+ Slick.prototype.initArrowEvents = function() {
+
+ var _ = this;
+
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
+ _.$prevArrow.on('click.slick', {
+ message: 'previous'
+ }, _.changeSlide);
+ _.$nextArrow.on('click.slick', {
+ message: 'next'
+ }, _.changeSlide);
+ }
+
+ };
+
+ Slick.prototype.initDotEvents = function() {
+
+ var _ = this;
+
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
+ $('li', _.$dots).on('click.slick', {
+ message: 'index'
+ }, _.changeSlide);
+ }
+
+ };
+
+ Slick.prototype.initializeEvents = function() {
+
+ var _ = this;
+
+ _.initArrowEvents();
+
+ _.initDotEvents();
+
+ _.$list.on('touchstart.slick mousedown.slick', {
+ action: 'start'
+ }, _.swipeHandler);
+ _.$list.on('touchmove.slick mousemove.slick', {
+ action: 'move'
+ }, _.swipeHandler);
+ _.$list.on('touchend.slick mouseup.slick', {
+ action: 'end'
+ }, _.swipeHandler);
+ _.$list.on('touchcancel.slick mouseleave.slick', {
+ action: 'end'
+ }, _.swipeHandler);
+
+ if (_.options.pauseOnHover === true && _.options.autoplay === true) {
+ _.$list.on('mouseenter.slick', _.autoPlayClear);
+ _.$list.on('mouseleave.slick', _.autoPlay);
+ }
+
+ _.$list.on('keydown.slick', _.keyHandler);
+
+ $(window).on('orientationchange.slick.slick-' + _.instanceUid, function() {
+ _.checkResponsive();
+ _.setPosition();
+ });
+
+ $(window).on('resize.slick.slick-' + _.instanceUid, function() {
+ if ($(window).width !== _.windowWidth) {
+ clearTimeout(_.windowDelay);
+ _.windowDelay = window.setTimeout(function() {
+ _.windowWidth = $(window).width();
+ _.checkResponsive();
+ _.setPosition();
+ }, 50);
+ }
+ });
+
+ $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
+
+ };
+
+ Slick.prototype.initUI = function() {
+
+ var _ = this;
+
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
+
+ _.$prevArrow.show();
+ _.$nextArrow.show();
+
+ }
+
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
+
+ _.$dots.show();
+
+ }
+
+ if (_.options.autoplay === true) {
+
+ _.autoPlay();
+
+ }
+
+ };
+
+ Slick.prototype.keyHandler = function(event) {
+
+ var _ = this;
+
+ if (event.keyCode === 37) {
+ _.changeSlide({
+ data: {
+ message: 'previous'
+ }
+ });
+ } else if (event.keyCode === 39) {
+ _.changeSlide({
+ data: {
+ message: 'next'
+ }
+ });
+ }
+
+ };
+
+ Slick.prototype.lazyLoad = function() {
+
+ var _ = this,
+ loadRange, cloneRange, rangeStart, rangeEnd;
+
+ if (_.options.centerMode === true) {
+ rangeStart = _.options.slidesToShow + _.currentSlide - 1;
+ rangeEnd = rangeStart + _.options.slidesToShow + 2;
+ } else {
+ rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
+ rangeEnd = rangeStart + _.options.slidesToShow;
+ }
+
+ loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
+
+ $('img[data-lazy]', loadRange).not('[src]').each(function() {
+ $(this).attr('src', $(this).attr('data-lazy')).removeClass('slick-loading');
+ });
+
+ if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
+ cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
+ $('img[data-lazy]', cloneRange).not('[src]').each(function() {
+ $(this).attr('src', $(this).attr('data-lazy')).removeClass('slick-loading');
+ });
+ } else if (_.currentSlide === 0) {
+ cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
+ $('img[data-lazy]', cloneRange).not('[src]').each(function() {
+ $(this).attr('src', $(this).attr('data-lazy')).removeClass('slick-loading');
+ });
+ }
+
+ };
+
+ Slick.prototype.loadSlider = function() {
+
+ var _ = this;
+
+ _.setPosition();
+
+ _.$slideTrack.css({
+ opacity: 1
+ });
+
+ _.$slider.removeClass('slick-loading');
+
+ _.initUI();
+
+ if (_.options.lazyLoad === 'progressive') {
+ _.progressiveLazyLoad();
+ }
+
+ };
+
+ Slick.prototype.postSlide = function(index) {
+
+ var _ = this;
+
+ if (_.options.onAfterChange !== null && index !== _.currentSlide) {
+ _.options.onAfterChange.call(this, _, index);
+ }
+
+ _.animating = false;
+
+ _.setPosition();
+
+ _.swipeLeft = null;
+
+ if (_.options.autoplay === true && _.paused === false) {
+ _.autoPlay();
+ }
+
+ _.setSlideClasses(_.currentSlide);
+
+ };
+
+ Slick.prototype.progressiveLazyLoad = function() {
+
+ var _ = this,
+ imgCount, targetImage;
+
+ imgCount = $('img[data-lazy]').not('[src]').length;
+
+ if (imgCount > 0) {
+ targetImage = $($('img[data-lazy]', _.$slider).not('[src]').get(0));
+ targetImage.attr('src', targetImage.attr('data-lazy')).removeClass('slick-loading').load(function() {
+ _.progressiveLazyLoad();
+ });
+ }
+
+ };
+
+ Slick.prototype.refresh = function() {
+
+ var _ = this;
+
+ _.destroy();
+
+ $.extend(_, _.initials);
+
+ _.init();
+
+ };
+
+ Slick.prototype.reinit = function() {
+
+ var _ = this;
+
+ _.$slides = $(_.options.slide +
+ ':not(.slick-cloned)', _.$slideTrack).addClass(
+ 'slick-slide');
+
+ _.slideCount = _.$slides.length;
+
+ if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
+ _.currentSlide = _.currentSlide - _.options.slidesToScroll;
+ }
+
+ _.setProps();
+
+ _.setupInfinite();
+
+ _.buildArrows();
+
+ _.updateArrows();
+
+ _.initArrowEvents();
+
+ _.buildDots();
+
+ _.updateDots();
+
+ _.initDotEvents();
+
+ _.setSlideClasses(0);
+
+ _.setPosition();
+
+ if (_.options.onReInit !== null) {
+ _.options.onReInit.call(this, _);
+ }
+
+ };
+
+ Slick.prototype.removeSlide = function(index, removeBefore) {
+
+ var _ = this;
+
+ if (typeof(index) === 'boolean') {
+ removeBefore = index;
+ index = removeBefore === true ? 0 : _.slideCount - 1;
+ } else {
+ index = removeBefore === true ? --index : index;
+ }
+
+ if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
+ return false;
+ }
+
+ _.unload();
+
+ _.$slideTrack.children(this.options.slide).eq(index).remove();
+
+ _.$slides = _.$slideTrack.children(this.options.slide);
+
+ _.$slideTrack.children(this.options.slide).remove();
+
+ _.$slideTrack.append(_.$slides);
+
+ _.$slidesCache = _.$slides;
+
+ _.reinit();
+
+ };
+
+ Slick.prototype.setCSS = function(position) {
+
+ var _ = this,
+ positionProps = {}, x, y;
+
+ x = _.positionProp == 'left' ? position + 'px' : '0px';
+ y = _.positionProp == 'top' ? position + 'px' : '0px';
+
+ positionProps[_.positionProp] = position;
+
+ if (_.transformsEnabled === false) {
+ _.$slideTrack.css(positionProps);
+ } else {
+ positionProps = {};
+ if (_.cssTransitions === false) {
+ positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
+ _.$slideTrack.css(positionProps);
+ } else {
+ positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
+ _.$slideTrack.css(positionProps);
+ }
+ }
+
+ };
+
+ Slick.prototype.setDimensions = function() {
+
+ var _ = this;
+
+ if (_.options.centerMode === true) {
+ _.$list.find('.slick-slide').width(_.slideWidth);
+ } else {
+ _.$list.find('.slick-slide').width(_.slideWidth);
+ }
+
+
+ if (_.options.vertical === false) {
+ _.$slideTrack.width(Math.ceil((_.slideWidth * _
+ .$slider.find('.slick-slide').length)));
+ if (_.options.centerMode === true) {
+ _.$list.css({
+ padding: ('0px ' + _.options.centerPadding)
+ });
+ }
+ } else {
+ _.$list.height(_.$slides.first().outerHeight());
+ _.$slideTrack.height(Math.ceil((_.listHeight * _
+ .$slider.find('.slick-slide').length)));
+ if (_.options.centerMode === true) {
+ _.$list.css({
+ padding: (_.options.centerPadding + ' 0px')
+ });
+ }
+ }
+
+ };
+
+ Slick.prototype.setFade = function() {
+
+ var _ = this,
+ targetLeft;
+
+ _.$slides.each(function(index, element) {
+ targetLeft = (_.slideWidth * index) * -1;
+ $(element).css({
+ position: 'relative',
+ left: targetLeft,
+ top: 0,
+ zIndex: 800,
+ opacity: 0
+ });
+ });
+
+ _.$slides.eq(_.currentSlide).css({
+ zIndex: 900,
+ opacity: 1
+ });
+
+ };
+
+ Slick.prototype.setPosition = function() {
+
+ var _ = this;
+
+ _.setValues();
+ _.setDimensions();
+
+ if (_.options.fade === false) {
+ _.setCSS(_.getLeft(_.currentSlide));
+ } else {
+ _.setFade();
+ }
+
+ };
+
+ Slick.prototype.setProps = function() {
+
+ var _ = this;
+
+ _.positionProp = _.options.vertical === true ? 'top' : 'left';
+
+ if (_.positionProp === 'top') {
+ _.$slider.addClass('slick-vertical');
+ } else {
+ _.$slider.removeClass('slick-vertical');
+ }
+
+ if (document.body.style.WebkitTransition !== undefined ||
+ document.body.style.MozTransition !== undefined ||
+ document.body.style.msTransition !== undefined) {
+ _.cssTransitions = true;
+ }
+
+ if (document.body.style.MozTransform !== undefined) {
+ _.animType = 'MozTransform';
+ _.transformType = "-moz-transform";
+ _.transitionType = 'MozTransition';
+ }
+ if (document.body.style.webkitTransform !== undefined) {
+ _.animType = 'webkitTransform';
+ _.transformType = "-webkit-transform";
+ _.transitionType = 'webkitTransition';
+ }
+ if (document.body.style.msTransform !== undefined) {
+ _.animType = 'transform';
+ _.transformType = "transform";
+ _.transitionType = 'transition';
+ }
+
+ _.transformsEnabled = (_.animType !== null);
+
+ };
+
+ Slick.prototype.setValues = function() {
+
+ var _ = this;
+
+ _.listWidth = _.$list.width();
+ _.listHeight = _.$list.height();
+ _.slideWidth = Math.ceil(_.listWidth / _.options
+ .slidesToShow);
+
+ };
+
+ Slick.prototype.setSlideClasses = function(index) {
+
+ var _ = this,
+ centerOffset, allSlides, indexOffset;
+
+ _.$slider.find('.slick-slide').removeClass('slick-active').removeClass('slick-center');
+ allSlides = _.$slider.find('.slick-slide');
+
+ if (_.options.centerMode === true) {
+
+ centerOffset = Math.floor(_.options.slidesToShow / 2);
+
+ if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
+ _.$slides.slice(index - centerOffset, index + centerOffset + 1).addClass('slick-active');
+ } else {
+ indexOffset = _.options.slidesToShow + index;
+ allSlides.slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2).addClass('slick-active');
+ }
+
+ if (index === 0) {
+ allSlides.eq(allSlides.length - 1 - _.options.slidesToShow).addClass('slick-center');
+ } else if (index === _.slideCount - 1) {
+ allSlides.eq(_.options.slidesToShow).addClass('slick-center');
+ }
+
+ _.$slides.eq(index).addClass('slick-center');
+
+ } else {
+
+ if (index > 0 && index < (_.slideCount - _.options.slidesToShow)) {
+ _.$slides.slice(index, index + _.options.slidesToShow).addClass('slick-active');
+ } else {
+ indexOffset = _.options.slidesToShow + index;
+ allSlides.slice(indexOffset, indexOffset + _.options.slidesToShow).addClass('slick-active');
+ }
+
+ }
+
+ if (_.options.lazyLoad === 'ondemand') {
+ _.lazyLoad();
+ }
+
+ };
+
+ Slick.prototype.setupInfinite = function() {
+
+ var _ = this,
+ i, slideIndex, infiniteCount;
+
+ if (_.options.fade === true || _.options.vertical === true) {
+ _.options.slidesToShow = 1;
+ _.options.slidesToScroll = 1;
+ _.options.centerMode = false;
+ }
+
+ if (_.options.infinite === true && _.options.fade === false) {
+
+ slideIndex = null;
+
+ if (_.slideCount > _.options.slidesToShow) {
+
+ if (_.options.centerMode === true) {
+ infiniteCount = _.options.slidesToShow + 1;
+ } else {
+ infiniteCount = _.options.slidesToShow;
+ }
+
+ for (i = _.slideCount; i > (_.slideCount -
+ infiniteCount); i -= 1) {
+ slideIndex = i - 1;
+ $(_.$slides[slideIndex]).clone().attr('id', '').prependTo(
+ _.$slideTrack).addClass('slick-cloned');
+ }
+ for (i = 0; i < infiniteCount; i += 1) {
+ slideIndex = i;
+ $(_.$slides[slideIndex]).clone().attr('id', '').appendTo(
+ _.$slideTrack).addClass('slick-cloned');
+ }
+ _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
+ $(this).attr('id', '');
+ });
+
+ }
+
+ }
+
+ };
+
+ Slick.prototype.slideHandler = function(index) {
+
+ var targetSlide, animSlide, slideLeft, unevenOffset, targetLeft = null,
+ _ = this;
+
+ if (_.animating === true) {
+ return false;
+ }
+
+ targetSlide = index;
+ targetLeft = _.getLeft(targetSlide);
+ slideLeft = _.getLeft(_.currentSlide);
+
+ unevenOffset = _.slideCount % _.options.slidesToScroll !== 0 ? _.options.slidesToScroll : 0;
+
+ if (_.options.infinite === false && (index < 0 || index > (_.slideCount - _.options.slidesToShow + unevenOffset))) {
+ targetSlide = _.currentSlide;
+ _.animateSlide(slideLeft, function() {
+ _.postSlide(targetSlide);
+ });
+ return false;
+ }
+
+ if (_.options.autoplay === true) {
+ clearInterval(_.autoPlayTimer);
+ }
+
+ _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
+
+ if (targetSlide < 0) {
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
+ animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
+ } else {
+ animSlide = _.slideCount - _.options.slidesToScroll;
+ }
+ } else if (targetSlide > (_.slideCount - 1)) {
+ animSlide = 0;
+ } else {
+ animSlide = targetSlide;
+ }
+
+ _.animating = true;
+
+ if (_.options.onBeforeChange !== null && index !== _.currentSlide) {
+ _.options.onBeforeChange.call(this, _, _.currentSlide);
+ }
+
+ _.currentSlide = animSlide;
+ _.updateDots();
+ _.updateArrows();
+
+ if (_.options.fade === true) {
+ _.fadeSlide(animSlide, function() {
+ _.postSlide(animSlide);
+ });
+ return false;
+ }
+
+ _.animateSlide(targetLeft, function() {
+ _.postSlide(animSlide);
+ });
+
+ };
+
+ Slick.prototype.startLoad = function() {
+
+ var _ = this;
+
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
+
+ _.$prevArrow.hide();
+ _.$nextArrow.hide();
+
+ }
+
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
+
+ _.$dots.hide();
+
+ }
+
+ _.$slider.addClass('slick-loading');
+
+ };
+
+ Slick.prototype.swipeDirection = function() {
+
+ var xDist, yDist, r, swipeAngle, _ = this;
+
+ xDist = _.touchObject.startX - _.touchObject.curX;
+ yDist = _.touchObject.startY - _.touchObject.curY;
+ r = Math.atan2(yDist, xDist);
+
+ swipeAngle = Math.round(r * 180 / Math.PI);
+ if (swipeAngle < 0) {
+ swipeAngle = 360 - Math.abs(swipeAngle);
+ }
+
+ if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
+ return 'left';
+ }
+ if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
+ return 'left';
+ }
+ if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
+ return 'right';
+ }
+
+ return 'vertical';
+
+ };
+
+ Slick.prototype.swipeEnd = function(event) {
+
+ var _ = this;
+
+ _.$list.removeClass('dragging');
+
+ if (_.touchObject.curX === undefined) {
+ return false;
+ }
+
+ if (_.touchObject.swipeLength >= _.touchObject.minSwipe) {
+ $(event.target).on('click.slick', function(event) {
+ event.stopImmediatePropagation();
+ event.stopPropagation();
+ event.preventDefault();
+ $(event.target).off('click.slick');
+ });
+
+ switch (_.swipeDirection()) {
+ case 'left':
+ _.slideHandler(_.currentSlide + _.options.slidesToScroll);
+ _.touchObject = {};
+ break;
+
+ case 'right':
+ _.slideHandler(_.currentSlide - _.options.slidesToScroll);
+ _.touchObject = {};
+ break;
+ }
+ } else {
+ if(_.touchObject.startX !== _.touchObject.curX) {
+ _.slideHandler(_.currentSlide);
+ _.touchObject = {};
+ }
+ }
+
+ };
+
+ Slick.prototype.swipeHandler = function(event) {
+
+ var _ = this;
+
+ if ('ontouchend' in document && _.options.swipe === false) {
+ return false;
+ } else if (_.options.draggable === false && !event.originalEvent.touches) {
+ return false;
+ }
+
+ _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
+ event.originalEvent.touches.length : 1;
+
+ _.touchObject.minSwipe = _.listWidth / _.options
+ .touchThreshold;
+
+ switch (event.data.action) {
+
+ case 'start':
+ _.swipeStart(event);
+ break;
+
+ case 'move':
+ _.swipeMove(event);
+ break;
+
+ case 'end':
+ _.swipeEnd(event);
+ break;
+
+ }
+
+ };
+
+ Slick.prototype.swipeMove = function(event) {
+
+ var _ = this,
+ curLeft, swipeDirection, positionOffset, touches;
+
+ touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
+
+ curLeft = _.getLeft(_.currentSlide);
+
+ if (!_.$list.hasClass('dragging') || touches && touches.length !== 1) {
+ return false;
+ }
+
+ _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
+ _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
+
+ _.touchObject.swipeLength = Math.round(Math.sqrt(
+ Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
+
+ swipeDirection = _.swipeDirection();
+
+ if (swipeDirection === 'vertical') {
+ return false;
+ }
+
+ if (event.originalEvent !== undefined) {
+ event.preventDefault();
+ }
+
+ positionOffset = _.touchObject.curX > _.touchObject.startX ? 1 : -1;
+
+ if (_.options.vertical === false) {
+ _.swipeLeft = curLeft + _.touchObject.swipeLength * positionOffset;
+ } else {
+ _.swipeLeft = curLeft + (_.touchObject
+ .swipeLength * (_.listHeight / _.listWidth)) * positionOffset;
+ }
+
+ if (_.options.fade === true || _.options.touchMove === false) {
+ return false;
+ }
+
+ if (_.animating === true) {
+ _.swipeLeft = null;
+ return false;
+ }
+
+ _.setCSS(_.swipeLeft);
+
+ };
+
+ Slick.prototype.swipeStart = function(event) {
+
+ var _ = this,
+ touches;
+
+ if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
+ _.touchObject = {};
+ return false;
+ }
+
+ if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
+ touches = event.originalEvent.touches[0];
+ }
+
+ _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
+ _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
+
+ _.$list.addClass('dragging');
+
+ };
+
+ Slick.prototype.unfilterSlides = function() {
+
+ var _ = this;
+
+ if (_.$slidesCache !== null) {
+
+ _.unload();
+
+ _.$slideTrack.children(this.options.slide).remove();
+
+ _.$slidesCache.appendTo(_.$slideTrack);
+
+ _.reinit();
+
+ }
+
+ };
+
+ Slick.prototype.unload = function() {
+
+ var _ = this;
+
+ $('.slick-cloned', _.$slider).remove();
+ if (_.$dots) {
+ _.$dots.remove();
+ }
+ if (_.$prevArrow) {
+ _.$prevArrow.remove();
+ _.$nextArrow.remove();
+ }
+ _.$slides.removeClass(
+ 'slick-slide slick-active slick-visible').removeAttr('style');
+
+ };
+
+ Slick.prototype.updateArrows = function() {
+
+ var _ = this;
+
+ if (_.options.arrows === true && _.options.infinite !==
+ true && _.slideCount > _.options.slidesToShow) {
+ _.$prevArrow.removeClass('slick-disabled');
+ _.$nextArrow.removeClass('slick-disabled');
+ if (_.currentSlide === 0) {
+ _.$prevArrow.addClass('slick-disabled');
+ _.$nextArrow.removeClass('slick-disabled');
+ } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
+ _.$nextArrow.addClass('slick-disabled');
+ _.$prevArrow.removeClass('slick-disabled');
+ }
+ }
+
+ };
+
+ Slick.prototype.updateDots = function() {
+
+ var _ = this;
+
+ if (_.$dots !== null) {
+
+ _.$dots.find('li').removeClass('slick-active');
+ _.$dots.find('li').eq(_.currentSlide / _.options.slidesToScroll).addClass(
+ 'slick-active');
+
+ }
+
+ };
+
+ $.fn.slick = function(options) {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick = new Slick(element, options);
+
+ });
+ };
+
+ $.fn.slickAdd = function(slide, slideIndex, addBefore) {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.addSlide(slide, slideIndex, addBefore);
+
+ });
+ };
+
+ $.fn.slickFilter = function(filter) {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.filterSlides(filter);
+
+ });
+ };
+
+ $.fn.slickGoTo = function(slide) {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.slideHandler(slide);
+
+ });
+ };
+
+ $.fn.slickNext = function() {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.changeSlide({
+ data: {
+ message: 'next'
+ }
+ });
+
+ });
+ };
+
+ $.fn.slickPause = function() {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.autoPlayClear();
+ element.slick.paused = true;
+
+ });
+ };
+
+ $.fn.slickPlay = function() {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.paused = false;
+ element.slick.autoPlay();
+
+ });
+ };
+
+ $.fn.slickPrev = function() {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.changeSlide({
+ data: {
+ message: 'previous'
+ }
+ });
+
+ });
+ };
+
+ $.fn.slickRemove = function(slideIndex, removeBefore) {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.removeSlide(slideIndex, removeBefore);
+
+ });
+ };
+
+ $.fn.slickSetOption = function(option, value, refresh) {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.options[option] = value;
+
+ if (refresh === true) {
+ element.slick.unload();
+ element.slick.reinit();
+ }
+
+ });
+ };
+
+ $.fn.slickUnfilter = function() {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.unfilterSlides();
+
+ });
+ };
+
+ $.fn.unslick = function() {
+ var _ = this;
+ return _.each(function(index, element) {
+
+ element.slick.destroy();
+
+ });
+ };
+
+})); \ No newline at end of file
diff --git a/static/website/slick/slick.min.js b/static/website/slick/slick.min.js
new file mode 100644
index 0000000..f9b13f4
--- /dev/null
+++ b/static/website/slick/slick.min.js
@@ -0,0 +1 @@
+!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";var b=window.Slick||{};b=function(){function c(c,d){var f,g,e=this;if(e.defaults={accessibility:!0,arrows:!0,autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(a,b){return'<button type="button">'+(b+1)+"</button>"},dots:!1,draggable:!0,easing:"linear",fade:!1,infinite:!0,lazyLoad:"ondemand",onBeforeChange:null,onAfterChange:null,onInit:null,onReInit:null,pauseOnHover:!0,responsive:null,slide:"div",slidesToShow:1,slidesToScroll:1,speed:300,swipe:!0,touchMove:!0,touchThreshold:5,vertical:!1},e.initials={animating:!1,autoPlayTimer:null,currentSlide:0,currentLeft:null,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},a.extend(e,e.initials),e.activeBreakpoint=null,e.animType=null,e.animProp=null,e.breakpoints=[],e.breakpointSettings=[],e.cssTransitions=!1,e.paused=!1,e.positionProp=null,e.$slider=a(c),e.$slidesCache=null,e.transformType=null,e.transitionType=null,e.windowWidth=0,e.windowTimer=null,e.options=a.extend({},e.defaults,d),e.originalSettings=e.options,f=e.options.responsive||null,f&&f.length>-1){for(g in f)f.hasOwnProperty(g)&&(e.breakpoints.push(f[g].breakpoint),e.breakpointSettings[f[g].breakpoint]=f[g].settings);e.breakpoints.sort(function(a,b){return b-a})}e.autoPlay=a.proxy(e.autoPlay,e),e.autoPlayClear=a.proxy(e.autoPlayClear,e),e.changeSlide=a.proxy(e.changeSlide,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.autoPlayIterator=a.proxy(e.autoPlayIterator,e),e.instanceUid=b++,e.init()}var b=0;return c}(),b.prototype.addSlide=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).remove(),e.$slideTrack.append(e.$slides),e.$slidesCache=e.$slides,e.reinit()},b.prototype.animateSlide=function(b,c){var d={},e=this;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?a({animStart:e.currentLeft}).animate({animStart:b},{duration:e.options.speed,easing:e.options.easing,step:function(a){e.options.vertical===!1?(d[e.animType]="translate("+a+"px, 0px)",e.$slideTrack.css(d)):(d[e.animType]="translate(0px,"+a+"px,0px)",e.$slideTrack.css(d))},complete:function(){c&&c.call()}}):(e.applyTransition(),d[e.animType]=e.options.vertical===!1?"translate3d("+b+"px, 0px, 0px)":"translate3d(0px,"+b+"px, 0px)",e.$slideTrack.css(d),c&&setTimeout(function(){e.disableTransition(),c.call()},e.options.speed))},b.prototype.applyTransition=function(a){var b=this,c={};c[b.transitionType]=b.options.fade===!1?b.transformType+" "+b.options.speed+"ms "+b.options.cssEase:"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.autoPlayTimer&&clearInterval(a.autoPlayTimer),a.slideCount>a.options.slidesToShow&&a.paused!==!0&&(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;a.options.infinite===!1?1===a.direction?(a.currentSlide+1===a.slideCount-1&&(a.direction=0),a.slideHandler(a.currentSlide+a.options.slidesToScroll)):(0===a.currentSlide-1&&(a.direction=1),a.slideHandler(a.currentSlide-a.options.slidesToScroll)):a.slideHandler(a.currentSlide+a.options.slidesToScroll)},b.prototype.buildArrows=function(){var b=this;b.options.arrows===!0&&b.slideCount>b.options.slidesToShow&&(b.$prevArrow=a('<button type="button" class="slick-prev">Previous</button>').appendTo(b.$slider),b.$nextArrow=a('<button type="button" class="slick-next">Next</button>').appendTo(b.$slider),b.options.infinite!==!0&&b.$prevArrow.addClass("slick-disabled"))},b.prototype.buildDots=function(){var c,d,b=this;if(b.options.dots===!0&&b.slideCount>b.options.slidesToShow){for(d='<ul class="slick-dots">',c=0;c<=b.getDotCount();c+=1)d+="<li>"+b.options.customPaging.call(this,b,c)+"</li>";d+="</ul>",b.$dots=a(d).appendTo(b.$slider),b.$dots.find("li").first().addClass("slick-active")}},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.$slidesCache=b.$slides,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 class="slick-list"/>').parent(),b.$slideTrack.css("opacity",0),b.options.centerMode===!0&&(b.options.infinite=!0,b.options.slidesToScroll=1,0===b.options.slidesToShow%2&&(b.options.slidesToShow=3)),a("img[data-lazy]",b.$slider).not("[src]").addClass("slick-loading"),b.setupInfinite(),b.buildArrows(),b.buildDots(),b.options.accessibility===!0&&b.$list.prop("tabIndex",0),b.setSlideClasses(0),b.options.draggable===!0&&b.$list.addClass("draggable")},b.prototype.checkResponsive=function(){var c,d,b=this;if(b.originalSettings.responsive&&b.originalSettings.responsive.length>-1&&null!==b.originalSettings.responsive){d=null;for(c in b.breakpoints)b.breakpoints.hasOwnProperty(c)&&a(window).width()<b.breakpoints[c]&&(d=b.breakpoints[c]);null!==d?null!==b.activeBreakpoint?d!==b.activeBreakpoint&&(b.activeBreakpoint=d,b.options=a.extend({},b.defaults,b.breakpointSettings[d]),b.refresh()):(b.activeBreakpoint=d,b.options=a.extend({},b.defaults,b.breakpointSettings[d]),b.refresh()):null!==b.activeBreakpoint&&(b.activeBreakpoint=null,b.options=a.extend({},b.defaults,b.originalSettings),b.refresh())}},b.prototype.changeSlide=function(b){var c=this;switch(b.data.message){case"previous":c.slideHandler(c.currentSlide-c.options.slidesToScroll);break;case"next":c.slideHandler(c.currentSlide+c.options.slidesToScroll);break;case"index":c.slideHandler(a(b.target).parent().index()*c.options.slidesToScroll);break;default:return!1}},b.prototype.destroy=function(){var b=this;b.autoPlayClear(),b.touchObject={},a(".slick-cloned",b.$slider).remove(),b.$dots&&b.$dots.remove(),b.$prevArrow&&(b.$prevArrow.remove(),b.$nextArrow.remove()),b.$slides.unwrap().unwrap(),b.$slides.removeClass("slick-slide slick-active slick-visible").removeAttr("style"),b.$slider.removeClass("slick-slider"),b.$slider.removeClass("slick-initialized"),b.$list.off(".slick"),a(window).off(".slick-"+b.instanceUid)},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:1e3}),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:1e3}),b&&setTimeout(function(){c.disableTransition(a),b.call()},c.options.speed))},b.prototype.filterSlides=function(a){var b=this;null!==a&&(b.unload(),b.$slideTrack.children(this.options.slide).remove(),b.$slidesCache.filter(a).appendTo(b.$slideTrack),b.reinit())},b.prototype.getDotCount=function(){var e,a=this,b=0,c=0,d=0;for(e=a.options.infinite===!0?a.slideCount+a.options.slidesToShow-a.options.slidesToScroll:a.slideCount;e>b;)d++,c+=a.options.slidesToScroll,b=c+a.options.slidesToShow;return d},b.prototype.getLeft=function(a){var c,b=this;return b.slideOffset=0,b.options.infinite===!0?(b.slideCount>b.options.slidesToShow&&(b.slideOffset=-1*b.slideWidth*b.options.slidesToShow),0!==b.slideCount%b.options.slidesToScroll&&a+b.options.slidesToScroll>b.slideCount&&b.slideCount>b.options.slidesToShow&&(b.slideOffset=-1*b.slideCount%b.options.slidesToShow*b.slideWidth)):0!==b.slideCount%b.options.slidesToShow&&a+b.options.slidesToScroll>b.slideCount&&b.slideCount>b.options.slidesToShow&&(b.slideOffset=b.slideCount%b.options.slidesToShow*b.slideWidth),b.options.centerMode===!0&&(b.slideOffset+=b.slideWidth*Math.floor(b.options.slidesToShow/2)-b.slideWidth),b.options.vertical===!1?c=-1*a*b.slideWidth+b.slideOffset:(b.listHeight=b.$list.height(),c=b.options.infinite===!0?-1*a*b.listHeight-b.listHeight:-1*a*b.listHeight),c},b.prototype.init=function(){var b=this;a(b.$slider).hasClass("slick-initialized")||(a(b.$slider).addClass("slick-initialized"),b.buildOut(),b.setProps(),b.startLoad(),b.loadSlider(),b.initializeEvents(),b.checkResponsive()),null!==b.options.onInit&&b.options.onInit.call(this,b)},b.prototype.initArrowEvents=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.on("click.slick",{message:"previous"},a.changeSlide),a.$nextArrow.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.prototype.initializeEvents=function(){var b=this;b.initArrowEvents(),b.initDotEvents(),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.options.pauseOnHover===!0&&b.options.autoplay===!0&&(b.$list.on("mouseenter.slick",b.autoPlayClear),b.$list.on("mouseleave.slick",b.autoPlay)),b.$list.on("keydown.slick",b.keyHandler),a(window).on("orientationchange.slick.slick-"+b.instanceUid,function(){b.checkResponsive(),b.setPosition()}),a(window).on("resize.slick.slick-"+b.instanceUid,function(){a(window).width!==b.windowWidth&&(clearTimeout(b.windowDelay),b.windowDelay=window.setTimeout(function(){b.windowWidth=a(window).width(),b.checkResponsive(),b.setPosition()},50))}),a(window).on("load.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(),a.options.autoplay===!0&&a.autoPlay()},b.prototype.keyHandler=function(a){var b=this;37===a.keyCode?b.changeSlide({data:{message:"previous"}}):39===a.keyCode&&b.changeSlide({data:{message:"next"}})},b.prototype.lazyLoad=function(){var c,d,e,f,b=this;b.options.centerMode===!0?(e=b.options.slidesToShow+b.currentSlide-1,f=e+b.options.slidesToShow+2):(e=b.options.infinite?b.options.slidesToShow+b.currentSlide:b.currentSlide,f=e+b.options.slidesToShow),c=b.$slider.find(".slick-slide").slice(e,f),a("img[data-lazy]",c).not("[src]").each(function(){a(this).attr("src",a(this).attr("data-lazy")).removeClass("slick-loading")}),b.currentSlide>=b.slideCount-b.options.slidesToShow?(d=b.$slider.find(".slick-cloned").slice(0,b.options.slidesToShow),a("img[data-lazy]",d).not("[src]").each(function(){a(this).attr("src",a(this).attr("data-lazy")).removeClass("slick-loading")})):0===b.currentSlide&&(d=b.$slider.find(".slick-cloned").slice(-1*b.options.slidesToShow),a("img[data-lazy]",d).not("[src]").each(function(){a(this).attr("src",a(this).attr("data-lazy")).removeClass("slick-loading")}))},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.postSlide=function(a){var b=this;null!==b.options.onAfterChange&&a!==b.currentSlide&&b.options.onAfterChange.call(this,b,a),b.animating=!1,b.setPosition(),b.swipeLeft=null,b.options.autoplay===!0&&b.paused===!1&&b.autoPlay(),b.setSlideClasses(b.currentSlide)},b.prototype.progressiveLazyLoad=function(){var c,d,b=this;c=a("img[data-lazy]").not("[src]").length,c>0&&(d=a(a("img[data-lazy]",b.$slider).not("[src]").get(0)),d.attr("src",d.attr("data-lazy")).removeClass("slick-loading").load(function(){b.progressiveLazyLoad()}))},b.prototype.refresh=function(){var b=this;b.destroy(),a.extend(b,b.initials),b.init()},b.prototype.reinit=function(){var b=this;b.$slides=a(b.options.slide+":not(.slick-cloned)",b.$slideTrack).addClass("slick-slide"),b.slideCount=b.$slides.length,b.currentSlide>=b.slideCount&&0!==b.currentSlide&&(b.currentSlide=b.currentSlide-b.options.slidesToScroll),b.setProps(),b.setupInfinite(),b.buildArrows(),b.updateArrows(),b.initArrowEvents(),b.buildDots(),b.updateDots(),b.initDotEvents(),b.setSlideClasses(0),b.setPosition(),null!==b.options.onReInit&&b.options.onReInit.call(this,b)},b.prototype.removeSlide=function(a,b){var c=this;return"boolean"==typeof a?(b=a,a=b===!0?0:c.slideCount-1):a=b===!0?--a:a,c.slideCount<1||0>a||a>c.slideCount-1?!1:(c.unload(),c.$slideTrack.children(this.options.slide).eq(a).remove(),c.$slides=c.$slideTrack.children(this.options.slide),c.$slideTrack.children(this.options.slide).remove(),c.$slideTrack.append(c.$slides),c.$slidesCache=c.$slides,c.reinit(),void 0)},b.prototype.setCSS=function(a){var d,e,b=this,c={};d="left"==b.positionProp?a+"px":"0px",e="top"==b.positionProp?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.centerMode===!0?a.$list.find(".slick-slide").width(a.slideWidth):a.$list.find(".slick-slide").width(a.slideWidth),a.options.vertical===!1?(a.$slideTrack.width(Math.ceil(a.slideWidth*a.$slider.find(".slick-slide").length)),a.options.centerMode===!0&&a.$list.css({padding:"0px "+a.options.centerPadding})):(a.$list.height(a.$slides.first().outerHeight()),a.$slideTrack.height(Math.ceil(a.listHeight*a.$slider.find(".slick-slide").length)),a.options.centerMode===!0&&a.$list.css({padding:a.options.centerPadding+" 0px"}))},b.prototype.setFade=function(){var c,b=this;b.$slides.each(function(d,e){c=-1*b.slideWidth*d,a(e).css({position:"relative",left:c,top:0,zIndex:800,opacity:0})}),b.$slides.eq(b.currentSlide).css({zIndex:900,opacity:1})},b.prototype.setPosition=function(){var a=this;a.setValues(),a.setDimensions(),a.options.fade===!1?a.setCSS(a.getLeft(a.currentSlide)):a.setFade()},b.prototype.setProps=function(){var a=this;a.positionProp=a.options.vertical===!0?"top":"left","top"===a.positionProp?a.$slider.addClass("slick-vertical"):a.$slider.removeClass("slick-vertical"),(void 0!==document.body.style.WebkitTransition||void 0!==document.body.style.MozTransition||void 0!==document.body.style.msTransition)&&(a.cssTransitions=!0),void 0!==document.body.style.MozTransform&&(a.animType="MozTransform",a.transformType="-moz-transform",a.transitionType="MozTransition"),void 0!==document.body.style.webkitTransform&&(a.animType="webkitTransform",a.transformType="-webkit-transform",a.transitionType="webkitTransition"),void 0!==document.body.style.msTransform&&(a.animType="transform",a.transformType="transform",a.transitionType="transition"),a.transformsEnabled=null!==a.animType},b.prototype.setValues=function(){var a=this;a.listWidth=a.$list.width(),a.listHeight=a.$list.height(),a.slideWidth=Math.ceil(a.listWidth/a.options.slidesToShow)},b.prototype.setSlideClasses=function(a){var c,d,e,b=this;b.$slider.find(".slick-slide").removeClass("slick-active").removeClass("slick-center"),d=b.$slider.find(".slick-slide"),b.options.centerMode===!0?(c=Math.floor(b.options.slidesToShow/2),a>=c&&a<=b.slideCount-1-c?b.$slides.slice(a-c,a+c+1).addClass("slick-active"):(e=b.options.slidesToShow+a,d.slice(e-c+1,e+c+2).addClass("slick-active")),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"):(e=b.options.slidesToShow+a,d.slice(e,e+b.options.slidesToShow).addClass("slick-active")),"ondemand"===b.options.lazyLoad&&b.lazyLoad()},b.prototype.setupInfinite=function(){var c,d,e,b=this;if((b.options.fade===!0||b.options.vertical===!0)&&(b.options.slidesToShow=1,b.options.slidesToScroll=1,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().attr("id","").prependTo(b.$slideTrack).addClass("slick-cloned");for(c=0;e>c;c+=1)d=c,a(b.$slides[d]).clone().attr("id","").appendTo(b.$slideTrack).addClass("slick-cloned");b.$slideTrack.find(".slick-cloned").find("[id]").each(function(){a(this).attr("id","")})}},b.prototype.slideHandler=function(a){var b,c,d,e,f=null,g=this;return g.animating===!0?!1:(b=a,f=g.getLeft(b),d=g.getLeft(g.currentSlide),e=0!==g.slideCount%g.options.slidesToScroll?g.options.slidesToScroll:0,g.options.infinite===!1&&(0>a||a>g.slideCount-g.options.slidesToShow+e)?(b=g.currentSlide,g.animateSlide(d,function(){g.postSlide(b)}),!1):(g.options.autoplay===!0&&clearInterval(g.autoPlayTimer),g.currentLeft=null===g.swipeLeft?d:g.swipeLeft,c=0>b?0!==g.slideCount%g.options.slidesToScroll?g.slideCount-g.slideCount%g.options.slidesToScroll:g.slideCount-g.options.slidesToScroll:b>g.slideCount-1?0:b,g.animating=!0,null!==g.options.onBeforeChange&&a!==g.currentSlide&&g.options.onBeforeChange.call(this,g,g.currentSlide),g.currentSlide=c,g.updateDots(),g.updateArrows(),g.options.fade===!0?(g.fadeSlide(c,function(){g.postSlide(c)}),!1):(g.animateSlide(f,function(){g.postSlide(c)}),void 0)))},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?"left":360>=d&&d>=315?"left":d>=135&&225>=d?"right":"vertical"},b.prototype.swipeEnd=function(b){var c=this;if(c.$list.removeClass("dragging"),void 0===c.touchObject.curX)return!1;if(c.touchObject.swipeLength>=c.touchObject.minSwipe)switch(a(b.target).on("click.slick",function(b){b.stopImmediatePropagation(),b.stopPropagation(),b.preventDefault(),a(b.target).off("click.slick")}),c.swipeDirection()){case"left":c.slideHandler(c.currentSlide+c.options.slidesToScroll),c.touchObject={};break;case"right":c.slideHandler(c.currentSlide-c.options.slidesToScroll),c.touchObject={}}else c.touchObject.startX!==c.touchObject.curX&&(c.slideHandler(c.currentSlide),c.touchObject={})},b.prototype.swipeHandler=function(a){var b=this;if("ontouchend"in document&&b.options.swipe===!1)return!1;if(b.options.draggable===!1&&!a.originalEvent.touches)return!1;switch(b.touchObject.fingerCount=a.originalEvent&&void 0!==a.originalEvent.touches?a.originalEvent.touches.length:1,b.touchObject.minSwipe=b.listWidth/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 c,d,e,f,b=this;return f=void 0!==a.originalEvent?a.originalEvent.touches:null,c=b.getLeft(b.currentSlide),!b.$list.hasClass("dragging")||f&&1!==f.length?!1:(b.touchObject.curX=void 0!==f?f[0].pageX:a.clientX,b.touchObject.curY=void 0!==f?f[0].pageY:a.clientY,b.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(b.touchObject.curX-b.touchObject.startX,2))),d=b.swipeDirection(),"vertical"===d?!1:(void 0!==a.originalEvent&&a.preventDefault(),e=b.touchObject.curX>b.touchObject.startX?1:-1,b.swipeLeft=b.options.vertical===!1?c+b.touchObject.swipeLength*e:c+b.touchObject.swipeLength*(b.listHeight/b.listWidth)*e,b.options.fade===!0||b.options.touchMove===!1?!1:b.animating===!0?(b.swipeLeft=null,!1):(b.setCSS(b.swipeLeft),void 0)))},b.prototype.swipeStart=function(a){var c,b=this;return 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,b.$list.addClass("dragging"),void 0)},b.prototype.unfilterSlides=function(){var a=this;null!==a.$slidesCache&&(a.unload(),a.$slideTrack.children(this.options.slide).remove(),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.$prevArrow.remove(),b.$nextArrow.remove()),b.$slides.removeClass("slick-slide slick-active slick-visible").removeAttr("style")},b.prototype.updateArrows=function(){var a=this;a.options.arrows===!0&&a.options.infinite!==!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.removeClass("slick-disabled"),a.$nextArrow.removeClass("slick-disabled"),0===a.currentSlide?(a.$prevArrow.addClass("slick-disabled"),a.$nextArrow.removeClass("slick-disabled")):a.currentSlide>=a.slideCount-a.options.slidesToShow&&(a.$nextArrow.addClass("slick-disabled"),a.$prevArrow.removeClass("slick-disabled")))},b.prototype.updateDots=function(){var a=this;null!==a.$dots&&(a.$dots.find("li").removeClass("slick-active"),a.$dots.find("li").eq(a.currentSlide/a.options.slidesToScroll).addClass("slick-active"))},a.fn.slick=function(a){var c=this;return c.each(function(c,d){d.slick=new b(d,a)})},a.fn.slickAdd=function(a,b,c){var d=this;return d.each(function(d,e){e.slick.addSlide(a,b,c)})},a.fn.slickFilter=function(a){var b=this;return b.each(function(b,c){c.slick.filterSlides(a)})},a.fn.slickGoTo=function(a){var b=this;return b.each(function(b,c){c.slick.slideHandler(a)})},a.fn.slickNext=function(){var a=this;return a.each(function(a,b){b.slick.changeSlide({data:{message:"next"}})})},a.fn.slickPause=function(){var a=this;return a.each(function(a,b){b.slick.autoPlayClear(),b.slick.paused=!0})},a.fn.slickPlay=function(){var a=this;return a.each(function(a,b){b.slick.paused=!1,b.slick.autoPlay()})},a.fn.slickPrev=function(){var a=this;return a.each(function(a,b){b.slick.changeSlide({data:{message:"previous"}})})},a.fn.slickRemove=function(a,b){var c=this;return c.each(function(c,d){d.slick.removeSlide(a,b)})},a.fn.slickSetOption=function(a,b,c){var d=this;return d.each(function(d,e){e.slick.options[a]=b,c===!0&&(e.slick.unload(),e.slick.reinit())})},a.fn.slickUnfilter=function(){var a=this;return a.each(function(a,b){b.slick.unfilterSlides()})},a.fn.unslick=function(){var a=this;return a.each(function(a,b){b.slick.destroy()})}}); \ No newline at end of file
diff --git a/static/website/slick/slick.scss b/static/website/slick/slick.scss
new file mode 100644
index 0000000..fe1eb2d
--- /dev/null
+++ b/static/website/slick/slick.scss
@@ -0,0 +1,223 @@
+/* Slider */
+
+.slick-slider {
+ position: relative;
+ display: block;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -ms-touch-action: none;
+ touch-action: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+}
+.slick-list {
+ position: relative;
+ overflow: hidden;
+ display: block;
+ margin: 0;
+ padding: 0;
+
+ &:focus {
+ outline: none;
+ }
+
+ .slick-loading & {
+ background: #fff url(./ajax-loader.gif) center center no-repeat;
+ }
+
+ &.dragging {
+ cursor: pointer;
+ cursor: hand;
+ }
+}
+.slick-slider .slick-list,
+.slick-track,
+.slick-slide,
+.slick-slide img {
+ -webkit-transform: translate3d(0, 0, 0);
+ -moz-transform: translate3d(0, 0, 0);
+ -ms-transform: translate3d(0, 0, 0);
+ -o-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+}
+.slick-track {
+ position: relative;
+ left: 0;
+ top: 0;
+ display: block;
+ zoom: 1;
+
+ &:before,
+ &:after {
+ content: "";
+ display: table;
+ }
+
+ &:after {
+ clear: both;
+ }
+
+ .slick-loading & {
+ visibility: hidden;
+ }
+}
+.slick-slide {
+ float: left;
+ height: 100%;
+ min-height: 1px;
+ img {
+ display: block;
+ &.slick-loading {
+ background: white url(./ajax-loader.gif) center center no-repeat;
+ padding-bottom: 100%;
+ }
+ }
+
+ display: none;
+
+ &.dragging img {
+ pointer-events: none;
+ }
+
+ .slick-initialized & {
+ display: block;
+ }
+
+ .slick-loading & {
+ visibility: hidden;
+ }
+
+ .slick-vertical & {
+ display: block;
+ height: auto;
+ border: 1px solid transparent;
+ }
+}
+
+/* Icons */
+
+ @charset"UTF-8";
+ @font-face {
+ font-family:"slick";
+ src:url("./fonts/slick.eot");
+ src:url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
+ font-weight: normal;
+ font-style: normal;
+}
+
+/* Arrows */
+
+.slick-prev,
+.slick-next {
+ position: absolute;
+ display: block;
+ height: 20px;
+ width: 20px;
+ line-height: 0;
+ font-size: 0;
+ cursor: pointer;
+ background: transparent;
+ color: transparent;
+ top: 50%;
+ margin-top: -10px;
+ padding: 0;
+ border: none;
+ outline: none;
+ &:focus {
+ outline: none;
+ }
+ &.slick-disabled:before {
+ opacity: 0.25;
+ }
+}
+.slick-prev:before, .slick-next:before {
+ font-family:"slick";
+ font-size: 20px;
+ line-height: 1;
+ color: white;
+ opacity: 0.85;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.slick-prev {
+ left: -25px;
+ &:before {
+ content:'\2190';
+ }
+}
+.slick-next {
+ right: -25px;
+ &:before {
+ content:'\2192';
+ }
+}
+
+/* Dots */
+
+.slick-slider {
+ margin-bottom: 30px;
+}
+.slick-dots {
+ position: absolute;
+ bottom: -45px;
+ list-style: none;
+ display: block;
+ text-align: center;
+ padding: 0px;
+ width: 100%;
+
+ li {
+ position: relative;
+ display: inline-block;
+ height: 20px;
+ width: 20px;
+ margin: 0px 5px;
+ padding: 0px;
+ cursor: pointer;
+
+ button {
+ border: 0;
+ background: transparent;
+ display: block;
+ height: 20px;
+ width: 20px;
+ outline: none;
+ line-height: 0;
+ font-size: 0;
+ color: transparent;
+ padding: 5px;
+ cursor: pointer;
+ outline: none;
+ &:focus {
+ outline: none;
+ }
+
+ &:before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ content:'\2022';
+ width: 20px;
+ height: 20px;
+ font-family:"slick";
+ font-size: 6px;
+ line-height: 20px;
+ text-align: center;
+ color: black;
+ opacity: 0.25;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ }
+
+ }
+
+ &.slick-active button:before {
+ opacity: 0.75;
+ }
+ }
+} \ No newline at end of file