!function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));
!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(t,r),delete n[r]),r.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var n=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return[];var e="object"==typeof t&&"number"==typeof t.length;return e?n.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){i=i||100;var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var o=t.console;return i.htmlInit=function(e,n){i.docReady(function(){var r=i.toDashed(n),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(o&&o.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,n,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=parseFloat(n),s=parseFloat(o),a=this.layout.size;-1!=n.indexOf("%")&&(r=r/100*a.width),-1!=o.indexOf("%")&&(s=s/100*a.height),r=isNaN(r)?0:r,s=isNaN(s)?0:s,r-=e?a.paddingLeft:a.paddingRight,s-=i?a.paddingTop:a.paddingBottom,this.position.x=r,this.position.y=s},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),o&&!this.isTransitioning)return void this.layoutPosition();var r=t-i,s=e-n,a={};a.transform=this.getTranslate(r,s),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var n=i.prototype;return n._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},n.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});
;(function(factory){
'use strict';
if(typeof define==='function'&&define.amd){
define(['jquery'], factory);
}else if(typeof exports!=='undefined'){
module.exports=factory(require('jquery'));
}else{
factory(jQuery);
}}(function($){
'use strict';
var Slick=window.Slick||{};
Slick=(function(){
var instanceUid=0;
function Slick(element, settings){
var _=this, dataSettings;
_.defaults={
accessibility: true,
adaptiveHeight: false,
appendArrows: $(element),
appendDots: $(element),
arrows: true,
asNavFor: null,
prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
autoplay: false,
autoplaySpeed: 3000,
centerMode: false,
centerPadding: '50px',
cssEase: 'ease',
customPaging: function(slider, i){
return $('<button type="button" />').text(i + 1);
},
dots: false,
dotsClass: 'slick-dots',
draggable: true,
easing: 'linear',
edgeFriction: 0.35,
fade: false,
focusOnSelect: false,
focusOnChange: false,
infinite: true,
initialSlide: 0,
lazyLoad: 'ondemand',
mobileFirst: false,
pauseOnHover: true,
pauseOnFocus: true,
pauseOnDotsHover: false,
respondTo: 'window',
responsive: null,
rows: 1,
rtl: false,
slide: '',
slidesPerRow: 1,
slidesToShow: 1,
slidesToScroll: 1,
speed: 500,
swipe: true,
swipeToSlide: false,
touchMove: true,
touchThreshold: 5,
useCSS: true,
useTransform: true,
variableWidth: false,
vertical: false,
verticalSwiping: false,
waitForAnimate: true,
zIndex: 1000
};
_.initials={
animating: false,
dragging: false,
autoPlayTimer: null,
currentDirection: 0,
currentLeft: null,
currentSlide: 0,
direction: 1,
$dots: null,
listWidth: null,
listHeight: null,
loadIndex: 0,
$nextArrow: null,
$prevArrow: null,
scrolling: false,
slideCount: null,
slideWidth: null,
$slideTrack: null,
$slides: null,
sliding: false,
slideOffset: 0,
swipeLeft: null,
swiping: false,
$list: null,
touchObject: {},
transformsEnabled: false,
unslicked: false
};
$.extend(_, _.initials);
_.activeBreakpoint=null;
_.animType=null;
_.animProp=null;
_.breakpoints=[];
_.breakpointSettings=[];
_.cssTransitions=false;
_.focussed=false;
_.interrupted=false;
_.hidden='hidden';
_.paused=true;
_.positionProp=null;
_.respondTo=null;
_.rowCount=1;
_.shouldClick=true;
_.$slider=$(element);
_.$slidesCache=null;
_.transformType=null;
_.transitionType=null;
_.visibilityChange='visibilitychange';
_.windowWidth=0;
_.windowTimer=null;
dataSettings=$(element).data('slick')||{};
_.options=$.extend({}, _.defaults, settings, dataSettings);
_.currentSlide=_.options.initialSlide;
_.originalSettings=_.options;
if(typeof document.mozHidden!=='undefined'){
_.hidden='mozHidden';
_.visibilityChange='mozvisibilitychange';
}else if(typeof document.webkitHidden!=='undefined'){
_.hidden='webkitHidden';
_.visibilityChange='webkitvisibilitychange';
}
_.autoPlay=$.proxy(_.autoPlay, _);
_.autoPlayClear=$.proxy(_.autoPlayClear, _);
_.autoPlayIterator=$.proxy(_.autoPlayIterator, _);
_.changeSlide=$.proxy(_.changeSlide, _);
_.clickHandler=$.proxy(_.clickHandler, _);
_.selectHandler=$.proxy(_.selectHandler, _);
_.setPosition=$.proxy(_.setPosition, _);
_.swipeHandler=$.proxy(_.swipeHandler, _);
_.dragHandler=$.proxy(_.dragHandler, _);
_.keyHandler=$.proxy(_.keyHandler, _);
_.instanceUid=instanceUid++;
_.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/;
_.registerBreakpoints();
_.init(true);
}
return Slick;
}());
Slick.prototype.activateADA=function(){
var _=this;
_.$slideTrack.find('.slick-active').attr({
'aria-hidden': 'false'
}).find('a, input, button, select').attr({
'tabindex': '0'
});
};
Slick.prototype.addSlide=Slick.prototype.slickAdd=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).detach();
_.$slideTrack.append(_.$slides);
_.$slides.each(function(index, element){
$(element).attr('data-slick-index', index);
});
_.$slidesCache=_.$slides;
_.reinit();
};
Slick.prototype.animateHeight=function(){
var _=this;
if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){
var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);
_.$list.animate({
height: targetHeight
}, _.options.speed);
}};
Slick.prototype.animateSlide=function(targetLeft, callback){
var animProps={},
_=this;
_.animateHeight();
if(_.options.rtl===true&&_.options.vertical===false){
targetLeft=-targetLeft;
}
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){
if(_.options.rtl===true){
_.currentLeft=-(_.currentLeft);
}
$({
animStart: _.currentLeft
}).animate({
animStart: targetLeft
}, {
duration: _.options.speed,
easing: _.options.easing,
step: function(now){
now=Math.ceil(now);
if(_.options.vertical===false){
animProps[_.animType]='translate(' +
now + 'px, 0px)';
_.$slideTrack.css(animProps);
}else{
animProps[_.animType]='translate(0px,' +
now + 'px)';
_.$slideTrack.css(animProps);
}},
complete: function(){
if(callback){
callback.call();
}}
});
}else{
_.applyTransition();
targetLeft=Math.ceil(targetLeft);
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.getNavTarget=function(){
var _=this,
asNavFor=_.options.asNavFor;
if(asNavFor&&asNavFor!==null){
asNavFor=$(asNavFor).not(_.$slider);
}
return asNavFor;
};
Slick.prototype.asNavFor=function(index){
var _=this,
asNavFor=_.getNavTarget();
if(asNavFor!==null&&typeof asNavFor==='object'){
asNavFor.each(function(){
var target=$(this).slick('getSlick');
if(!target.unslicked){
target.slideHandler(index, true);
}});
}};
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;
_.autoPlayClear();
if(_.slideCount > _.options.slidesToShow){
_.autoPlayTimer=setInterval(_.autoPlayIterator, _.options.autoplaySpeed);
}};
Slick.prototype.autoPlayClear=function(){
var _=this;
if(_.autoPlayTimer){
clearInterval(_.autoPlayTimer);
}};
Slick.prototype.autoPlayIterator=function(){
var _=this,
slideTo=_.currentSlide + _.options.slidesToScroll;
if(!_.paused&&!_.interrupted&&!_.focussed){
if(_.options.infinite===false){
if(_.direction===1&&(_.currentSlide + 1)===(_.slideCount - 1)){
_.direction=0;
}
else if(_.direction===0){
slideTo=_.currentSlide - _.options.slidesToScroll;
if(_.currentSlide - 1===0){
_.direction=1;
}}
}
_.slideHandler(slideTo);
}};
Slick.prototype.buildArrows=function(){
var _=this;
if(_.options.arrows===true){
_.$prevArrow=$(_.options.prevArrow).addClass('slick-arrow');
_.$nextArrow=$(_.options.nextArrow).addClass('slick-arrow');
if(_.slideCount > _.options.slidesToShow){
_.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
_.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
if(_.htmlExpr.test(_.options.prevArrow)){
_.$prevArrow.prependTo(_.options.appendArrows);
}
if(_.htmlExpr.test(_.options.nextArrow)){
_.$nextArrow.appendTo(_.options.appendArrows);
}
if(_.options.infinite!==true){
_.$prevArrow
.addClass('slick-disabled')
.attr('aria-disabled', 'true');
}}else{
_.$prevArrow.add(_.$nextArrow)
.addClass('slick-hidden')
.attr({
'aria-disabled': 'true',
'tabindex': '-1'
});
}}
};
Slick.prototype.buildDots=function(){
var _=this,
i, dot;
if(_.options.dots===true&&_.slideCount > _.options.slidesToShow){
_.$slider.addClass('slick-dotted');
dot=$('<ul />').addClass(_.options.dotsClass);
for (i=0; i <=_.getDotCount(); i +=1){
dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
}
_.$dots=dot.appendTo(_.options.appendDots);
_.$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;
_.$slides.each(function(index, element){
$(element)
.attr('data-slick-index', index)
.data('originalStyling', $(element).attr('style')||'');
});
_.$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.swipeToSlide===true){
_.options.slidesToScroll=1;
}
$('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
_.setupInfinite();
_.buildArrows();
_.buildDots();
_.updateDots();
_.setSlideClasses(typeof _.currentSlide==='number' ? _.currentSlide:0);
if(_.options.draggable===true){
_.$list.addClass('draggable');
}};
Slick.prototype.buildRows=function(){
var _=this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
newSlides=document.createDocumentFragment();
originalSlides=_.$slider.children();
if(_.options.rows > 0){
slidesPerSection=_.options.slidesPerRow * _.options.rows;
numOfSlides=Math.ceil(originalSlides.length / slidesPerSection
);
for(a=0; a < numOfSlides; a++){
var slide=document.createElement('div');
for(b=0; b < _.options.rows; b++){
var row=document.createElement('div');
for(c=0; c < _.options.slidesPerRow; c++){
var target=(a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
if(originalSlides.get(target)){
row.appendChild(originalSlides.get(target));
}}
slide.appendChild(row);
}
newSlides.appendChild(slide);
}
_.$slider.empty().append(newSlides);
_.$slider.children().children().children()
.css({
'width':(100 / _.options.slidesPerRow) + '%',
'display': 'inline-block'
});
}};
Slick.prototype.checkResponsive=function(initial, forceUpdate){
var _=this,
breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint=false;
var sliderWidth=_.$slider.width();
var windowWidth=window.innerWidth||$(window).width();
if(_.respondTo==='window'){
respondToWidth=windowWidth;
}else if(_.respondTo==='slider'){
respondToWidth=sliderWidth;
}else if(_.respondTo==='min'){
respondToWidth=Math.min(windowWidth, sliderWidth);
}
if(_.options.responsive &&
_.options.responsive.length &&
_.options.responsive!==null){
targetBreakpoint=null;
for (breakpoint in _.breakpoints){
if(_.breakpoints.hasOwnProperty(breakpoint)){
if(_.originalSettings.mobileFirst===false){
if(respondToWidth < _.breakpoints[breakpoint]){
targetBreakpoint=_.breakpoints[breakpoint];
}}else{
if(respondToWidth > _.breakpoints[breakpoint]){
targetBreakpoint=_.breakpoints[breakpoint];
}}
}}
if(targetBreakpoint!==null){
if(_.activeBreakpoint!==null){
if(targetBreakpoint!==_.activeBreakpoint||forceUpdate){
_.activeBreakpoint =
targetBreakpoint;
if(_.breakpointSettings[targetBreakpoint]==='unslick'){
_.unslick(targetBreakpoint);
}else{
_.options=$.extend({}, _.originalSettings,
_.breakpointSettings[
targetBreakpoint]);
if(initial===true){
_.currentSlide=_.options.initialSlide;
}
_.refresh(initial);
}
triggerBreakpoint=targetBreakpoint;
}}else{
_.activeBreakpoint=targetBreakpoint;
if(_.breakpointSettings[targetBreakpoint]==='unslick'){
_.unslick(targetBreakpoint);
}else{
_.options=$.extend({}, _.originalSettings,
_.breakpointSettings[
targetBreakpoint]);
if(initial===true){
_.currentSlide=_.options.initialSlide;
}
_.refresh(initial);
}
triggerBreakpoint=targetBreakpoint;
}}else{
if(_.activeBreakpoint!==null){
_.activeBreakpoint=null;
_.options=_.originalSettings;
if(initial===true){
_.currentSlide=_.options.initialSlide;
}
_.refresh(initial);
triggerBreakpoint=targetBreakpoint;
}}
if(!initial&&triggerBreakpoint!==false){
_.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
}}
};
Slick.prototype.changeSlide=function(event, dontAnimate){
var _=this,
$target=$(event.currentTarget),
indexOffset, slideOffset, unevenOffset;
if($target.is('a')){
event.preventDefault();
}
if(!$target.is('li')){
$target=$target.closest('li');
}
unevenOffset=(_.slideCount % _.options.slidesToScroll!==0);
indexOffset=unevenOffset ? 0:(_.slideCount - _.currentSlide) % _.options.slidesToScroll;
switch (event.data.message){
case 'previous':
slideOffset=indexOffset===0 ? _.options.slidesToScroll:_.options.slidesToShow - indexOffset;
if(_.slideCount > _.options.slidesToShow){
_.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
}
break;
case 'next':
slideOffset=indexOffset===0 ? _.options.slidesToScroll:indexOffset;
if(_.slideCount > _.options.slidesToShow){
_.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
}
break;
case 'index':
var index=event.data.index===0 ? 0 :
event.data.index||$target.index() * _.options.slidesToScroll;
_.slideHandler(_.checkNavigable(index), false, dontAnimate);
$target.children().trigger('focus');
break;
default:
return;
}};
Slick.prototype.checkNavigable=function(index){
var _=this,
navigables, prevNavigable;
navigables=_.getNavigableIndexes();
prevNavigable=0;
if(index > navigables[navigables.length - 1]){
index=navigables[navigables.length - 1];
}else{
for (var n in navigables){
if(index < navigables[n]){
index=prevNavigable;
break;
}
prevNavigable=navigables[n];
}}
return index;
};
Slick.prototype.cleanUpEvents=function(){
var _=this;
if(_.options.dots&&_.$dots!==null){
$('li', _.$dots)
.off('click.slick', _.changeSlide)
.off('mouseenter.slick', $.proxy(_.interrupt, _, true))
.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
if(_.options.accessibility===true){
_.$dots.off('keydown.slick', _.keyHandler);
}}
_.$slider.off('focus.slick blur.slick');
if(_.options.arrows===true&&_.slideCount > _.options.slidesToShow){
_.$prevArrow&&_.$prevArrow.off('click.slick', _.changeSlide);
_.$nextArrow&&_.$nextArrow.off('click.slick', _.changeSlide);
if(_.options.accessibility===true){
_.$prevArrow&&_.$prevArrow.off('keydown.slick', _.keyHandler);
_.$nextArrow&&_.$nextArrow.off('keydown.slick', _.keyHandler);
}}
_.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
_.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
_.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
_.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
_.$list.off('click.slick', _.clickHandler);
$(document).off(_.visibilityChange, _.visibility);
_.cleanUpSlideEvents();
if(_.options.accessibility===true){
_.$list.off('keydown.slick', _.keyHandler);
}
if(_.options.focusOnSelect===true){
$(_.$slideTrack).children().off('click.slick', _.selectHandler);
}
$(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
$(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
$('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
$(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
};
Slick.prototype.cleanUpSlideEvents=function(){
var _=this;
_.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
_.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
};
Slick.prototype.cleanUpRows=function(){
var _=this, originalSlides;
if(_.options.rows > 0){
originalSlides=_.$slides.children().children();
originalSlides.removeAttr('style');
_.$slider.empty().append(originalSlides);
}};
Slick.prototype.clickHandler=function(event){
var _=this;
if(_.shouldClick===false){
event.stopImmediatePropagation();
event.stopPropagation();
event.preventDefault();
}};
Slick.prototype.destroy=function(refresh){
var _=this;
_.autoPlayClear();
_.touchObject={};
_.cleanUpEvents();
$('.slick-cloned', _.$slider).detach();
if(_.$dots){
_.$dots.remove();
}
if(_.$prevArrow&&_.$prevArrow.length){
_.$prevArrow
.removeClass('slick-disabled slick-arrow slick-hidden')
.removeAttr('aria-hidden aria-disabled tabindex')
.css('display','');
if(_.htmlExpr.test(_.options.prevArrow)){
_.$prevArrow.remove();
}}
if(_.$nextArrow&&_.$nextArrow.length){
_.$nextArrow
.removeClass('slick-disabled slick-arrow slick-hidden')
.removeAttr('aria-hidden aria-disabled tabindex')
.css('display','');
if(_.htmlExpr.test(_.options.nextArrow)){
_.$nextArrow.remove();
}}
if(_.$slides){
_.$slides
.removeClass('slick-slide slick-active slick-center slick-visible slick-current')
.removeAttr('aria-hidden')
.removeAttr('data-slick-index')
.each(function(){
$(this).attr('style', $(this).data('originalStyling'));
});
_.$slideTrack.children(this.options.slide).detach();
_.$slideTrack.detach();
_.$list.detach();
_.$slider.append(_.$slides);
}
_.cleanUpRows();
_.$slider.removeClass('slick-slider');
_.$slider.removeClass('slick-initialized');
_.$slider.removeClass('slick-dotted');
_.unslicked=true;
if(!refresh){
_.$slider.trigger('destroy', [_]);
}};
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: _.options.zIndex
});
_.$slides.eq(slideIndex).animate({
opacity: 1
}, _.options.speed, _.options.easing, callback);
}else{
_.applyTransition(slideIndex);
_.$slides.eq(slideIndex).css({
opacity: 1,
zIndex: _.options.zIndex
});
if(callback){
setTimeout(function(){
_.disableTransition(slideIndex);
callback.call();
}, _.options.speed);
}}
};
Slick.prototype.fadeSlideOut=function(slideIndex){
var _=this;
if(_.cssTransitions===false){
_.$slides.eq(slideIndex).animate({
opacity: 0,
zIndex: _.options.zIndex - 2
}, _.options.speed, _.options.easing);
}else{
_.applyTransition(slideIndex);
_.$slides.eq(slideIndex).css({
opacity: 0,
zIndex: _.options.zIndex - 2
});
}};
Slick.prototype.filterSlides=Slick.prototype.slickFilter=function(filter){
var _=this;
if(filter!==null){
_.$slidesCache=_.$slides;
_.unload();
_.$slideTrack.children(this.options.slide).detach();
_.$slidesCache.filter(filter).appendTo(_.$slideTrack);
_.reinit();
}};
Slick.prototype.focusHandler=function(){
var _=this;
_.$slider
.off('focus.slick blur.slick')
.on('focus.slick blur.slick', '*', function(event){
event.stopImmediatePropagation();
var $sf=$(this);
setTimeout(function(){
if(_.options.pauseOnFocus){
_.focussed=$sf.is(':focus');
_.autoPlay();
}}, 0);
});
};
Slick.prototype.getCurrent=Slick.prototype.slickCurrentSlide=function(){
var _=this;
return _.currentSlide;
};
Slick.prototype.getDotCount=function(){
var _=this;
var breakPoint=0;
var counter=0;
var pagerQty=0;
if(_.options.infinite===true){
if(_.slideCount <=_.options.slidesToShow){
++pagerQty;
}else{
while (breakPoint < _.slideCount){
++pagerQty;
breakPoint=counter + _.options.slidesToScroll;
counter +=_.options.slidesToScroll <=_.options.slidesToShow ? _.options.slidesToScroll:_.options.slidesToShow;
}}
}else if(_.options.centerMode===true){
pagerQty=_.slideCount;
}else if(!_.options.asNavFor){
pagerQty=1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
}else{
while (breakPoint < _.slideCount){
++pagerQty;
breakPoint=counter + _.options.slidesToScroll;
counter +=_.options.slidesToScroll <=_.options.slidesToShow ? _.options.slidesToScroll:_.options.slidesToShow;
}}
return pagerQty - 1;
};
Slick.prototype.getLeft=function(slideIndex){
var _=this,
targetLeft,
verticalHeight,
verticalOffset=0,
targetSlide,
coef;
_.slideOffset=0;
verticalHeight=_.$slides.first().outerHeight(true);
if(_.options.infinite===true){
if(_.slideCount > _.options.slidesToShow){
_.slideOffset=(_.slideWidth * _.options.slidesToShow) * -1;
coef=-1
if(_.options.vertical===true&&_.options.centerMode===true){
if(_.options.slidesToShow===2){
coef=-1.5;
}else if(_.options.slidesToShow===1){
coef=-2
}}
verticalOffset=(verticalHeight * _.options.slidesToShow) * coef;
}
if(_.slideCount % _.options.slidesToScroll!==0){
if(slideIndex + _.options.slidesToScroll > _.slideCount&&_.slideCount > _.options.slidesToShow){
if(slideIndex > _.slideCount){
_.slideOffset=((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
verticalOffset=((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
}else{
_.slideOffset=((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
verticalOffset=((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
}}
}}else{
if(slideIndex + _.options.slidesToShow > _.slideCount){
_.slideOffset=((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
verticalOffset=((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
}}
if(_.slideCount <=_.options.slidesToShow){
_.slideOffset=0;
verticalOffset=0;
}
if(_.options.centerMode===true&&_.slideCount <=_.options.slidesToShow){
_.slideOffset=((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);
}else if(_.options.centerMode===true&&_.options.infinite===true){
_.slideOffset +=_.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
}else if(_.options.centerMode===true){
_.slideOffset=0;
_.slideOffset +=_.slideWidth * Math.floor(_.options.slidesToShow / 2);
}
if(_.options.vertical===false){
targetLeft=((slideIndex * _.slideWidth) * -1) + _.slideOffset;
}else{
targetLeft=((slideIndex * verticalHeight) * -1) + verticalOffset;
}
if(_.options.variableWidth===true){
if(_.slideCount <=_.options.slidesToShow||_.options.infinite===false){
targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex);
}else{
targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
}
if(_.options.rtl===true){
if(targetSlide[0]){
targetLeft=(_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
}else{
targetLeft=0;
}}else{
targetLeft=targetSlide[0] ? targetSlide[0].offsetLeft * -1:0;
}
if(_.options.centerMode===true){
if(_.slideCount <=_.options.slidesToShow||_.options.infinite===false){
targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex);
}else{
targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
}
if(_.options.rtl===true){
if(targetSlide[0]){
targetLeft=(_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
}else{
targetLeft=0;
}}else{
targetLeft=targetSlide[0] ? targetSlide[0].offsetLeft * -1:0;
}
targetLeft +=(_.$list.width() - targetSlide.outerWidth()) / 2;
}}
return targetLeft;
};
Slick.prototype.getOption=Slick.prototype.slickGetOption=function(option){
var _=this;
return _.options[option];
};
Slick.prototype.getNavigableIndexes=function(){
var _=this,
breakPoint=0,
counter=0,
indexes=[],
max;
if(_.options.infinite===false){
max=_.slideCount;
}else{
breakPoint=_.options.slidesToScroll * -1;
counter=_.options.slidesToScroll * -1;
max=_.slideCount * 2;
}
while (breakPoint < max){
indexes.push(breakPoint);
breakPoint=counter + _.options.slidesToScroll;
counter +=_.options.slidesToScroll <=_.options.slidesToShow ? _.options.slidesToScroll:_.options.slidesToShow;
}
return indexes;
};
Slick.prototype.getSlick=function(){
return this;
};
Slick.prototype.getSlideCount=function(){
var _=this,
slidesTraversed, swipedSlide, centerOffset;
centerOffset=_.options.centerMode===true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2):0;
if(_.options.swipeToSlide===true){
_.$slideTrack.find('.slick-slide').each(function(index, slide){
if(slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)){
swipedSlide=slide;
return false;
}});
slidesTraversed=Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide)||1;
return slidesTraversed;
}else{
return _.options.slidesToScroll;
}};
Slick.prototype.goTo=Slick.prototype.slickGoTo=function(slide, dontAnimate){
var _=this;
_.changeSlide({
data: {
message: 'index',
index: parseInt(slide)
}}, dontAnimate);
};
Slick.prototype.init=function(creation){
var _=this;
if(!$(_.$slider).hasClass('slick-initialized')){
$(_.$slider).addClass('slick-initialized');
_.buildRows();
_.buildOut();
_.setProps();
_.startLoad();
_.loadSlider();
_.initializeEvents();
_.updateArrows();
_.updateDots();
_.checkResponsive(true);
_.focusHandler();
}
if(creation){
_.$slider.trigger('init', [_]);
}
if(_.options.accessibility===true){
_.initADA();
}
if(_.options.autoplay){
_.paused=false;
_.autoPlay();
}};
Slick.prototype.initADA=function(){
var _=this,
numDotGroups=Math.ceil(_.slideCount / _.options.slidesToShow),
tabControlIndexes=_.getNavigableIndexes().filter(function(val){
return (val >=0)&&(val < _.slideCount);
});
_.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
'aria-hidden': 'true',
'tabindex': '-1'
}).find('a, input, button, select').attr({
'tabindex': '-1'
});
if(_.$dots!==null){
_.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i){
var slideControlIndex=tabControlIndexes.indexOf(i);
$(this).attr({
'role': 'tabpanel',
'id': 'slick-slide' + _.instanceUid + i,
'tabindex': -1
});
if(slideControlIndex!==-1){
var ariaButtonControl='slick-slide-control' + _.instanceUid + slideControlIndex
if($('#' + ariaButtonControl).length){
$(this).attr({
'aria-describedby': ariaButtonControl
});
}}
});
_.$dots.attr('role', 'tablist').find('li').each(function(i){
var mappedSlideIndex=tabControlIndexes[i];
$(this).attr({
'role': 'presentation'
});
$(this).find('button').first().attr({
'role': 'tab',
'id': 'slick-slide-control' + _.instanceUid + i,
'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
'aria-label': (i + 1) + ' of ' + numDotGroups,
'aria-selected': null,
'tabindex': '-1'
});
}).eq(_.currentSlide).find('button').attr({
'aria-selected': 'true',
'tabindex': '0'
}).end();
}
for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++){
if(_.options.focusOnChange){
_.$slides.eq(i).attr({'tabindex': '0'});
}else{
_.$slides.eq(i).removeAttr('tabindex');
}}
_.activateADA();
};
Slick.prototype.initArrowEvents=function(){
var _=this;
if(_.options.arrows===true&&_.slideCount > _.options.slidesToShow){
_.$prevArrow
.off('click.slick')
.on('click.slick', {
message: 'previous'
}, _.changeSlide);
_.$nextArrow
.off('click.slick')
.on('click.slick', {
message: 'next'
}, _.changeSlide);
if(_.options.accessibility===true){
_.$prevArrow.on('keydown.slick', _.keyHandler);
_.$nextArrow.on('keydown.slick', _.keyHandler);
}}
};
Slick.prototype.initDotEvents=function(){
var _=this;
if(_.options.dots===true&&_.slideCount > _.options.slidesToShow){
$('li', _.$dots).on('click.slick', {
message: 'index'
}, _.changeSlide);
if(_.options.accessibility===true){
_.$dots.on('keydown.slick', _.keyHandler);
}}
if(_.options.dots===true&&_.options.pauseOnDotsHover===true&&_.slideCount > _.options.slidesToShow){
$('li', _.$dots)
.on('mouseenter.slick', $.proxy(_.interrupt, _, true))
.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
}};
Slick.prototype.initSlideEvents=function(){
var _=this;
if(_.options.pauseOnHover){
_.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
_.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
}};
Slick.prototype.initializeEvents=function(){
var _=this;
_.initArrowEvents();
_.initDotEvents();
_.initSlideEvents();
_.$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);
_.$list.on('click.slick', _.clickHandler);
$(document).on(_.visibilityChange, $.proxy(_.visibility, _));
if(_.options.accessibility===true){
_.$list.on('keydown.slick', _.keyHandler);
}
if(_.options.focusOnSelect===true){
$(_.$slideTrack).children().on('click.slick', _.selectHandler);
}
$(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
$(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
$('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
$(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
$(_.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();
}};
Slick.prototype.keyHandler=function(event){
var _=this;
if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')){
if(event.keyCode===37&&_.options.accessibility===true){
_.changeSlide({
data: {
message: _.options.rtl===true ? 'next':'previous'
}});
}else if(event.keyCode===39&&_.options.accessibility===true){
_.changeSlide({
data: {
message: _.options.rtl===true ? 'previous':'next'
}});
}}
};
Slick.prototype.lazyLoad=function(){
var _=this,
loadRange, cloneRange, rangeStart, rangeEnd;
function loadImages(imagesScope){
$('img[data-lazy]', imagesScope).each(function(){
var image=$(this),
imageSource=$(this).attr('data-lazy'),
imageSrcSet=$(this).attr('data-srcset'),
imageSizes=$(this).attr('data-sizes')||_.$slider.attr('data-sizes'),
imageToLoad=document.createElement('img');
imageToLoad.onload=function(){
image
.animate({ opacity: 0 }, 100, function(){
if(imageSrcSet){
image
.attr('srcset', imageSrcSet);
if(imageSizes){
image
.attr('sizes', imageSizes);
}}
image
.attr('src', imageSource)
.animate({ opacity: 1 }, 200, function(){
image
.removeAttr('data-lazy data-srcset data-sizes')
.removeClass('slick-loading');
});
_.$slider.trigger('lazyLoaded', [_, image, imageSource]);
});
};
imageToLoad.onerror=function(){
image
.removeAttr('data-lazy')
.removeClass('slick-loading')
.addClass('slick-lazyload-error');
_.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
};
imageToLoad.src=imageSource;
});
}
if(_.options.centerMode===true){
if(_.options.infinite===true){
rangeStart=_.currentSlide + (_.options.slidesToShow / 2 + 1);
rangeEnd=rangeStart + _.options.slidesToShow + 2;
}else{
rangeStart=Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
rangeEnd=2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
}}else{
rangeStart=_.options.infinite ? _.options.slidesToShow + _.currentSlide:_.currentSlide;
rangeEnd=Math.ceil(rangeStart + _.options.slidesToShow);
if(_.options.fade===true){
if(rangeStart > 0) rangeStart--;
if(rangeEnd <=_.slideCount) rangeEnd++;
}}
loadRange=_.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
if(_.options.lazyLoad==='anticipated'){
var prevSlide=rangeStart - 1,
nextSlide=rangeEnd,
$slides=_.$slider.find('.slick-slide');
for (var i=0; i < _.options.slidesToScroll; i++){
if(prevSlide < 0) prevSlide=_.slideCount - 1;
loadRange=loadRange.add($slides.eq(prevSlide));
loadRange=loadRange.add($slides.eq(nextSlide));
prevSlide--;
nextSlide++;
}}
loadImages(loadRange);
if(_.slideCount <=_.options.slidesToShow){
cloneRange=_.$slider.find('.slick-slide');
loadImages(cloneRange);
} else
if(_.currentSlide >=_.slideCount - _.options.slidesToShow){
cloneRange=_.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
loadImages(cloneRange);
}else if(_.currentSlide===0){
cloneRange=_.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
loadImages(cloneRange);
}};
Slick.prototype.loadSlider=function(){
var _=this;
_.setPosition();
_.$slideTrack.css({
opacity: 1
});
_.$slider.removeClass('slick-loading');
_.initUI();
if(_.options.lazyLoad==='progressive'){
_.progressiveLazyLoad();
}};
Slick.prototype.next=Slick.prototype.slickNext=function(){
var _=this;
_.changeSlide({
data: {
message: 'next'
}});
};
Slick.prototype.orientationChange=function(){
var _=this;
_.checkResponsive();
_.setPosition();
};
Slick.prototype.pause=Slick.prototype.slickPause=function(){
var _=this;
_.autoPlayClear();
_.paused=true;
};
Slick.prototype.play=Slick.prototype.slickPlay=function(){
var _=this;
_.autoPlay();
_.options.autoplay=true;
_.paused=false;
_.focussed=false;
_.interrupted=false;
};
Slick.prototype.postSlide=function(index){
var _=this;
if(!_.unslicked){
_.$slider.trigger('afterChange', [_, index]);
_.animating=false;
if(_.slideCount > _.options.slidesToShow){
_.setPosition();
}
_.swipeLeft=null;
if(_.options.autoplay){
_.autoPlay();
}
if(_.options.accessibility===true){
_.initADA();
if(_.options.focusOnChange){
var $currentSlide=$(_.$slides.get(_.currentSlide));
$currentSlide.attr('tabindex', 0).focus();
}}
}};
Slick.prototype.prev=Slick.prototype.slickPrev=function(){
var _=this;
_.changeSlide({
data: {
message: 'previous'
}});
};
Slick.prototype.preventDefault=function(event){
event.preventDefault();
};
Slick.prototype.progressiveLazyLoad=function(tryCount){
tryCount=tryCount||1;
var _=this,
$imgsToLoad=$('img[data-lazy]', _.$slider),
image,
imageSource,
imageSrcSet,
imageSizes,
imageToLoad;
if($imgsToLoad.length){
image=$imgsToLoad.first();
imageSource=image.attr('data-lazy');
imageSrcSet=image.attr('data-srcset');
imageSizes=image.attr('data-sizes')||_.$slider.attr('data-sizes');
imageToLoad=document.createElement('img');
imageToLoad.onload=function(){
if(imageSrcSet){
image
.attr('srcset', imageSrcSet);
if(imageSizes){
image
.attr('sizes', imageSizes);
}}
image
.attr('src', imageSource)
.removeAttr('data-lazy data-srcset data-sizes')
.removeClass('slick-loading');
if(_.options.adaptiveHeight===true){
_.setPosition();
}
_.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
_.progressiveLazyLoad();
};
imageToLoad.onerror=function(){
if(tryCount < 3){
setTimeout(function(){
_.progressiveLazyLoad(tryCount + 1);
}, 500);
}else{
image
.removeAttr('data-lazy')
.removeClass('slick-loading')
.addClass('slick-lazyload-error');
_.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
_.progressiveLazyLoad();
}};
imageToLoad.src=imageSource;
}else{
_.$slider.trigger('allImagesLoaded', [ _ ]);
}};
Slick.prototype.refresh=function(initializing){
var _=this, currentSlide, lastVisibleIndex;
lastVisibleIndex=_.slideCount - _.options.slidesToShow;
if(!_.options.infinite&&(_.currentSlide > lastVisibleIndex)){
_.currentSlide=lastVisibleIndex;
}
if(_.slideCount <=_.options.slidesToShow){
_.currentSlide=0;
}
currentSlide=_.currentSlide;
_.destroy(true);
$.extend(_, _.initials, { currentSlide: currentSlide });
_.init();
if(!initializing){
_.changeSlide({
data: {
message: 'index',
index: currentSlide
}}, false);
}};
Slick.prototype.registerBreakpoints=function(){
var _=this, breakpoint, currentBreakpoint, l,
responsiveSettings=_.options.responsive||null;
if($.type(responsiveSettings)==='array'&&responsiveSettings.length){
_.respondTo=_.options.respondTo||'window';
for(breakpoint in responsiveSettings){
l=_.breakpoints.length-1;
if(responsiveSettings.hasOwnProperty(breakpoint)){
currentBreakpoint=responsiveSettings[breakpoint].breakpoint;
while(l >=0){
if(_.breakpoints[l]&&_.breakpoints[l]===currentBreakpoint){
_.breakpoints.splice(l,1);
}
l--;
}
_.breakpoints.push(currentBreakpoint);
_.breakpointSettings[currentBreakpoint]=responsiveSettings[breakpoint].settings;
}}
_.breakpoints.sort(function(a, b){
return(_.options.mobileFirst) ? a-b:b-a;
});
}};
Slick.prototype.reinit=function(){
var _=this;
_.$slides =
_.$slideTrack
.children(_.options.slide)
.addClass('slick-slide');
_.slideCount=_.$slides.length;
if(_.currentSlide >=_.slideCount&&_.currentSlide!==0){
_.currentSlide=_.currentSlide - _.options.slidesToScroll;
}
if(_.slideCount <=_.options.slidesToShow){
_.currentSlide=0;
}
_.registerBreakpoints();
_.setProps();
_.setupInfinite();
_.buildArrows();
_.updateArrows();
_.initArrowEvents();
_.buildDots();
_.updateDots();
_.initDotEvents();
_.cleanUpSlideEvents();
_.initSlideEvents();
_.checkResponsive(false, true);
if(_.options.focusOnSelect===true){
$(_.$slideTrack).children().on('click.slick', _.selectHandler);
}
_.setSlideClasses(typeof _.currentSlide==='number' ? _.currentSlide:0);
_.setPosition();
_.focusHandler();
_.paused = !_.options.autoplay;
_.autoPlay();
_.$slider.trigger('reInit', [_]);
};
Slick.prototype.resize=function(){
var _=this;
if($(window).width()!==_.windowWidth){
clearTimeout(_.windowDelay);
_.windowDelay=window.setTimeout(function(){
_.windowWidth=$(window).width();
_.checkResponsive();
if(!_.unslicked){ _.setPosition(); }}, 50);
}};
Slick.prototype.removeSlide=Slick.prototype.slickRemove=function(index, removeBefore, removeAll){
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();
if(removeAll===true){
_.$slideTrack.children().remove();
}else{
_.$slideTrack.children(this.options.slide).eq(index).remove();
}
_.$slides=_.$slideTrack.children(this.options.slide);
_.$slideTrack.children(this.options.slide).detach();
_.$slideTrack.append(_.$slides);
_.$slidesCache=_.$slides;
_.reinit();
};
Slick.prototype.setCSS=function(position){
var _=this,
positionProps={},
x, y;
if(_.options.rtl===true){
position=-position;
}
x=_.positionProp=='left' ? Math.ceil(position) + 'px':'0px';
y=_.positionProp=='top' ? Math.ceil(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.vertical===false){
if(_.options.centerMode===true){
_.$list.css({
padding: ('0px ' + _.options.centerPadding)
});
}}else{
_.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
if(_.options.centerMode===true){
_.$list.css({
padding: (_.options.centerPadding + ' 0px')
});
}}
_.listWidth=_.$list.width();
_.listHeight=_.$list.height();
if(_.options.vertical===false&&_.options.variableWidth===false){
_.slideWidth=Math.ceil(_.listWidth / _.options.slidesToShow);
_.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
}else if(_.options.variableWidth===true){
_.$slideTrack.width(5000 * _.slideCount);
}else{
_.slideWidth=Math.ceil(_.listWidth);
_.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
}
var offset=_.$slides.first().outerWidth(true) - _.$slides.first().width();
if(_.options.variableWidth===false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
};
Slick.prototype.setFade=function(){
var _=this,
targetLeft;
_.$slides.each(function(index, element){
targetLeft=(_.slideWidth * index) * -1;
if(_.options.rtl===true){
$(element).css({
position: 'relative',
right: targetLeft,
top: 0,
zIndex: _.options.zIndex - 2,
opacity: 0
});
}else{
$(element).css({
position: 'relative',
left: targetLeft,
top: 0,
zIndex: _.options.zIndex - 2,
opacity: 0
});
}});
_.$slides.eq(_.currentSlide).css({
zIndex: _.options.zIndex - 1,
opacity: 1
});
};
Slick.prototype.setHeight=function(){
var _=this;
if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){
var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);
_.$list.css('height', targetHeight);
}};
Slick.prototype.setOption =
Slick.prototype.slickSetOption=function(){
var _=this, l, item, option, value, refresh=false, type;
if($.type(arguments[0])==='object'){
option=arguments[0];
refresh=arguments[1];
type='multiple';
}else if($.type(arguments[0])==='string'){
option=arguments[0];
value=arguments[1];
refresh=arguments[2];
if(arguments[0]==='responsive'&&$.type(arguments[1])==='array'){
type='responsive';
}else if(typeof arguments[1]!=='undefined'){
type='single';
}}
if(type==='single'){
_.options[option]=value;
}else if(type==='multiple'){
$.each(option , function(opt, val){
_.options[opt]=val;
});
}else if(type==='responsive'){
for(item in value){
if($.type(_.options.responsive)!=='array'){
_.options.responsive=[ value[item] ];
}else{
l=_.options.responsive.length-1;
while(l >=0){
if(_.options.responsive[l].breakpoint===value[item].breakpoint){
_.options.responsive.splice(l,1);
}
l--;
}
_.options.responsive.push(value[item]);
}}
}
if(refresh){
_.unload();
_.reinit();
}};
Slick.prototype.setPosition=function(){
var _=this;
_.setDimensions();
_.setHeight();
if(_.options.fade===false){
_.setCSS(_.getLeft(_.currentSlide));
}else{
_.setFade();
}
_.$slider.trigger('setPosition', [_]);
};
Slick.prototype.setProps=function(){
var _=this,
bodyStyle=document.body.style;
_.positionProp=_.options.vertical===true ? 'top':'left';
if(_.positionProp==='top'){
_.$slider.addClass('slick-vertical');
}else{
_.$slider.removeClass('slick-vertical');
}
if(bodyStyle.WebkitTransition!==undefined ||
bodyStyle.MozTransition!==undefined ||
bodyStyle.msTransition!==undefined){
if(_.options.useCSS===true){
_.cssTransitions=true;
}}
if(_.options.fade){
if(typeof _.options.zIndex==='number'){
if(_.options.zIndex < 3){
_.options.zIndex=3;
}}else{
_.options.zIndex=_.defaults.zIndex;
}}
if(bodyStyle.OTransform!==undefined){
_.animType='OTransform';
_.transformType='-o-transform';
_.transitionType='OTransition';
if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined) _.animType=false;
}
if(bodyStyle.MozTransform!==undefined){
_.animType='MozTransform';
_.transformType='-moz-transform';
_.transitionType='MozTransition';
if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.MozPerspective===undefined) _.animType=false;
}
if(bodyStyle.webkitTransform!==undefined){
_.animType='webkitTransform';
_.transformType='-webkit-transform';
_.transitionType='webkitTransition';
if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined) _.animType=false;
}
if(bodyStyle.msTransform!==undefined){
_.animType='msTransform';
_.transformType='-ms-transform';
_.transitionType='msTransition';
if(bodyStyle.msTransform===undefined) _.animType=false;
}
if(bodyStyle.transform!==undefined&&_.animType!==false){
_.animType='transform';
_.transformType='transform';
_.transitionType='transition';
}
_.transformsEnabled=_.options.useTransform&&(_.animType!==null&&_.animType!==false);
};
Slick.prototype.setSlideClasses=function(index){
var _=this,
centerOffset, allSlides, indexOffset, remainder;
allSlides=_.$slider
.find('.slick-slide')
.removeClass('slick-active slick-center slick-current')
.attr('aria-hidden', 'true');
_.$slides
.eq(index)
.addClass('slick-current');
if(_.options.centerMode===true){
var evenCoef=_.options.slidesToShow % 2===0 ? 1:0;
centerOffset=Math.floor(_.options.slidesToShow / 2);
if(_.options.infinite===true){
if(index >=centerOffset&&index <=(_.slideCount - 1) - centerOffset){
_.$slides
.slice(index - centerOffset + evenCoef, index + centerOffset + 1)
.addClass('slick-active')
.attr('aria-hidden', 'false');
}else{
indexOffset=_.options.slidesToShow + index;
allSlides
.slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)
.addClass('slick-active')
.attr('aria-hidden', 'false');
}
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')
.attr('aria-hidden', 'false');
}else if(allSlides.length <=_.options.slidesToShow){
allSlides
.addClass('slick-active')
.attr('aria-hidden', 'false');
}else{
remainder=_.slideCount % _.options.slidesToShow;
indexOffset=_.options.infinite===true ? _.options.slidesToShow + index:index;
if(_.options.slidesToShow==_.options.slidesToScroll&&(_.slideCount - index) < _.options.slidesToShow){
allSlides
.slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
.addClass('slick-active')
.attr('aria-hidden', 'false');
}else{
allSlides
.slice(indexOffset, indexOffset + _.options.slidesToShow)
.addClass('slick-active')
.attr('aria-hidden', 'false');
}}
}
if(_.options.lazyLoad==='ondemand'||_.options.lazyLoad==='anticipated'){
_.lazyLoad();
}};
Slick.prototype.setupInfinite=function(){
var _=this,
i, slideIndex, infiniteCount;
if(_.options.fade===true){
_.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(true).attr('id', '')
.attr('data-slick-index', slideIndex - _.slideCount)
.prependTo(_.$slideTrack).addClass('slick-cloned');
}
for (i=0; i < infiniteCount  + _.slideCount; i +=1){
slideIndex=i;
$(_.$slides[slideIndex]).clone(true).attr('id', '')
.attr('data-slick-index', slideIndex + _.slideCount)
.appendTo(_.$slideTrack).addClass('slick-cloned');
}
_.$slideTrack.find('.slick-cloned').find('[id]').each(function(){
$(this).attr('id', '');
});
}}
};
Slick.prototype.interrupt=function(toggle){
var _=this;
if(!toggle){
_.autoPlay();
}
_.interrupted=toggle;
};
Slick.prototype.selectHandler=function(event){
var _=this;
var targetElement =
$(event.target).is('.slick-slide') ?
$(event.target) :
$(event.target).parents('.slick-slide');
var index=parseInt(targetElement.attr('data-slick-index'));
if(!index) index=0;
if(_.slideCount <=_.options.slidesToShow){
_.slideHandler(index, false, true);
return;
}
_.slideHandler(index);
};
Slick.prototype.slideHandler=function(index, sync, dontAnimate){
var targetSlide, animSlide, oldSlide, slideLeft, targetLeft=null,
_=this, navTarget;
sync=sync||false;
if(_.animating===true&&_.options.waitForAnimate===true){
return;
}
if(_.options.fade===true&&_.currentSlide===index){
return;
}
if(sync===false){
_.asNavFor(index);
}
targetSlide=index;
targetLeft=_.getLeft(targetSlide);
slideLeft=_.getLeft(_.currentSlide);
_.currentLeft=_.swipeLeft===null ? slideLeft:_.swipeLeft;
if(_.options.infinite===false&&_.options.centerMode===false&&(index < 0||index > _.getDotCount() * _.options.slidesToScroll)){
if(_.options.fade===false){
targetSlide=_.currentSlide;
if(dontAnimate!==true&&_.slideCount > _.options.slidesToShow){
_.animateSlide(slideLeft, function(){
_.postSlide(targetSlide);
});
}else{
_.postSlide(targetSlide);
}}
return;
}else if(_.options.infinite===false&&_.options.centerMode===true&&(index < 0||index > (_.slideCount - _.options.slidesToScroll))){
if(_.options.fade===false){
targetSlide=_.currentSlide;
if(dontAnimate!==true&&_.slideCount > _.options.slidesToShow){
_.animateSlide(slideLeft, function(){
_.postSlide(targetSlide);
});
}else{
_.postSlide(targetSlide);
}}
return;
}
if(_.options.autoplay){
clearInterval(_.autoPlayTimer);
}
if(targetSlide < 0){
if(_.slideCount % _.options.slidesToScroll!==0){
animSlide=_.slideCount - (_.slideCount % _.options.slidesToScroll);
}else{
animSlide=_.slideCount + targetSlide;
}}else if(targetSlide >=_.slideCount){
if(_.slideCount % _.options.slidesToScroll!==0){
animSlide=0;
}else{
animSlide=targetSlide - _.slideCount;
}}else{
animSlide=targetSlide;
}
_.animating=true;
_.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
oldSlide=_.currentSlide;
_.currentSlide=animSlide;
_.setSlideClasses(_.currentSlide);
if(_.options.asNavFor){
navTarget=_.getNavTarget();
navTarget=navTarget.slick('getSlick');
if(navTarget.slideCount <=navTarget.options.slidesToShow){
navTarget.setSlideClasses(_.currentSlide);
}}
_.updateDots();
_.updateArrows();
if(_.options.fade===true){
if(dontAnimate!==true){
_.fadeSlideOut(oldSlide);
_.fadeSlide(animSlide, function(){
_.postSlide(animSlide);
});
}else{
_.postSlide(animSlide);
}
_.animateHeight();
return;
}
if(dontAnimate!==true&&_.slideCount > _.options.slidesToShow){
_.animateSlide(targetLeft, function(){
_.postSlide(animSlide);
});
}else{
_.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 (_.options.rtl===false ? 'left':'right');
}
if((swipeAngle <=360)&&(swipeAngle >=315)){
return (_.options.rtl===false ? 'left':'right');
}
if((swipeAngle >=135)&&(swipeAngle <=225)){
return (_.options.rtl===false ? 'right':'left');
}
if(_.options.verticalSwiping===true){
if((swipeAngle >=35)&&(swipeAngle <=135)){
return 'down';
}else{
return 'up';
}}
return 'vertical';
};
Slick.prototype.swipeEnd=function(event){
var _=this,
slideCount,
direction;
_.dragging=false;
_.swiping=false;
if(_.scrolling){
_.scrolling=false;
return false;
}
_.interrupted=false;
_.shouldClick=(_.touchObject.swipeLength > 10) ? false:true;
if(_.touchObject.curX===undefined){
return false;
}
if(_.touchObject.edgeHit===true){
_.$slider.trigger('edge', [_, _.swipeDirection() ]);
}
if(_.touchObject.swipeLength >=_.touchObject.minSwipe){
direction=_.swipeDirection();
switch(direction){
case 'left':
case 'down':
slideCount =
_.options.swipeToSlide ?
_.checkNavigable(_.currentSlide + _.getSlideCount()) :
_.currentSlide + _.getSlideCount();
_.currentDirection=0;
break;
case 'right':
case 'up':
slideCount =
_.options.swipeToSlide ?
_.checkNavigable(_.currentSlide - _.getSlideCount()) :
_.currentSlide - _.getSlideCount();
_.currentDirection=1;
break;
default:
}
if(direction!='vertical'){
_.slideHandler(slideCount);
_.touchObject={};
_.$slider.trigger('swipe', [_, direction ]);
}}else{
if(_.touchObject.startX!==_.touchObject.curX){
_.slideHandler(_.currentSlide);
_.touchObject={};}}
};
Slick.prototype.swipeHandler=function(event){
var _=this;
if((_.options.swipe===false)||('ontouchend' in document&&_.options.swipe===false)){
return;
}else if(_.options.draggable===false&&event.type.indexOf('mouse')!==-1){
return;
}
_.touchObject.fingerCount=event.originalEvent&&event.originalEvent.touches!==undefined ?
event.originalEvent.touches.length:1;
_.touchObject.minSwipe=_.listWidth / _.options
.touchThreshold;
if(_.options.verticalSwiping===true){
_.touchObject.minSwipe=_.listHeight / _.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,
edgeWasHit=false,
curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;
touches=event.originalEvent!==undefined ? event.originalEvent.touches:null;
if(!_.dragging||_.scrolling||touches&&touches.length!==1){
return false;
}
curLeft=_.getLeft(_.currentSlide);
_.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)));
verticalSwipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
if(!_.options.verticalSwiping&&!_.swiping&&verticalSwipeLength > 4){
_.scrolling=true;
return false;
}
if(_.options.verticalSwiping===true){
_.touchObject.swipeLength=verticalSwipeLength;
}
swipeDirection=_.swipeDirection();
if(event.originalEvent!==undefined&&_.touchObject.swipeLength > 4){
_.swiping=true;
event.preventDefault();
}
positionOffset=(_.options.rtl===false ? 1:-1) * (_.touchObject.curX > _.touchObject.startX ? 1:-1);
if(_.options.verticalSwiping===true){
positionOffset=_.touchObject.curY > _.touchObject.startY ? 1:-1;
}
swipeLength=_.touchObject.swipeLength;
_.touchObject.edgeHit=false;
if(_.options.infinite===false){
if((_.currentSlide===0&&swipeDirection==='right')||(_.currentSlide >=_.getDotCount()&&swipeDirection==='left')){
swipeLength=_.touchObject.swipeLength * _.options.edgeFriction;
_.touchObject.edgeHit=true;
}}
if(_.options.vertical===false){
_.swipeLeft=curLeft + swipeLength * positionOffset;
}else{
_.swipeLeft=curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
}
if(_.options.verticalSwiping===true){
_.swipeLeft=curLeft + swipeLength * 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;
_.interrupted=true;
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;
_.dragging=true;
};
Slick.prototype.unfilterSlides=Slick.prototype.slickUnfilter=function(){
var _=this;
if(_.$slidesCache!==null){
_.unload();
_.$slideTrack.children(this.options.slide).detach();
_.$slidesCache.appendTo(_.$slideTrack);
_.reinit();
}};
Slick.prototype.unload=function(){
var _=this;
$('.slick-cloned', _.$slider).remove();
if(_.$dots){
_.$dots.remove();
}
if(_.$prevArrow&&_.htmlExpr.test(_.options.prevArrow)){
_.$prevArrow.remove();
}
if(_.$nextArrow&&_.htmlExpr.test(_.options.nextArrow)){
_.$nextArrow.remove();
}
_.$slides
.removeClass('slick-slide slick-active slick-visible slick-current')
.attr('aria-hidden', 'true')
.css('width', '');
};
Slick.prototype.unslick=function(fromBreakpoint){
var _=this;
_.$slider.trigger('unslick', [_, fromBreakpoint]);
_.destroy();
};
Slick.prototype.updateArrows=function(){
var _=this,
centerOffset;
centerOffset=Math.floor(_.options.slidesToShow / 2);
if(_.options.arrows===true &&
_.slideCount > _.options.slidesToShow &&
!_.options.infinite){
_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
if(_.currentSlide===0){
_.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
}else if(_.currentSlide >=_.slideCount - _.options.slidesToShow&&_.options.centerMode===false){
_.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
}else if(_.currentSlide >=_.slideCount - 1&&_.options.centerMode===true){
_.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
}}
};
Slick.prototype.updateDots=function(){
var _=this;
if(_.$dots!==null){
_.$dots
.find('li')
.removeClass('slick-active')
.end();
_.$dots
.find('li')
.eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
.addClass('slick-active');
}};
Slick.prototype.visibility=function(){
var _=this;
if(_.options.autoplay){
if(document[_.hidden]){
_.interrupted=true;
}else{
_.interrupted=false;
}}
};
$.fn.slick=function(){
var _=this,
opt=arguments[0],
args=Array.prototype.slice.call(arguments, 1),
l=_.length,
i,
ret;
for (i=0; i < l; i++){
if(typeof opt=='object'||typeof opt=='undefined')
_[i].slick=new Slick(_[i], opt);
else
ret=_[i].slick[opt].apply(_[i].slick, args);
if(typeof ret!='undefined') return ret;
}
return _;
};}));
!function(e,t){"function"==typeof define&&define.amd?define("smoothScroll",t(e)):"object"==typeof exports?module.smoothScroll=t(e):e.smoothScroll=t(e)}(this,function(e){"use strict";var t,n={},o=!!document.querySelector&&!!e.addEventListener,a={speed:500,easing:"easeInOutCubic",offset:0,updateURL:!1,callbackBefore:function(){},callbackAfter:function(){}},r=function(e,t,n){if("[object Object]"===Object.prototype.toString.call(e))for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(n,e[o],o,e);else for(var a=0,r=e.length;r>a;a++)t.call(n,e[a],a,e)},u=function(e,t){var n={};return r(e,function(t,o){n[o]=e[o]}),r(t,function(e,o){n[o]=t[o]}),n},c=function(e,t){var n;return"easeInQuad"===e&&(n=t*t),"easeOutQuad"===e&&(n=t*(2-t)),"easeInOutQuad"===e&&(n=.5>t?2*t*t:-1+(4-2*t)*t),"easeInCubic"===e&&(n=t*t*t),"easeOutCubic"===e&&(n=--t*t*t+1),"easeInOutCubic"===e&&(n=.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1),"easeInQuart"===e&&(n=t*t*t*t),"easeOutQuart"===e&&(n=1- --t*t*t*t),"easeInOutQuart"===e&&(n=.5>t?8*t*t*t*t:1-8*--t*t*t*t),"easeInQuint"===e&&(n=t*t*t*t*t),"easeOutQuint"===e&&(n=1+--t*t*t*t*t),"easeInOutQuint"===e&&(n=.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t),n||t},i=function(e,t,n){var o=0;if(e.offsetParent)do o+=e.offsetTop,e=e.offsetParent;while(e);return o=o-t-n,o>=0?o:0},l=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},f=function(e){return e.replace(/^\s+|\s+$/g,"")},s=function(e){var t={};return e&&(e=e.split(";"),e.forEach(function(e){e=f(e),""!==e&&(e=e.split(":"),t[e[0]]=f(e[1]))})),t},d=function(e,t){history.pushState&&(t||"true"===t)&&history.pushState({pos:e.id},"",e)};return n.animateScroll=function(t,n,o,r){var f=u(f||a,o||{}),p=s(t?t.getAttribute("data-options"):null);f=u(f,p);var h,m,b,g=document.querySelector("[data-scroll-header]"),v=null===g?0:g.offsetHeight+g.offsetTop,O=e.pageYOffset,y=i(document.querySelector(n),v,parseInt(f.offset,10)),I=y-O,S=l(),Q=0;t&&"a"===t.tagName.toLowerCase()&&r&&r.preventDefault(),d(n,f.updateURL);var H=function(o,a,r){var u=e.pageYOffset;(o==a||u==a||e.innerHeight+u>=S)&&(clearInterval(r),f.callbackAfter(t,n))},E=function(){Q+=16,m=Q/parseInt(f.speed,10),m=m>1?1:m,b=O+I*c(f.easing,m),e.scrollTo(0,Math.floor(b)),H(b,y,h)},j=function(){f.callbackBefore(t,n),h=setInterval(E,16)};0===e.pageYOffset&&e.scrollTo(0,0),j()},n.init=function(e){if(o){t=u(a,e||{});var c=document.querySelectorAll("[data-scroll]");r(c,function(e){e.addEventListener("click",n.animateScroll.bind(null,e,e.hash,t),!1)})}},n});
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){function i(){var b,c,d={height:f.innerHeight,width:f.innerWidth};return d.height||(b=e.compatMode,(b||!a.support.boxModel)&&(c="CSS1Compat"===b?g:e.body,d={height:c.clientHeight,width:c.clientWidth})),d}function j(){return{top:f.pageYOffset||g.scrollTop||e.body.scrollTop,left:f.pageXOffset||g.scrollLeft||e.body.scrollLeft}}function k(){if(b.length){var e=0,f=a.map(b,function(a){var b=a.data.selector,c=a.$element;return b?c.find(b):c});for(c=c||i(),d=d||j();e<b.length;e++)if(a.contains(g,f[e][0])){var h=a(f[e]),k={height:h[0].offsetHeight,width:h[0].offsetWidth},l=h.offset(),m=h.data("inview");if(!d||!c)return;l.top+k.height>d.top&&l.top<d.top+c.height&&l.left+k.width>d.left&&l.left<d.left+c.width?m||h.data("inview",!0).trigger("inview",[!0]):m&&h.data("inview",!1).trigger("inview",[!1])}}}var c,d,h,b=[],e=document,f=window,g=e.documentElement;a.event.special.inview={add:function(c){b.push({data:c,$element:a(this),element:this}),!h&&b.length&&(h=setInterval(k,250))},remove:function(a){for(var c=0;c<b.length;c++){var d=b[c];if(d.element===this&&d.data.guid===a.guid){b.splice(c,1);break}}b.length||(clearInterval(h),h=null)}},a(f).on("scroll resize scrollstop",function(){c=d=null}),!g.addEventListener&&g.attachEvent&&g.attachEvent("onfocusin",function(){d=null})});
!function(n,e){function t(e,t){this.element=e,this.settings=n.extend({},a,t),this._defaults=a,this._name=i,this.init()}var a={label:"MENU",duplicate:!0,duration:200,easingOpen:"swing",easingClose:"swing",closedSymbol:"&#9658;",openedSymbol:"&#9660;",prependTo:"body",parentTag:"a",closeOnClick:!1,allowParentLinks:!1,nestedParentLinks:!0,showChildren:!1,brand:"",init:function(){},open:function(){},close:function(){}},i="slicknav",s="slicknav";t.prototype.init=function(){var t,a,i=this,l=n(this.element),o=this.settings;if(o.duplicate?(i.mobileNav=l.clone(),i.mobileNav.removeAttr("id"),i.mobileNav.find("*").each(function(e,t){n(t).removeAttr("id")})):i.mobileNav=l,t=s+"_icon",""===o.label&&(t+=" "+s+"_no-text"),"a"==o.parentTag&&(o.parentTag='a href="#"'),i.mobileNav.attr("class",s+"_nav"),a=n('<div class="'+s+'_menu"></div>'),""!==o.brand){var r=n('<div class="'+s+'_brand">'+o.brand+"</div>");n(a).append(r)}i.btn=n(["<"+o.parentTag+' aria-haspopup="true" tabindex="0" class="'+s+"_btn "+s+'_collapsed">','<span class="'+s+'_menutxt">'+o.label+"</span>",'<span class="'+t+'">','<span class="'+s+'_icon-bar"></span>','<span class="'+s+'_icon-bar"></span>','<span class="'+s+'_icon-bar"></span>',"</span>","</"+o.parentTag+">"].join("")),n(a).append(i.btn),n(o.prependTo).prepend(a),a.append(i.mobileNav);var d=i.mobileNav.find("li");n(d).each(function(){var e=n(this),t={};if(t.children=e.children("ul").attr("role","menu"),e.data("menu",t),t.children.length>0){var a=e.contents(),l=!1;nodes=[],n(a).each(function(){return n(this).is("ul")?!1:(nodes.push(this),void(n(this).is("a")&&(l=!0)))});var r=n("<"+o.parentTag+' role="menuitem" aria-haspopup="true" tabindex="-1" class="'+s+'_item"/>');if(o.allowParentLinks&&!o.nestedParentLinks&&l)n(nodes).wrapAll('<span class="'+s+"_parent-link "+s+'_row"/>').parent();else{var d=n(nodes).wrapAll(r).parent();d.addClass(s+"_row")}e.addClass(s+"_collapsed"),e.addClass(s+"_parent");var c=n('<span class="'+s+'_arrow">'+o.closedSymbol+"</span>");o.allowParentLinks&&!o.nestedParentLinks&&l&&(c=c.wrap(r).parent()),n(nodes).last().after(c)}else 0===e.children().length&&e.addClass(s+"_txtnode");e.children("a").attr("role","menuitem").click(function(e){o.closeOnClick&&!n(e.target).parent().closest("li").hasClass(s+"_parent")&&n(i.btn).click()}),o.closeOnClick&&o.allowParentLinks&&(e.children("a").children("a").click(function(){n(i.btn).click()}),e.find("."+s+"_parent-link a:not(."+s+"_item)").click(function(){n(i.btn).click()}))}),n(d).each(function(){var e=n(this).data("menu");o.showChildren||i._visibilityToggle(e.children,null,!1,null,!0)}),i._visibilityToggle(i.mobileNav,null,!1,"init",!0),i.mobileNav.attr("role","menu"),n(e).mousedown(function(){i._outlines(!1)}),n(e).keyup(function(){i._outlines(!0)}),n(i.btn).click(function(n){n.preventDefault(),i._menuToggle()}),i.mobileNav.on("click","."+s+"_item",function(e){e.preventDefault(),i._itemClick(n(this))}),n(i.btn).keydown(function(n){var e=n||event;13==e.keyCode&&(n.preventDefault(),i._menuToggle())}),i.mobileNav.on("keydown","."+s+"_item",function(e){var t=e||event;13==t.keyCode&&(e.preventDefault(),i._itemClick(n(e.target)))}),o.allowParentLinks&&o.nestedParentLinks&&n("."+s+"_item a").click(function(n){n.stopImmediatePropagation()})},t.prototype._menuToggle=function(){var n=this,e=n.btn,t=n.mobileNav;e.hasClass(s+"_collapsed")?(e.removeClass(s+"_collapsed"),e.addClass(s+"_open")):(e.removeClass(s+"_open"),e.addClass(s+"_collapsed")),e.addClass(s+"_animating"),n._visibilityToggle(t,e.parent(),!0,e)},t.prototype._itemClick=function(n){var e=this,t=e.settings,a=n.data("menu");a||(a={},a.arrow=n.children("."+s+"_arrow"),a.ul=n.next("ul"),a.parent=n.parent(),a.parent.hasClass(s+"_parent-link")&&(a.parent=n.parent().parent(),a.ul=n.parent().next("ul")),n.data("menu",a)),a.parent.hasClass(s+"_collapsed")?(a.arrow.html(t.openedSymbol),a.parent.removeClass(s+"_collapsed"),a.parent.addClass(s+"_open"),a.parent.addClass(s+"_animating"),e._visibilityToggle(a.ul,a.parent,!0,n)):(a.arrow.html(t.closedSymbol),a.parent.addClass(s+"_collapsed"),a.parent.removeClass(s+"_open"),a.parent.addClass(s+"_animating"),e._visibilityToggle(a.ul,a.parent,!0,n))},t.prototype._visibilityToggle=function(e,t,a,i,l){var o=this,r=o.settings,d=o._getActionItems(e),c=0;a&&(c=r.duration),e.hasClass(s+"_hidden")?(e.removeClass(s+"_hidden"),e.slideDown(c,r.easingOpen,function(){n(i).removeClass(s+"_animating"),n(t).removeClass(s+"_animating"),l||r.open(i)}),e.attr("aria-hidden","false"),d.attr("tabindex","0"),o._setVisAttr(e,!1)):(e.addClass(s+"_hidden"),e.slideUp(c,this.settings.easingClose,function(){e.attr("aria-hidden","true"),d.attr("tabindex","-1"),o._setVisAttr(e,!0),e.hide(),n(i).removeClass(s+"_animating"),n(t).removeClass(s+"_animating"),l?"init"==i&&r.init():r.close(i)}))},t.prototype._setVisAttr=function(e,t){var a=this,i=e.children("li").children("ul").not("."+s+"_hidden");i.each(t?function(){var e=n(this);e.attr("aria-hidden","true");var i=a._getActionItems(e);i.attr("tabindex","-1"),a._setVisAttr(e,t)}:function(){var e=n(this);e.attr("aria-hidden","false");var i=a._getActionItems(e);i.attr("tabindex","0"),a._setVisAttr(e,t)})},t.prototype._getActionItems=function(n){var e=n.data("menu");if(!e){e={};var t=n.children("li"),a=t.find("a");e.links=a.add(t.find("."+s+"_item")),n.data("menu",e)}return e.links},t.prototype._outlines=function(e){e?n("."+s+"_item, ."+s+"_btn").css("outline",""):n("."+s+"_item, ."+s+"_btn").css("outline","none")},t.prototype.toggle=function(){var n=this;n._menuToggle()},t.prototype.open=function(){var n=this;n.btn.hasClass(s+"_collapsed")&&n._menuToggle()},t.prototype.close=function(){var n=this;n.btn.hasClass(s+"_open")&&n._menuToggle()},n.fn[i]=function(e){var a=arguments;if(void 0===e||"object"==typeof e)return this.each(function(){n.data(this,"plugin_"+i)||n.data(this,"plugin_"+i,new t(this,e))});if("string"==typeof e&&"_"!==e[0]&&"init"!==e){var s;return this.each(function(){var l=n.data(this,"plugin_"+i);l instanceof t&&"function"==typeof l[e]&&(s=l[e].apply(l,Array.prototype.slice.call(a,1)))}),void 0!==s?s:this}}}(jQuery,document,window);
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=-1,o=-1,n=function(t){return parseFloat(t)||0},a=function(e){var o=1,a=t(e),i=null,r=[];return a.each(function(){var e=t(this),a=e.offset().top-n(e.css("margin-top")),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(i-a))<=o?r[r.length-1]=s.add(e):r.push(e),i=a}),r},i=function(e){var o={
byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof e?t.extend(o,e):("boolean"==typeof e?o.byRow=e:"remove"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=i(e);if(o.remove){var n=this;return this.css(o.property,""),t.each(r._groups,function(t,e){e.elements=e.elements.not(n)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version="0.7.2",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,
r._afterUpdate=null,r._rows=a,r._parse=n,r._parseOptions=i,r._apply=function(e,o){var s=i(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t("html").outerHeight(!0),u=h.parents().filter(":hidden");return u.each(function(){var e=t(this);e.data("style-cache",e.attr("style"))}),u.css("display","block"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block"),e.data("style-cache",e.attr("style")),e.css({display:o,"padding-top":"0",
"padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),l=a(h),h.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||"")})),t.each(l,function(e,o){var a=t(o),i=0;if(s.target)i=s.target.outerHeight(!1);else{if(s.byRow&&a.length<=1)return void a.css(s.property,"");a.each(function(){var e=t(this),o=e.attr("style"),n=e.css("display");"inline-block"!==n&&"flex"!==n&&"inline-flex"!==n&&(n="block");var a={
display:n};a[s.property]="",e.css(a),e.outerHeight(!1)>i&&(i=e.outerHeight(!1)),o?e.attr("style",o):e.css("display","")})}a.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||("border-box"!==e.css("box-sizing")&&(o+=n(e.css("border-top-width"))+n(e.css("border-bottom-width")),o+=n(e.css("padding-top"))+n(e.css("padding-bottom"))),e.css(s.property,i-o+"px"))})}),u.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||null)}),r._maintainScroll&&t(window).scrollTop(c/p*t("html").outerHeight(!0)),
this},r._applyDataApi=function(){var e={};t("[data-match-height], [data-mh]").each(function(){var o=t(this),n=o.attr("data-mh")||o.attr("data-match-height");n in e?e[n]=e[n].add(o):e[n]=o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(n,a){if(a&&"resize"===a.type){var i=t(window).width();if(i===e)return;e=i;
}n?o===-1&&(o=setTimeout(function(){s(a),o=-1},r._throttle)):s(a)},t(r._applyDataApi);var h=t.fn.on?"on":"bind";t(window)[h]("load",function(t){r._update(!1,t)}),t(window)[h]("resize orientationchange",function(t){r._update(!0,t)})});
(function (global, factory){
typeof exports==='object'&&typeof module!=='undefined' ? module.exports=factory() :
typeof define==='function'&&define.amd ? define(factory) :
(global=global||self, global.Swiper=factory());
}(this, (function (){ 'use strict';
var doc=(typeof document==='undefined') ? {
body: {},
addEventListener: function addEventListener(){},
removeEventListener: function removeEventListener(){},
activeElement: {
blur: function blur(){},
nodeName: '',
},
querySelector: function querySelector(){
return null;
},
querySelectorAll: function querySelectorAll(){
return [];
},
getElementById: function getElementById(){
return null;
},
createEvent: function createEvent(){
return {
initEvent: function initEvent(){},
};},
createElement: function createElement(){
return {
children: [],
childNodes: [],
style: {},
setAttribute: function setAttribute(){},
getElementsByTagName: function getElementsByTagName(){
return [];
},
};},
location: { hash: '' },
}:document;
var win=(typeof window==='undefined') ? {
document: doc,
navigator: {
userAgent: '',
},
location: {},
history: {},
CustomEvent: function CustomEvent(){
return this;
},
addEventListener: function addEventListener(){},
removeEventListener: function removeEventListener(){},
getComputedStyle: function getComputedStyle(){
return {
getPropertyValue: function getPropertyValue(){
return '';
},
};},
Image: function Image(){},
Date: function Date(){},
screen: {},
setTimeout: function setTimeout(){},
clearTimeout: function clearTimeout(){},
}:window;
var Dom7=function Dom7(arr){
var self=this;
for (var i=0; i < arr.length; i +=1){
self[i]=arr[i];
}
self.length=arr.length;
return this;
};
function $(selector, context){
var arr=[];
var i=0;
if(selector&&!context){
if(selector instanceof Dom7){
return selector;
}}
if(selector){
if(typeof selector==='string'){
var els;
var tempParent;
var html=selector.trim();
if(html.indexOf('<') >=0&&html.indexOf('>') >=0){
var toCreate='div';
if(html.indexOf('<li')===0){ toCreate='ul'; }
if(html.indexOf('<tr')===0){ toCreate='tbody'; }
if(html.indexOf('<td')===0||html.indexOf('<th')===0){ toCreate='tr'; }
if(html.indexOf('<tbody')===0){ toCreate='table'; }
if(html.indexOf('<option')===0){ toCreate='select'; }
tempParent=doc.createElement(toCreate);
tempParent.innerHTML=html;
for (i=0; i < tempParent.childNodes.length; i +=1){
arr.push(tempParent.childNodes[i]);
}}else{
if(!context&&selector[0]==='#'&&!selector.match(/[ .<>:~]/)){
els=[doc.getElementById(selector.trim().split('#')[1])];
}else{
els=(context||doc).querySelectorAll(selector.trim());
}
for (i=0; i < els.length; i +=1){
if(els[i]){ arr.push(els[i]); }}
}}else if(selector.nodeType||selector===win||selector===doc){
arr.push(selector);
}else if(selector.length > 0&&selector[0].nodeType){
for (i=0; i < selector.length; i +=1){
arr.push(selector[i]);
}}
}
return new Dom7(arr);
}
$.fn=Dom7.prototype;
$.Class=Dom7;
$.Dom7=Dom7;
function unique(arr){
var uniqueArray=[];
for (var i=0; i < arr.length; i +=1){
if(uniqueArray.indexOf(arr[i])===-1){ uniqueArray.push(arr[i]); }}
return uniqueArray;
}
function addClass(className){
if(typeof className==='undefined'){
return this;
}
var classes=className.split(' ');
for (var i=0; i < classes.length; i +=1){
for (var j=0; j < this.length; j +=1){
if(typeof this[j]!=='undefined'&&typeof this[j].classList!=='undefined'){ this[j].classList.add(classes[i]); }}
}
return this;
}
function removeClass(className){
var classes=className.split(' ');
for (var i=0; i < classes.length; i +=1){
for (var j=0; j < this.length; j +=1){
if(typeof this[j]!=='undefined'&&typeof this[j].classList!=='undefined'){ this[j].classList.remove(classes[i]); }}
}
return this;
}
function hasClass(className){
if(!this[0]){ return false; }
return this[0].classList.contains(className);
}
function toggleClass(className){
var classes=className.split(' ');
for (var i=0; i < classes.length; i +=1){
for (var j=0; j < this.length; j +=1){
if(typeof this[j]!=='undefined'&&typeof this[j].classList!=='undefined'){ this[j].classList.toggle(classes[i]); }}
}
return this;
}
function attr(attrs, value){
var arguments$1=arguments;
if(arguments.length===1&&typeof attrs==='string'){
if(this[0]){ return this[0].getAttribute(attrs); }
return undefined;
}
for (var i=0; i < this.length; i +=1){
if(arguments$1.length===2){
this[i].setAttribute(attrs, value);
}else{
for (var attrName in attrs){
this[i][attrName]=attrs[attrName];
this[i].setAttribute(attrName, attrs[attrName]);
}}
}
return this;
}
function removeAttr(attr){
for (var i=0; i < this.length; i +=1){
this[i].removeAttribute(attr);
}
return this;
}
function data(key, value){
var el;
if(typeof value==='undefined'){
el=this[0];
if(el){
if(el.dom7ElementDataStorage&&(key in el.dom7ElementDataStorage)){
return el.dom7ElementDataStorage[key];
}
var dataKey=el.getAttribute(("data-" + key));
if(dataKey){
return dataKey;
}
return undefined;
}
return undefined;
}
for (var i=0; i < this.length; i +=1){
el=this[i];
if(!el.dom7ElementDataStorage){ el.dom7ElementDataStorage={};}
el.dom7ElementDataStorage[key]=value;
}
return this;
}
function transform(transform){
for (var i=0; i < this.length; i +=1){
var elStyle=this[i].style;
elStyle.webkitTransform=transform;
elStyle.transform=transform;
}
return this;
}
function transition(duration){
if(typeof duration!=='string'){
duration=duration + "ms";
}
for (var i=0; i < this.length; i +=1){
var elStyle=this[i].style;
elStyle.webkitTransitionDuration=duration;
elStyle.transitionDuration=duration;
}
return this;
}
function on(){
var assign;
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var eventType=args[0];
var targetSelector=args[1];
var listener=args[2];
var capture=args[3];
if(typeof args[1]==='function'){
(assign=args, eventType=assign[0], listener=assign[1], capture=assign[2]);
targetSelector=undefined;
}
if(!capture){ capture=false; }
function handleLiveEvent(e){
var target=e.target;
if(!target){ return; }
var eventData=e.target.dom7EventData||[];
if(eventData.indexOf(e) < 0){
eventData.unshift(e);
}
if($(target).is(targetSelector)){ listener.apply(target, eventData); }else{
var parents=$(target).parents();
for (var k=0; k < parents.length; k +=1){
if($(parents[k]).is(targetSelector)){ listener.apply(parents[k], eventData); }}
}}
function handleEvent(e){
var eventData=e&&e.target ? e.target.dom7EventData||[]:[];
if(eventData.indexOf(e) < 0){
eventData.unshift(e);
}
listener.apply(this, eventData);
}
var events=eventType.split(' ');
var j;
for (var i=0; i < this.length; i +=1){
var el=this[i];
if(!targetSelector){
for (j=0; j < events.length; j +=1){
var event=events[j];
if(!el.dom7Listeners){ el.dom7Listeners={};}
if(!el.dom7Listeners[event]){ el.dom7Listeners[event]=[]; }
el.dom7Listeners[event].push({
listener: listener,
proxyListener: handleEvent,
});
el.addEventListener(event, handleEvent, capture);
}}else{
for (j=0; j < events.length; j +=1){
var event$1=events[j];
if(!el.dom7LiveListeners){ el.dom7LiveListeners={};}
if(!el.dom7LiveListeners[event$1]){ el.dom7LiveListeners[event$1]=[]; }
el.dom7LiveListeners[event$1].push({
listener: listener,
proxyListener: handleLiveEvent,
});
el.addEventListener(event$1, handleLiveEvent, capture);
}}
}
return this;
}
function off(){
var assign;
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var eventType=args[0];
var targetSelector=args[1];
var listener=args[2];
var capture=args[3];
if(typeof args[1]==='function'){
(assign=args, eventType=assign[0], listener=assign[1], capture=assign[2]);
targetSelector=undefined;
}
if(!capture){ capture=false; }
var events=eventType.split(' ');
for (var i=0; i < events.length; i +=1){
var event=events[i];
for (var j=0; j < this.length; j +=1){
var el=this[j];
var handlers=(void 0);
if(!targetSelector&&el.dom7Listeners){
handlers=el.dom7Listeners[event];
}else if(targetSelector&&el.dom7LiveListeners){
handlers=el.dom7LiveListeners[event];
}
if(handlers&&handlers.length){
for (var k=handlers.length - 1; k >=0; k -=1){
var handler=handlers[k];
if(listener&&handler.listener===listener){
el.removeEventListener(event, handler.proxyListener, capture);
handlers.splice(k, 1);
}else if(listener&&handler.listener&&handler.listener.dom7proxy&&handler.listener.dom7proxy===listener){
el.removeEventListener(event, handler.proxyListener, capture);
handlers.splice(k, 1);
}else if(!listener){
el.removeEventListener(event, handler.proxyListener, capture);
handlers.splice(k, 1);
}}
}}
}
return this;
}
function trigger(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var events=args[0].split(' ');
var eventData=args[1];
for (var i=0; i < events.length; i +=1){
var event=events[i];
for (var j=0; j < this.length; j +=1){
var el=this[j];
var evt=(void 0);
try {
evt=new win.CustomEvent(event, {
detail: eventData,
bubbles: true,
cancelable: true,
});
} catch (e){
evt=doc.createEvent('Event');
evt.initEvent(event, true, true);
evt.detail=eventData;
}
el.dom7EventData=args.filter(function (data, dataIndex){ return dataIndex > 0; });
el.dispatchEvent(evt);
el.dom7EventData=[];
delete el.dom7EventData;
}}
return this;
}
function transitionEnd(callback){
var events=['webkitTransitionEnd', 'transitionend'];
var dom=this;
var i;
function fireCallBack(e){
if(e.target!==this){ return; }
callback.call(this, e);
for (i=0; i < events.length; i +=1){
dom.off(events[i], fireCallBack);
}}
if(callback){
for (i=0; i < events.length; i +=1){
dom.on(events[i], fireCallBack);
}}
return this;
}
function outerWidth(includeMargins){
if(this.length > 0){
if(includeMargins){
var styles=this.styles();
return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));
}
return this[0].offsetWidth;
}
return null;
}
function outerHeight(includeMargins){
if(this.length > 0){
if(includeMargins){
var styles=this.styles();
return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));
}
return this[0].offsetHeight;
}
return null;
}
function offset(){
if(this.length > 0){
var el=this[0];
var box=el.getBoundingClientRect();
var body=doc.body;
var clientTop=el.clientTop||body.clientTop||0;
var clientLeft=el.clientLeft||body.clientLeft||0;
var scrollTop=el===win ? win.scrollY:el.scrollTop;
var scrollLeft=el===win ? win.scrollX:el.scrollLeft;
return {
top: (box.top + scrollTop) - clientTop,
left: (box.left + scrollLeft) - clientLeft,
};}
return null;
}
function styles(){
if(this[0]){ return win.getComputedStyle(this[0], null); }
return {};}
function css(props, value){
var i;
if(arguments.length===1){
if(typeof props==='string'){
if(this[0]){ return win.getComputedStyle(this[0], null).getPropertyValue(props); }}else{
for (i=0; i < this.length; i +=1){
for (var prop in props){
this[i].style[prop]=props[prop];
}}
return this;
}}
if(arguments.length===2&&typeof props==='string'){
for (i=0; i < this.length; i +=1){
this[i].style[props]=value;
}
return this;
}
return this;
}
function each(callback){
if(!callback){ return this; }
for (var i=0; i < this.length; i +=1){
if(callback.call(this[i], i, this[i])===false){
return this;
}}
return this;
}
function filter(callback){
var matchedItems=[];
var dom=this;
for (var i=0; i < dom.length; i +=1){
if(callback.call(dom[i], i, dom[i])){ matchedItems.push(dom[i]); }}
return new Dom7(matchedItems);
}
function html(html){
if(typeof html==='undefined'){
return this[0] ? this[0].innerHTML:undefined;
}
for (var i=0; i < this.length; i +=1){
this[i].innerHTML=html;
}
return this;
}
function text(text){
if(typeof text==='undefined'){
if(this[0]){
return this[0].textContent.trim();
}
return null;
}
for (var i=0; i < this.length; i +=1){
this[i].textContent=text;
}
return this;
}
function is(selector){
var el=this[0];
var compareWith;
var i;
if(!el||typeof selector==='undefined'){ return false; }
if(typeof selector==='string'){
if(el.matches){ return el.matches(selector); }
else if(el.webkitMatchesSelector){ return el.webkitMatchesSelector(selector); }
else if(el.msMatchesSelector){ return el.msMatchesSelector(selector); }
compareWith=$(selector);
for (i=0; i < compareWith.length; i +=1){
if(compareWith[i]===el){ return true; }}
return false;
}else if(selector===doc){ return el===doc; }
else if(selector===win){ return el===win; }
if(selector.nodeType||selector instanceof Dom7){
compareWith=selector.nodeType ? [selector]:selector;
for (i=0; i < compareWith.length; i +=1){
if(compareWith[i]===el){ return true; }}
return false;
}
return false;
}
function index(){
var child=this[0];
var i;
if(child){
i=0;
while ((child=child.previousSibling)!==null){
if(child.nodeType===1){ i +=1; }}
return i;
}
return undefined;
}
function eq(index){
if(typeof index==='undefined'){ return this; }
var length=this.length;
var returnIndex;
if(index > length - 1){
return new Dom7([]);
}
if(index < 0){
returnIndex=length + index;
if(returnIndex < 0){ return new Dom7([]); }
return new Dom7([this[returnIndex]]);
}
return new Dom7([this[index]]);
}
function append(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var newChild;
for (var k=0; k < args.length; k +=1){
newChild=args[k];
for (var i=0; i < this.length; i +=1){
if(typeof newChild==='string'){
var tempDiv=doc.createElement('div');
tempDiv.innerHTML=newChild;
while (tempDiv.firstChild){
this[i].appendChild(tempDiv.firstChild);
}}else if(newChild instanceof Dom7){
for (var j=0; j < newChild.length; j +=1){
this[i].appendChild(newChild[j]);
}}else{
this[i].appendChild(newChild);
}}
}
return this;
}
function prepend(newChild){
var i;
var j;
for (i=0; i < this.length; i +=1){
if(typeof newChild==='string'){
var tempDiv=doc.createElement('div');
tempDiv.innerHTML=newChild;
for (j=tempDiv.childNodes.length - 1; j >=0; j -=1){
this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);
}}else if(newChild instanceof Dom7){
for (j=0; j < newChild.length; j +=1){
this[i].insertBefore(newChild[j], this[i].childNodes[0]);
}}else{
this[i].insertBefore(newChild, this[i].childNodes[0]);
}}
return this;
}
function next(selector){
if(this.length > 0){
if(selector){
if(this[0].nextElementSibling&&$(this[0].nextElementSibling).is(selector)){
return new Dom7([this[0].nextElementSibling]);
}
return new Dom7([]);
}
if(this[0].nextElementSibling){ return new Dom7([this[0].nextElementSibling]); }
return new Dom7([]);
}
return new Dom7([]);
}
function nextAll(selector){
var nextEls=[];
var el=this[0];
if(!el){ return new Dom7([]); }
while (el.nextElementSibling){
var next=el.nextElementSibling;
if(selector){
if($(next).is(selector)){ nextEls.push(next); }}else{ nextEls.push(next); }
el=next;
}
return new Dom7(nextEls);
}
function prev(selector){
if(this.length > 0){
var el=this[0];
if(selector){
if(el.previousElementSibling&&$(el.previousElementSibling).is(selector)){
return new Dom7([el.previousElementSibling]);
}
return new Dom7([]);
}
if(el.previousElementSibling){ return new Dom7([el.previousElementSibling]); }
return new Dom7([]);
}
return new Dom7([]);
}
function prevAll(selector){
var prevEls=[];
var el=this[0];
if(!el){ return new Dom7([]); }
while (el.previousElementSibling){
var prev=el.previousElementSibling;
if(selector){
if($(prev).is(selector)){ prevEls.push(prev); }}else{ prevEls.push(prev); }
el=prev;
}
return new Dom7(prevEls);
}
function parent(selector){
var parents=[];
for (var i=0; i < this.length; i +=1){
if(this[i].parentNode!==null){
if(selector){
if($(this[i].parentNode).is(selector)){ parents.push(this[i].parentNode); }}else{
parents.push(this[i].parentNode);
}}
}
return $(unique(parents));
}
function parents(selector){
var parents=[];
for (var i=0; i < this.length; i +=1){
var parent=this[i].parentNode;
while (parent){
if(selector){
if($(parent).is(selector)){ parents.push(parent); }}else{
parents.push(parent);
}
parent=parent.parentNode;
}}
return $(unique(parents));
}
function closest(selector){
var closest=this;
if(typeof selector==='undefined'){
return new Dom7([]);
}
if(!closest.is(selector)){
closest=closest.parents(selector).eq(0);
}
return closest;
}
function find(selector){
var foundElements=[];
for (var i=0; i < this.length; i +=1){
var found=this[i].querySelectorAll(selector);
for (var j=0; j < found.length; j +=1){
foundElements.push(found[j]);
}}
return new Dom7(foundElements);
}
function children(selector){
var children=[];
for (var i=0; i < this.length; i +=1){
var childNodes=this[i].childNodes;
for (var j=0; j < childNodes.length; j +=1){
if(!selector){
if(childNodes[j].nodeType===1){ children.push(childNodes[j]); }}else if(childNodes[j].nodeType===1&&$(childNodes[j]).is(selector)){
children.push(childNodes[j]);
}}
}
return new Dom7(unique(children));
}
function remove(){
for (var i=0; i < this.length; i +=1){
if(this[i].parentNode){ this[i].parentNode.removeChild(this[i]); }}
return this;
}
function add(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var dom=this;
var i;
var j;
for (i=0; i < args.length; i +=1){
var toAdd=$(args[i]);
for (j=0; j < toAdd.length; j +=1){
dom[dom.length]=toAdd[j];
dom.length +=1;
}}
return dom;
}
var Methods={
addClass: addClass,
removeClass: removeClass,
hasClass: hasClass,
toggleClass: toggleClass,
attr: attr,
removeAttr: removeAttr,
data: data,
transform: transform,
transition: transition,
on: on,
off: off,
trigger: trigger,
transitionEnd: transitionEnd,
outerWidth: outerWidth,
outerHeight: outerHeight,
offset: offset,
css: css,
each: each,
html: html,
text: text,
is: is,
index: index,
eq: eq,
append: append,
prepend: prepend,
next: next,
nextAll: nextAll,
prev: prev,
prevAll: prevAll,
parent: parent,
parents: parents,
closest: closest,
find: find,
children: children,
filter: filter,
remove: remove,
add: add,
styles: styles,
};
Object.keys(Methods).forEach(function (methodName){
$.fn[methodName]=$.fn[methodName]||Methods[methodName];
});
var Utils={
deleteProps: function deleteProps(obj){
var object=obj;
Object.keys(object).forEach(function (key){
try {
object[key]=null;
} catch (e){
}
try {
delete object[key];
} catch (e){
}});
},
nextTick: function nextTick(callback, delay){
if(delay===void 0) delay=0;
return setTimeout(callback, delay);
},
now: function now(){
return Date.now();
},
getTranslate: function getTranslate(el, axis){
if(axis===void 0) axis='x';
var matrix;
var curTransform;
var transformMatrix;
var curStyle=win.getComputedStyle(el, null);
if(win.WebKitCSSMatrix){
curTransform=curStyle.transform||curStyle.webkitTransform;
if(curTransform.split(',').length > 6){
curTransform=curTransform.split(', ').map(function (a){ return a.replace(',', '.'); }).join(', ');
}
transformMatrix=new win.WebKitCSSMatrix(curTransform==='none' ? '':curTransform);
}else{
transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
matrix=transformMatrix.toString().split(',');
}
if(axis==='x'){
if(win.WebKitCSSMatrix){ curTransform=transformMatrix.m41; }
else if(matrix.length===16){ curTransform=parseFloat(matrix[12]); }else{ curTransform=parseFloat(matrix[4]); }}
if(axis==='y'){
if(win.WebKitCSSMatrix){ curTransform=transformMatrix.m42; }
else if(matrix.length===16){ curTransform=parseFloat(matrix[13]); }else{ curTransform=parseFloat(matrix[5]); }}
return curTransform||0;
},
parseUrlQuery: function parseUrlQuery(url){
var query={};
var urlToParse=url||win.location.href;
var i;
var params;
var param;
var length;
if(typeof urlToParse==='string'&&urlToParse.length){
urlToParse=urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\S*\?/, ''):'';
params=urlToParse.split('&').filter(function (paramsPart){ return paramsPart!==''; });
length=params.length;
for (i=0; i < length; i +=1){
param=params[i].replace(/#\S+/g, '').split('=');
query[decodeURIComponent(param[0])]=typeof param[1]==='undefined' ? undefined:decodeURIComponent(param[1])||'';
}}
return query;
},
isObject: function isObject(o){
return typeof o==='object'&&o!==null&&o.constructor&&o.constructor===Object;
},
extend: function extend(){
var args=[], len$1=arguments.length;
while(len$1--) args[ len$1 ]=arguments[ len$1 ];
var to=Object(args[0]);
for (var i=1; i < args.length; i +=1){
var nextSource=args[i];
if(nextSource!==undefined&&nextSource!==null){
var keysArray=Object.keys(Object(nextSource));
for (var nextIndex=0, len=keysArray.length; nextIndex < len; nextIndex +=1){
var nextKey=keysArray[nextIndex];
var desc=Object.getOwnPropertyDescriptor(nextSource, nextKey);
if(desc!==undefined&&desc.enumerable){
if(Utils.isObject(to[nextKey])&&Utils.isObject(nextSource[nextKey])){
Utils.extend(to[nextKey], nextSource[nextKey]);
}else if(!Utils.isObject(to[nextKey])&&Utils.isObject(nextSource[nextKey])){
to[nextKey]={};
Utils.extend(to[nextKey], nextSource[nextKey]);
}else{
to[nextKey]=nextSource[nextKey];
}}
}}
}
return to;
},
};
var Support=(function Support(){
return {
touch: (win.Modernizr&&win.Modernizr.touch===true)||(function checkTouch(){
return !!((win.navigator.maxTouchPoints > 0)||('ontouchstart' in win)||(win.DocumentTouch&&doc instanceof win.DocumentTouch));
}()),
pointerEvents: !!win.PointerEvent&&('maxTouchPoints' in win.navigator)&&win.navigator.maxTouchPoints > 0,
observer: (function checkObserver(){
return ('MutationObserver' in win||'WebkitMutationObserver' in win);
}()),
passiveListener: (function checkPassiveListener(){
var supportsPassive=false;
try {
var opts=Object.defineProperty({}, 'passive', {
get: function get(){
supportsPassive=true;
},
});
win.addEventListener('testPassiveListener', null, opts);
} catch (e){
}
return supportsPassive;
}()),
gestures: (function checkGestures(){
return 'ongesturestart' in win;
}()),
};}());
var SwiperClass=function SwiperClass(params){
if(params===void 0) params={};
var self=this;
self.params=params;
self.eventsListeners={};
if(self.params&&self.params.on){
Object.keys(self.params.on).forEach(function (eventName){
self.on(eventName, self.params.on[eventName]);
});
}};
var staticAccessors={ components: { configurable: true }};
SwiperClass.prototype.on=function on (events, handler, priority){
var self=this;
if(typeof handler!=='function'){ return self; }
var method=priority ? 'unshift':'push';
events.split(' ').forEach(function (event){
if(!self.eventsListeners[event]){ self.eventsListeners[event]=[]; }
self.eventsListeners[event][method](handler);
});
return self;
};
SwiperClass.prototype.once=function once (events, handler, priority){
var self=this;
if(typeof handler!=='function'){ return self; }
function onceHandler(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
self.off(events, onceHandler);
if(onceHandler.f7proxy){
delete onceHandler.f7proxy;
}
handler.apply(self, args);
}
onceHandler.f7proxy=handler;
return self.on(events, onceHandler, priority);
};
SwiperClass.prototype.off=function off (events, handler){
var self=this;
if(!self.eventsListeners){ return self; }
events.split(' ').forEach(function (event){
if(typeof handler==='undefined'){
self.eventsListeners[event]=[];
}else if(self.eventsListeners[event]&&self.eventsListeners[event].length){
self.eventsListeners[event].forEach(function (eventHandler, index){
if(eventHandler===handler||(eventHandler.f7proxy&&eventHandler.f7proxy===handler)){
self.eventsListeners[event].splice(index, 1);
}});
}});
return self;
};
SwiperClass.prototype.emit=function emit (){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var self=this;
if(!self.eventsListeners){ return self; }
var events;
var data;
var context;
if(typeof args[0]==='string'||Array.isArray(args[0])){
events=args[0];
data=args.slice(1, args.length);
context=self;
}else{
events=args[0].events;
data=args[0].data;
context=args[0].context||self;
}
var eventsArray=Array.isArray(events) ? events:events.split(' ');
eventsArray.forEach(function (event){
if(self.eventsListeners&&self.eventsListeners[event]){
var handlers=[];
self.eventsListeners[event].forEach(function (eventHandler){
handlers.push(eventHandler);
});
handlers.forEach(function (eventHandler){
eventHandler.apply(context, data);
});
}});
return self;
};
SwiperClass.prototype.useModulesParams=function useModulesParams (instanceParams){
var instance=this;
if(!instance.modules){ return; }
Object.keys(instance.modules).forEach(function (moduleName){
var module=instance.modules[moduleName];
if(module.params){
Utils.extend(instanceParams, module.params);
}});
};
SwiperClass.prototype.useModules=function useModules (modulesParams){
if(modulesParams===void 0) modulesParams={};
var instance=this;
if(!instance.modules){ return; }
Object.keys(instance.modules).forEach(function (moduleName){
var module=instance.modules[moduleName];
var moduleParams=modulesParams[moduleName]||{};
if(module.instance){
Object.keys(module.instance).forEach(function (modulePropName){
var moduleProp=module.instance[modulePropName];
if(typeof moduleProp==='function'){
instance[modulePropName]=moduleProp.bind(instance);
}else{
instance[modulePropName]=moduleProp;
}});
}
if(module.on&&instance.on){
Object.keys(module.on).forEach(function (moduleEventName){
instance.on(moduleEventName, module.on[moduleEventName]);
});
}
if(module.create){
module.create.bind(instance)(moduleParams);
}});
};
staticAccessors.components.set=function (components){
var Class=this;
if(!Class.use){ return; }
Class.use(components);
};
SwiperClass.installModule=function installModule (module){
var params=[], len=arguments.length - 1;
while(len-- > 0) params[ len ]=arguments[ len + 1 ];
var Class=this;
if(!Class.prototype.modules){ Class.prototype.modules={};}
var name=module.name||(((Object.keys(Class.prototype.modules).length) + "_" + (Utils.now())));
Class.prototype.modules[name]=module;
if(module.proto){
Object.keys(module.proto).forEach(function (key){
Class.prototype[key]=module.proto[key];
});
}
if(module.static){
Object.keys(module.static).forEach(function (key){
Class[key]=module.static[key];
});
}
if(module.install){
module.install.apply(Class, params);
}
return Class;
};
SwiperClass.use=function use (module){
var params=[], len=arguments.length - 1;
while(len-- > 0) params[ len ]=arguments[ len + 1 ];
var Class=this;
if(Array.isArray(module)){
module.forEach(function (m){ return Class.installModule(m); });
return Class;
}
return Class.installModule.apply(Class, [ module ].concat(params));
};
Object.defineProperties(SwiperClass, staticAccessors);
function updateSize (){
var swiper=this;
var width;
var height;
var $el=swiper.$el;
if(typeof swiper.params.width!=='undefined'){
width=swiper.params.width;
}else{
width=$el[0].clientWidth;
}
if(typeof swiper.params.height!=='undefined'){
height=swiper.params.height;
}else{
height=$el[0].clientHeight;
}
if((width===0&&swiper.isHorizontal())||(height===0&&swiper.isVertical())){
return;
}
width=width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);
height=height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);
Utils.extend(swiper, {
width: width,
height: height,
size: swiper.isHorizontal() ? width:height,
});
}
function updateSlides (){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var swiperSize=swiper.size;
var rtl=swiper.rtlTranslate;
var wrongRTL=swiper.wrongRTL;
var isVirtual=swiper.virtual&&params.virtual.enabled;
var previousSlidesLength=isVirtual ? swiper.virtual.slides.length:swiper.slides.length;
var slides=$wrapperEl.children(("." + (swiper.params.slideClass)));
var slidesLength=isVirtual ? swiper.virtual.slides.length:slides.length;
var snapGrid=[];
var slidesGrid=[];
var slidesSizesGrid=[];
function slidesForMargin(slideIndex){
if(!params.cssMode){ return true; }
if(slideIndex===slides.length - 1){
return false;
}
return true;
}
var offsetBefore=params.slidesOffsetBefore;
if(typeof offsetBefore==='function'){
offsetBefore=params.slidesOffsetBefore.call(swiper);
}
var offsetAfter=params.slidesOffsetAfter;
if(typeof offsetAfter==='function'){
offsetAfter=params.slidesOffsetAfter.call(swiper);
}
var previousSnapGridLength=swiper.snapGrid.length;
var previousSlidesGridLength=swiper.snapGrid.length;
var spaceBetween=params.spaceBetween;
var slidePosition=-offsetBefore;
var prevSlideSize=0;
var index=0;
if(typeof swiperSize==='undefined'){
return;
}
if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%') >=0){
spaceBetween=(parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;
}
swiper.virtualSize=-spaceBetween;
if(rtl){ slides.css({ marginLeft: '', marginTop: '' });}else{ slides.css({ marginRight: '', marginBottom: '' });}
var slidesNumberEvenToRows;
if(params.slidesPerColumn > 1){
if(Math.floor(slidesLength / params.slidesPerColumn)===slidesLength / swiper.params.slidesPerColumn){
slidesNumberEvenToRows=slidesLength;
}else{
slidesNumberEvenToRows=Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;
}
if(params.slidesPerView!=='auto'&&params.slidesPerColumnFill==='row'){
slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);
}}
var slideSize;
var slidesPerColumn=params.slidesPerColumn;
var slidesPerRow=slidesNumberEvenToRows / slidesPerColumn;
var numFullColumns=Math.floor(slidesLength / params.slidesPerColumn);
for (var i=0; i < slidesLength; i +=1){
slideSize=0;
var slide=slides.eq(i);
if(params.slidesPerColumn > 1){
var newSlideOrderIndex=(void 0);
var column=(void 0);
var row=(void 0);
if(params.slidesPerColumnFill==='row'&&params.slidesPerGroup > 1){
var groupIndex=Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));
var slideIndexInGroup=i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;
var columnsInGroup=groupIndex===0
? params.slidesPerGroup
: Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);
row=Math.floor(slideIndexInGroup / columnsInGroup);
column=(slideIndexInGroup - row * columnsInGroup) + groupIndex * params.slidesPerGroup;
newSlideOrderIndex=column + ((row * slidesNumberEvenToRows) / slidesPerColumn);
slide
.css({
'-webkit-box-ordinal-group': newSlideOrderIndex,
'-moz-box-ordinal-group': newSlideOrderIndex,
'-ms-flex-order': newSlideOrderIndex,
'-webkit-order': newSlideOrderIndex,
order: newSlideOrderIndex,
});
}else if(params.slidesPerColumnFill==='column'){
column=Math.floor(i / slidesPerColumn);
row=i - (column * slidesPerColumn);
if(column > numFullColumns||(column===numFullColumns&&row===slidesPerColumn - 1)){
row +=1;
if(row >=slidesPerColumn){
row=0;
column +=1;
}}
}else{
row=Math.floor(i / slidesPerRow);
column=i - (row * slidesPerRow);
}
slide.css(("margin-" + (swiper.isHorizontal() ? 'top':'left')),
(row!==0&&params.spaceBetween)&&(((params.spaceBetween) + "px"))
);
}
if(slide.css('display')==='none'){ continue; }
if(params.slidesPerView==='auto'){
var slideStyles=win.getComputedStyle(slide[0], null);
var currentTransform=slide[0].style.transform;
var currentWebKitTransform=slide[0].style.webkitTransform;
if(currentTransform){
slide[0].style.transform='none';
}
if(currentWebKitTransform){
slide[0].style.webkitTransform='none';
}
if(params.roundLengths){
slideSize=swiper.isHorizontal()
? slide.outerWidth(true)
: slide.outerHeight(true);
}else{
if(swiper.isHorizontal()){
var width=parseFloat(slideStyles.getPropertyValue('width'));
var paddingLeft=parseFloat(slideStyles.getPropertyValue('padding-left'));
var paddingRight=parseFloat(slideStyles.getPropertyValue('padding-right'));
var marginLeft=parseFloat(slideStyles.getPropertyValue('margin-left'));
var marginRight=parseFloat(slideStyles.getPropertyValue('margin-right'));
var boxSizing=slideStyles.getPropertyValue('box-sizing');
if(boxSizing&&boxSizing==='border-box'){
slideSize=width + marginLeft + marginRight;
}else{
slideSize=width + paddingLeft + paddingRight + marginLeft + marginRight;
}}else{
var height=parseFloat(slideStyles.getPropertyValue('height'));
var paddingTop=parseFloat(slideStyles.getPropertyValue('padding-top'));
var paddingBottom=parseFloat(slideStyles.getPropertyValue('padding-bottom'));
var marginTop=parseFloat(slideStyles.getPropertyValue('margin-top'));
var marginBottom=parseFloat(slideStyles.getPropertyValue('margin-bottom'));
var boxSizing$1=slideStyles.getPropertyValue('box-sizing');
if(boxSizing$1&&boxSizing$1==='border-box'){
slideSize=height + marginTop + marginBottom;
}else{
slideSize=height + paddingTop + paddingBottom + marginTop + marginBottom;
}}
}
if(currentTransform){
slide[0].style.transform=currentTransform;
}
if(currentWebKitTransform){
slide[0].style.webkitTransform=currentWebKitTransform;
}
if(params.roundLengths){ slideSize=Math.floor(slideSize); }}else{
slideSize=(swiperSize - ((params.slidesPerView - 1) * spaceBetween)) / params.slidesPerView;
if(params.roundLengths){ slideSize=Math.floor(slideSize); }
if(slides[i]){
if(swiper.isHorizontal()){
slides[i].style.width=slideSize + "px";
}else{
slides[i].style.height=slideSize + "px";
}}
}
if(slides[i]){
slides[i].swiperSlideSize=slideSize;
}
slidesSizesGrid.push(slideSize);
if(params.centeredSlides){
slidePosition=slidePosition + (slideSize / 2) + (prevSlideSize / 2) + spaceBetween;
if(prevSlideSize===0&&i!==0){ slidePosition=slidePosition - (swiperSize / 2) - spaceBetween; }
if(i===0){ slidePosition=slidePosition - (swiperSize / 2) - spaceBetween; }
if(Math.abs(slidePosition) < 1 / 1000){ slidePosition=0; }
if(params.roundLengths){ slidePosition=Math.floor(slidePosition); }
if((index) % params.slidesPerGroup===0){ snapGrid.push(slidePosition); }
slidesGrid.push(slidePosition);
}else{
if(params.roundLengths){ slidePosition=Math.floor(slidePosition); }
if((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup===0){ snapGrid.push(slidePosition); }
slidesGrid.push(slidePosition);
slidePosition=slidePosition + slideSize + spaceBetween;
}
swiper.virtualSize +=slideSize + spaceBetween;
prevSlideSize=slideSize;
index +=1;
}
swiper.virtualSize=Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
var newSlidesGrid;
if(rtl&&wrongRTL&&(params.effect==='slide'||params.effect==='coverflow')){
$wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") });
}
if(params.setWrapperSize){
if(swiper.isHorizontal()){ $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") });}else{ $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") });}}
if(params.slidesPerColumn > 1){
swiper.virtualSize=(slideSize + params.spaceBetween) * slidesNumberEvenToRows;
swiper.virtualSize=Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;
if(swiper.isHorizontal()){ $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") });}else{ $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") });}
if(params.centeredSlides){
newSlidesGrid=[];
for (var i$1=0; i$1 < snapGrid.length; i$1 +=1){
var slidesGridItem=snapGrid[i$1];
if(params.roundLengths){ slidesGridItem=Math.floor(slidesGridItem); }
if(snapGrid[i$1] < swiper.virtualSize + snapGrid[0]){ newSlidesGrid.push(slidesGridItem); }}
snapGrid=newSlidesGrid;
}}
if(!params.centeredSlides){
newSlidesGrid=[];
for (var i$2=0; i$2 < snapGrid.length; i$2 +=1){
var slidesGridItem$1=snapGrid[i$2];
if(params.roundLengths){ slidesGridItem$1=Math.floor(slidesGridItem$1); }
if(snapGrid[i$2] <=swiper.virtualSize - swiperSize){
newSlidesGrid.push(slidesGridItem$1);
}}
snapGrid=newSlidesGrid;
if(Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1){
snapGrid.push(swiper.virtualSize - swiperSize);
}}
if(snapGrid.length===0){ snapGrid=[0]; }
if(params.spaceBetween!==0){
if(swiper.isHorizontal()){
if(rtl){ slides.filter(slidesForMargin).css({ marginLeft: (spaceBetween + "px") });}else{ slides.filter(slidesForMargin).css({ marginRight: (spaceBetween + "px") });}}else{ slides.filter(slidesForMargin).css({ marginBottom: (spaceBetween + "px") });}}
if(params.centeredSlides&&params.centeredSlidesBounds){
var allSlidesSize=0;
slidesSizesGrid.forEach(function (slideSizeValue){
allSlidesSize +=slideSizeValue + (params.spaceBetween ? params.spaceBetween:0);
});
allSlidesSize -=params.spaceBetween;
var maxSnap=allSlidesSize - swiperSize;
snapGrid=snapGrid.map(function (snap){
if(snap < 0){ return -offsetBefore; }
if(snap > maxSnap){ return maxSnap + offsetAfter; }
return snap;
});
}
if(params.centerInsufficientSlides){
var allSlidesSize$1=0;
slidesSizesGrid.forEach(function (slideSizeValue){
allSlidesSize$1 +=slideSizeValue + (params.spaceBetween ? params.spaceBetween:0);
});
allSlidesSize$1 -=params.spaceBetween;
if(allSlidesSize$1 < swiperSize){
var allSlidesOffset=(swiperSize - allSlidesSize$1) / 2;
snapGrid.forEach(function (snap, snapIndex){
snapGrid[snapIndex]=snap - allSlidesOffset;
});
slidesGrid.forEach(function (snap, snapIndex){
slidesGrid[snapIndex]=snap + allSlidesOffset;
});
}}
Utils.extend(swiper, {
slides: slides,
snapGrid: snapGrid,
slidesGrid: slidesGrid,
slidesSizesGrid: slidesSizesGrid,
});
if(slidesLength!==previousSlidesLength){
swiper.emit('slidesLengthChange');
}
if(snapGrid.length!==previousSnapGridLength){
if(swiper.params.watchOverflow){ swiper.checkOverflow(); }
swiper.emit('snapGridLengthChange');
}
if(slidesGrid.length!==previousSlidesGridLength){
swiper.emit('slidesGridLengthChange');
}
if(params.watchSlidesProgress||params.watchSlidesVisibility){
swiper.updateSlidesOffset();
}}
function updateAutoHeight (speed){
var swiper=this;
var activeSlides=[];
var newHeight=0;
var i;
if(typeof speed==='number'){
swiper.setTransition(speed);
}else if(speed===true){
swiper.setTransition(swiper.params.speed);
}
if(swiper.params.slidesPerView!=='auto'&&swiper.params.slidesPerView > 1){
if(swiper.params.centeredSlides){
swiper.visibleSlides.each(function (index, slide){
activeSlides.push(slide);
});
}else{
for (i=0; i < Math.ceil(swiper.params.slidesPerView); i +=1){
var index=swiper.activeIndex + i;
if(index > swiper.slides.length){ break; }
activeSlides.push(swiper.slides.eq(index)[0]);
}}
}else{
activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);
}
for (i=0; i < activeSlides.length; i +=1){
if(typeof activeSlides[i]!=='undefined'){
var height=activeSlides[i].offsetHeight;
newHeight=height > newHeight ? height:newHeight;
}}
if(newHeight){ swiper.$wrapperEl.css('height', (newHeight + "px")); }}
function updateSlidesOffset (){
var swiper=this;
var slides=swiper.slides;
for (var i=0; i < slides.length; i +=1){
slides[i].swiperSlideOffset=swiper.isHorizontal() ? slides[i].offsetLeft:slides[i].offsetTop;
}}
function updateSlidesProgress (translate){
if(translate===void 0) translate=(this&&this.translate)||0;
var swiper=this;
var params=swiper.params;
var slides=swiper.slides;
var rtl=swiper.rtlTranslate;
if(slides.length===0){ return; }
if(typeof slides[0].swiperSlideOffset==='undefined'){ swiper.updateSlidesOffset(); }
var offsetCenter=-translate;
if(rtl){ offsetCenter=translate; }
slides.removeClass(params.slideVisibleClass);
swiper.visibleSlidesIndexes=[];
swiper.visibleSlides=[];
for (var i=0; i < slides.length; i +=1){
var slide=slides[i];
var slideProgress=(
(offsetCenter + (params.centeredSlides ? swiper.minTranslate():0)) - slide.swiperSlideOffset
) / (slide.swiperSlideSize + params.spaceBetween);
if(params.watchSlidesVisibility||(params.centeredSlides&&params.autoHeight)){
var slideBefore=-(offsetCenter - slide.swiperSlideOffset);
var slideAfter=slideBefore + swiper.slidesSizesGrid[i];
var isVisible=(slideBefore >=0&&slideBefore < swiper.size - 1)
|| (slideAfter > 1&&slideAfter <=swiper.size)
|| (slideBefore <=0&&slideAfter >=swiper.size);
if(isVisible){
swiper.visibleSlides.push(slide);
swiper.visibleSlidesIndexes.push(i);
slides.eq(i).addClass(params.slideVisibleClass);
}}
slide.progress=rtl ? -slideProgress:slideProgress;
}
swiper.visibleSlides=$(swiper.visibleSlides);
}
function updateProgress (translate){
var swiper=this;
if(typeof translate==='undefined'){
var multiplier=swiper.rtlTranslate ? -1:1;
translate=(swiper&&swiper.translate&&(swiper.translate * multiplier))||0;
}
var params=swiper.params;
var translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
var progress=swiper.progress;
var isBeginning=swiper.isBeginning;
var isEnd=swiper.isEnd;
var wasBeginning=isBeginning;
var wasEnd=isEnd;
if(translatesDiff===0){
progress=0;
isBeginning=true;
isEnd=true;
}else{
progress=(translate - swiper.minTranslate()) / (translatesDiff);
isBeginning=progress <=0;
isEnd=progress >=1;
}
Utils.extend(swiper, {
progress: progress,
isBeginning: isBeginning,
isEnd: isEnd,
});
if(params.watchSlidesProgress||params.watchSlidesVisibility||(params.centeredSlides&&params.autoHeight)){ swiper.updateSlidesProgress(translate); }
if(isBeginning&&!wasBeginning){
swiper.emit('reachBeginning toEdge');
}
if(isEnd&&!wasEnd){
swiper.emit('reachEnd toEdge');
}
if((wasBeginning&&!isBeginning)||(wasEnd&&!isEnd)){
swiper.emit('fromEdge');
}
swiper.emit('progress', progress);
}
function updateSlidesClasses (){
var swiper=this;
var slides=swiper.slides;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var activeIndex=swiper.activeIndex;
var realIndex=swiper.realIndex;
var isVirtual=swiper.virtual&&params.virtual.enabled;
slides.removeClass(((params.slideActiveClass) + " " + (params.slideNextClass) + " " + (params.slidePrevClass) + " " + (params.slideDuplicateActiveClass) + " " + (params.slideDuplicateNextClass) + " " + (params.slideDuplicatePrevClass)));
var activeSlide;
if(isVirtual){
activeSlide=swiper.$wrapperEl.find(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + activeIndex + "\"]"));
}else{
activeSlide=slides.eq(activeIndex);
}
activeSlide.addClass(params.slideActiveClass);
if(params.loop){
if(activeSlide.hasClass(params.slideDuplicateClass)){
$wrapperEl
.children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + realIndex + "\"]"))
.addClass(params.slideDuplicateActiveClass);
}else{
$wrapperEl
.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]"))
.addClass(params.slideDuplicateActiveClass);
}}
var nextSlide=activeSlide.nextAll(("." + (params.slideClass))).eq(0).addClass(params.slideNextClass);
if(params.loop&&nextSlide.length===0){
nextSlide=slides.eq(0);
nextSlide.addClass(params.slideNextClass);
}
var prevSlide=activeSlide.prevAll(("." + (params.slideClass))).eq(0).addClass(params.slidePrevClass);
if(params.loop&&prevSlide.length===0){
prevSlide=slides.eq(-1);
prevSlide.addClass(params.slidePrevClass);
}
if(params.loop){
if(nextSlide.hasClass(params.slideDuplicateClass)){
$wrapperEl
.children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicateNextClass);
}else{
$wrapperEl
.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicateNextClass);
}
if(prevSlide.hasClass(params.slideDuplicateClass)){
$wrapperEl
.children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicatePrevClass);
}else{
$wrapperEl
.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicatePrevClass);
}}
}
function updateActiveIndex (newActiveIndex){
var swiper=this;
var translate=swiper.rtlTranslate ? swiper.translate:-swiper.translate;
var slidesGrid=swiper.slidesGrid;
var snapGrid=swiper.snapGrid;
var params=swiper.params;
var previousIndex=swiper.activeIndex;
var previousRealIndex=swiper.realIndex;
var previousSnapIndex=swiper.snapIndex;
var activeIndex=newActiveIndex;
var snapIndex;
if(typeof activeIndex==='undefined'){
for (var i=0; i < slidesGrid.length; i +=1){
if(typeof slidesGrid[i + 1]!=='undefined'){
if(translate >=slidesGrid[i]&&translate < slidesGrid[i + 1] - ((slidesGrid[i + 1] - slidesGrid[i]) / 2)){
activeIndex=i;
}else if(translate >=slidesGrid[i]&&translate < slidesGrid[i + 1]){
activeIndex=i + 1;
}}else if(translate >=slidesGrid[i]){
activeIndex=i;
}}
if(params.normalizeSlideIndex){
if(activeIndex < 0||typeof activeIndex==='undefined'){ activeIndex=0; }}
}
if(snapGrid.indexOf(translate) >=0){
snapIndex=snapGrid.indexOf(translate);
}else{
var skip=Math.min(params.slidesPerGroupSkip, activeIndex);
snapIndex=skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
}
if(snapIndex >=snapGrid.length){ snapIndex=snapGrid.length - 1; }
if(activeIndex===previousIndex){
if(snapIndex!==previousSnapIndex){
swiper.snapIndex=snapIndex;
swiper.emit('snapIndexChange');
}
return;
}
var realIndex=parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index')||activeIndex, 10);
Utils.extend(swiper, {
snapIndex: snapIndex,
realIndex: realIndex,
previousIndex: previousIndex,
activeIndex: activeIndex,
});
swiper.emit('activeIndexChange');
swiper.emit('snapIndexChange');
if(previousRealIndex!==realIndex){
swiper.emit('realIndexChange');
}
if(swiper.initialized||swiper.params.runCallbacksOnInit){
swiper.emit('slideChange');
}}
function updateClickedSlide (e){
var swiper=this;
var params=swiper.params;
var slide=$(e.target).closest(("." + (params.slideClass)))[0];
var slideFound=false;
if(slide){
for (var i=0; i < swiper.slides.length; i +=1){
if(swiper.slides[i]===slide){ slideFound=true; }}
}
if(slide&&slideFound){
swiper.clickedSlide=slide;
if(swiper.virtual&&swiper.params.virtual.enabled){
swiper.clickedIndex=parseInt($(slide).attr('data-swiper-slide-index'), 10);
}else{
swiper.clickedIndex=$(slide).index();
}}else{
swiper.clickedSlide=undefined;
swiper.clickedIndex=undefined;
return;
}
if(params.slideToClickedSlide&&swiper.clickedIndex!==undefined&&swiper.clickedIndex!==swiper.activeIndex){
swiper.slideToClickedSlide();
}}
var update={
updateSize: updateSize,
updateSlides: updateSlides,
updateAutoHeight: updateAutoHeight,
updateSlidesOffset: updateSlidesOffset,
updateSlidesProgress: updateSlidesProgress,
updateProgress: updateProgress,
updateSlidesClasses: updateSlidesClasses,
updateActiveIndex: updateActiveIndex,
updateClickedSlide: updateClickedSlide,
};
function getTranslate (axis){
if(axis===void 0) axis=this.isHorizontal() ? 'x':'y';
var swiper=this;
var params=swiper.params;
var rtl=swiper.rtlTranslate;
var translate=swiper.translate;
var $wrapperEl=swiper.$wrapperEl;
if(params.virtualTranslate){
return rtl ? -translate:translate;
}
if(params.cssMode){
return translate;
}
var currentTranslate=Utils.getTranslate($wrapperEl[0], axis);
if(rtl){ currentTranslate=-currentTranslate; }
return currentTranslate||0;
}
function setTranslate (translate, byController){
var swiper=this;
var rtl=swiper.rtlTranslate;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var wrapperEl=swiper.wrapperEl;
var progress=swiper.progress;
var x=0;
var y=0;
var z=0;
if(swiper.isHorizontal()){
x=rtl ? -translate:translate;
}else{
y=translate;
}
if(params.roundLengths){
x=Math.floor(x);
y=Math.floor(y);
}
if(params.cssMode){
wrapperEl[swiper.isHorizontal() ? 'scrollLeft':'scrollTop']=swiper.isHorizontal() ? -x:-y;
}else if(!params.virtualTranslate){
$wrapperEl.transform(("translate3d(" + x + "px, " + y + "px, " + z + "px)"));
}
swiper.previousTranslate=swiper.translate;
swiper.translate=swiper.isHorizontal() ? x:y;
var newProgress;
var translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
if(translatesDiff===0){
newProgress=0;
}else{
newProgress=(translate - swiper.minTranslate()) / (translatesDiff);
}
if(newProgress!==progress){
swiper.updateProgress(translate);
}
swiper.emit('setTranslate', swiper.translate, byController);
}
function minTranslate (){
return (-this.snapGrid[0]);
}
function maxTranslate (){
return (-this.snapGrid[this.snapGrid.length - 1]);
}
function translateTo (translate, speed, runCallbacks, translateBounds, internal){
var obj;
if(translate===void 0) translate=0;
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
if(translateBounds===void 0) translateBounds=true;
var swiper=this;
var params=swiper.params;
var wrapperEl=swiper.wrapperEl;
if(swiper.animating&&params.preventInteractionOnTransition){
return false;
}
var minTranslate=swiper.minTranslate();
var maxTranslate=swiper.maxTranslate();
var newTranslate;
if(translateBounds&&translate > minTranslate){ newTranslate=minTranslate; }
else if(translateBounds&&translate < maxTranslate){ newTranslate=maxTranslate; }else{ newTranslate=translate; }
swiper.updateProgress(newTranslate);
if(params.cssMode){
var isH=swiper.isHorizontal();
if(speed===0){
wrapperEl[isH ? 'scrollLeft':'scrollTop']=-newTranslate;
}else{
if(wrapperEl.scrollTo){
wrapperEl.scrollTo((obj={}, obj[isH ? 'left':'top']=-newTranslate, obj.behavior='smooth', obj));
}else{
wrapperEl[isH ? 'scrollLeft':'scrollTop']=-newTranslate;
}}
return true;
}
if(speed===0){
swiper.setTransition(0);
swiper.setTranslate(newTranslate);
if(runCallbacks){
swiper.emit('beforeTransitionStart', speed, internal);
swiper.emit('transitionEnd');
}}else{
swiper.setTransition(speed);
swiper.setTranslate(newTranslate);
if(runCallbacks){
swiper.emit('beforeTransitionStart', speed, internal);
swiper.emit('transitionStart');
}
if(!swiper.animating){
swiper.animating=true;
if(!swiper.onTranslateToWrapperTransitionEnd){
swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){
if(!swiper||swiper.destroyed){ return; }
if(e.target!==this){ return; }
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
swiper.onTranslateToWrapperTransitionEnd=null;
delete swiper.onTranslateToWrapperTransitionEnd;
if(runCallbacks){
swiper.emit('transitionEnd');
}};}
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
}}
return true;
}
var translate={
getTranslate: getTranslate,
setTranslate: setTranslate,
minTranslate: minTranslate,
maxTranslate: maxTranslate,
translateTo: translateTo,
};
function setTransition (duration, byController){
var swiper=this;
if(!swiper.params.cssMode){
swiper.$wrapperEl.transition(duration);
}
swiper.emit('setTransition', duration, byController);
}
function transitionStart (runCallbacks, direction){
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var activeIndex=swiper.activeIndex;
var params=swiper.params;
var previousIndex=swiper.previousIndex;
if(params.cssMode){ return; }
if(params.autoHeight){
swiper.updateAutoHeight();
}
var dir=direction;
if(!dir){
if(activeIndex > previousIndex){ dir='next'; }
else if(activeIndex < previousIndex){ dir='prev'; }else{ dir='reset'; }}
swiper.emit('transitionStart');
if(runCallbacks&&activeIndex!==previousIndex){
if(dir==='reset'){
swiper.emit('slideResetTransitionStart');
return;
}
swiper.emit('slideChangeTransitionStart');
if(dir==='next'){
swiper.emit('slideNextTransitionStart');
}else{
swiper.emit('slidePrevTransitionStart');
}}
}
function transitionEnd$1 (runCallbacks, direction){
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var activeIndex=swiper.activeIndex;
var previousIndex=swiper.previousIndex;
var params=swiper.params;
swiper.animating=false;
if(params.cssMode){ return; }
swiper.setTransition(0);
var dir=direction;
if(!dir){
if(activeIndex > previousIndex){ dir='next'; }
else if(activeIndex < previousIndex){ dir='prev'; }else{ dir='reset'; }}
swiper.emit('transitionEnd');
if(runCallbacks&&activeIndex!==previousIndex){
if(dir==='reset'){
swiper.emit('slideResetTransitionEnd');
return;
}
swiper.emit('slideChangeTransitionEnd');
if(dir==='next'){
swiper.emit('slideNextTransitionEnd');
}else{
swiper.emit('slidePrevTransitionEnd');
}}
}
var transition$1={
setTransition: setTransition,
transitionStart: transitionStart,
transitionEnd: transitionEnd$1,
};
function slideTo (index, speed, runCallbacks, internal){
var obj;
if(index===void 0) index=0;
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var slideIndex=index;
if(slideIndex < 0){ slideIndex=0; }
var params=swiper.params;
var snapGrid=swiper.snapGrid;
var slidesGrid=swiper.slidesGrid;
var previousIndex=swiper.previousIndex;
var activeIndex=swiper.activeIndex;
var rtl=swiper.rtlTranslate;
var wrapperEl=swiper.wrapperEl;
if(swiper.animating&&params.preventInteractionOnTransition){
return false;
}
var skip=Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
var snapIndex=skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
if(snapIndex >=snapGrid.length){ snapIndex=snapGrid.length - 1; }
if((activeIndex||params.initialSlide||0)===(previousIndex||0)&&runCallbacks){
swiper.emit('beforeSlideChangeStart');
}
var translate=-snapGrid[snapIndex];
swiper.updateProgress(translate);
if(params.normalizeSlideIndex){
for (var i=0; i < slidesGrid.length; i +=1){
if(-Math.floor(translate * 100) >=Math.floor(slidesGrid[i] * 100)){
slideIndex=i;
}}
}
if(swiper.initialized&&slideIndex!==activeIndex){
if(!swiper.allowSlideNext&&translate < swiper.translate&&translate < swiper.minTranslate()){
return false;
}
if(!swiper.allowSlidePrev&&translate > swiper.translate&&translate > swiper.maxTranslate()){
if((activeIndex||0)!==slideIndex){ return false; }}
}
var direction;
if(slideIndex > activeIndex){ direction='next'; }
else if(slideIndex < activeIndex){ direction='prev'; }else{ direction='reset'; }
if((rtl&&-translate===swiper.translate)||(!rtl&&translate===swiper.translate)){
swiper.updateActiveIndex(slideIndex);
if(params.autoHeight){
swiper.updateAutoHeight();
}
swiper.updateSlidesClasses();
if(params.effect!=='slide'){
swiper.setTranslate(translate);
}
if(direction!=='reset'){
swiper.transitionStart(runCallbacks, direction);
swiper.transitionEnd(runCallbacks, direction);
}
return false;
}
if(params.cssMode){
var isH=swiper.isHorizontal();
var t=-translate;
if(rtl){
t=wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;
}
if(speed===0){
wrapperEl[isH ? 'scrollLeft':'scrollTop']=t;
}else{
if(wrapperEl.scrollTo){
wrapperEl.scrollTo((obj={}, obj[isH ? 'left':'top']=t, obj.behavior='smooth', obj));
}else{
wrapperEl[isH ? 'scrollLeft':'scrollTop']=t;
}}
return true;
}
if(speed===0){
swiper.setTransition(0);
swiper.setTranslate(translate);
swiper.updateActiveIndex(slideIndex);
swiper.updateSlidesClasses();
swiper.emit('beforeTransitionStart', speed, internal);
swiper.transitionStart(runCallbacks, direction);
swiper.transitionEnd(runCallbacks, direction);
}else{
swiper.setTransition(speed);
swiper.setTranslate(translate);
swiper.updateActiveIndex(slideIndex);
swiper.updateSlidesClasses();
swiper.emit('beforeTransitionStart', speed, internal);
swiper.transitionStart(runCallbacks, direction);
if(!swiper.animating){
swiper.animating=true;
if(!swiper.onSlideToWrapperTransitionEnd){
swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){
if(!swiper||swiper.destroyed){ return; }
if(e.target!==this){ return; }
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
swiper.onSlideToWrapperTransitionEnd=null;
delete swiper.onSlideToWrapperTransitionEnd;
swiper.transitionEnd(runCallbacks, direction);
};}
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
}}
return true;
}
function slideToLoop (index, speed, runCallbacks, internal){
if(index===void 0) index=0;
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var newIndex=index;
if(swiper.params.loop){
newIndex +=swiper.loopedSlides;
}
return swiper.slideTo(newIndex, speed, runCallbacks, internal);
}
function slideNext (speed, runCallbacks, internal){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var params=swiper.params;
var animating=swiper.animating;
var increment=swiper.activeIndex < params.slidesPerGroupSkip ? 1:params.slidesPerGroup;
if(params.loop){
if(animating){ return false; }
swiper.loopFix();
swiper._clientLeft=swiper.$wrapperEl[0].clientLeft;
}
return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
}
function slidePrev (speed, runCallbacks, internal){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var params=swiper.params;
var animating=swiper.animating;
var snapGrid=swiper.snapGrid;
var slidesGrid=swiper.slidesGrid;
var rtlTranslate=swiper.rtlTranslate;
if(params.loop){
if(animating){ return false; }
swiper.loopFix();
swiper._clientLeft=swiper.$wrapperEl[0].clientLeft;
}
var translate=rtlTranslate ? swiper.translate:-swiper.translate;
function normalize(val){
if(val < 0){ return -Math.floor(Math.abs(val)); }
return Math.floor(val);
}
var normalizedTranslate=normalize(translate);
var normalizedSnapGrid=snapGrid.map(function (val){ return normalize(val); });
var normalizedSlidesGrid=slidesGrid.map(function (val){ return normalize(val); });
var currentSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];
var prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
if(typeof prevSnap==='undefined'&&params.cssMode){
snapGrid.forEach(function (snap){
if(!prevSnap&&normalizedTranslate >=snap){ prevSnap=snap; }});
}
var prevIndex;
if(typeof prevSnap!=='undefined'){
prevIndex=slidesGrid.indexOf(prevSnap);
if(prevIndex < 0){ prevIndex=swiper.activeIndex - 1; }}
return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
}
function slideReset (speed, runCallbacks, internal){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
}
function slideToClosest (speed, runCallbacks, internal, threshold){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
if(threshold===void 0) threshold=0.5;
var swiper=this;
var index=swiper.activeIndex;
var skip=Math.min(swiper.params.slidesPerGroupSkip, index);
var snapIndex=skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
var translate=swiper.rtlTranslate ? swiper.translate:-swiper.translate;
if(translate >=swiper.snapGrid[snapIndex]){
var currentSnap=swiper.snapGrid[snapIndex];
var nextSnap=swiper.snapGrid[snapIndex + 1];
if((translate - currentSnap) > (nextSnap - currentSnap) * threshold){
index +=swiper.params.slidesPerGroup;
}}else{
var prevSnap=swiper.snapGrid[snapIndex - 1];
var currentSnap$1=swiper.snapGrid[snapIndex];
if((translate - prevSnap) <=(currentSnap$1 - prevSnap) * threshold){
index -=swiper.params.slidesPerGroup;
}}
index=Math.max(index, 0);
index=Math.min(index, swiper.slidesGrid.length - 1);
return swiper.slideTo(index, speed, runCallbacks, internal);
}
function slideToClickedSlide (){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var slidesPerView=params.slidesPerView==='auto' ? swiper.slidesPerViewDynamic():params.slidesPerView;
var slideToIndex=swiper.clickedIndex;
var realIndex;
if(params.loop){
if(swiper.animating){ return; }
realIndex=parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);
if(params.centeredSlides){
if((slideToIndex < swiper.loopedSlides - (slidesPerView / 2))
|| (slideToIndex > (swiper.slides.length - swiper.loopedSlides) + (slidesPerView / 2))
){
swiper.loopFix();
slideToIndex=$wrapperEl
.children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")"))
.eq(0)
.index();
Utils.nextTick(function (){
swiper.slideTo(slideToIndex);
});
}else{
swiper.slideTo(slideToIndex);
}}else if(slideToIndex > swiper.slides.length - slidesPerView){
swiper.loopFix();
slideToIndex=$wrapperEl
.children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")"))
.eq(0)
.index();
Utils.nextTick(function (){
swiper.slideTo(slideToIndex);
});
}else{
swiper.slideTo(slideToIndex);
}}else{
swiper.slideTo(slideToIndex);
}}
var slide={
slideTo: slideTo,
slideToLoop: slideToLoop,
slideNext: slideNext,
slidePrev: slidePrev,
slideReset: slideReset,
slideToClosest: slideToClosest,
slideToClickedSlide: slideToClickedSlide,
};
function loopCreate (){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
$wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass))).remove();
var slides=$wrapperEl.children(("." + (params.slideClass)));
if(params.loopFillGroupWithBlank){
var blankSlidesNum=params.slidesPerGroup - (slides.length % params.slidesPerGroup);
if(blankSlidesNum!==params.slidesPerGroup){
for (var i=0; i < blankSlidesNum; i +=1){
var blankNode=$(doc.createElement('div')).addClass(((params.slideClass) + " " + (params.slideBlankClass)));
$wrapperEl.append(blankNode);
}
slides=$wrapperEl.children(("." + (params.slideClass)));
}}
if(params.slidesPerView==='auto'&&!params.loopedSlides){ params.loopedSlides=slides.length; }
swiper.loopedSlides=Math.ceil(parseFloat(params.loopedSlides||params.slidesPerView, 10));
swiper.loopedSlides +=params.loopAdditionalSlides;
if(swiper.loopedSlides > slides.length){
swiper.loopedSlides=slides.length;
}
var prependSlides=[];
var appendSlides=[];
slides.each(function (index, el){
var slide=$(el);
if(index < swiper.loopedSlides){ appendSlides.push(el); }
if(index < slides.length&&index >=slides.length - swiper.loopedSlides){ prependSlides.push(el); }
slide.attr('data-swiper-slide-index', index);
});
for (var i$1=0; i$1 < appendSlides.length; i$1 +=1){
$wrapperEl.append($(appendSlides[i$1].cloneNode(true)).addClass(params.slideDuplicateClass));
}
for (var i$2=prependSlides.length - 1; i$2 >=0; i$2 -=1){
$wrapperEl.prepend($(prependSlides[i$2].cloneNode(true)).addClass(params.slideDuplicateClass));
}}
function loopFix (){
var swiper=this;
swiper.emit('beforeLoopFix');
var activeIndex=swiper.activeIndex;
var slides=swiper.slides;
var loopedSlides=swiper.loopedSlides;
var allowSlidePrev=swiper.allowSlidePrev;
var allowSlideNext=swiper.allowSlideNext;
var snapGrid=swiper.snapGrid;
var rtl=swiper.rtlTranslate;
var newIndex;
swiper.allowSlidePrev=true;
swiper.allowSlideNext=true;
var snapTranslate=-snapGrid[activeIndex];
var diff=snapTranslate - swiper.getTranslate();
if(activeIndex < loopedSlides){
newIndex=(slides.length - (loopedSlides * 3)) + activeIndex;
newIndex +=loopedSlides;
var slideChanged=swiper.slideTo(newIndex, 0, false, true);
if(slideChanged&&diff!==0){
swiper.setTranslate((rtl ? -swiper.translate:swiper.translate) - diff);
}}else if(activeIndex >=slides.length - loopedSlides){
newIndex=-slides.length + activeIndex + loopedSlides;
newIndex +=loopedSlides;
var slideChanged$1=swiper.slideTo(newIndex, 0, false, true);
if(slideChanged$1&&diff!==0){
swiper.setTranslate((rtl ? -swiper.translate:swiper.translate) - diff);
}}
swiper.allowSlidePrev=allowSlidePrev;
swiper.allowSlideNext=allowSlideNext;
swiper.emit('loopFix');
}
function loopDestroy (){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var params=swiper.params;
var slides=swiper.slides;
$wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + ",." + (params.slideClass) + "." + (params.slideBlankClass))).remove();
slides.removeAttr('data-swiper-slide-index');
}
var loop={
loopCreate: loopCreate,
loopFix: loopFix,
loopDestroy: loopDestroy,
};
function setGrabCursor (moving){
var swiper=this;
if(Support.touch||!swiper.params.simulateTouch||(swiper.params.watchOverflow&&swiper.isLocked)||swiper.params.cssMode){ return; }
var el=swiper.el;
el.style.cursor='move';
el.style.cursor=moving ? '-webkit-grabbing':'-webkit-grab';
el.style.cursor=moving ? '-moz-grabbin':'-moz-grab';
el.style.cursor=moving ? 'grabbing':'grab';
}
function unsetGrabCursor (){
var swiper=this;
if(Support.touch||(swiper.params.watchOverflow&&swiper.isLocked)||swiper.params.cssMode){ return; }
swiper.el.style.cursor='';
}
var grabCursor={
setGrabCursor: setGrabCursor,
unsetGrabCursor: unsetGrabCursor,
};
function appendSlide (slides){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var params=swiper.params;
if(params.loop){
swiper.loopDestroy();
}
if(typeof slides==='object'&&'length' in slides){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ $wrapperEl.append(slides[i]); }}
}else{
$wrapperEl.append(slides);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}}
function prependSlide (slides){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var activeIndex=swiper.activeIndex;
if(params.loop){
swiper.loopDestroy();
}
var newActiveIndex=activeIndex + 1;
if(typeof slides==='object'&&'length' in slides){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ $wrapperEl.prepend(slides[i]); }}
newActiveIndex=activeIndex + slides.length;
}else{
$wrapperEl.prepend(slides);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}
swiper.slideTo(newActiveIndex, 0, false);
}
function addSlide (index, slides){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var params=swiper.params;
var activeIndex=swiper.activeIndex;
var activeIndexBuffer=activeIndex;
if(params.loop){
activeIndexBuffer -=swiper.loopedSlides;
swiper.loopDestroy();
swiper.slides=$wrapperEl.children(("." + (params.slideClass)));
}
var baseLength=swiper.slides.length;
if(index <=0){
swiper.prependSlide(slides);
return;
}
if(index >=baseLength){
swiper.appendSlide(slides);
return;
}
var newActiveIndex=activeIndexBuffer > index ? activeIndexBuffer + 1:activeIndexBuffer;
var slidesBuffer=[];
for (var i=baseLength - 1; i >=index; i -=1){
var currentSlide=swiper.slides.eq(i);
currentSlide.remove();
slidesBuffer.unshift(currentSlide);
}
if(typeof slides==='object'&&'length' in slides){
for (var i$1=0; i$1 < slides.length; i$1 +=1){
if(slides[i$1]){ $wrapperEl.append(slides[i$1]); }}
newActiveIndex=activeIndexBuffer > index ? activeIndexBuffer + slides.length:activeIndexBuffer;
}else{
$wrapperEl.append(slides);
}
for (var i$2=0; i$2 < slidesBuffer.length; i$2 +=1){
$wrapperEl.append(slidesBuffer[i$2]);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}
if(params.loop){
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
}else{
swiper.slideTo(newActiveIndex, 0, false);
}}
function removeSlide (slidesIndexes){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var activeIndex=swiper.activeIndex;
var activeIndexBuffer=activeIndex;
if(params.loop){
activeIndexBuffer -=swiper.loopedSlides;
swiper.loopDestroy();
swiper.slides=$wrapperEl.children(("." + (params.slideClass)));
}
var newActiveIndex=activeIndexBuffer;
var indexToRemove;
if(typeof slidesIndexes==='object'&&'length' in slidesIndexes){
for (var i=0; i < slidesIndexes.length; i +=1){
indexToRemove=slidesIndexes[i];
if(swiper.slides[indexToRemove]){ swiper.slides.eq(indexToRemove).remove(); }
if(indexToRemove < newActiveIndex){ newActiveIndex -=1; }}
newActiveIndex=Math.max(newActiveIndex, 0);
}else{
indexToRemove=slidesIndexes;
if(swiper.slides[indexToRemove]){ swiper.slides.eq(indexToRemove).remove(); }
if(indexToRemove < newActiveIndex){ newActiveIndex -=1; }
newActiveIndex=Math.max(newActiveIndex, 0);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}
if(params.loop){
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
}else{
swiper.slideTo(newActiveIndex, 0, false);
}}
function removeAllSlides (){
var swiper=this;
var slidesIndexes=[];
for (var i=0; i < swiper.slides.length; i +=1){
slidesIndexes.push(i);
}
swiper.removeSlide(slidesIndexes);
}
var manipulation={
appendSlide: appendSlide,
prependSlide: prependSlide,
addSlide: addSlide,
removeSlide: removeSlide,
removeAllSlides: removeAllSlides,
};
var Device=(function Device(){
var platform=win.navigator.platform;
var ua=win.navigator.userAgent;
var device={
ios: false,
android: false,
androidChrome: false,
desktop: false,
iphone: false,
ipod: false,
ipad: false,
edge: false,
ie: false,
firefox: false,
macos: false,
windows: false,
cordova: !!(win.cordova||win.phonegap),
phonegap: !!(win.cordova||win.phonegap),
electron: false,
};
var screenWidth=win.screen.width;
var screenHeight=win.screen.height;
var android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);
var ipad=ua.match(/(iPad).*OS\s([\d_]+)/);
var ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);
var iphone = !ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
var ie=ua.indexOf('MSIE ') >=0||ua.indexOf('Trident/') >=0;
var edge=ua.indexOf('Edge/') >=0;
var firefox=ua.indexOf('Gecko/') >=0&&ua.indexOf('Firefox/') >=0;
var windows=platform==='Win32';
var electron=ua.toLowerCase().indexOf('electron') >=0;
var macos=platform==='MacIntel';
if(!ipad
&& macos
&& Support.touch
&& (
(screenWidth===1024&&screenHeight===1366)
|| (screenWidth===834&&screenHeight===1194)
|| (screenWidth===834&&screenHeight===1112)
|| (screenWidth===768&&screenHeight===1024)
)
){
ipad=ua.match(/(Version)\/([\d.]+)/);
macos=false;
}
device.ie=ie;
device.edge=edge;
device.firefox=firefox;
if(android&&!windows){
device.os='android';
device.osVersion=android[2];
device.android=true;
device.androidChrome=ua.toLowerCase().indexOf('chrome') >=0;
}
if(ipad||iphone||ipod){
device.os='ios';
device.ios=true;
}
if(iphone&&!ipod){
device.osVersion=iphone[2].replace(/_/g, '.');
device.iphone=true;
}
if(ipad){
device.osVersion=ipad[2].replace(/_/g, '.');
device.ipad=true;
}
if(ipod){
device.osVersion=ipod[3] ? ipod[3].replace(/_/g, '.'):null;
device.ipod=true;
}
if(device.ios&&device.osVersion&&ua.indexOf('Version/') >=0){
if(device.osVersion.split('.')[0]==='10'){
device.osVersion=ua.toLowerCase().split('version/')[1].split(' ')[0];
}}
device.webView = !!((iphone||ipad||ipod)&&(ua.match(/.*AppleWebKit(?!.*Safari)/i)||win.navigator.standalone))
|| (win.matchMedia&&win.matchMedia('(display-mode: standalone)').matches);
device.webview=device.webView;
device.standalone=device.webView;
device.desktop = !(device.ios||device.android)||electron;
if(device.desktop){
device.electron=electron;
device.macos=macos;
device.windows=windows;
if(device.macos){
device.os='macos';
}
if(device.windows){
device.os='windows';
}}
device.pixelRatio=win.devicePixelRatio||1;
return device;
}());
function onTouchStart (event){
var swiper=this;
var data=swiper.touchEventsData;
var params=swiper.params;
var touches=swiper.touches;
if(swiper.animating&&params.preventInteractionOnTransition){
return;
}
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
var $targetEl=$(e.target);
if(params.touchEventsTarget==='wrapper'){
if(!$targetEl.closest(swiper.wrapperEl).length){ return; }}
data.isTouchEvent=e.type==='touchstart';
if(!data.isTouchEvent&&'which' in e&&e.which===3){ return; }
if(!data.isTouchEvent&&'button' in e&&e.button > 0){ return; }
if(data.isTouched&&data.isMoved){ return; }
if(params.noSwiping&&$targetEl.closest(params.noSwipingSelector ? params.noSwipingSelector:("." + (params.noSwipingClass)))[0]){
swiper.allowClick=true;
return;
}
if(params.swipeHandler){
if(!$targetEl.closest(params.swipeHandler)[0]){ return; }}
touches.currentX=e.type==='touchstart' ? e.targetTouches[0].pageX:e.pageX;
touches.currentY=e.type==='touchstart' ? e.targetTouches[0].pageY:e.pageY;
var startX=touches.currentX;
var startY=touches.currentY;
var edgeSwipeDetection=params.edgeSwipeDetection||params.iOSEdgeSwipeDetection;
var edgeSwipeThreshold=params.edgeSwipeThreshold||params.iOSEdgeSwipeThreshold;
if(edgeSwipeDetection
&& ((startX <=edgeSwipeThreshold)
|| (startX >=win.screen.width - edgeSwipeThreshold))
){
return;
}
Utils.extend(data, {
isTouched: true,
isMoved: false,
allowTouchCallbacks: true,
isScrolling: undefined,
startMoving: undefined,
});
touches.startX=startX;
touches.startY=startY;
data.touchStartTime=Utils.now();
swiper.allowClick=true;
swiper.updateSize();
swiper.swipeDirection=undefined;
if(params.threshold > 0){ data.allowThresholdMove=false; }
if(e.type!=='touchstart'){
var preventDefault=true;
if($targetEl.is(data.formElements)){ preventDefault=false; }
if(doc.activeElement
&& $(doc.activeElement).is(data.formElements)
&& doc.activeElement!==$targetEl[0]
){
doc.activeElement.blur();
}
var shouldPreventDefault=preventDefault&&swiper.allowTouchMove&&params.touchStartPreventDefault;
if(params.touchStartForcePreventDefault||shouldPreventDefault){
e.preventDefault();
}}
swiper.emit('touchStart', e);
}
function onTouchMove (event){
var swiper=this;
var data=swiper.touchEventsData;
var params=swiper.params;
var touches=swiper.touches;
var rtl=swiper.rtlTranslate;
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
if(!data.isTouched){
if(data.startMoving&&data.isScrolling){
swiper.emit('touchMoveOpposite', e);
}
return;
}
if(data.isTouchEvent&&e.type==='mousemove'){ return; }
var targetTouch=e.type==='touchmove'&&e.targetTouches&&(e.targetTouches[0]||e.changedTouches[0]);
var pageX=e.type==='touchmove' ? targetTouch.pageX:e.pageX;
var pageY=e.type==='touchmove' ? targetTouch.pageY:e.pageY;
if(e.preventedByNestedSwiper){
touches.startX=pageX;
touches.startY=pageY;
return;
}
if(!swiper.allowTouchMove){
swiper.allowClick=false;
if(data.isTouched){
Utils.extend(touches, {
startX: pageX,
startY: pageY,
currentX: pageX,
currentY: pageY,
});
data.touchStartTime=Utils.now();
}
return;
}
if(data.isTouchEvent&&params.touchReleaseOnEdges&&!params.loop){
if(swiper.isVertical()){
if((pageY < touches.startY&&swiper.translate <=swiper.maxTranslate())
|| (pageY > touches.startY&&swiper.translate >=swiper.minTranslate())
){
data.isTouched=false;
data.isMoved=false;
return;
}}else if((pageX < touches.startX&&swiper.translate <=swiper.maxTranslate())
|| (pageX > touches.startX&&swiper.translate >=swiper.minTranslate())
){
return;
}}
if(data.isTouchEvent&&doc.activeElement){
if(e.target===doc.activeElement&&$(e.target).is(data.formElements)){
data.isMoved=true;
swiper.allowClick=false;
return;
}}
if(data.allowTouchCallbacks){
swiper.emit('touchMove', e);
}
if(e.targetTouches&&e.targetTouches.length > 1){ return; }
touches.currentX=pageX;
touches.currentY=pageY;
var diffX=touches.currentX - touches.startX;
var diffY=touches.currentY - touches.startY;
if(swiper.params.threshold&&Math.sqrt((Math.pow(diffX, 2)) + (Math.pow(diffY, 2))) < swiper.params.threshold){ return; }
if(typeof data.isScrolling==='undefined'){
var touchAngle;
if((swiper.isHorizontal()&&touches.currentY===touches.startY)||(swiper.isVertical()&&touches.currentX===touches.startX)){
data.isScrolling=false;
}else{
if((diffX * diffX) + (diffY * diffY) >=25){
touchAngle=(Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;
data.isScrolling=swiper.isHorizontal() ? touchAngle > params.touchAngle:(90 - touchAngle > params.touchAngle);
}}
}
if(data.isScrolling){
swiper.emit('touchMoveOpposite', e);
}
if(typeof data.startMoving==='undefined'){
if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){
data.startMoving=true;
}}
if(data.isScrolling){
data.isTouched=false;
return;
}
if(!data.startMoving){
return;
}
swiper.allowClick=false;
if(!params.cssMode){
e.preventDefault();
}
if(params.touchMoveStopPropagation&&!params.nested){
e.stopPropagation();
}
if(!data.isMoved){
if(params.loop){
swiper.loopFix();
}
data.startTranslate=swiper.getTranslate();
swiper.setTransition(0);
if(swiper.animating){
swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');
}
data.allowMomentumBounce=false;
if(params.grabCursor&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){
swiper.setGrabCursor(true);
}
swiper.emit('sliderFirstMove', e);
}
swiper.emit('sliderMove', e);
data.isMoved=true;
var diff=swiper.isHorizontal() ? diffX:diffY;
touches.diff=diff;
diff *=params.touchRatio;
if(rtl){ diff=-diff; }
swiper.swipeDirection=diff > 0 ? 'prev':'next';
data.currentTranslate=diff + data.startTranslate;
var disableParentSwiper=true;
var resistanceRatio=params.resistanceRatio;
if(params.touchReleaseOnEdges){
resistanceRatio=0;
}
if((diff > 0&&data.currentTranslate > swiper.minTranslate())){
disableParentSwiper=false;
if(params.resistance){ data.currentTranslate=(swiper.minTranslate() - 1) + (Math.pow((-swiper.minTranslate() + data.startTranslate + diff), resistanceRatio)); }}else if(diff < 0&&data.currentTranslate < swiper.maxTranslate()){
disableParentSwiper=false;
if(params.resistance){ data.currentTranslate=(swiper.maxTranslate() + 1) - (Math.pow((swiper.maxTranslate() - data.startTranslate - diff), resistanceRatio)); }}
if(disableParentSwiper){
e.preventedByNestedSwiper=true;
}
if(!swiper.allowSlideNext&&swiper.swipeDirection==='next'&&data.currentTranslate < data.startTranslate){
data.currentTranslate=data.startTranslate;
}
if(!swiper.allowSlidePrev&&swiper.swipeDirection==='prev'&&data.currentTranslate > data.startTranslate){
data.currentTranslate=data.startTranslate;
}
if(params.threshold > 0){
if(Math.abs(diff) > params.threshold||data.allowThresholdMove){
if(!data.allowThresholdMove){
data.allowThresholdMove=true;
touches.startX=touches.currentX;
touches.startY=touches.currentY;
data.currentTranslate=data.startTranslate;
touches.diff=swiper.isHorizontal() ? touches.currentX - touches.startX:touches.currentY - touches.startY;
return;
}}else{
data.currentTranslate=data.startTranslate;
return;
}}
if(!params.followFinger||params.cssMode){ return; }
if(params.freeMode||params.watchSlidesProgress||params.watchSlidesVisibility){
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
if(params.freeMode){
if(data.velocities.length===0){
data.velocities.push({
position: touches[swiper.isHorizontal() ? 'startX':'startY'],
time: data.touchStartTime,
});
}
data.velocities.push({
position: touches[swiper.isHorizontal() ? 'currentX':'currentY'],
time: Utils.now(),
});
}
swiper.updateProgress(data.currentTranslate);
swiper.setTranslate(data.currentTranslate);
}
function onTouchEnd (event){
var swiper=this;
var data=swiper.touchEventsData;
var params=swiper.params;
var touches=swiper.touches;
var rtl=swiper.rtlTranslate;
var $wrapperEl=swiper.$wrapperEl;
var slidesGrid=swiper.slidesGrid;
var snapGrid=swiper.snapGrid;
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
if(data.allowTouchCallbacks){
swiper.emit('touchEnd', e);
}
data.allowTouchCallbacks=false;
if(!data.isTouched){
if(data.isMoved&&params.grabCursor){
swiper.setGrabCursor(false);
}
data.isMoved=false;
data.startMoving=false;
return;
}
if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){
swiper.setGrabCursor(false);
}
var touchEndTime=Utils.now();
var timeDiff=touchEndTime - data.touchStartTime;
if(swiper.allowClick){
swiper.updateClickedSlide(e);
swiper.emit('tap click', e);
if(timeDiff < 300&&(touchEndTime - data.lastClickTime) < 300){
swiper.emit('doubleTap doubleClick', e);
}}
data.lastClickTime=Utils.now();
Utils.nextTick(function (){
if(!swiper.destroyed){ swiper.allowClick=true; }});
if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||touches.diff===0||data.currentTranslate===data.startTranslate){
data.isTouched=false;
data.isMoved=false;
data.startMoving=false;
return;
}
data.isTouched=false;
data.isMoved=false;
data.startMoving=false;
var currentPos;
if(params.followFinger){
currentPos=rtl ? swiper.translate:-swiper.translate;
}else{
currentPos=-data.currentTranslate;
}
if(params.cssMode){
return;
}
if(params.freeMode){
if(currentPos < -swiper.minTranslate()){
swiper.slideTo(swiper.activeIndex);
return;
}
if(currentPos > -swiper.maxTranslate()){
if(swiper.slides.length < snapGrid.length){
swiper.slideTo(snapGrid.length - 1);
}else{
swiper.slideTo(swiper.slides.length - 1);
}
return;
}
if(params.freeModeMomentum){
if(data.velocities.length > 1){
var lastMoveEvent=data.velocities.pop();
var velocityEvent=data.velocities.pop();
var distance=lastMoveEvent.position - velocityEvent.position;
var time=lastMoveEvent.time - velocityEvent.time;
swiper.velocity=distance / time;
swiper.velocity /=2;
if(Math.abs(swiper.velocity) < params.freeModeMinimumVelocity){
swiper.velocity=0;
}
if(time > 150||(Utils.now() - lastMoveEvent.time) > 300){
swiper.velocity=0;
}}else{
swiper.velocity=0;
}
swiper.velocity *=params.freeModeMomentumVelocityRatio;
data.velocities.length=0;
var momentumDuration=1000 * params.freeModeMomentumRatio;
var momentumDistance=swiper.velocity * momentumDuration;
var newPosition=swiper.translate + momentumDistance;
if(rtl){ newPosition=-newPosition; }
var doBounce=false;
var afterBouncePosition;
var bounceAmount=Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;
var needsLoopFix;
if(newPosition < swiper.maxTranslate()){
if(params.freeModeMomentumBounce){
if(newPosition + swiper.maxTranslate() < -bounceAmount){
newPosition=swiper.maxTranslate() - bounceAmount;
}
afterBouncePosition=swiper.maxTranslate();
doBounce=true;
data.allowMomentumBounce=true;
}else{
newPosition=swiper.maxTranslate();
}
if(params.loop&&params.centeredSlides){ needsLoopFix=true; }}else if(newPosition > swiper.minTranslate()){
if(params.freeModeMomentumBounce){
if(newPosition - swiper.minTranslate() > bounceAmount){
newPosition=swiper.minTranslate() + bounceAmount;
}
afterBouncePosition=swiper.minTranslate();
doBounce=true;
data.allowMomentumBounce=true;
}else{
newPosition=swiper.minTranslate();
}
if(params.loop&&params.centeredSlides){ needsLoopFix=true; }}else if(params.freeModeSticky){
var nextSlide;
for (var j=0; j < snapGrid.length; j +=1){
if(snapGrid[j] > -newPosition){
nextSlide=j;
break;
}}
if(Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition)||swiper.swipeDirection==='next'){
newPosition=snapGrid[nextSlide];
}else{
newPosition=snapGrid[nextSlide - 1];
}
newPosition=-newPosition;
}
if(needsLoopFix){
swiper.once('transitionEnd', function (){
swiper.loopFix();
});
}
if(swiper.velocity!==0){
if(rtl){
momentumDuration=Math.abs((-newPosition - swiper.translate) / swiper.velocity);
}else{
momentumDuration=Math.abs((newPosition - swiper.translate) / swiper.velocity);
}
if(params.freeModeSticky){
var moveDistance=Math.abs((rtl ? -newPosition:newPosition) - swiper.translate);
var currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];
if(moveDistance < currentSlideSize){
momentumDuration=params.speed;
}else if(moveDistance < 2 * currentSlideSize){
momentumDuration=params.speed * 1.5;
}else{
momentumDuration=params.speed * 2.5;
}}
}else if(params.freeModeSticky){
swiper.slideToClosest();
return;
}
if(params.freeModeMomentumBounce&&doBounce){
swiper.updateProgress(afterBouncePosition);
swiper.setTransition(momentumDuration);
swiper.setTranslate(newPosition);
swiper.transitionStart(true, swiper.swipeDirection);
swiper.animating=true;
$wrapperEl.transitionEnd(function (){
if(!swiper||swiper.destroyed||!data.allowMomentumBounce){ return; }
swiper.emit('momentumBounce');
swiper.setTransition(params.speed);
swiper.setTranslate(afterBouncePosition);
$wrapperEl.transitionEnd(function (){
if(!swiper||swiper.destroyed){ return; }
swiper.transitionEnd();
});
});
}else if(swiper.velocity){
swiper.updateProgress(newPosition);
swiper.setTransition(momentumDuration);
swiper.setTranslate(newPosition);
swiper.transitionStart(true, swiper.swipeDirection);
if(!swiper.animating){
swiper.animating=true;
$wrapperEl.transitionEnd(function (){
if(!swiper||swiper.destroyed){ return; }
swiper.transitionEnd();
});
}}else{
swiper.updateProgress(newPosition);
}
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}else if(params.freeModeSticky){
swiper.slideToClosest();
return;
}
if(!params.freeModeMomentum||timeDiff >=params.longSwipesMs){
swiper.updateProgress();
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
return;
}
var stopIndex=0;
var groupSize=swiper.slidesSizesGrid[0];
for (var i=0; i < slidesGrid.length; i +=(i < params.slidesPerGroupSkip ? 1:params.slidesPerGroup)){
var increment$1=(i < params.slidesPerGroupSkip - 1 ? 1:params.slidesPerGroup);
if(typeof slidesGrid[i + increment$1]!=='undefined'){
if(currentPos >=slidesGrid[i]&&currentPos < slidesGrid[i + increment$1]){
stopIndex=i;
groupSize=slidesGrid[i + increment$1] - slidesGrid[i];
}}else if(currentPos >=slidesGrid[i]){
stopIndex=i;
groupSize=slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
}}
var ratio=(currentPos - slidesGrid[stopIndex]) / groupSize;
var increment=(stopIndex < params.slidesPerGroupSkip - 1 ? 1:params.slidesPerGroup);
if(timeDiff > params.longSwipesMs){
if(!params.longSwipes){
swiper.slideTo(swiper.activeIndex);
return;
}
if(swiper.swipeDirection==='next'){
if(ratio >=params.longSwipesRatio){ swiper.slideTo(stopIndex + increment); }else{ swiper.slideTo(stopIndex); }}
if(swiper.swipeDirection==='prev'){
if(ratio > (1 - params.longSwipesRatio)){ swiper.slideTo(stopIndex + increment); }else{ swiper.slideTo(stopIndex); }}
}else{
if(!params.shortSwipes){
swiper.slideTo(swiper.activeIndex);
return;
}
var isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);
if(!isNavButtonTarget){
if(swiper.swipeDirection==='next'){
swiper.slideTo(stopIndex + increment);
}
if(swiper.swipeDirection==='prev'){
swiper.slideTo(stopIndex);
}}else if(e.target===swiper.navigation.nextEl){
swiper.slideTo(stopIndex + increment);
}else{
swiper.slideTo(stopIndex);
}}
}
function onResize (){
var swiper=this;
var params=swiper.params;
var el=swiper.el;
if(el&&el.offsetWidth===0){ return; }
if(params.breakpoints){
swiper.setBreakpoint();
}
var allowSlideNext=swiper.allowSlideNext;
var allowSlidePrev=swiper.allowSlidePrev;
var snapGrid=swiper.snapGrid;
swiper.allowSlideNext=true;
swiper.allowSlidePrev=true;
swiper.updateSize();
swiper.updateSlides();
swiper.updateSlidesClasses();
if((params.slidesPerView==='auto'||params.slidesPerView > 1)&&swiper.isEnd&&!swiper.params.centeredSlides){
swiper.slideTo(swiper.slides.length - 1, 0, false, true);
}else{
swiper.slideTo(swiper.activeIndex, 0, false, true);
}
if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){
swiper.autoplay.run();
}
swiper.allowSlidePrev=allowSlidePrev;
swiper.allowSlideNext=allowSlideNext;
if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){
swiper.checkOverflow();
}}
function onClick (e){
var swiper=this;
if(!swiper.allowClick){
if(swiper.params.preventClicks){ e.preventDefault(); }
if(swiper.params.preventClicksPropagation&&swiper.animating){
e.stopPropagation();
e.stopImmediatePropagation();
}}
}
function onScroll (){
var swiper=this;
var wrapperEl=swiper.wrapperEl;
var rtlTranslate=swiper.rtlTranslate;
swiper.previousTranslate=swiper.translate;
if(swiper.isHorizontal()){
if(rtlTranslate){
swiper.translate=((wrapperEl.scrollWidth - wrapperEl.offsetWidth) - wrapperEl.scrollLeft);
}else{
swiper.translate=-wrapperEl.scrollLeft;
}}else{
swiper.translate=-wrapperEl.scrollTop;
}
if(swiper.translate===-0){ swiper.translate=0; }
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
var newProgress;
var translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
if(translatesDiff===0){
newProgress=0;
}else{
newProgress=(swiper.translate - swiper.minTranslate()) / (translatesDiff);
}
if(newProgress!==swiper.progress){
swiper.updateProgress(rtlTranslate ? -swiper.translate:swiper.translate);
}
swiper.emit('setTranslate', swiper.translate, false);
}
var dummyEventAttached=false;
function dummyEventListener(){}
function attachEvents(){
var swiper=this;
var params=swiper.params;
var touchEvents=swiper.touchEvents;
var el=swiper.el;
var wrapperEl=swiper.wrapperEl;
swiper.onTouchStart=onTouchStart.bind(swiper);
swiper.onTouchMove=onTouchMove.bind(swiper);
swiper.onTouchEnd=onTouchEnd.bind(swiper);
if(params.cssMode){
swiper.onScroll=onScroll.bind(swiper);
}
swiper.onClick=onClick.bind(swiper);
var capture = !!params.nested;
if(!Support.touch&&Support.pointerEvents){
el.addEventListener(touchEvents.start, swiper.onTouchStart, false);
doc.addEventListener(touchEvents.move, swiper.onTouchMove, capture);
doc.addEventListener(touchEvents.end, swiper.onTouchEnd, false);
}else{
if(Support.touch){
var passiveListener=touchEvents.start==='touchstart'&&Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
el.addEventListener(touchEvents.move, swiper.onTouchMove, Support.passiveListener ? { passive: false, capture: capture }:capture);
el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
if(touchEvents.cancel){
el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
}
if(!dummyEventAttached){
doc.addEventListener('touchstart', dummyEventListener);
dummyEventAttached=true;
}}
if((params.simulateTouch&&!Device.ios&&!Device.android)||(params.simulateTouch&&!Support.touch&&Device.ios)){
el.addEventListener('mousedown', swiper.onTouchStart, false);
doc.addEventListener('mousemove', swiper.onTouchMove, capture);
doc.addEventListener('mouseup', swiper.onTouchEnd, false);
}}
if(params.preventClicks||params.preventClicksPropagation){
el.addEventListener('click', swiper.onClick, true);
}
if(params.cssMode){
wrapperEl.addEventListener('scroll', swiper.onScroll);
}
if(params.updateOnWindowResize){
swiper.on((Device.ios||Device.android ? 'resize orientationchange observerUpdate':'resize observerUpdate'), onResize, true);
}else{
swiper.on('observerUpdate', onResize, true);
}}
function detachEvents(){
var swiper=this;
var params=swiper.params;
var touchEvents=swiper.touchEvents;
var el=swiper.el;
var wrapperEl=swiper.wrapperEl;
var capture = !!params.nested;
if(!Support.touch&&Support.pointerEvents){
el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);
doc.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
doc.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);
}else{
if(Support.touch){
var passiveListener=touchEvents.start==='onTouchStart'&&Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
if(touchEvents.cancel){
el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
}}
if((params.simulateTouch&&!Device.ios&&!Device.android)||(params.simulateTouch&&!Support.touch&&Device.ios)){
el.removeEventListener('mousedown', swiper.onTouchStart, false);
doc.removeEventListener('mousemove', swiper.onTouchMove, capture);
doc.removeEventListener('mouseup', swiper.onTouchEnd, false);
}}
if(params.preventClicks||params.preventClicksPropagation){
el.removeEventListener('click', swiper.onClick, true);
}
if(params.cssMode){
wrapperEl.removeEventListener('scroll', swiper.onScroll);
}
swiper.off((Device.ios||Device.android ? 'resize orientationchange observerUpdate':'resize observerUpdate'), onResize);
}
var events={
attachEvents: attachEvents,
detachEvents: detachEvents,
};
function setBreakpoint (){
var swiper=this;
var activeIndex=swiper.activeIndex;
var initialized=swiper.initialized;
var loopedSlides=swiper.loopedSlides; if(loopedSlides===void 0) loopedSlides=0;
var params=swiper.params;
var $el=swiper.$el;
var breakpoints=params.breakpoints;
if(!breakpoints||(breakpoints&&Object.keys(breakpoints).length===0)){ return; }
var breakpoint=swiper.getBreakpoint(breakpoints);
if(breakpoint&&swiper.currentBreakpoint!==breakpoint){
var breakpointOnlyParams=breakpoint in breakpoints ? breakpoints[breakpoint]:undefined;
if(breakpointOnlyParams){
['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param){
var paramValue=breakpointOnlyParams[param];
if(typeof paramValue==='undefined'){ return; }
if(param==='slidesPerView'&&(paramValue==='AUTO'||paramValue==='auto')){
breakpointOnlyParams[param]='auto';
}else if(param==='slidesPerView'){
breakpointOnlyParams[param]=parseFloat(paramValue);
}else{
breakpointOnlyParams[param]=parseInt(paramValue, 10);
}});
}
var breakpointParams=breakpointOnlyParams||swiper.originalParams;
var wasMultiRow=params.slidesPerColumn > 1;
var isMultiRow=breakpointParams.slidesPerColumn > 1;
if(wasMultiRow&&!isMultiRow){
$el.removeClass(((params.containerModifierClass) + "multirow " + (params.containerModifierClass) + "multirow-column"));
}else if(!wasMultiRow&&isMultiRow){
$el.addClass(((params.containerModifierClass) + "multirow"));
if(breakpointParams.slidesPerColumnFill==='column'){
$el.addClass(((params.containerModifierClass) + "multirow-column"));
}}
var directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;
var needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);
if(directionChanged&&initialized){
swiper.changeDirection();
}
Utils.extend(swiper.params, breakpointParams);
Utils.extend(swiper, {
allowTouchMove: swiper.params.allowTouchMove,
allowSlideNext: swiper.params.allowSlideNext,
allowSlidePrev: swiper.params.allowSlidePrev,
});
swiper.currentBreakpoint=breakpoint;
if(needsReLoop&&initialized){
swiper.loopDestroy();
swiper.loopCreate();
swiper.updateSlides();
swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false);
}
swiper.emit('breakpoint', breakpointParams);
}}
function getBreakpoint (breakpoints){
if(!breakpoints){ return undefined; }
var breakpoint=false;
var points=Object.keys(breakpoints).map(function (point){
if(typeof point==='string'&&point.indexOf('@')===0){
var minRatio=parseFloat(point.substr(1));
var value=win.innerHeight * minRatio;
return { value: value, point: point };}
return { value: point, point: point };});
points.sort(function (a, b){ return parseInt(a.value, 10) - parseInt(b.value, 10); });
for (var i=0; i < points.length; i +=1){
var ref=points[i];
var point=ref.point;
var value=ref.value;
if(value <=win.innerWidth){
breakpoint=point;
}}
return breakpoint||'max';
}
var breakpoints={ setBreakpoint: setBreakpoint, getBreakpoint: getBreakpoint };
function addClasses (){
var swiper=this;
var classNames=swiper.classNames;
var params=swiper.params;
var rtl=swiper.rtl;
var $el=swiper.$el;
var suffixes=[];
suffixes.push('initialized');
suffixes.push(params.direction);
if(params.freeMode){
suffixes.push('free-mode');
}
if(params.autoHeight){
suffixes.push('autoheight');
}
if(rtl){
suffixes.push('rtl');
}
if(params.slidesPerColumn > 1){
suffixes.push('multirow');
if(params.slidesPerColumnFill==='column'){
suffixes.push('multirow-column');
}}
if(Device.android){
suffixes.push('android');
}
if(Device.ios){
suffixes.push('ios');
}
if(params.cssMode){
suffixes.push('css-mode');
}
suffixes.forEach(function (suffix){
classNames.push(params.containerModifierClass + suffix);
});
$el.addClass(classNames.join(' '));
}
function removeClasses (){
var swiper=this;
var $el=swiper.$el;
var classNames=swiper.classNames;
$el.removeClass(classNames.join(' '));
}
var classes={ addClasses: addClasses, removeClasses: removeClasses };
function loadImage (imageEl, src, srcset, sizes, checkForComplete, callback){
var image;
function onReady(){
if(callback){ callback(); }}
if(!imageEl.complete||!checkForComplete){
if(src){
image=new win.Image();
image.onload=onReady;
image.onerror=onReady;
if(sizes){
image.sizes=sizes;
}
if(srcset){
image.srcset=srcset;
}
if(src){
image.src=src;
}}else{
onReady();
}}else{
onReady();
}}
function preloadImages (){
var swiper=this;
swiper.imagesToLoad=swiper.$el.find('img');
function onReady(){
if(typeof swiper==='undefined'||swiper===null||!swiper||swiper.destroyed){ return; }
if(swiper.imagesLoaded!==undefined){ swiper.imagesLoaded +=1; }
if(swiper.imagesLoaded===swiper.imagesToLoad.length){
if(swiper.params.updateOnImagesReady){ swiper.update(); }
swiper.emit('imagesReady');
}}
for (var i=0; i < swiper.imagesToLoad.length; i +=1){
var imageEl=swiper.imagesToLoad[i];
swiper.loadImage(imageEl,
imageEl.currentSrc||imageEl.getAttribute('src'),
imageEl.srcset||imageEl.getAttribute('srcset'),
imageEl.sizes||imageEl.getAttribute('sizes'),
true,
onReady
);
}}
var images={
loadImage: loadImage,
preloadImages: preloadImages,
};
function checkOverflow(){
var swiper=this;
var params=swiper.params;
var wasLocked=swiper.isLocked;
var lastSlidePosition=swiper.slides.length > 0&&(params.slidesOffsetBefore + (params.spaceBetween * (swiper.slides.length - 1)) + ((swiper.slides[0]).offsetWidth) * swiper.slides.length);
if(params.slidesOffsetBefore&&params.slidesOffsetAfter&&lastSlidePosition){
swiper.isLocked=lastSlidePosition <=swiper.size;
}else{
swiper.isLocked=swiper.snapGrid.length===1;
}
swiper.allowSlideNext = !swiper.isLocked;
swiper.allowSlidePrev = !swiper.isLocked;
if(wasLocked!==swiper.isLocked){ swiper.emit(swiper.isLocked ? 'lock':'unlock'); }
if(wasLocked&&wasLocked!==swiper.isLocked){
swiper.isEnd=false;
swiper.navigation.update();
}}
var checkOverflow$1={ checkOverflow: checkOverflow };
var defaults={
init: true,
direction: 'horizontal',
touchEventsTarget: 'container',
initialSlide: 0,
speed: 300,
cssMode: false,
updateOnWindowResize: true,
preventInteractionOnTransition: false,
edgeSwipeDetection: false,
edgeSwipeThreshold: 20,
freeMode: false,
freeModeMomentum: true,
freeModeMomentumRatio: 1,
freeModeMomentumBounce: true,
freeModeMomentumBounceRatio: 1,
freeModeMomentumVelocityRatio: 1,
freeModeSticky: false,
freeModeMinimumVelocity: 0.02,
autoHeight: false,
setWrapperSize: false,
virtualTranslate: false,
effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
breakpoints: undefined,
spaceBetween: 0,
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerColumnFill: 'column',
slidesPerGroup: 1,
slidesPerGroupSkip: 0,
centeredSlides: false,
centeredSlidesBounds: false,
slidesOffsetBefore: 0,
slidesOffsetAfter: 0,
normalizeSlideIndex: true,
centerInsufficientSlides: false,
watchOverflow: false,
roundLengths: false,
touchRatio: 1,
touchAngle: 45,
simulateTouch: true,
shortSwipes: true,
longSwipes: true,
longSwipesRatio: 0.5,
longSwipesMs: 300,
followFinger: true,
allowTouchMove: true,
threshold: 0,
touchMoveStopPropagation: false,
touchStartPreventDefault: true,
touchStartForcePreventDefault: false,
touchReleaseOnEdges: false,
uniqueNavElements: true,
resistance: true,
resistanceRatio: 0.85,
watchSlidesProgress: false,
watchSlidesVisibility: false,
grabCursor: false,
preventClicks: true,
preventClicksPropagation: true,
slideToClickedSlide: false,
preloadImages: true,
updateOnImagesReady: true,
loop: false,
loopAdditionalSlides: 0,
loopedSlides: null,
loopFillGroupWithBlank: false,
allowSlidePrev: true,
allowSlideNext: true,
swipeHandler: null, // '.swipe-handler',
noSwiping: true,
noSwipingClass: 'swiper-no-swiping',
noSwipingSelector: null,
passiveListeners: true,
containerModifierClass: 'swiper-container-',
slideClass: 'swiper-slide',
slideBlankClass: 'swiper-slide-invisible-blank',
slideActiveClass: 'swiper-slide-active',
slideDuplicateActiveClass: 'swiper-slide-duplicate-active',
slideVisibleClass: 'swiper-slide-visible',
slideDuplicateClass: 'swiper-slide-duplicate',
slideNextClass: 'swiper-slide-next',
slideDuplicateNextClass: 'swiper-slide-duplicate-next',
slidePrevClass: 'swiper-slide-prev',
slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',
wrapperClass: 'swiper-wrapper',
runCallbacksOnInit: true,
};
var prototypes={
update: update,
translate: translate,
transition: transition$1,
slide: slide,
loop: loop,
grabCursor: grabCursor,
manipulation: manipulation,
events: events,
breakpoints: breakpoints,
checkOverflow: checkOverflow$1,
classes: classes,
images: images,
};
var extendedDefaults={};
var Swiper=(function (SwiperClass){
function Swiper(){
var assign;
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var el;
var params;
if(args.length===1&&args[0].constructor&&args[0].constructor===Object){
params=args[0];
}else{
(assign=args, el=assign[0], params=assign[1]);
}
if(!params){ params={};}
params=Utils.extend({}, params);
if(el&&!params.el){ params.el=el; }
SwiperClass.call(this, params);
Object.keys(prototypes).forEach(function (prototypeGroup){
Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod){
if(!Swiper.prototype[protoMethod]){
Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod];
}});
});
var swiper=this;
if(typeof swiper.modules==='undefined'){
swiper.modules={};}
Object.keys(swiper.modules).forEach(function (moduleName){
var module=swiper.modules[moduleName];
if(module.params){
var moduleParamName=Object.keys(module.params)[0];
var moduleParams=module.params[moduleParamName];
if(typeof moduleParams!=='object'||moduleParams===null){ return; }
if(!(moduleParamName in params&&'enabled' in moduleParams)){ return; }
if(params[moduleParamName]===true){
params[moduleParamName]={ enabled: true };}
if(typeof params[moduleParamName]==='object'
&& !('enabled' in params[moduleParamName])
){
params[moduleParamName].enabled=true;
}
if(!params[moduleParamName]){ params[moduleParamName]={ enabled: false };}}
});
var swiperParams=Utils.extend({}, defaults);
swiper.useModulesParams(swiperParams);
swiper.params=Utils.extend({}, swiperParams, extendedDefaults, params);
swiper.originalParams=Utils.extend({}, swiper.params);
swiper.passedParams=Utils.extend({}, params);
swiper.$=$;
var $el=$(swiper.params.el);
el=$el[0];
if(!el){
return undefined;
}
if($el.length > 1){
var swipers=[];
$el.each(function (index, containerEl){
var newParams=Utils.extend({}, params, { el: containerEl });
swipers.push(new Swiper(newParams));
});
return swipers;
}
el.swiper=swiper;
$el.data('swiper', swiper);
var $wrapperEl;
if(el&&el.shadowRoot&&el.shadowRoot.querySelector){
$wrapperEl=$(el.shadowRoot.querySelector(("." + (swiper.params.wrapperClass))));
$wrapperEl.children=function (options){ return $el.children(options); };}else{
$wrapperEl=$el.children(("." + (swiper.params.wrapperClass)));
}
Utils.extend(swiper, {
$el: $el,
el: el,
$wrapperEl: $wrapperEl,
wrapperEl: $wrapperEl[0],
classNames: [],
slides: $(),
slidesGrid: [],
snapGrid: [],
slidesSizesGrid: [],
isHorizontal: function isHorizontal(){
return swiper.params.direction==='horizontal';
},
isVertical: function isVertical(){
return swiper.params.direction==='vertical';
},
rtl: (el.dir.toLowerCase()==='rtl'||$el.css('direction')==='rtl'),
rtlTranslate: swiper.params.direction==='horizontal'&&(el.dir.toLowerCase()==='rtl'||$el.css('direction')==='rtl'),
wrongRTL: $wrapperEl.css('display')==='-webkit-box',
activeIndex: 0,
realIndex: 0,
isBeginning: true,
isEnd: false,
translate: 0,
previousTranslate: 0,
progress: 0,
velocity: 0,
animating: false,
allowSlideNext: swiper.params.allowSlideNext,
allowSlidePrev: swiper.params.allowSlidePrev,
touchEvents: (function touchEvents(){
var touch=['touchstart', 'touchmove', 'touchend', 'touchcancel'];
var desktop=['mousedown', 'mousemove', 'mouseup'];
if(Support.pointerEvents){
desktop=['pointerdown', 'pointermove', 'pointerup'];
}
swiper.touchEventsTouch={
start: touch[0],
move: touch[1],
end: touch[2],
cancel: touch[3],
};
swiper.touchEventsDesktop={
start: desktop[0],
move: desktop[1],
end: desktop[2],
};
return Support.touch||!swiper.params.simulateTouch ? swiper.touchEventsTouch:swiper.touchEventsDesktop;
}()),
touchEventsData: {
isTouched: undefined,
isMoved: undefined,
allowTouchCallbacks: undefined,
touchStartTime: undefined,
isScrolling: undefined,
currentTranslate: undefined,
startTranslate: undefined,
allowThresholdMove: undefined,
formElements: 'input, select, option, textarea, button, video, label',
lastClickTime: Utils.now(),
clickTimeout: undefined,
velocities: [],
allowMomentumBounce: undefined,
isTouchEvent: undefined,
startMoving: undefined,
},
allowClick: true,
allowTouchMove: swiper.params.allowTouchMove,
touches: {
startX: 0,
startY: 0,
currentX: 0,
currentY: 0,
diff: 0,
},
imagesToLoad: [],
imagesLoaded: 0,
});
swiper.useModules();
if(swiper.params.init){
swiper.init();
}
return swiper;
}
if(SwiperClass) Swiper.__proto__=SwiperClass;
Swiper.prototype=Object.create(SwiperClass&&SwiperClass.prototype);
Swiper.prototype.constructor=Swiper;
var staticAccessors={ extendedDefaults: { configurable: true },defaults: { configurable: true },Class: { configurable: true },$: { configurable: true }};
Swiper.prototype.slidesPerViewDynamic=function slidesPerViewDynamic (){
var swiper=this;
var params=swiper.params;
var slides=swiper.slides;
var slidesGrid=swiper.slidesGrid;
var swiperSize=swiper.size;
var activeIndex=swiper.activeIndex;
var spv=1;
if(params.centeredSlides){
var slideSize=slides[activeIndex].swiperSlideSize;
var breakLoop;
for (var i=activeIndex + 1; i < slides.length; i +=1){
if(slides[i]&&!breakLoop){
slideSize +=slides[i].swiperSlideSize;
spv +=1;
if(slideSize > swiperSize){ breakLoop=true; }}
}
for (var i$1=activeIndex - 1; i$1 >=0; i$1 -=1){
if(slides[i$1]&&!breakLoop){
slideSize +=slides[i$1].swiperSlideSize;
spv +=1;
if(slideSize > swiperSize){ breakLoop=true; }}
}}else{
for (var i$2=activeIndex + 1; i$2 < slides.length; i$2 +=1){
if(slidesGrid[i$2] - slidesGrid[activeIndex] < swiperSize){
spv +=1;
}}
}
return spv;
};
Swiper.prototype.update=function update (){
var swiper=this;
if(!swiper||swiper.destroyed){ return; }
var snapGrid=swiper.snapGrid;
var params=swiper.params;
if(params.breakpoints){
swiper.setBreakpoint();
}
swiper.updateSize();
swiper.updateSlides();
swiper.updateProgress();
swiper.updateSlidesClasses();
function setTranslate(){
var translateValue=swiper.rtlTranslate ? swiper.translate * -1:swiper.translate;
var newTranslate=Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
swiper.setTranslate(newTranslate);
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
var translated;
if(swiper.params.freeMode){
setTranslate();
if(swiper.params.autoHeight){
swiper.updateAutoHeight();
}}else{
if((swiper.params.slidesPerView==='auto'||swiper.params.slidesPerView > 1)&&swiper.isEnd&&!swiper.params.centeredSlides){
translated=swiper.slideTo(swiper.slides.length - 1, 0, false, true);
}else{
translated=swiper.slideTo(swiper.activeIndex, 0, false, true);
}
if(!translated){
setTranslate();
}}
if(params.watchOverflow&&snapGrid!==swiper.snapGrid){
swiper.checkOverflow();
}
swiper.emit('update');
};
Swiper.prototype.changeDirection=function changeDirection (newDirection, needUpdate){
if(needUpdate===void 0) needUpdate=true;
var swiper=this;
var currentDirection=swiper.params.direction;
if(!newDirection){
newDirection=currentDirection==='horizontal' ? 'vertical':'horizontal';
}
if((newDirection===currentDirection)||(newDirection!=='horizontal'&&newDirection!=='vertical')){
return swiper;
}
swiper.$el
.removeClass(("" + (swiper.params.containerModifierClass) + currentDirection))
.addClass(("" + (swiper.params.containerModifierClass) + newDirection));
swiper.params.direction=newDirection;
swiper.slides.each(function (slideIndex, slideEl){
if(newDirection==='vertical'){
slideEl.style.width='';
}else{
slideEl.style.height='';
}});
swiper.emit('changeDirection');
if(needUpdate){ swiper.update(); }
return swiper;
};
Swiper.prototype.init=function init (){
var swiper=this;
if(swiper.initialized){ return; }
swiper.emit('beforeInit');
if(swiper.params.breakpoints){
swiper.setBreakpoint();
}
swiper.addClasses();
if(swiper.params.loop){
swiper.loopCreate();
}
swiper.updateSize();
swiper.updateSlides();
if(swiper.params.watchOverflow){
swiper.checkOverflow();
}
if(swiper.params.grabCursor){
swiper.setGrabCursor();
}
if(swiper.params.preloadImages){
swiper.preloadImages();
}
if(swiper.params.loop){
swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);
}else{
swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);
}
swiper.attachEvents();
swiper.initialized=true;
swiper.emit('init');
};
Swiper.prototype.destroy=function destroy (deleteInstance, cleanStyles){
if(deleteInstance===void 0) deleteInstance=true;
if(cleanStyles===void 0) cleanStyles=true;
var swiper=this;
var params=swiper.params;
var $el=swiper.$el;
var $wrapperEl=swiper.$wrapperEl;
var slides=swiper.slides;
if(typeof swiper.params==='undefined'||swiper.destroyed){
return null;
}
swiper.emit('beforeDestroy');
swiper.initialized=false;
swiper.detachEvents();
if(params.loop){
swiper.loopDestroy();
}
if(cleanStyles){
swiper.removeClasses();
$el.removeAttr('style');
$wrapperEl.removeAttr('style');
if(slides&&slides.length){
slides
.removeClass([
params.slideVisibleClass,
params.slideActiveClass,
params.slideNextClass,
params.slidePrevClass ].join(' '))
.removeAttr('style')
.removeAttr('data-swiper-slide-index');
}}
swiper.emit('destroy');
Object.keys(swiper.eventsListeners).forEach(function (eventName){
swiper.off(eventName);
});
if(deleteInstance!==false){
swiper.$el[0].swiper=null;
swiper.$el.data('swiper', null);
Utils.deleteProps(swiper);
}
swiper.destroyed=true;
return null;
};
Swiper.extendDefaults=function extendDefaults (newDefaults){
Utils.extend(extendedDefaults, newDefaults);
};
staticAccessors.extendedDefaults.get=function (){
return extendedDefaults;
};
staticAccessors.defaults.get=function (){
return defaults;
};
staticAccessors.Class.get=function (){
return SwiperClass;
};
staticAccessors.$.get=function (){
return $;
};
Object.defineProperties(Swiper, staticAccessors);
return Swiper;
}(SwiperClass));
var Device$1={
name: 'device',
proto: {
device: Device,
},
static: {
device: Device,
},
};
var Support$1={
name: 'support',
proto: {
support: Support,
},
static: {
support: Support,
},
};
var Browser=(function Browser(){
function isSafari(){
var ua=win.navigator.userAgent.toLowerCase();
return (ua.indexOf('safari') >=0&&ua.indexOf('chrome') < 0&&ua.indexOf('android') < 0);
}
return {
isEdge: !!win.navigator.userAgent.match(/Edge/g),
isSafari: isSafari(),
isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent),
};}());
var Browser$1={
name: 'browser',
proto: {
browser: Browser,
},
static: {
browser: Browser,
},
};
var Resize={
name: 'resize',
create: function create(){
var swiper=this;
Utils.extend(swiper, {
resize: {
resizeHandler: function resizeHandler(){
if(!swiper||swiper.destroyed||!swiper.initialized){ return; }
swiper.emit('beforeResize');
swiper.emit('resize');
},
orientationChangeHandler: function orientationChangeHandler(){
if(!swiper||swiper.destroyed||!swiper.initialized){ return; }
swiper.emit('orientationchange');
},
},
});
},
on: {
init: function init(){
var swiper=this;
win.addEventListener('resize', swiper.resize.resizeHandler);
win.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);
},
destroy: function destroy(){
var swiper=this;
win.removeEventListener('resize', swiper.resize.resizeHandler);
win.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);
},
},
};
var Observer={
func: win.MutationObserver||win.WebkitMutationObserver,
attach: function attach(target, options){
if(options===void 0) options={};
var swiper=this;
var ObserverFunc=Observer.func;
var observer=new ObserverFunc(function (mutations){
if(mutations.length===1){
swiper.emit('observerUpdate', mutations[0]);
return;
}
var observerUpdate=function observerUpdate(){
swiper.emit('observerUpdate', mutations[0]);
};
if(win.requestAnimationFrame){
win.requestAnimationFrame(observerUpdate);
}else{
win.setTimeout(observerUpdate, 0);
}});
observer.observe(target, {
attributes: typeof options.attributes==='undefined' ? true:options.attributes,
childList: typeof options.childList==='undefined' ? true:options.childList,
characterData: typeof options.characterData==='undefined' ? true:options.characterData,
});
swiper.observer.observers.push(observer);
},
init: function init(){
var swiper=this;
if(!Support.observer||!swiper.params.observer){ return; }
if(swiper.params.observeParents){
var containerParents=swiper.$el.parents();
for (var i=0; i < containerParents.length; i +=1){
swiper.observer.attach(containerParents[i]);
}}
swiper.observer.attach(swiper.$el[0], { childList: swiper.params.observeSlideChildren });
swiper.observer.attach(swiper.$wrapperEl[0], { attributes: false });
},
destroy: function destroy(){
var swiper=this;
swiper.observer.observers.forEach(function (observer){
observer.disconnect();
});
swiper.observer.observers=[];
},
};
var Observer$1={
name: 'observer',
params: {
observer: false,
observeParents: false,
observeSlideChildren: false,
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
observer: {
init: Observer.init.bind(swiper),
attach: Observer.attach.bind(swiper),
destroy: Observer.destroy.bind(swiper),
observers: [],
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.observer.init();
},
destroy: function destroy(){
var swiper=this;
swiper.observer.destroy();
},
},
};
var Virtual={
update: function update(force){
var swiper=this;
var ref=swiper.params;
var slidesPerView=ref.slidesPerView;
var slidesPerGroup=ref.slidesPerGroup;
var centeredSlides=ref.centeredSlides;
var ref$1=swiper.params.virtual;
var addSlidesBefore=ref$1.addSlidesBefore;
var addSlidesAfter=ref$1.addSlidesAfter;
var ref$2=swiper.virtual;
var previousFrom=ref$2.from;
var previousTo=ref$2.to;
var slides=ref$2.slides;
var previousSlidesGrid=ref$2.slidesGrid;
var renderSlide=ref$2.renderSlide;
var previousOffset=ref$2.offset;
swiper.updateActiveIndex();
var activeIndex=swiper.activeIndex||0;
var offsetProp;
if(swiper.rtlTranslate){ offsetProp='right'; }else{ offsetProp=swiper.isHorizontal() ? 'left':'top'; }
var slidesAfter;
var slidesBefore;
if(centeredSlides){
slidesAfter=Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
slidesBefore=Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
}else{
slidesAfter=slidesPerView + (slidesPerGroup - 1) + addSlidesBefore;
slidesBefore=slidesPerGroup + addSlidesAfter;
}
var from=Math.max((activeIndex||0) - slidesBefore, 0);
var to=Math.min((activeIndex||0) + slidesAfter, slides.length - 1);
var offset=(swiper.slidesGrid[from]||0) - (swiper.slidesGrid[0]||0);
Utils.extend(swiper.virtual, {
from: from,
to: to,
offset: offset,
slidesGrid: swiper.slidesGrid,
});
function onRendered(){
swiper.updateSlides();
swiper.updateProgress();
swiper.updateSlidesClasses();
if(swiper.lazy&&swiper.params.lazy.enabled){
swiper.lazy.load();
}}
if(previousFrom===from&&previousTo===to&&!force){
if(swiper.slidesGrid!==previousSlidesGrid&&offset!==previousOffset){
swiper.slides.css(offsetProp, (offset + "px"));
}
swiper.updateProgress();
return;
}
if(swiper.params.virtual.renderExternal){
swiper.params.virtual.renderExternal.call(swiper, {
offset: offset,
from: from,
to: to,
slides: (function getSlides(){
var slidesToRender=[];
for (var i=from; i <=to; i +=1){
slidesToRender.push(slides[i]);
}
return slidesToRender;
}()),
});
onRendered();
return;
}
var prependIndexes=[];
var appendIndexes=[];
if(force){
swiper.$wrapperEl.find(("." + (swiper.params.slideClass))).remove();
}else{
for (var i=previousFrom; i <=previousTo; i +=1){
if(i < from||i > to){
swiper.$wrapperEl.find(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + i + "\"]")).remove();
}}
}
for (var i$1=0; i$1 < slides.length; i$1 +=1){
if(i$1 >=from&&i$1 <=to){
if(typeof previousTo==='undefined'||force){
appendIndexes.push(i$1);
}else{
if(i$1 > previousTo){ appendIndexes.push(i$1); }
if(i$1 < previousFrom){ prependIndexes.push(i$1); }}
}}
appendIndexes.forEach(function (index){
swiper.$wrapperEl.append(renderSlide(slides[index], index));
});
prependIndexes.sort(function (a, b){ return b - a; }).forEach(function (index){
swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
});
swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, (offset + "px"));
onRendered();
},
renderSlide: function renderSlide(slide, index){
var swiper=this;
var params=swiper.params.virtual;
if(params.cache&&swiper.virtual.cache[index]){
return swiper.virtual.cache[index];
}
var $slideEl=params.renderSlide
? $(params.renderSlide.call(swiper, slide, index))
: $(("<div class=\"" + (swiper.params.slideClass) + "\" data-swiper-slide-index=\"" + index + "\">" + slide + "</div>"));
if(!$slideEl.attr('data-swiper-slide-index')){ $slideEl.attr('data-swiper-slide-index', index); }
if(params.cache){ swiper.virtual.cache[index]=$slideEl; }
return $slideEl;
},
appendSlide: function appendSlide(slides){
var swiper=this;
if(typeof slides==='object'&&'length' in slides){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ swiper.virtual.slides.push(slides[i]); }}
}else{
swiper.virtual.slides.push(slides);
}
swiper.virtual.update(true);
},
prependSlide: function prependSlide(slides){
var swiper=this;
var activeIndex=swiper.activeIndex;
var newActiveIndex=activeIndex + 1;
var numberOfNewSlides=1;
if(Array.isArray(slides)){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ swiper.virtual.slides.unshift(slides[i]); }}
newActiveIndex=activeIndex + slides.length;
numberOfNewSlides=slides.length;
}else{
swiper.virtual.slides.unshift(slides);
}
if(swiper.params.virtual.cache){
var cache=swiper.virtual.cache;
var newCache={};
Object.keys(cache).forEach(function (cachedIndex){
var $cachedEl=cache[cachedIndex];
var cachedElIndex=$cachedEl.attr('data-swiper-slide-index');
if(cachedElIndex){
$cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + 1);
}
newCache[parseInt(cachedIndex, 10) + numberOfNewSlides]=$cachedEl;
});
swiper.virtual.cache=newCache;
}
swiper.virtual.update(true);
swiper.slideTo(newActiveIndex, 0);
},
removeSlide: function removeSlide(slidesIndexes){
var swiper=this;
if(typeof slidesIndexes==='undefined'||slidesIndexes===null){ return; }
var activeIndex=swiper.activeIndex;
if(Array.isArray(slidesIndexes)){
for (var i=slidesIndexes.length - 1; i >=0; i -=1){
swiper.virtual.slides.splice(slidesIndexes[i], 1);
if(swiper.params.virtual.cache){
delete swiper.virtual.cache[slidesIndexes[i]];
}
if(slidesIndexes[i] < activeIndex){ activeIndex -=1; }
activeIndex=Math.max(activeIndex, 0);
}}else{
swiper.virtual.slides.splice(slidesIndexes, 1);
if(swiper.params.virtual.cache){
delete swiper.virtual.cache[slidesIndexes];
}
if(slidesIndexes < activeIndex){ activeIndex -=1; }
activeIndex=Math.max(activeIndex, 0);
}
swiper.virtual.update(true);
swiper.slideTo(activeIndex, 0);
},
removeAllSlides: function removeAllSlides(){
var swiper=this;
swiper.virtual.slides=[];
if(swiper.params.virtual.cache){
swiper.virtual.cache={};}
swiper.virtual.update(true);
swiper.slideTo(0, 0);
},
};
var Virtual$1={
name: 'virtual',
params: {
virtual: {
enabled: false,
slides: [],
cache: true,
renderSlide: null,
renderExternal: null,
addSlidesBefore: 0,
addSlidesAfter: 0,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
virtual: {
update: Virtual.update.bind(swiper),
appendSlide: Virtual.appendSlide.bind(swiper),
prependSlide: Virtual.prependSlide.bind(swiper),
removeSlide: Virtual.removeSlide.bind(swiper),
removeAllSlides: Virtual.removeAllSlides.bind(swiper),
renderSlide: Virtual.renderSlide.bind(swiper),
slides: swiper.params.virtual.slides,
cache: {},
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(!swiper.params.virtual.enabled){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "virtual"));
var overwriteParams={
watchSlidesProgress: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
if(!swiper.params.initialSlide){
swiper.virtual.update();
}},
setTranslate: function setTranslate(){
var swiper=this;
if(!swiper.params.virtual.enabled){ return; }
swiper.virtual.update();
},
},
};
var Keyboard={
handle: function handle(event){
var swiper=this;
var rtl=swiper.rtlTranslate;
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
var kc=e.keyCode||e.charCode;
if(!swiper.allowSlideNext&&((swiper.isHorizontal()&&kc===39)||(swiper.isVertical()&&kc===40)||kc===34)){
return false;
}
if(!swiper.allowSlidePrev&&((swiper.isHorizontal()&&kc===37)||(swiper.isVertical()&&kc===38)||kc===33)){
return false;
}
if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){
return undefined;
}
if(doc.activeElement&&doc.activeElement.nodeName&&(doc.activeElement.nodeName.toLowerCase()==='input'||doc.activeElement.nodeName.toLowerCase()==='textarea')){
return undefined;
}
if(swiper.params.keyboard.onlyInViewport&&(kc===33||kc===34||kc===37||kc===39||kc===38||kc===40)){
var inView=false;
if(swiper.$el.parents(("." + (swiper.params.slideClass))).length > 0&&swiper.$el.parents(("." + (swiper.params.slideActiveClass))).length===0){
return undefined;
}
var windowWidth=win.innerWidth;
var windowHeight=win.innerHeight;
var swiperOffset=swiper.$el.offset();
if(rtl){ swiperOffset.left -=swiper.$el[0].scrollLeft; }
var swiperCoord=[
[swiperOffset.left, swiperOffset.top],
[swiperOffset.left + swiper.width, swiperOffset.top],
[swiperOffset.left, swiperOffset.top + swiper.height],
[swiperOffset.left + swiper.width, swiperOffset.top + swiper.height] ];
for (var i=0; i < swiperCoord.length; i +=1){
var point=swiperCoord[i];
if(point[0] >=0&&point[0] <=windowWidth
&& point[1] >=0&&point[1] <=windowHeight
){
inView=true;
}}
if(!inView){ return undefined; }}
if(swiper.isHorizontal()){
if(kc===33||kc===34||kc===37||kc===39){
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }}
if(((kc===34||kc===39)&&!rtl)||((kc===33||kc===37)&&rtl)){ swiper.slideNext(); }
if(((kc===33||kc===37)&&!rtl)||((kc===34||kc===39)&&rtl)){ swiper.slidePrev(); }}else{
if(kc===33||kc===34||kc===38||kc===40){
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }}
if(kc===34||kc===40){ swiper.slideNext(); }
if(kc===33||kc===38){ swiper.slidePrev(); }}
swiper.emit('keyPress', kc);
return undefined;
},
enable: function enable(){
var swiper=this;
if(swiper.keyboard.enabled){ return; }
$(doc).on('keydown', swiper.keyboard.handle);
swiper.keyboard.enabled=true;
},
disable: function disable(){
var swiper=this;
if(!swiper.keyboard.enabled){ return; }
$(doc).off('keydown', swiper.keyboard.handle);
swiper.keyboard.enabled=false;
},
};
var Keyboard$1={
name: 'keyboard',
params: {
keyboard: {
enabled: false,
onlyInViewport: true,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
keyboard: {
enabled: false,
enable: Keyboard.enable.bind(swiper),
disable: Keyboard.disable.bind(swiper),
handle: Keyboard.handle.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.keyboard.enabled){
swiper.keyboard.enable();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.keyboard.enabled){
swiper.keyboard.disable();
}},
},
};
function isEventSupported(){
var eventName='onwheel';
var isSupported=eventName in doc;
if(!isSupported){
var element=doc.createElement('div');
element.setAttribute(eventName, 'return;');
isSupported=typeof element[eventName]==='function';
}
if(!isSupported
&& doc.implementation
&& doc.implementation.hasFeature
&& doc.implementation.hasFeature('', '')!==true
){
isSupported=doc.implementation.hasFeature('Events.wheel', '3.0');
}
return isSupported;
}
var Mousewheel={
lastScrollTime: Utils.now(),
lastEventBeforeSnap: undefined,
recentWheelEvents: [],
event: function event(){
if(win.navigator.userAgent.indexOf('firefox') > -1){ return 'DOMMouseScroll'; }
return isEventSupported() ? 'wheel':'mousewheel';
},
normalize: function normalize(e){
var PIXEL_STEP=10;
var LINE_HEIGHT=40;
var PAGE_HEIGHT=800;
var sX=0;
var sY=0;
var pX=0;
var pY=0;
if('detail' in e){
sY=e.detail;
}
if('wheelDelta' in e){
sY=-e.wheelDelta / 120;
}
if('wheelDeltaY' in e){
sY=-e.wheelDeltaY / 120;
}
if('wheelDeltaX' in e){
sX=-e.wheelDeltaX / 120;
}
if('axis' in e&&e.axis===e.HORIZONTAL_AXIS){
sX=sY;
sY=0;
}
pX=sX * PIXEL_STEP;
pY=sY * PIXEL_STEP;
if('deltaY' in e){
pY=e.deltaY;
}
if('deltaX' in e){
pX=e.deltaX;
}
if(e.shiftKey&&!pX){
pX=pY;
pY=0;
}
if((pX||pY)&&e.deltaMode){
if(e.deltaMode===1){
pX *=LINE_HEIGHT;
pY *=LINE_HEIGHT;
}else{
pX *=PAGE_HEIGHT;
pY *=PAGE_HEIGHT;
}}
if(pX&&!sX){
sX=(pX < 1) ? -1:1;
}
if(pY&&!sY){
sY=(pY < 1) ? -1:1;
}
return {
spinX: sX,
spinY: sY,
pixelX: pX,
pixelY: pY,
};},
handleMouseEnter: function handleMouseEnter(){
var swiper=this;
swiper.mouseEntered=true;
},
handleMouseLeave: function handleMouseLeave(){
var swiper=this;
swiper.mouseEntered=false;
},
handle: function handle(event){
var e=event;
var swiper=this;
var params=swiper.params.mousewheel;
if(swiper.params.cssMode){
e.preventDefault();
}
var target=swiper.$el;
if(swiper.params.mousewheel.eventsTarged!=='container'){
target=$(swiper.params.mousewheel.eventsTarged);
}
if(!swiper.mouseEntered&&!target[0].contains(e.target)&&!params.releaseOnEdges){ return true; }
if(e.originalEvent){ e=e.originalEvent; }
var delta=0;
var rtlFactor=swiper.rtlTranslate ? -1:1;
var data=Mousewheel.normalize(e);
if(params.forceToAxis){
if(swiper.isHorizontal()){
if(Math.abs(data.pixelX) > Math.abs(data.pixelY)){ delta=data.pixelX * rtlFactor; }else{ return true; }}else if(Math.abs(data.pixelY) > Math.abs(data.pixelX)){ delta=data.pixelY; }else{ return true; }}else{
delta=Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor:-data.pixelY;
}
if(delta===0){ return true; }
if(params.invert){ delta=-delta; }
if(!swiper.params.freeMode){
var newEvent={
time: Utils.now(),
delta: Math.abs(delta),
direction: Math.sign(delta),
raw: event,
};
var recentWheelEvents=swiper.mousewheel.recentWheelEvents;
if(recentWheelEvents.length >=2){
recentWheelEvents.shift();
}
var prevEvent=recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1]:undefined;
recentWheelEvents.push(newEvent);
if(prevEvent){
if(newEvent.direction!==prevEvent.direction||newEvent.delta > prevEvent.delta){
swiper.mousewheel.animateSlider(newEvent);
}}else{
swiper.mousewheel.animateSlider(newEvent);
}
if(swiper.mousewheel.releaseScroll(newEvent)){
return true;
}}else{
var newEvent$1={ time: Utils.now(), delta: Math.abs(delta), direction: Math.sign(delta) };
var ref=swiper.mousewheel;
var lastEventBeforeSnap=ref.lastEventBeforeSnap;
var ignoreWheelEvents=lastEventBeforeSnap
&& newEvent$1.time < lastEventBeforeSnap.time + 500
&& newEvent$1.delta <=lastEventBeforeSnap.delta
&& newEvent$1.direction===lastEventBeforeSnap.direction;
if(!ignoreWheelEvents){
swiper.mousewheel.lastEventBeforeSnap=undefined;
if(swiper.params.loop){
swiper.loopFix();
}
var position=swiper.getTranslate() + (delta * params.sensitivity);
var wasBeginning=swiper.isBeginning;
var wasEnd=swiper.isEnd;
if(position >=swiper.minTranslate()){ position=swiper.minTranslate(); }
if(position <=swiper.maxTranslate()){ position=swiper.maxTranslate(); }
swiper.setTransition(0);
swiper.setTranslate(position);
swiper.updateProgress();
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
if((!wasBeginning&&swiper.isBeginning)||(!wasEnd&&swiper.isEnd)){
swiper.updateSlidesClasses();
}
if(swiper.params.freeModeSticky){
clearTimeout(swiper.mousewheel.timeout);
swiper.mousewheel.timeout=undefined;
var recentWheelEvents$1=swiper.mousewheel.recentWheelEvents;
if(recentWheelEvents$1.length >=15){
recentWheelEvents$1.shift();
}
var prevEvent$1=recentWheelEvents$1.length ? recentWheelEvents$1[recentWheelEvents$1.length - 1]:undefined;
var firstEvent=recentWheelEvents$1[0];
recentWheelEvents$1.push(newEvent$1);
if(prevEvent$1&&(newEvent$1.delta > prevEvent$1.delta||newEvent$1.direction!==prevEvent$1.direction)){
recentWheelEvents$1.splice(0);
}else if(recentWheelEvents$1.length >=15
&& newEvent$1.time - firstEvent.time < 500
&& firstEvent.delta - newEvent$1.delta >=1
&& newEvent$1.delta <=6
){
var snapToThreshold=delta > 0 ? 0.8:0.2;
swiper.mousewheel.lastEventBeforeSnap=newEvent$1;
recentWheelEvents$1.splice(0);
swiper.mousewheel.timeout=Utils.nextTick(function (){
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
}, 0);
}
if(!swiper.mousewheel.timeout){
swiper.mousewheel.timeout=Utils.nextTick(function (){
var snapToThreshold=0.5;
swiper.mousewheel.lastEventBeforeSnap=newEvent$1;
recentWheelEvents$1.splice(0);
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
}, 500);
}}
if(!ignoreWheelEvents){ swiper.emit('scroll', e); }
if(swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction){ swiper.autoplay.stop(); }
if(position===swiper.minTranslate()||position===swiper.maxTranslate()){ return true; }}
}
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }
return false;
},
animateSlider: function animateSlider(newEvent){
var swiper=this;
if(newEvent.delta >=6&&Utils.now() - swiper.mousewheel.lastScrollTime < 60){
return true;
}
if(newEvent.direction < 0){
if((!swiper.isEnd||swiper.params.loop)&&!swiper.animating){
swiper.slideNext();
swiper.emit('scroll', newEvent.raw);
}}else if((!swiper.isBeginning||swiper.params.loop)&&!swiper.animating){
swiper.slidePrev();
swiper.emit('scroll', newEvent.raw);
}
swiper.mousewheel.lastScrollTime=(new win.Date()).getTime();
return false;
},
releaseScroll: function releaseScroll(newEvent){
var swiper=this;
var params=swiper.params.mousewheel;
if(newEvent.direction < 0){
if(swiper.isEnd&&!swiper.params.loop&&params.releaseOnEdges){
return true;
}}else if(swiper.isBeginning&&!swiper.params.loop&&params.releaseOnEdges){
return true;
}
return false;
},
enable: function enable(){
var swiper=this;
var event=Mousewheel.event();
if(swiper.params.cssMode){
swiper.wrapperEl.removeEventListener(event, swiper.mousewheel.handle);
return true;
}
if(!event){ return false; }
if(swiper.mousewheel.enabled){ return false; }
var target=swiper.$el;
if(swiper.params.mousewheel.eventsTarged!=='container'){
target=$(swiper.params.mousewheel.eventsTarged);
}
target.on('mouseenter', swiper.mousewheel.handleMouseEnter);
target.on('mouseleave', swiper.mousewheel.handleMouseLeave);
target.on(event, swiper.mousewheel.handle);
swiper.mousewheel.enabled=true;
return true;
},
disable: function disable(){
var swiper=this;
var event=Mousewheel.event();
if(swiper.params.cssMode){
swiper.wrapperEl.addEventListener(event, swiper.mousewheel.handle);
return true;
}
if(!event){ return false; }
if(!swiper.mousewheel.enabled){ return false; }
var target=swiper.$el;
if(swiper.params.mousewheel.eventsTarged!=='container'){
target=$(swiper.params.mousewheel.eventsTarged);
}
target.off(event, swiper.mousewheel.handle);
swiper.mousewheel.enabled=false;
return true;
},
};
var Mousewheel$1={
name: 'mousewheel',
params: {
mousewheel: {
enabled: false,
releaseOnEdges: false,
invert: false,
forceToAxis: false,
sensitivity: 1,
eventsTarged: 'container',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
mousewheel: {
enabled: false,
enable: Mousewheel.enable.bind(swiper),
disable: Mousewheel.disable.bind(swiper),
handle: Mousewheel.handle.bind(swiper),
handleMouseEnter: Mousewheel.handleMouseEnter.bind(swiper),
handleMouseLeave: Mousewheel.handleMouseLeave.bind(swiper),
animateSlider: Mousewheel.animateSlider.bind(swiper),
releaseScroll: Mousewheel.releaseScroll.bind(swiper),
lastScrollTime: Utils.now(),
lastEventBeforeSnap: undefined,
recentWheelEvents: [],
},
});
},
on: {
init: function init(){
var swiper=this;
if(!swiper.params.mousewheel.enabled&&swiper.params.cssMode){
swiper.mousewheel.disable();
}
if(swiper.params.mousewheel.enabled){ swiper.mousewheel.enable(); }},
destroy: function destroy(){
var swiper=this;
if(swiper.params.cssMode){
swiper.mousewheel.enable();
}
if(swiper.mousewheel.enabled){ swiper.mousewheel.disable(); }},
},
};
var Navigation={
update: function update(){
var swiper=this;
var params=swiper.params.navigation;
if(swiper.params.loop){ return; }
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if($prevEl&&$prevEl.length > 0){
if(swiper.isBeginning){
$prevEl.addClass(params.disabledClass);
}else{
$prevEl.removeClass(params.disabledClass);
}
$prevEl[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](params.lockClass);
}
if($nextEl&&$nextEl.length > 0){
if(swiper.isEnd){
$nextEl.addClass(params.disabledClass);
}else{
$nextEl.removeClass(params.disabledClass);
}
$nextEl[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](params.lockClass);
}},
onPrevClick: function onPrevClick(e){
var swiper=this;
e.preventDefault();
if(swiper.isBeginning&&!swiper.params.loop){ return; }
swiper.slidePrev();
},
onNextClick: function onNextClick(e){
var swiper=this;
e.preventDefault();
if(swiper.isEnd&&!swiper.params.loop){ return; }
swiper.slideNext();
},
init: function init(){
var swiper=this;
var params=swiper.params.navigation;
if(!(params.nextEl||params.prevEl)){ return; }
var $nextEl;
var $prevEl;
if(params.nextEl){
$nextEl=$(params.nextEl);
if(swiper.params.uniqueNavElements
&& typeof params.nextEl==='string'
&& $nextEl.length > 1
&& swiper.$el.find(params.nextEl).length===1
){
$nextEl=swiper.$el.find(params.nextEl);
}}
if(params.prevEl){
$prevEl=$(params.prevEl);
if(swiper.params.uniqueNavElements
&& typeof params.prevEl==='string'
&& $prevEl.length > 1
&& swiper.$el.find(params.prevEl).length===1
){
$prevEl=swiper.$el.find(params.prevEl);
}}
if($nextEl&&$nextEl.length > 0){
$nextEl.on('click', swiper.navigation.onNextClick);
}
if($prevEl&&$prevEl.length > 0){
$prevEl.on('click', swiper.navigation.onPrevClick);
}
Utils.extend(swiper.navigation, {
$nextEl: $nextEl,
nextEl: $nextEl&&$nextEl[0],
$prevEl: $prevEl,
prevEl: $prevEl&&$prevEl[0],
});
},
destroy: function destroy(){
var swiper=this;
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if($nextEl&&$nextEl.length){
$nextEl.off('click', swiper.navigation.onNextClick);
$nextEl.removeClass(swiper.params.navigation.disabledClass);
}
if($prevEl&&$prevEl.length){
$prevEl.off('click', swiper.navigation.onPrevClick);
$prevEl.removeClass(swiper.params.navigation.disabledClass);
}},
};
var Navigation$1={
name: 'navigation',
params: {
navigation: {
nextEl: null,
prevEl: null,
hideOnClick: false,
disabledClass: 'swiper-button-disabled',
hiddenClass: 'swiper-button-hidden',
lockClass: 'swiper-button-lock',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
navigation: {
init: Navigation.init.bind(swiper),
update: Navigation.update.bind(swiper),
destroy: Navigation.destroy.bind(swiper),
onNextClick: Navigation.onNextClick.bind(swiper),
onPrevClick: Navigation.onPrevClick.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.navigation.init();
swiper.navigation.update();
},
toEdge: function toEdge(){
var swiper=this;
swiper.navigation.update();
},
fromEdge: function fromEdge(){
var swiper=this;
swiper.navigation.update();
},
destroy: function destroy(){
var swiper=this;
swiper.navigation.destroy();
},
click: function click(e){
var swiper=this;
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if(swiper.params.navigation.hideOnClick
&& !$(e.target).is($prevEl)
&& !$(e.target).is($nextEl)
){
var isHidden;
if($nextEl){
isHidden=$nextEl.hasClass(swiper.params.navigation.hiddenClass);
}else if($prevEl){
isHidden=$prevEl.hasClass(swiper.params.navigation.hiddenClass);
}
if(isHidden===true){
swiper.emit('navigationShow', swiper);
}else{
swiper.emit('navigationHide', swiper);
}
if($nextEl){
$nextEl.toggleClass(swiper.params.navigation.hiddenClass);
}
if($prevEl){
$prevEl.toggleClass(swiper.params.navigation.hiddenClass);
}}
},
},
};
var Pagination={
update: function update(){
var swiper=this;
var rtl=swiper.rtl;
var params=swiper.params.pagination;
if(!params.el||!swiper.pagination.el||!swiper.pagination.$el||swiper.pagination.$el.length===0){ return; }
var slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:swiper.slides.length;
var $el=swiper.pagination.$el;
var current;
var total=swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup):swiper.snapGrid.length;
if(swiper.params.loop){
current=Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);
if(current > slidesLength - 1 - (swiper.loopedSlides * 2)){
current -=(slidesLength - (swiper.loopedSlides * 2));
}
if(current > total - 1){ current -=total; }
if(current < 0&&swiper.params.paginationType!=='bullets'){ current=total + current; }}else if(typeof swiper.snapIndex!=='undefined'){
current=swiper.snapIndex;
}else{
current=swiper.activeIndex||0;
}
if(params.type==='bullets'&&swiper.pagination.bullets&&swiper.pagination.bullets.length > 0){
var bullets=swiper.pagination.bullets;
var firstIndex;
var lastIndex;
var midIndex;
if(params.dynamicBullets){
swiper.pagination.bulletSize=bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth':'outerHeight'](true);
$el.css(swiper.isHorizontal() ? 'width':'height', ((swiper.pagination.bulletSize * (params.dynamicMainBullets + 4)) + "px"));
if(params.dynamicMainBullets > 1&&swiper.previousIndex!==undefined){
swiper.pagination.dynamicBulletIndex +=(current - swiper.previousIndex);
if(swiper.pagination.dynamicBulletIndex > (params.dynamicMainBullets - 1)){
swiper.pagination.dynamicBulletIndex=params.dynamicMainBullets - 1;
}else if(swiper.pagination.dynamicBulletIndex < 0){
swiper.pagination.dynamicBulletIndex=0;
}}
firstIndex=current - swiper.pagination.dynamicBulletIndex;
lastIndex=firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
midIndex=(lastIndex + firstIndex) / 2;
}
bullets.removeClass(((params.bulletActiveClass) + " " + (params.bulletActiveClass) + "-next " + (params.bulletActiveClass) + "-next-next " + (params.bulletActiveClass) + "-prev " + (params.bulletActiveClass) + "-prev-prev " + (params.bulletActiveClass) + "-main"));
if($el.length > 1){
bullets.each(function (index, bullet){
var $bullet=$(bullet);
var bulletIndex=$bullet.index();
if(bulletIndex===current){
$bullet.addClass(params.bulletActiveClass);
}
if(params.dynamicBullets){
if(bulletIndex >=firstIndex&&bulletIndex <=lastIndex){
$bullet.addClass(((params.bulletActiveClass) + "-main"));
}
if(bulletIndex===firstIndex){
$bullet
.prev()
.addClass(((params.bulletActiveClass) + "-prev"))
.prev()
.addClass(((params.bulletActiveClass) + "-prev-prev"));
}
if(bulletIndex===lastIndex){
$bullet
.next()
.addClass(((params.bulletActiveClass) + "-next"))
.next()
.addClass(((params.bulletActiveClass) + "-next-next"));
}}
});
}else{
var $bullet=bullets.eq(current);
var bulletIndex=$bullet.index();
$bullet.addClass(params.bulletActiveClass);
if(params.dynamicBullets){
var $firstDisplayedBullet=bullets.eq(firstIndex);
var $lastDisplayedBullet=bullets.eq(lastIndex);
for (var i=firstIndex; i <=lastIndex; i +=1){
bullets.eq(i).addClass(((params.bulletActiveClass) + "-main"));
}
if(swiper.params.loop){
if(bulletIndex >=bullets.length - params.dynamicMainBullets){
for (var i$1=params.dynamicMainBullets; i$1 >=0; i$1 -=1){
bullets.eq(bullets.length - i$1).addClass(((params.bulletActiveClass) + "-main"));
}
bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(((params.bulletActiveClass) + "-prev"));
}else{
$firstDisplayedBullet
.prev()
.addClass(((params.bulletActiveClass) + "-prev"))
.prev()
.addClass(((params.bulletActiveClass) + "-prev-prev"));
$lastDisplayedBullet
.next()
.addClass(((params.bulletActiveClass) + "-next"))
.next()
.addClass(((params.bulletActiveClass) + "-next-next"));
}}else{
$firstDisplayedBullet
.prev()
.addClass(((params.bulletActiveClass) + "-prev"))
.prev()
.addClass(((params.bulletActiveClass) + "-prev-prev"));
$lastDisplayedBullet
.next()
.addClass(((params.bulletActiveClass) + "-next"))
.next()
.addClass(((params.bulletActiveClass) + "-next-next"));
}}
}
if(params.dynamicBullets){
var dynamicBulletsLength=Math.min(bullets.length, params.dynamicMainBullets + 4);
var bulletsOffset=(((swiper.pagination.bulletSize * dynamicBulletsLength) - (swiper.pagination.bulletSize)) / 2) - (midIndex * swiper.pagination.bulletSize);
var offsetProp=rtl ? 'right':'left';
bullets.css(swiper.isHorizontal() ? offsetProp:'top', (bulletsOffset + "px"));
}}
if(params.type==='fraction'){
$el.find(("." + (params.currentClass))).text(params.formatFractionCurrent(current + 1));
$el.find(("." + (params.totalClass))).text(params.formatFractionTotal(total));
}
if(params.type==='progressbar'){
var progressbarDirection;
if(params.progressbarOpposite){
progressbarDirection=swiper.isHorizontal() ? 'vertical':'horizontal';
}else{
progressbarDirection=swiper.isHorizontal() ? 'horizontal':'vertical';
}
var scale=(current + 1) / total;
var scaleX=1;
var scaleY=1;
if(progressbarDirection==='horizontal'){
scaleX=scale;
}else{
scaleY=scale;
}
$el.find(("." + (params.progressbarFillClass))).transform(("translate3d(0,0,0) scaleX(" + scaleX + ") scaleY(" + scaleY + ")")).transition(swiper.params.speed);
}
if(params.type==='custom'&&params.renderCustom){
$el.html(params.renderCustom(swiper, current + 1, total));
swiper.emit('paginationRender', swiper, $el[0]);
}else{
swiper.emit('paginationUpdate', swiper, $el[0]);
}
$el[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](params.lockClass);
},
render: function render(){
var swiper=this;
var params=swiper.params.pagination;
if(!params.el||!swiper.pagination.el||!swiper.pagination.$el||swiper.pagination.$el.length===0){ return; }
var slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:swiper.slides.length;
var $el=swiper.pagination.$el;
var paginationHTML='';
if(params.type==='bullets'){
var numberOfBullets=swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup):swiper.snapGrid.length;
for (var i=0; i < numberOfBullets; i +=1){
if(params.renderBullet){
paginationHTML +=params.renderBullet.call(swiper, i, params.bulletClass);
}else{
paginationHTML +="<" + (params.bulletElement) + " class=\"" + (params.bulletClass) + "\"></" + (params.bulletElement) + ">";
}}
$el.html(paginationHTML);
swiper.pagination.bullets=$el.find(("." + (params.bulletClass)));
}
if(params.type==='fraction'){
if(params.renderFraction){
paginationHTML=params.renderFraction.call(swiper, params.currentClass, params.totalClass);
}else{
paginationHTML="<span class=\"" + (params.currentClass) + "\"></span>"
+ ' / '
+ "<span class=\"" + (params.totalClass) + "\"></span>";
}
$el.html(paginationHTML);
}
if(params.type==='progressbar'){
if(params.renderProgressbar){
paginationHTML=params.renderProgressbar.call(swiper, params.progressbarFillClass);
}else{
paginationHTML="<span class=\"" + (params.progressbarFillClass) + "\"></span>";
}
$el.html(paginationHTML);
}
if(params.type!=='custom'){
swiper.emit('paginationRender', swiper.pagination.$el[0]);
}},
init: function init(){
var swiper=this;
var params=swiper.params.pagination;
if(!params.el){ return; }
var $el=$(params.el);
if($el.length===0){ return; }
if(swiper.params.uniqueNavElements
&& typeof params.el==='string'
&& $el.length > 1
&& swiper.$el.find(params.el).length===1
){
$el=swiper.$el.find(params.el);
}
if(params.type==='bullets'&&params.clickable){
$el.addClass(params.clickableClass);
}
$el.addClass(params.modifierClass + params.type);
if(params.type==='bullets'&&params.dynamicBullets){
$el.addClass(("" + (params.modifierClass) + (params.type) + "-dynamic"));
swiper.pagination.dynamicBulletIndex=0;
if(params.dynamicMainBullets < 1){
params.dynamicMainBullets=1;
}}
if(params.type==='progressbar'&&params.progressbarOpposite){
$el.addClass(params.progressbarOppositeClass);
}
if(params.clickable){
$el.on('click', ("." + (params.bulletClass)), function onClick(e){
e.preventDefault();
var index=$(this).index() * swiper.params.slidesPerGroup;
if(swiper.params.loop){ index +=swiper.loopedSlides; }
swiper.slideTo(index);
});
}
Utils.extend(swiper.pagination, {
$el: $el,
el: $el[0],
});
},
destroy: function destroy(){
var swiper=this;
var params=swiper.params.pagination;
if(!params.el||!swiper.pagination.el||!swiper.pagination.$el||swiper.pagination.$el.length===0){ return; }
var $el=swiper.pagination.$el;
$el.removeClass(params.hiddenClass);
$el.removeClass(params.modifierClass + params.type);
if(swiper.pagination.bullets){ swiper.pagination.bullets.removeClass(params.bulletActiveClass); }
if(params.clickable){
$el.off('click', ("." + (params.bulletClass)));
}},
};
var Pagination$1={
name: 'pagination',
params: {
pagination: {
el: null,
bulletElement: 'span',
clickable: false,
hideOnClick: false,
renderBullet: null,
renderProgressbar: null,
renderFraction: null,
renderCustom: null,
progressbarOpposite: false,
type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'
dynamicBullets: false,
dynamicMainBullets: 1,
formatFractionCurrent: function (number){ return number; },
formatFractionTotal: function (number){ return number; },
bulletClass: 'swiper-pagination-bullet',
bulletActiveClass: 'swiper-pagination-bullet-active',
modifierClass: 'swiper-pagination-',
currentClass: 'swiper-pagination-current',
totalClass: 'swiper-pagination-total',
hiddenClass: 'swiper-pagination-hidden',
progressbarFillClass: 'swiper-pagination-progressbar-fill',
progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',
clickableClass: 'swiper-pagination-clickable',
lockClass: 'swiper-pagination-lock',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
pagination: {
init: Pagination.init.bind(swiper),
render: Pagination.render.bind(swiper),
update: Pagination.update.bind(swiper),
destroy: Pagination.destroy.bind(swiper),
dynamicBulletIndex: 0,
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.pagination.init();
swiper.pagination.render();
swiper.pagination.update();
},
activeIndexChange: function activeIndexChange(){
var swiper=this;
if(swiper.params.loop){
swiper.pagination.update();
}else if(typeof swiper.snapIndex==='undefined'){
swiper.pagination.update();
}},
snapIndexChange: function snapIndexChange(){
var swiper=this;
if(!swiper.params.loop){
swiper.pagination.update();
}},
slidesLengthChange: function slidesLengthChange(){
var swiper=this;
if(swiper.params.loop){
swiper.pagination.render();
swiper.pagination.update();
}},
snapGridLengthChange: function snapGridLengthChange(){
var swiper=this;
if(!swiper.params.loop){
swiper.pagination.render();
swiper.pagination.update();
}},
destroy: function destroy(){
var swiper=this;
swiper.pagination.destroy();
},
click: function click(e){
var swiper=this;
if(swiper.params.pagination.el
&& swiper.params.pagination.hideOnClick
&& swiper.pagination.$el.length > 0
&& !$(e.target).hasClass(swiper.params.pagination.bulletClass)
){
var isHidden=swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);
if(isHidden===true){
swiper.emit('paginationShow', swiper);
}else{
swiper.emit('paginationHide', swiper);
}
swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);
}},
},
};
var Scrollbar={
setTranslate: function setTranslate(){
var swiper=this;
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var rtl=swiper.rtlTranslate;
var progress=swiper.progress;
var dragSize=scrollbar.dragSize;
var trackSize=scrollbar.trackSize;
var $dragEl=scrollbar.$dragEl;
var $el=scrollbar.$el;
var params=swiper.params.scrollbar;
var newSize=dragSize;
var newPos=(trackSize - dragSize) * progress;
if(rtl){
newPos=-newPos;
if(newPos > 0){
newSize=dragSize - newPos;
newPos=0;
}else if(-newPos + dragSize > trackSize){
newSize=trackSize + newPos;
}}else if(newPos < 0){
newSize=dragSize + newPos;
newPos=0;
}else if(newPos + dragSize > trackSize){
newSize=trackSize - newPos;
}
if(swiper.isHorizontal()){
$dragEl.transform(("translate3d(" + newPos + "px, 0, 0)"));
$dragEl[0].style.width=newSize + "px";
}else{
$dragEl.transform(("translate3d(0px, " + newPos + "px, 0)"));
$dragEl[0].style.height=newSize + "px";
}
if(params.hide){
clearTimeout(swiper.scrollbar.timeout);
$el[0].style.opacity=1;
swiper.scrollbar.timeout=setTimeout(function (){
$el[0].style.opacity=0;
$el.transition(400);
}, 1000);
}},
setTransition: function setTransition(duration){
var swiper=this;
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el){ return; }
swiper.scrollbar.$dragEl.transition(duration);
},
updateSize: function updateSize(){
var swiper=this;
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var $dragEl=scrollbar.$dragEl;
var $el=scrollbar.$el;
$dragEl[0].style.width='';
$dragEl[0].style.height='';
var trackSize=swiper.isHorizontal() ? $el[0].offsetWidth:$el[0].offsetHeight;
var divider=swiper.size / swiper.virtualSize;
var moveDivider=divider * (trackSize / swiper.size);
var dragSize;
if(swiper.params.scrollbar.dragSize==='auto'){
dragSize=trackSize * divider;
}else{
dragSize=parseInt(swiper.params.scrollbar.dragSize, 10);
}
if(swiper.isHorizontal()){
$dragEl[0].style.width=dragSize + "px";
}else{
$dragEl[0].style.height=dragSize + "px";
}
if(divider >=1){
$el[0].style.display='none';
}else{
$el[0].style.display='';
}
if(swiper.params.scrollbar.hide){
$el[0].style.opacity=0;
}
Utils.extend(scrollbar, {
trackSize: trackSize,
divider: divider,
moveDivider: moveDivider,
dragSize: dragSize,
});
scrollbar.$el[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](swiper.params.scrollbar.lockClass);
},
getPointerPosition: function getPointerPosition(e){
var swiper=this;
if(swiper.isHorizontal()){
return ((e.type==='touchstart'||e.type==='touchmove') ? e.targetTouches[0].clientX:e.clientX);
}
return ((e.type==='touchstart'||e.type==='touchmove') ? e.targetTouches[0].clientY:e.clientY);
},
setDragPosition: function setDragPosition(e){
var swiper=this;
var scrollbar=swiper.scrollbar;
var rtl=swiper.rtlTranslate;
var $el=scrollbar.$el;
var dragSize=scrollbar.dragSize;
var trackSize=scrollbar.trackSize;
var dragStartPos=scrollbar.dragStartPos;
var positionRatio;
positionRatio=((scrollbar.getPointerPosition(e)) - $el.offset()[swiper.isHorizontal() ? 'left':'top']
- (dragStartPos!==null ? dragStartPos:dragSize / 2)) / (trackSize - dragSize);
positionRatio=Math.max(Math.min(positionRatio, 1), 0);
if(rtl){
positionRatio=1 - positionRatio;
}
var position=swiper.minTranslate() + ((swiper.maxTranslate() - swiper.minTranslate()) * positionRatio);
swiper.updateProgress(position);
swiper.setTranslate(position);
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
},
onDragStart: function onDragStart(e){
var swiper=this;
var params=swiper.params.scrollbar;
var scrollbar=swiper.scrollbar;
var $wrapperEl=swiper.$wrapperEl;
var $el=scrollbar.$el;
var $dragEl=scrollbar.$dragEl;
swiper.scrollbar.isTouched=true;
swiper.scrollbar.dragStartPos=(e.target===$dragEl[0]||e.target===$dragEl)
? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left':'top']:null;
e.preventDefault();
e.stopPropagation();
$wrapperEl.transition(100);
$dragEl.transition(100);
scrollbar.setDragPosition(e);
clearTimeout(swiper.scrollbar.dragTimeout);
$el.transition(0);
if(params.hide){
$el.css('opacity', 1);
}
if(swiper.params.cssMode){
swiper.$wrapperEl.css('scroll-snap-type', 'none');
}
swiper.emit('scrollbarDragStart', e);
},
onDragMove: function onDragMove(e){
var swiper=this;
var scrollbar=swiper.scrollbar;
var $wrapperEl=swiper.$wrapperEl;
var $el=scrollbar.$el;
var $dragEl=scrollbar.$dragEl;
if(!swiper.scrollbar.isTouched){ return; }
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }
scrollbar.setDragPosition(e);
$wrapperEl.transition(0);
$el.transition(0);
$dragEl.transition(0);
swiper.emit('scrollbarDragMove', e);
},
onDragEnd: function onDragEnd(e){
var swiper=this;
var params=swiper.params.scrollbar;
var scrollbar=swiper.scrollbar;
var $wrapperEl=swiper.$wrapperEl;
var $el=scrollbar.$el;
if(!swiper.scrollbar.isTouched){ return; }
swiper.scrollbar.isTouched=false;
if(swiper.params.cssMode){
swiper.$wrapperEl.css('scroll-snap-type', '');
$wrapperEl.transition('');
}
if(params.hide){
clearTimeout(swiper.scrollbar.dragTimeout);
swiper.scrollbar.dragTimeout=Utils.nextTick(function (){
$el.css('opacity', 0);
$el.transition(400);
}, 1000);
}
swiper.emit('scrollbarDragEnd', e);
if(params.snapOnRelease){
swiper.slideToClosest();
}},
enableDraggable: function enableDraggable(){
var swiper=this;
if(!swiper.params.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var touchEventsTouch=swiper.touchEventsTouch;
var touchEventsDesktop=swiper.touchEventsDesktop;
var params=swiper.params;
var $el=scrollbar.$el;
var target=$el[0];
var activeListener=Support.passiveListener&&params.passiveListeners ? { passive: false, capture: false }:false;
var passiveListener=Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
if(!Support.touch){
target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
doc.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
doc.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
}else{
target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
}},
disableDraggable: function disableDraggable(){
var swiper=this;
if(!swiper.params.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var touchEventsTouch=swiper.touchEventsTouch;
var touchEventsDesktop=swiper.touchEventsDesktop;
var params=swiper.params;
var $el=scrollbar.$el;
var target=$el[0];
var activeListener=Support.passiveListener&&params.passiveListeners ? { passive: false, capture: false }:false;
var passiveListener=Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
if(!Support.touch){
target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
doc.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
doc.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
}else{
target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
}},
init: function init(){
var swiper=this;
if(!swiper.params.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var $swiperEl=swiper.$el;
var params=swiper.params.scrollbar;
var $el=$(params.el);
if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&$el.length > 1&&$swiperEl.find(params.el).length===1){
$el=$swiperEl.find(params.el);
}
var $dragEl=$el.find(("." + (swiper.params.scrollbar.dragClass)));
if($dragEl.length===0){
$dragEl=$(("<div class=\"" + (swiper.params.scrollbar.dragClass) + "\"></div>"));
$el.append($dragEl);
}
Utils.extend(scrollbar, {
$el: $el,
el: $el[0],
$dragEl: $dragEl,
dragEl: $dragEl[0],
});
if(params.draggable){
scrollbar.enableDraggable();
}},
destroy: function destroy(){
var swiper=this;
swiper.scrollbar.disableDraggable();
},
};
var Scrollbar$1={
name: 'scrollbar',
params: {
scrollbar: {
el: null,
dragSize: 'auto',
hide: false,
draggable: false,
snapOnRelease: true,
lockClass: 'swiper-scrollbar-lock',
dragClass: 'swiper-scrollbar-drag',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
scrollbar: {
init: Scrollbar.init.bind(swiper),
destroy: Scrollbar.destroy.bind(swiper),
updateSize: Scrollbar.updateSize.bind(swiper),
setTranslate: Scrollbar.setTranslate.bind(swiper),
setTransition: Scrollbar.setTransition.bind(swiper),
enableDraggable: Scrollbar.enableDraggable.bind(swiper),
disableDraggable: Scrollbar.disableDraggable.bind(swiper),
setDragPosition: Scrollbar.setDragPosition.bind(swiper),
getPointerPosition: Scrollbar.getPointerPosition.bind(swiper),
onDragStart: Scrollbar.onDragStart.bind(swiper),
onDragMove: Scrollbar.onDragMove.bind(swiper),
onDragEnd: Scrollbar.onDragEnd.bind(swiper),
isTouched: false,
timeout: null,
dragTimeout: null,
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.scrollbar.init();
swiper.scrollbar.updateSize();
swiper.scrollbar.setTranslate();
},
update: function update(){
var swiper=this;
swiper.scrollbar.updateSize();
},
resize: function resize(){
var swiper=this;
swiper.scrollbar.updateSize();
},
observerUpdate: function observerUpdate(){
var swiper=this;
swiper.scrollbar.updateSize();
},
setTranslate: function setTranslate(){
var swiper=this;
swiper.scrollbar.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
swiper.scrollbar.setTransition(duration);
},
destroy: function destroy(){
var swiper=this;
swiper.scrollbar.destroy();
},
},
};
var Parallax={
setTransform: function setTransform(el, progress){
var swiper=this;
var rtl=swiper.rtl;
var $el=$(el);
var rtlFactor=rtl ? -1:1;
var p=$el.attr('data-swiper-parallax')||'0';
var x=$el.attr('data-swiper-parallax-x');
var y=$el.attr('data-swiper-parallax-y');
var scale=$el.attr('data-swiper-parallax-scale');
var opacity=$el.attr('data-swiper-parallax-opacity');
if(x||y){
x=x||'0';
y=y||'0';
}else if(swiper.isHorizontal()){
x=p;
y='0';
}else{
y=p;
x='0';
}
if((x).indexOf('%') >=0){
x=(parseInt(x, 10) * progress * rtlFactor) + "%";
}else{
x=(x * progress * rtlFactor) + "px";
}
if((y).indexOf('%') >=0){
y=(parseInt(y, 10) * progress) + "%";
}else{
y=(y * progress) + "px";
}
if(typeof opacity!=='undefined'&&opacity!==null){
var currentOpacity=opacity - ((opacity - 1) * (1 - Math.abs(progress)));
$el[0].style.opacity=currentOpacity;
}
if(typeof scale==='undefined'||scale===null){
$el.transform(("translate3d(" + x + ", " + y + ", 0px)"));
}else{
var currentScale=scale - ((scale - 1) * (1 - Math.abs(progress)));
$el.transform(("translate3d(" + x + ", " + y + ", 0px) scale(" + currentScale + ")"));
}},
setTranslate: function setTranslate(){
var swiper=this;
var $el=swiper.$el;
var slides=swiper.slides;
var progress=swiper.progress;
var snapGrid=swiper.snapGrid;
$el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')
.each(function (index, el){
swiper.parallax.setTransform(el, progress);
});
slides.each(function (slideIndex, slideEl){
var slideProgress=slideEl.progress;
if(swiper.params.slidesPerGroup > 1&&swiper.params.slidesPerView!=='auto'){
slideProgress +=Math.ceil(slideIndex / 2) - (progress * (snapGrid.length - 1));
}
slideProgress=Math.min(Math.max(slideProgress, -1), 1);
$(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')
.each(function (index, el){
swiper.parallax.setTransform(el, slideProgress);
});
});
},
setTransition: function setTransition(duration){
if(duration===void 0) duration=this.params.speed;
var swiper=this;
var $el=swiper.$el;
$el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')
.each(function (index, parallaxEl){
var $parallaxEl=$(parallaxEl);
var parallaxDuration=parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10)||duration;
if(duration===0){ parallaxDuration=0; }
$parallaxEl.transition(parallaxDuration);
});
},
};
var Parallax$1={
name: 'parallax',
params: {
parallax: {
enabled: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
parallax: {
setTransform: Parallax.setTransform.bind(swiper),
setTranslate: Parallax.setTranslate.bind(swiper),
setTransition: Parallax.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.params.watchSlidesProgress=true;
swiper.originalParams.watchSlidesProgress=true;
},
init: function init(){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.parallax.setTranslate();
},
setTranslate: function setTranslate(){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.parallax.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.parallax.setTransition(duration);
},
},
};
var Zoom={
getDistanceBetweenTouches: function getDistanceBetweenTouches(e){
if(e.targetTouches.length < 2){ return 1; }
var x1=e.targetTouches[0].pageX;
var y1=e.targetTouches[0].pageY;
var x2=e.targetTouches[1].pageX;
var y2=e.targetTouches[1].pageY;
var distance=Math.sqrt((Math.pow((x2 - x1), 2)) + (Math.pow((y2 - y1), 2)));
return distance;
},
onGestureStart: function onGestureStart(e){
var swiper=this;
var params=swiper.params.zoom;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
zoom.fakeGestureTouched=false;
zoom.fakeGestureMoved=false;
if(!Support.gestures){
if(e.type!=='touchstart'||(e.type==='touchstart'&&e.targetTouches.length < 2)){
return;
}
zoom.fakeGestureTouched=true;
gesture.scaleStart=Zoom.getDistanceBetweenTouches(e);
}
if(!gesture.$slideEl||!gesture.$slideEl.length){
gesture.$slideEl=$(e.target).closest(("." + (swiper.params.slideClass)));
if(gesture.$slideEl.length===0){ gesture.$slideEl=swiper.slides.eq(swiper.activeIndex); }
gesture.$imageEl=gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
gesture.$imageWrapEl=gesture.$imageEl.parent(("." + (params.containerClass)));
gesture.maxRatio=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;
if(gesture.$imageWrapEl.length===0){
gesture.$imageEl=undefined;
return;
}}
if(gesture.$imageEl){
gesture.$imageEl.transition(0);
}
swiper.zoom.isScaling=true;
},
onGestureChange: function onGestureChange(e){
var swiper=this;
var params=swiper.params.zoom;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
if(!Support.gestures){
if(e.type!=='touchmove'||(e.type==='touchmove'&&e.targetTouches.length < 2)){
return;
}
zoom.fakeGestureMoved=true;
gesture.scaleMove=Zoom.getDistanceBetweenTouches(e);
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
if(Support.gestures){
zoom.scale=e.scale * zoom.currentScale;
}else{
zoom.scale=(gesture.scaleMove / gesture.scaleStart) * zoom.currentScale;
}
if(zoom.scale > gesture.maxRatio){
zoom.scale=(gesture.maxRatio - 1) + (Math.pow(((zoom.scale - gesture.maxRatio) + 1), 0.5));
}
if(zoom.scale < params.minRatio){
zoom.scale=(params.minRatio + 1) - (Math.pow(((params.minRatio - zoom.scale) + 1), 0.5));
}
gesture.$imageEl.transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
},
onGestureEnd: function onGestureEnd(e){
var swiper=this;
var params=swiper.params.zoom;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
if(!Support.gestures){
if(!zoom.fakeGestureTouched||!zoom.fakeGestureMoved){
return;
}
if(e.type!=='touchend'||(e.type==='touchend'&&e.changedTouches.length < 2&&!Device.android)){
return;
}
zoom.fakeGestureTouched=false;
zoom.fakeGestureMoved=false;
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
zoom.scale=Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
gesture.$imageEl.transition(swiper.params.speed).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
zoom.currentScale=zoom.scale;
zoom.isScaling=false;
if(zoom.scale===1){ gesture.$slideEl=undefined; }},
onTouchStart: function onTouchStart(e){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
if(image.isTouched){ return; }
if(Device.android){ e.preventDefault(); }
image.isTouched=true;
image.touchesStart.x=e.type==='touchstart' ? e.targetTouches[0].pageX:e.pageX;
image.touchesStart.y=e.type==='touchstart' ? e.targetTouches[0].pageY:e.pageY;
},
onTouchMove: function onTouchMove(e){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
var velocity=zoom.velocity;
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
swiper.allowClick=false;
if(!image.isTouched||!gesture.$slideEl){ return; }
if(!image.isMoved){
image.width=gesture.$imageEl[0].offsetWidth;
image.height=gesture.$imageEl[0].offsetHeight;
image.startX=Utils.getTranslate(gesture.$imageWrapEl[0], 'x')||0;
image.startY=Utils.getTranslate(gesture.$imageWrapEl[0], 'y')||0;
gesture.slideWidth=gesture.$slideEl[0].offsetWidth;
gesture.slideHeight=gesture.$slideEl[0].offsetHeight;
gesture.$imageWrapEl.transition(0);
if(swiper.rtl){
image.startX=-image.startX;
image.startY=-image.startY;
}}
var scaledWidth=image.width * zoom.scale;
var scaledHeight=image.height * zoom.scale;
if(scaledWidth < gesture.slideWidth&&scaledHeight < gesture.slideHeight){ return; }
image.minX=Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);
image.maxX=-image.minX;
image.minY=Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);
image.maxY=-image.minY;
image.touchesCurrent.x=e.type==='touchmove' ? e.targetTouches[0].pageX:e.pageX;
image.touchesCurrent.y=e.type==='touchmove' ? e.targetTouches[0].pageY:e.pageY;
if(!image.isMoved&&!zoom.isScaling){
if(swiper.isHorizontal()
&& (
(Math.floor(image.minX)===Math.floor(image.startX)&&image.touchesCurrent.x < image.touchesStart.x)
|| (Math.floor(image.maxX)===Math.floor(image.startX)&&image.touchesCurrent.x > image.touchesStart.x)
)
){
image.isTouched=false;
return;
} if(!swiper.isHorizontal()
&& (
(Math.floor(image.minY)===Math.floor(image.startY)&&image.touchesCurrent.y < image.touchesStart.y)
|| (Math.floor(image.maxY)===Math.floor(image.startY)&&image.touchesCurrent.y > image.touchesStart.y)
)
){
image.isTouched=false;
return;
}}
e.preventDefault();
e.stopPropagation();
image.isMoved=true;
image.currentX=(image.touchesCurrent.x - image.touchesStart.x) + image.startX;
image.currentY=(image.touchesCurrent.y - image.touchesStart.y) + image.startY;
if(image.currentX < image.minX){
image.currentX=(image.minX + 1) - (Math.pow(((image.minX - image.currentX) + 1), 0.8));
}
if(image.currentX > image.maxX){
image.currentX=(image.maxX - 1) + (Math.pow(((image.currentX - image.maxX) + 1), 0.8));
}
if(image.currentY < image.minY){
image.currentY=(image.minY + 1) - (Math.pow(((image.minY - image.currentY) + 1), 0.8));
}
if(image.currentY > image.maxY){
image.currentY=(image.maxY - 1) + (Math.pow(((image.currentY - image.maxY) + 1), 0.8));
}
if(!velocity.prevPositionX){ velocity.prevPositionX=image.touchesCurrent.x; }
if(!velocity.prevPositionY){ velocity.prevPositionY=image.touchesCurrent.y; }
if(!velocity.prevTime){ velocity.prevTime=Date.now(); }
velocity.x=(image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
velocity.y=(image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
if(Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2){ velocity.x=0; }
if(Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2){ velocity.y=0; }
velocity.prevPositionX=image.touchesCurrent.x;
velocity.prevPositionY=image.touchesCurrent.y;
velocity.prevTime=Date.now();
gesture.$imageWrapEl.transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)"));
},
onTouchEnd: function onTouchEnd(){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
var velocity=zoom.velocity;
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
if(!image.isTouched||!image.isMoved){
image.isTouched=false;
image.isMoved=false;
return;
}
image.isTouched=false;
image.isMoved=false;
var momentumDurationX=300;
var momentumDurationY=300;
var momentumDistanceX=velocity.x * momentumDurationX;
var newPositionX=image.currentX + momentumDistanceX;
var momentumDistanceY=velocity.y * momentumDurationY;
var newPositionY=image.currentY + momentumDistanceY;
if(velocity.x!==0){ momentumDurationX=Math.abs((newPositionX - image.currentX) / velocity.x); }
if(velocity.y!==0){ momentumDurationY=Math.abs((newPositionY - image.currentY) / velocity.y); }
var momentumDuration=Math.max(momentumDurationX, momentumDurationY);
image.currentX=newPositionX;
image.currentY=newPositionY;
var scaledWidth=image.width * zoom.scale;
var scaledHeight=image.height * zoom.scale;
image.minX=Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);
image.maxX=-image.minX;
image.minY=Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);
image.maxY=-image.minY;
image.currentX=Math.max(Math.min(image.currentX, image.maxX), image.minX);
image.currentY=Math.max(Math.min(image.currentY, image.maxY), image.minY);
gesture.$imageWrapEl.transition(momentumDuration).transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)"));
},
onTransitionEnd: function onTransitionEnd(){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
if(gesture.$slideEl&&swiper.previousIndex!==swiper.activeIndex){
if(gesture.$imageEl){
gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');
}
if(gesture.$imageWrapEl){
gesture.$imageWrapEl.transform('translate3d(0,0,0)');
}
zoom.scale=1;
zoom.currentScale=1;
gesture.$slideEl=undefined;
gesture.$imageEl=undefined;
gesture.$imageWrapEl=undefined;
}},
toggle: function toggle(e){
var swiper=this;
var zoom=swiper.zoom;
if(zoom.scale&&zoom.scale!==1){
zoom.out();
}else{
zoom.in(e);
}},
in: function in$1(e){
var swiper=this;
var zoom=swiper.zoom;
var params=swiper.params.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
if(!gesture.$slideEl){
if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){
gesture.$slideEl=swiper.$wrapperEl.children(("." + (swiper.params.slideActiveClass)));
}else{
gesture.$slideEl=swiper.slides.eq(swiper.activeIndex);
}
gesture.$imageEl=gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
gesture.$imageWrapEl=gesture.$imageEl.parent(("." + (params.containerClass)));
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
gesture.$slideEl.addClass(("" + (params.zoomedSlideClass)));
var touchX;
var touchY;
var offsetX;
var offsetY;
var diffX;
var diffY;
var translateX;
var translateY;
var imageWidth;
var imageHeight;
var scaledWidth;
var scaledHeight;
var translateMinX;
var translateMinY;
var translateMaxX;
var translateMaxY;
var slideWidth;
var slideHeight;
if(typeof image.touchesStart.x==='undefined'&&e){
touchX=e.type==='touchend' ? e.changedTouches[0].pageX:e.pageX;
touchY=e.type==='touchend' ? e.changedTouches[0].pageY:e.pageY;
}else{
touchX=image.touchesStart.x;
touchY=image.touchesStart.y;
}
zoom.scale=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;
zoom.currentScale=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;
if(e){
slideWidth=gesture.$slideEl[0].offsetWidth;
slideHeight=gesture.$slideEl[0].offsetHeight;
offsetX=gesture.$slideEl.offset().left;
offsetY=gesture.$slideEl.offset().top;
diffX=(offsetX + (slideWidth / 2)) - touchX;
diffY=(offsetY + (slideHeight / 2)) - touchY;
imageWidth=gesture.$imageEl[0].offsetWidth;
imageHeight=gesture.$imageEl[0].offsetHeight;
scaledWidth=imageWidth * zoom.scale;
scaledHeight=imageHeight * zoom.scale;
translateMinX=Math.min(((slideWidth / 2) - (scaledWidth / 2)), 0);
translateMinY=Math.min(((slideHeight / 2) - (scaledHeight / 2)), 0);
translateMaxX=-translateMinX;
translateMaxY=-translateMinY;
translateX=diffX * zoom.scale;
translateY=diffY * zoom.scale;
if(translateX < translateMinX){
translateX=translateMinX;
}
if(translateX > translateMaxX){
translateX=translateMaxX;
}
if(translateY < translateMinY){
translateY=translateMinY;
}
if(translateY > translateMaxY){
translateY=translateMaxY;
}}else{
translateX=0;
translateY=0;
}
gesture.$imageWrapEl.transition(300).transform(("translate3d(" + translateX + "px, " + translateY + "px,0)"));
gesture.$imageEl.transition(300).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
},
out: function out(){
var swiper=this;
var zoom=swiper.zoom;
var params=swiper.params.zoom;
var gesture=zoom.gesture;
if(!gesture.$slideEl){
if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){
gesture.$slideEl=swiper.$wrapperEl.children(("." + (swiper.params.slideActiveClass)));
}else{
gesture.$slideEl=swiper.slides.eq(swiper.activeIndex);
}
gesture.$imageEl=gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
gesture.$imageWrapEl=gesture.$imageEl.parent(("." + (params.containerClass)));
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
zoom.scale=1;
zoom.currentScale=1;
gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');
gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');
gesture.$slideEl.removeClass(("" + (params.zoomedSlideClass)));
gesture.$slideEl=undefined;
},
enable: function enable(){
var swiper=this;
var zoom=swiper.zoom;
if(zoom.enabled){ return; }
zoom.enabled=true;
var passiveListener=swiper.touchEvents.start==='touchstart'&&Support.passiveListener&&swiper.params.passiveListeners ? { passive: true, capture: false }:false;
var activeListenerWithCapture=Support.passiveListener ? { passive: false, capture: true }:true;
var slideSelector="." + (swiper.params.slideClass);
if(Support.gestures){
swiper.$wrapperEl.on('gesturestart', slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.on('gesturechange', slideSelector, zoom.onGestureChange, passiveListener);
swiper.$wrapperEl.on('gestureend', slideSelector, zoom.onGestureEnd, passiveListener);
}else if(swiper.touchEvents.start==='touchstart'){
swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
if(swiper.touchEvents.cancel){
swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
}}
swiper.$wrapperEl.on(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove, activeListenerWithCapture);
},
disable: function disable(){
var swiper=this;
var zoom=swiper.zoom;
if(!zoom.enabled){ return; }
swiper.zoom.enabled=false;
var passiveListener=swiper.touchEvents.start==='touchstart'&&Support.passiveListener&&swiper.params.passiveListeners ? { passive: true, capture: false }:false;
var activeListenerWithCapture=Support.passiveListener ? { passive: false, capture: true }:true;
var slideSelector="." + (swiper.params.slideClass);
if(Support.gestures){
swiper.$wrapperEl.off('gesturestart', slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.off('gesturechange', slideSelector, zoom.onGestureChange, passiveListener);
swiper.$wrapperEl.off('gestureend', slideSelector, zoom.onGestureEnd, passiveListener);
}else if(swiper.touchEvents.start==='touchstart'){
swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
if(swiper.touchEvents.cancel){
swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
}}
swiper.$wrapperEl.off(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove, activeListenerWithCapture);
},
};
var Zoom$1={
name: 'zoom',
params: {
zoom: {
enabled: false,
maxRatio: 3,
minRatio: 1,
toggle: true,
containerClass: 'swiper-zoom-container',
zoomedSlideClass: 'swiper-slide-zoomed',
},
},
create: function create(){
var swiper=this;
var zoom={
enabled: false,
scale: 1,
currentScale: 1,
isScaling: false,
gesture: {
$slideEl: undefined,
slideWidth: undefined,
slideHeight: undefined,
$imageEl: undefined,
$imageWrapEl: undefined,
maxRatio: 3,
},
image: {
isTouched: undefined,
isMoved: undefined,
currentX: undefined,
currentY: undefined,
minX: undefined,
minY: undefined,
maxX: undefined,
maxY: undefined,
width: undefined,
height: undefined,
startX: undefined,
startY: undefined,
touchesStart: {},
touchesCurrent: {},
},
velocity: {
x: undefined,
y: undefined,
prevPositionX: undefined,
prevPositionY: undefined,
prevTime: undefined,
},
};
('onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out').split(' ').forEach(function (methodName){
zoom[methodName]=Zoom[methodName].bind(swiper);
});
Utils.extend(swiper, {
zoom: zoom,
});
var scale=1;
Object.defineProperty(swiper.zoom, 'scale', {
get: function get(){
return scale;
},
set: function set(value){
if(scale!==value){
var imageEl=swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0]:undefined;
var slideEl=swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0]:undefined;
swiper.emit('zoomChange', value, imageEl, slideEl);
}
scale=value;
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.zoom.enabled){
swiper.zoom.enable();
}},
destroy: function destroy(){
var swiper=this;
swiper.zoom.disable();
},
touchStart: function touchStart(e){
var swiper=this;
if(!swiper.zoom.enabled){ return; }
swiper.zoom.onTouchStart(e);
},
touchEnd: function touchEnd(e){
var swiper=this;
if(!swiper.zoom.enabled){ return; }
swiper.zoom.onTouchEnd(e);
},
doubleTap: function doubleTap(e){
var swiper=this;
if(swiper.params.zoom.enabled&&swiper.zoom.enabled&&swiper.params.zoom.toggle){
swiper.zoom.toggle(e);
}},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.zoom.enabled&&swiper.params.zoom.enabled){
swiper.zoom.onTransitionEnd();
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.zoom.enabled&&swiper.params.zoom.enabled&&swiper.params.cssMode){
swiper.zoom.onTransitionEnd();
}},
},
};
var Lazy={
loadInSlide: function loadInSlide(index, loadInDuplicate){
if(loadInDuplicate===void 0) loadInDuplicate=true;
var swiper=this;
var params=swiper.params.lazy;
if(typeof index==='undefined'){ return; }
if(swiper.slides.length===0){ return; }
var isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
var $slideEl=isVirtual
? swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]"))
: swiper.slides.eq(index);
var $images=$slideEl.find(("." + (params.elementClass) + ":not(." + (params.loadedClass) + "):not(." + (params.loadingClass) + ")"));
if($slideEl.hasClass(params.elementClass)&&!$slideEl.hasClass(params.loadedClass)&&!$slideEl.hasClass(params.loadingClass)){
$images=$images.add($slideEl[0]);
}
if($images.length===0){ return; }
$images.each(function (imageIndex, imageEl){
var $imageEl=$(imageEl);
$imageEl.addClass(params.loadingClass);
var background=$imageEl.attr('data-background');
var src=$imageEl.attr('data-src');
var srcset=$imageEl.attr('data-srcset');
var sizes=$imageEl.attr('data-sizes');
swiper.loadImage($imageEl[0], (src||background), srcset, sizes, false, function (){
if(typeof swiper==='undefined'||swiper===null||!swiper||(swiper&&!swiper.params)||swiper.destroyed){ return; }
if(background){
$imageEl.css('background-image', ("url(\"" + background + "\")"));
$imageEl.removeAttr('data-background');
}else{
if(srcset){
$imageEl.attr('srcset', srcset);
$imageEl.removeAttr('data-srcset');
}
if(sizes){
$imageEl.attr('sizes', sizes);
$imageEl.removeAttr('data-sizes');
}
if(src){
$imageEl.attr('src', src);
$imageEl.removeAttr('data-src');
}}
$imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);
$slideEl.find(("." + (params.preloaderClass))).remove();
if(swiper.params.loop&&loadInDuplicate){
var slideOriginalIndex=$slideEl.attr('data-swiper-slide-index');
if($slideEl.hasClass(swiper.params.slideDuplicateClass)){
var originalSlide=swiper.$wrapperEl.children(("[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]:not(." + (swiper.params.slideDuplicateClass) + ")"));
swiper.lazy.loadInSlide(originalSlide.index(), false);
}else{
var duplicatedSlide=swiper.$wrapperEl.children(("." + (swiper.params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]"));
swiper.lazy.loadInSlide(duplicatedSlide.index(), false);
}}
swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);
if(swiper.params.autoHeight){
swiper.updateAutoHeight();
}});
swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);
});
},
load: function load(){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var swiperParams=swiper.params;
var slides=swiper.slides;
var activeIndex=swiper.activeIndex;
var isVirtual=swiper.virtual&&swiperParams.virtual.enabled;
var params=swiperParams.lazy;
var slidesPerView=swiperParams.slidesPerView;
if(slidesPerView==='auto'){
slidesPerView=0;
}
function slideExist(index){
if(isVirtual){
if($wrapperEl.children(("." + (swiperParams.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]")).length){
return true;
}}else if(slides[index]){ return true; }
return false;
}
function slideIndex(slideEl){
if(isVirtual){
return $(slideEl).attr('data-swiper-slide-index');
}
return $(slideEl).index();
}
if(!swiper.lazy.initialImageLoaded){ swiper.lazy.initialImageLoaded=true; }
if(swiper.params.watchSlidesVisibility){
$wrapperEl.children(("." + (swiperParams.slideVisibleClass))).each(function (elIndex, slideEl){
var index=isVirtual ? $(slideEl).attr('data-swiper-slide-index'):$(slideEl).index();
swiper.lazy.loadInSlide(index);
});
}else if(slidesPerView > 1){
for (var i=activeIndex; i < activeIndex + slidesPerView; i +=1){
if(slideExist(i)){ swiper.lazy.loadInSlide(i); }}
}else{
swiper.lazy.loadInSlide(activeIndex);
}
if(params.loadPrevNext){
if(slidesPerView > 1||(params.loadPrevNextAmount&&params.loadPrevNextAmount > 1)){
var amount=params.loadPrevNextAmount;
var spv=slidesPerView;
var maxIndex=Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);
var minIndex=Math.max(activeIndex - Math.max(spv, amount), 0);
for (var i$1=activeIndex + slidesPerView; i$1 < maxIndex; i$1 +=1){
if(slideExist(i$1)){ swiper.lazy.loadInSlide(i$1); }}
for (var i$2=minIndex; i$2 < activeIndex; i$2 +=1){
if(slideExist(i$2)){ swiper.lazy.loadInSlide(i$2); }}
}else{
var nextSlide=$wrapperEl.children(("." + (swiperParams.slideNextClass)));
if(nextSlide.length > 0){ swiper.lazy.loadInSlide(slideIndex(nextSlide)); }
var prevSlide=$wrapperEl.children(("." + (swiperParams.slidePrevClass)));
if(prevSlide.length > 0){ swiper.lazy.loadInSlide(slideIndex(prevSlide)); }}
}},
};
var Lazy$1={
name: 'lazy',
params: {
lazy: {
enabled: false,
loadPrevNext: false,
loadPrevNextAmount: 1,
loadOnTransitionStart: false,
elementClass: 'swiper-lazy',
loadingClass: 'swiper-lazy-loading',
loadedClass: 'swiper-lazy-loaded',
preloaderClass: 'swiper-lazy-preloader',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
lazy: {
initialImageLoaded: false,
load: Lazy.load.bind(swiper),
loadInSlide: Lazy.loadInSlide.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.lazy.enabled&&swiper.params.preloadImages){
swiper.params.preloadImages=false;
}},
init: function init(){
var swiper=this;
if(swiper.params.lazy.enabled&&!swiper.params.loop&&swiper.params.initialSlide===0){
swiper.lazy.load();
}},
scroll: function scroll(){
var swiper=this;
if(swiper.params.freeMode&&!swiper.params.freeModeSticky){
swiper.lazy.load();
}},
resize: function resize(){
var swiper=this;
if(swiper.params.lazy.enabled){
swiper.lazy.load();
}},
scrollbarDragMove: function scrollbarDragMove(){
var swiper=this;
if(swiper.params.lazy.enabled){
swiper.lazy.load();
}},
transitionStart: function transitionStart(){
var swiper=this;
if(swiper.params.lazy.enabled){
if(swiper.params.lazy.loadOnTransitionStart||(!swiper.params.lazy.loadOnTransitionStart&&!swiper.lazy.initialImageLoaded)){
swiper.lazy.load();
}}
},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.params.lazy.enabled&&!swiper.params.lazy.loadOnTransitionStart){
swiper.lazy.load();
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.params.lazy.enabled&&swiper.params.cssMode){
swiper.lazy.load();
}},
},
};
var Controller={
LinearSpline: function LinearSpline(x, y){
var binarySearch=(function search(){
var maxIndex;
var minIndex;
var guess;
return function (array, val){
minIndex=-1;
maxIndex=array.length;
while (maxIndex - minIndex > 1){
guess=maxIndex + minIndex >> 1;
if(array[guess] <=val){
minIndex=guess;
}else{
maxIndex=guess;
}}
return maxIndex;
};}());
this.x=x;
this.y=y;
this.lastIndex=x.length - 1;
var i1;
var i3;
this.interpolate=function interpolate(x2){
if(!x2){ return 0; }
i3=binarySearch(this.x, x2);
i1=i3 - 1;
return (((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1])) + this.y[i1];
};
return this;
},
getInterpolateFunction: function getInterpolateFunction(c){
var swiper=this;
if(!swiper.controller.spline){
swiper.controller.spline=swiper.params.loop
? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid)
: new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);
}},
setTranslate: function setTranslate(setTranslate$1, byController){
var swiper=this;
var controlled=swiper.controller.control;
var multiplier;
var controlledTranslate;
function setControlledTranslate(c){
var translate=swiper.rtlTranslate ? -swiper.translate:swiper.translate;
if(swiper.params.controller.by==='slide'){
swiper.controller.getInterpolateFunction(c);
controlledTranslate=-swiper.controller.spline.interpolate(-translate);
}
if(!controlledTranslate||swiper.params.controller.by==='container'){
multiplier=(c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
controlledTranslate=((translate - swiper.minTranslate()) * multiplier) + c.minTranslate();
}
if(swiper.params.controller.inverse){
controlledTranslate=c.maxTranslate() - controlledTranslate;
}
c.updateProgress(controlledTranslate);
c.setTranslate(controlledTranslate, swiper);
c.updateActiveIndex();
c.updateSlidesClasses();
}
if(Array.isArray(controlled)){
for (var i=0; i < controlled.length; i +=1){
if(controlled[i]!==byController&&controlled[i] instanceof Swiper){
setControlledTranslate(controlled[i]);
}}
}else if(controlled instanceof Swiper&&byController!==controlled){
setControlledTranslate(controlled);
}},
setTransition: function setTransition(duration, byController){
var swiper=this;
var controlled=swiper.controller.control;
var i;
function setControlledTransition(c){
c.setTransition(duration, swiper);
if(duration!==0){
c.transitionStart();
if(c.params.autoHeight){
Utils.nextTick(function (){
c.updateAutoHeight();
});
}
c.$wrapperEl.transitionEnd(function (){
if(!controlled){ return; }
if(c.params.loop&&swiper.params.controller.by==='slide'){
c.loopFix();
}
c.transitionEnd();
});
}}
if(Array.isArray(controlled)){
for (i=0; i < controlled.length; i +=1){
if(controlled[i]!==byController&&controlled[i] instanceof Swiper){
setControlledTransition(controlled[i]);
}}
}else if(controlled instanceof Swiper&&byController!==controlled){
setControlledTransition(controlled);
}},
};
var Controller$1={
name: 'controller',
params: {
controller: {
control: undefined,
inverse: false,
by: 'slide',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
controller: {
control: swiper.params.controller.control,
getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),
setTranslate: Controller.setTranslate.bind(swiper),
setTransition: Controller.setTransition.bind(swiper),
},
});
},
on: {
update: function update(){
var swiper=this;
if(!swiper.controller.control){ return; }
if(swiper.controller.spline){
swiper.controller.spline=undefined;
delete swiper.controller.spline;
}},
resize: function resize(){
var swiper=this;
if(!swiper.controller.control){ return; }
if(swiper.controller.spline){
swiper.controller.spline=undefined;
delete swiper.controller.spline;
}},
observerUpdate: function observerUpdate(){
var swiper=this;
if(!swiper.controller.control){ return; }
if(swiper.controller.spline){
swiper.controller.spline=undefined;
delete swiper.controller.spline;
}},
setTranslate: function setTranslate(translate, byController){
var swiper=this;
if(!swiper.controller.control){ return; }
swiper.controller.setTranslate(translate, byController);
},
setTransition: function setTransition(duration, byController){
var swiper=this;
if(!swiper.controller.control){ return; }
swiper.controller.setTransition(duration, byController);
},
},
};
var a11y={
makeElFocusable: function makeElFocusable($el){
$el.attr('tabIndex', '0');
return $el;
},
addElRole: function addElRole($el, role){
$el.attr('role', role);
return $el;
},
addElLabel: function addElLabel($el, label){
$el.attr('aria-label', label);
return $el;
},
disableEl: function disableEl($el){
$el.attr('aria-disabled', true);
return $el;
},
enableEl: function enableEl($el){
$el.attr('aria-disabled', false);
return $el;
},
onEnterKey: function onEnterKey(e){
var swiper=this;
var params=swiper.params.a11y;
if(e.keyCode!==13){ return; }
var $targetEl=$(e.target);
if(swiper.navigation&&swiper.navigation.$nextEl&&$targetEl.is(swiper.navigation.$nextEl)){
if(!(swiper.isEnd&&!swiper.params.loop)){
swiper.slideNext();
}
if(swiper.isEnd){
swiper.a11y.notify(params.lastSlideMessage);
}else{
swiper.a11y.notify(params.nextSlideMessage);
}}
if(swiper.navigation&&swiper.navigation.$prevEl&&$targetEl.is(swiper.navigation.$prevEl)){
if(!(swiper.isBeginning&&!swiper.params.loop)){
swiper.slidePrev();
}
if(swiper.isBeginning){
swiper.a11y.notify(params.firstSlideMessage);
}else{
swiper.a11y.notify(params.prevSlideMessage);
}}
if(swiper.pagination&&$targetEl.is(("." + (swiper.params.pagination.bulletClass)))){
$targetEl[0].click();
}},
notify: function notify(message){
var swiper=this;
var notification=swiper.a11y.liveRegion;
if(notification.length===0){ return; }
notification.html('');
notification.html(message);
},
updateNavigation: function updateNavigation(){
var swiper=this;
if(swiper.params.loop||!swiper.navigation){ return; }
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if($prevEl&&$prevEl.length > 0){
if(swiper.isBeginning){
swiper.a11y.disableEl($prevEl);
}else{
swiper.a11y.enableEl($prevEl);
}}
if($nextEl&&$nextEl.length > 0){
if(swiper.isEnd){
swiper.a11y.disableEl($nextEl);
}else{
swiper.a11y.enableEl($nextEl);
}}
},
updatePagination: function updatePagination(){
var swiper=this;
var params=swiper.params.a11y;
if(swiper.pagination&&swiper.params.pagination.clickable&&swiper.pagination.bullets&&swiper.pagination.bullets.length){
swiper.pagination.bullets.each(function (bulletIndex, bulletEl){
var $bulletEl=$(bulletEl);
swiper.a11y.makeElFocusable($bulletEl);
swiper.a11y.addElRole($bulletEl, 'button');
swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));
});
}},
init: function init(){
var swiper=this;
swiper.$el.append(swiper.a11y.liveRegion);
var params=swiper.params.a11y;
var $nextEl;
var $prevEl;
if(swiper.navigation&&swiper.navigation.$nextEl){
$nextEl=swiper.navigation.$nextEl;
}
if(swiper.navigation&&swiper.navigation.$prevEl){
$prevEl=swiper.navigation.$prevEl;
}
if($nextEl){
swiper.a11y.makeElFocusable($nextEl);
swiper.a11y.addElRole($nextEl, 'button');
swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);
$nextEl.on('keydown', swiper.a11y.onEnterKey);
}
if($prevEl){
swiper.a11y.makeElFocusable($prevEl);
swiper.a11y.addElRole($prevEl, 'button');
swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);
$prevEl.on('keydown', swiper.a11y.onEnterKey);
}
if(swiper.pagination&&swiper.params.pagination.clickable&&swiper.pagination.bullets&&swiper.pagination.bullets.length){
swiper.pagination.$el.on('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);
}},
destroy: function destroy(){
var swiper=this;
if(swiper.a11y.liveRegion&&swiper.a11y.liveRegion.length > 0){ swiper.a11y.liveRegion.remove(); }
var $nextEl;
var $prevEl;
if(swiper.navigation&&swiper.navigation.$nextEl){
$nextEl=swiper.navigation.$nextEl;
}
if(swiper.navigation&&swiper.navigation.$prevEl){
$prevEl=swiper.navigation.$prevEl;
}
if($nextEl){
$nextEl.off('keydown', swiper.a11y.onEnterKey);
}
if($prevEl){
$prevEl.off('keydown', swiper.a11y.onEnterKey);
}
if(swiper.pagination&&swiper.params.pagination.clickable&&swiper.pagination.bullets&&swiper.pagination.bullets.length){
swiper.pagination.$el.off('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);
}},
};
var A11y={
name: 'a11y',
params: {
a11y: {
enabled: true,
notificationClass: 'swiper-notification',
prevSlideMessage: 'Previous slide',
nextSlideMessage: 'Next slide',
firstSlideMessage: 'This is the first slide',
lastSlideMessage: 'This is the last slide',
paginationBulletMessage: 'Go to slide {{index}}',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
a11y: {
liveRegion: $(("<span class=\"" + (swiper.params.a11y.notificationClass) + "\" aria-live=\"assertive\" aria-atomic=\"true\"></span>")),
},
});
Object.keys(a11y).forEach(function (methodName){
swiper.a11y[methodName]=a11y[methodName].bind(swiper);
});
},
on: {
init: function init(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.init();
swiper.a11y.updateNavigation();
},
toEdge: function toEdge(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.updateNavigation();
},
fromEdge: function fromEdge(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.updateNavigation();
},
paginationUpdate: function paginationUpdate(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.updatePagination();
},
destroy: function destroy(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.destroy();
},
},
};
var History={
init: function init(){
var swiper=this;
if(!swiper.params.history){ return; }
if(!win.history||!win.history.pushState){
swiper.params.history.enabled=false;
swiper.params.hashNavigation.enabled=true;
return;
}
var history=swiper.history;
history.initialized=true;
history.paths=History.getPathValues();
if(!history.paths.key&&!history.paths.value){ return; }
history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);
if(!swiper.params.history.replaceState){
win.addEventListener('popstate', swiper.history.setHistoryPopState);
}},
destroy: function destroy(){
var swiper=this;
if(!swiper.params.history.replaceState){
win.removeEventListener('popstate', swiper.history.setHistoryPopState);
}},
setHistoryPopState: function setHistoryPopState(){
var swiper=this;
swiper.history.paths=History.getPathValues();
swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);
},
getPathValues: function getPathValues(){
var pathArray=win.location.pathname.slice(1).split('/').filter(function (part){ return part!==''; });
var total=pathArray.length;
var key=pathArray[total - 2];
var value=pathArray[total - 1];
return { key: key, value: value };},
setHistory: function setHistory(key, index){
var swiper=this;
if(!swiper.history.initialized||!swiper.params.history.enabled){ return; }
var slide=swiper.slides.eq(index);
var value=History.slugify(slide.attr('data-history'));
if(!win.location.pathname.includes(key)){
value=key + "/" + value;
}
var currentState=win.history.state;
if(currentState&&currentState.value===value){
return;
}
if(swiper.params.history.replaceState){
win.history.replaceState({ value: value }, null, value);
}else{
win.history.pushState({ value: value }, null, value);
}},
slugify: function slugify(text){
return text.toString()
.replace(/\s+/g, '-')
.replace(/[^\w-]+/g, '')
.replace(/--+/g, '-')
.replace(/^-+/, '')
.replace(/-+$/, '');
},
scrollToSlide: function scrollToSlide(speed, value, runCallbacks){
var swiper=this;
if(value){
for (var i=0, length=swiper.slides.length; i < length; i +=1){
var slide=swiper.slides.eq(i);
var slideHistory=History.slugify(slide.attr('data-history'));
if(slideHistory===value&&!slide.hasClass(swiper.params.slideDuplicateClass)){
var index=slide.index();
swiper.slideTo(index, speed, runCallbacks);
}}
}else{
swiper.slideTo(0, speed, runCallbacks);
}},
};
var History$1={
name: 'history',
params: {
history: {
enabled: false,
replaceState: false,
key: 'slides',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
history: {
init: History.init.bind(swiper),
setHistory: History.setHistory.bind(swiper),
setHistoryPopState: History.setHistoryPopState.bind(swiper),
scrollToSlide: History.scrollToSlide.bind(swiper),
destroy: History.destroy.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.history.enabled){
swiper.history.init();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.params.history.enabled){
swiper.history.destroy();
}},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.history.initialized){
swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.history.initialized&&swiper.params.cssMode){
swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);
}},
},
};
var HashNavigation={
onHashCange: function onHashCange(){
var swiper=this;
var newHash=doc.location.hash.replace('#', '');
var activeSlideHash=swiper.slides.eq(swiper.activeIndex).attr('data-hash');
if(newHash!==activeSlideHash){
var newIndex=swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-hash=\"" + newHash + "\"]")).index();
if(typeof newIndex==='undefined'){ return; }
swiper.slideTo(newIndex);
}},
setHash: function setHash(){
var swiper=this;
if(!swiper.hashNavigation.initialized||!swiper.params.hashNavigation.enabled){ return; }
if(swiper.params.hashNavigation.replaceState&&win.history&&win.history.replaceState){
win.history.replaceState(null, null, (("#" + (swiper.slides.eq(swiper.activeIndex).attr('data-hash')))||''));
}else{
var slide=swiper.slides.eq(swiper.activeIndex);
var hash=slide.attr('data-hash')||slide.attr('data-history');
doc.location.hash=hash||'';
}},
init: function init(){
var swiper=this;
if(!swiper.params.hashNavigation.enabled||(swiper.params.history&&swiper.params.history.enabled)){ return; }
swiper.hashNavigation.initialized=true;
var hash=doc.location.hash.replace('#', '');
if(hash){
var speed=0;
for (var i=0, length=swiper.slides.length; i < length; i +=1){
var slide=swiper.slides.eq(i);
var slideHash=slide.attr('data-hash')||slide.attr('data-history');
if(slideHash===hash&&!slide.hasClass(swiper.params.slideDuplicateClass)){
var index=slide.index();
swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);
}}
}
if(swiper.params.hashNavigation.watchState){
$(win).on('hashchange', swiper.hashNavigation.onHashCange);
}},
destroy: function destroy(){
var swiper=this;
if(swiper.params.hashNavigation.watchState){
$(win).off('hashchange', swiper.hashNavigation.onHashCange);
}},
};
var HashNavigation$1={
name: 'hash-navigation',
params: {
hashNavigation: {
enabled: false,
replaceState: false,
watchState: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
hashNavigation: {
initialized: false,
init: HashNavigation.init.bind(swiper),
destroy: HashNavigation.destroy.bind(swiper),
setHash: HashNavigation.setHash.bind(swiper),
onHashCange: HashNavigation.onHashCange.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.hashNavigation.enabled){
swiper.hashNavigation.init();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.params.hashNavigation.enabled){
swiper.hashNavigation.destroy();
}},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.hashNavigation.initialized){
swiper.hashNavigation.setHash();
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.hashNavigation.initialized&&swiper.params.cssMode){
swiper.hashNavigation.setHash();
}},
},
};
var Autoplay={
run: function run(){
var swiper=this;
var $activeSlideEl=swiper.slides.eq(swiper.activeIndex);
var delay=swiper.params.autoplay.delay;
if($activeSlideEl.attr('data-swiper-autoplay')){
delay=$activeSlideEl.attr('data-swiper-autoplay')||swiper.params.autoplay.delay;
}
clearTimeout(swiper.autoplay.timeout);
swiper.autoplay.timeout=Utils.nextTick(function (){
if(swiper.params.autoplay.reverseDirection){
if(swiper.params.loop){
swiper.loopFix();
swiper.slidePrev(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.isBeginning){
swiper.slidePrev(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.params.autoplay.stopOnLastSlide){
swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);
swiper.emit('autoplay');
}else{
swiper.autoplay.stop();
}}else if(swiper.params.loop){
swiper.loopFix();
swiper.slideNext(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.isEnd){
swiper.slideNext(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.params.autoplay.stopOnLastSlide){
swiper.slideTo(0, swiper.params.speed, true, true);
swiper.emit('autoplay');
}else{
swiper.autoplay.stop();
}
if(swiper.params.cssMode&&swiper.autoplay.running){ swiper.autoplay.run(); }}, delay);
},
start: function start(){
var swiper=this;
if(typeof swiper.autoplay.timeout!=='undefined'){ return false; }
if(swiper.autoplay.running){ return false; }
swiper.autoplay.running=true;
swiper.emit('autoplayStart');
swiper.autoplay.run();
return true;
},
stop: function stop(){
var swiper=this;
if(!swiper.autoplay.running){ return false; }
if(typeof swiper.autoplay.timeout==='undefined'){ return false; }
if(swiper.autoplay.timeout){
clearTimeout(swiper.autoplay.timeout);
swiper.autoplay.timeout=undefined;
}
swiper.autoplay.running=false;
swiper.emit('autoplayStop');
return true;
},
pause: function pause(speed){
var swiper=this;
if(!swiper.autoplay.running){ return; }
if(swiper.autoplay.paused){ return; }
if(swiper.autoplay.timeout){ clearTimeout(swiper.autoplay.timeout); }
swiper.autoplay.paused=true;
if(speed===0||!swiper.params.autoplay.waitForTransition){
swiper.autoplay.paused=false;
swiper.autoplay.run();
}else{
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);
}},
};
var Autoplay$1={
name: 'autoplay',
params: {
autoplay: {
enabled: false,
delay: 3000,
waitForTransition: true,
disableOnInteraction: true,
stopOnLastSlide: false,
reverseDirection: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
autoplay: {
running: false,
paused: false,
run: Autoplay.run.bind(swiper),
start: Autoplay.start.bind(swiper),
stop: Autoplay.stop.bind(swiper),
pause: Autoplay.pause.bind(swiper),
onVisibilityChange: function onVisibilityChange(){
if(document.visibilityState==='hidden'&&swiper.autoplay.running){
swiper.autoplay.pause();
}
if(document.visibilityState==='visible'&&swiper.autoplay.paused){
swiper.autoplay.run();
swiper.autoplay.paused=false;
}},
onTransitionEnd: function onTransitionEnd(e){
if(!swiper||swiper.destroyed||!swiper.$wrapperEl){ return; }
if(e.target!==this){ return; }
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);
swiper.autoplay.paused=false;
if(!swiper.autoplay.running){
swiper.autoplay.stop();
}else{
swiper.autoplay.run();
}},
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.autoplay.enabled){
swiper.autoplay.start();
document.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);
}},
beforeTransitionStart: function beforeTransitionStart(speed, internal){
var swiper=this;
if(swiper.autoplay.running){
if(internal||!swiper.params.autoplay.disableOnInteraction){
swiper.autoplay.pause(speed);
}else{
swiper.autoplay.stop();
}}
},
sliderFirstMove: function sliderFirstMove(){
var swiper=this;
if(swiper.autoplay.running){
if(swiper.params.autoplay.disableOnInteraction){
swiper.autoplay.stop();
}else{
swiper.autoplay.pause();
}}
},
touchEnd: function touchEnd(){
var swiper=this;
if(swiper.params.cssMode&&swiper.autoplay.paused&&!swiper.params.autoplay.disableOnInteraction){
swiper.autoplay.run();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.autoplay.running){
swiper.autoplay.stop();
}
document.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);
},
},
};
var Fade={
setTranslate: function setTranslate(){
var swiper=this;
var slides=swiper.slides;
for (var i=0; i < slides.length; i +=1){
var $slideEl=swiper.slides.eq(i);
var offset=$slideEl[0].swiperSlideOffset;
var tx=-offset;
if(!swiper.params.virtualTranslate){ tx -=swiper.translate; }
var ty=0;
if(!swiper.isHorizontal()){
ty=tx;
tx=0;
}
var slideOpacity=swiper.params.fadeEffect.crossFade
? Math.max(1 - Math.abs($slideEl[0].progress), 0)
: 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);
$slideEl
.css({
opacity: slideOpacity,
})
.transform(("translate3d(" + tx + "px, " + ty + "px, 0px)"));
}},
setTransition: function setTransition(duration){
var swiper=this;
var slides=swiper.slides;
var $wrapperEl=swiper.$wrapperEl;
slides.transition(duration);
if(swiper.params.virtualTranslate&&duration!==0){
var eventTriggered=false;
slides.transitionEnd(function (){
if(eventTriggered){ return; }
if(!swiper||swiper.destroyed){ return; }
eventTriggered=true;
swiper.animating=false;
var triggerEvents=['webkitTransitionEnd', 'transitionend'];
for (var i=0; i < triggerEvents.length; i +=1){
$wrapperEl.trigger(triggerEvents[i]);
}});
}},
};
var EffectFade={
name: 'effect-fade',
params: {
fadeEffect: {
crossFade: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
fadeEffect: {
setTranslate: Fade.setTranslate.bind(swiper),
setTransition: Fade.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='fade'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "fade"));
var overwriteParams={
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='fade'){ return; }
swiper.fadeEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='fade'){ return; }
swiper.fadeEffect.setTransition(duration);
},
},
};
var Cube={
setTranslate: function setTranslate(){
var swiper=this;
var $el=swiper.$el;
var $wrapperEl=swiper.$wrapperEl;
var slides=swiper.slides;
var swiperWidth=swiper.width;
var swiperHeight=swiper.height;
var rtl=swiper.rtlTranslate;
var swiperSize=swiper.size;
var params=swiper.params.cubeEffect;
var isHorizontal=swiper.isHorizontal();
var isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
var wrapperRotate=0;
var $cubeShadowEl;
if(params.shadow){
if(isHorizontal){
$cubeShadowEl=$wrapperEl.find('.swiper-cube-shadow');
if($cubeShadowEl.length===0){
$cubeShadowEl=$('<div class="swiper-cube-shadow"></div>');
$wrapperEl.append($cubeShadowEl);
}
$cubeShadowEl.css({ height: (swiperWidth + "px") });
}else{
$cubeShadowEl=$el.find('.swiper-cube-shadow');
if($cubeShadowEl.length===0){
$cubeShadowEl=$('<div class="swiper-cube-shadow"></div>');
$el.append($cubeShadowEl);
}}
}
for (var i=0; i < slides.length; i +=1){
var $slideEl=slides.eq(i);
var slideIndex=i;
if(isVirtual){
slideIndex=parseInt($slideEl.attr('data-swiper-slide-index'), 10);
}
var slideAngle=slideIndex * 90;
var round=Math.floor(slideAngle / 360);
if(rtl){
slideAngle=-slideAngle;
round=Math.floor(-slideAngle / 360);
}
var progress=Math.max(Math.min($slideEl[0].progress, 1), -1);
var tx=0;
var ty=0;
var tz=0;
if(slideIndex % 4===0){
tx=-round * 4 * swiperSize;
tz=0;
}else if((slideIndex - 1) % 4===0){
tx=0;
tz=-round * 4 * swiperSize;
}else if((slideIndex - 2) % 4===0){
tx=swiperSize + (round * 4 * swiperSize);
tz=swiperSize;
}else if((slideIndex - 3) % 4===0){
tx=-swiperSize;
tz=(3 * swiperSize) + (swiperSize * 4 * round);
}
if(rtl){
tx=-tx;
}
if(!isHorizontal){
ty=tx;
tx=0;
}
var transform="rotateX(" + (isHorizontal ? 0:-slideAngle) + "deg) rotateY(" + (isHorizontal ? slideAngle:0) + "deg) translate3d(" + tx + "px, " + ty + "px, " + tz + "px)";
if(progress <=1&&progress > -1){
wrapperRotate=(slideIndex * 90) + (progress * 90);
if(rtl){ wrapperRotate=(-slideIndex * 90) - (progress * 90); }}
$slideEl.transform(transform);
if(params.slideShadows){
var shadowBefore=isHorizontal ? $slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');
var shadowAfter=isHorizontal ? $slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');
if(shadowBefore.length===0){
shadowBefore=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'left':'top') + "\"></div>"));
$slideEl.append(shadowBefore);
}
if(shadowAfter.length===0){
shadowAfter=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'right':'bottom') + "\"></div>"));
$slideEl.append(shadowAfter);
}
if(shadowBefore.length){ shadowBefore[0].style.opacity=Math.max(-progress, 0); }
if(shadowAfter.length){ shadowAfter[0].style.opacity=Math.max(progress, 0); }}
}
$wrapperEl.css({
'-webkit-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
'-moz-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
'-ms-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
'transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
});
if(params.shadow){
if(isHorizontal){
$cubeShadowEl.transform(("translate3d(0px, " + ((swiperWidth / 2) + params.shadowOffset) + "px, " + (-swiperWidth / 2) + "px) rotateX(90deg) rotateZ(0deg) scale(" + (params.shadowScale) + ")"));
}else{
var shadowAngle=Math.abs(wrapperRotate) - (Math.floor(Math.abs(wrapperRotate) / 90) * 90);
var multiplier=1.5 - (
(Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2)
+ (Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2)
);
var scale1=params.shadowScale;
var scale2=params.shadowScale / multiplier;
var offset=params.shadowOffset;
$cubeShadowEl.transform(("scale3d(" + scale1 + ", 1, " + scale2 + ") translate3d(0px, " + ((swiperHeight / 2) + offset) + "px, " + (-swiperHeight / 2 / scale2) + "px) rotateX(-90deg)"));
}}
var zFactor=(Browser.isSafari||Browser.isUiWebView) ? (-swiperSize / 2):0;
$wrapperEl
.transform(("translate3d(0px,0," + zFactor + "px) rotateX(" + (swiper.isHorizontal() ? 0:wrapperRotate) + "deg) rotateY(" + (swiper.isHorizontal() ? -wrapperRotate:0) + "deg)"));
},
setTransition: function setTransition(duration){
var swiper=this;
var $el=swiper.$el;
var slides=swiper.slides;
slides
.transition(duration)
.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
.transition(duration);
if(swiper.params.cubeEffect.shadow&&!swiper.isHorizontal()){
$el.find('.swiper-cube-shadow').transition(duration);
}},
};
var EffectCube={
name: 'effect-cube',
params: {
cubeEffect: {
slideShadows: true,
shadow: true,
shadowOffset: 20,
shadowScale: 0.94,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
cubeEffect: {
setTranslate: Cube.setTranslate.bind(swiper),
setTransition: Cube.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='cube'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "cube"));
swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
var overwriteParams={
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
resistanceRatio: 0,
spaceBetween: 0,
centeredSlides: false,
virtualTranslate: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='cube'){ return; }
swiper.cubeEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='cube'){ return; }
swiper.cubeEffect.setTransition(duration);
},
},
};
var Flip={
setTranslate: function setTranslate(){
var swiper=this;
var slides=swiper.slides;
var rtl=swiper.rtlTranslate;
for (var i=0; i < slides.length; i +=1){
var $slideEl=slides.eq(i);
var progress=$slideEl[0].progress;
if(swiper.params.flipEffect.limitRotation){
progress=Math.max(Math.min($slideEl[0].progress, 1), -1);
}
var offset=$slideEl[0].swiperSlideOffset;
var rotate=-180 * progress;
var rotateY=rotate;
var rotateX=0;
var tx=-offset;
var ty=0;
if(!swiper.isHorizontal()){
ty=tx;
tx=0;
rotateX=-rotateY;
rotateY=0;
}else if(rtl){
rotateY=-rotateY;
}
$slideEl[0].style.zIndex=-Math.abs(Math.round(progress)) + slides.length;
if(swiper.params.flipEffect.slideShadows){
var shadowBefore=swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');
var shadowAfter=swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');
if(shadowBefore.length===0){
shadowBefore=$(("<div class=\"swiper-slide-shadow-" + (swiper.isHorizontal() ? 'left':'top') + "\"></div>"));
$slideEl.append(shadowBefore);
}
if(shadowAfter.length===0){
shadowAfter=$(("<div class=\"swiper-slide-shadow-" + (swiper.isHorizontal() ? 'right':'bottom') + "\"></div>"));
$slideEl.append(shadowAfter);
}
if(shadowBefore.length){ shadowBefore[0].style.opacity=Math.max(-progress, 0); }
if(shadowAfter.length){ shadowAfter[0].style.opacity=Math.max(progress, 0); }}
$slideEl
.transform(("translate3d(" + tx + "px, " + ty + "px, 0px) rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)"));
}},
setTransition: function setTransition(duration){
var swiper=this;
var slides=swiper.slides;
var activeIndex=swiper.activeIndex;
var $wrapperEl=swiper.$wrapperEl;
slides
.transition(duration)
.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
.transition(duration);
if(swiper.params.virtualTranslate&&duration!==0){
var eventTriggered=false;
slides.eq(activeIndex).transitionEnd(function onTransitionEnd(){
if(eventTriggered){ return; }
if(!swiper||swiper.destroyed){ return; }
eventTriggered=true;
swiper.animating=false;
var triggerEvents=['webkitTransitionEnd', 'transitionend'];
for (var i=0; i < triggerEvents.length; i +=1){
$wrapperEl.trigger(triggerEvents[i]);
}});
}},
};
var EffectFlip={
name: 'effect-flip',
params: {
flipEffect: {
slideShadows: true,
limitRotation: true,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
flipEffect: {
setTranslate: Flip.setTranslate.bind(swiper),
setTransition: Flip.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='flip'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "flip"));
swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
var overwriteParams={
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='flip'){ return; }
swiper.flipEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='flip'){ return; }
swiper.flipEffect.setTransition(duration);
},
},
};
var Coverflow={
setTranslate: function setTranslate(){
var swiper=this;
var swiperWidth=swiper.width;
var swiperHeight=swiper.height;
var slides=swiper.slides;
var $wrapperEl=swiper.$wrapperEl;
var slidesSizesGrid=swiper.slidesSizesGrid;
var params=swiper.params.coverflowEffect;
var isHorizontal=swiper.isHorizontal();
var transform=swiper.translate;
var center=isHorizontal ? -transform + (swiperWidth / 2):-transform + (swiperHeight / 2);
var rotate=isHorizontal ? params.rotate:-params.rotate;
var translate=params.depth;
for (var i=0, length=slides.length; i < length; i +=1){
var $slideEl=slides.eq(i);
var slideSize=slidesSizesGrid[i];
var slideOffset=$slideEl[0].swiperSlideOffset;
var offsetMultiplier=((center - slideOffset - (slideSize / 2)) / slideSize) * params.modifier;
var rotateY=isHorizontal ? rotate * offsetMultiplier:0;
var rotateX=isHorizontal ? 0:rotate * offsetMultiplier;
var translateZ=-translate * Math.abs(offsetMultiplier);
var stretch=params.stretch;
if(typeof stretch==='string'&&stretch.indexOf('%')!==-1){
stretch=((parseFloat(params.stretch) / 100) * slideSize);
}
var translateY=isHorizontal ? 0:stretch * (offsetMultiplier);
var translateX=isHorizontal ? stretch * (offsetMultiplier):0;
if(Math.abs(translateX) < 0.001){ translateX=0; }
if(Math.abs(translateY) < 0.001){ translateY=0; }
if(Math.abs(translateZ) < 0.001){ translateZ=0; }
if(Math.abs(rotateY) < 0.001){ rotateY=0; }
if(Math.abs(rotateX) < 0.001){ rotateX=0; }
var slideTransform="translate3d(" + translateX + "px," + translateY + "px," + translateZ + "px)  rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)";
$slideEl.transform(slideTransform);
$slideEl[0].style.zIndex=-Math.abs(Math.round(offsetMultiplier)) + 1;
if(params.slideShadows){
var $shadowBeforeEl=isHorizontal ? $slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');
var $shadowAfterEl=isHorizontal ? $slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');
if($shadowBeforeEl.length===0){
$shadowBeforeEl=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'left':'top') + "\"></div>"));
$slideEl.append($shadowBeforeEl);
}
if($shadowAfterEl.length===0){
$shadowAfterEl=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'right':'bottom') + "\"></div>"));
$slideEl.append($shadowAfterEl);
}
if($shadowBeforeEl.length){ $shadowBeforeEl[0].style.opacity=offsetMultiplier > 0 ? offsetMultiplier:0; }
if($shadowAfterEl.length){ $shadowAfterEl[0].style.opacity=(-offsetMultiplier) > 0 ? -offsetMultiplier:0; }}
}
if(Support.pointerEvents||Support.prefixedPointerEvents){
var ws=$wrapperEl[0].style;
ws.perspectiveOrigin=center + "px 50%";
}},
setTransition: function setTransition(duration){
var swiper=this;
swiper.slides
.transition(duration)
.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
.transition(duration);
},
};
var EffectCoverflow={
name: 'effect-coverflow',
params: {
coverflowEffect: {
rotate: 50,
stretch: 0,
depth: 100,
modifier: 1,
slideShadows: true,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
coverflowEffect: {
setTranslate: Coverflow.setTranslate.bind(swiper),
setTransition: Coverflow.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='coverflow'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "coverflow"));
swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
swiper.params.watchSlidesProgress=true;
swiper.originalParams.watchSlidesProgress=true;
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='coverflow'){ return; }
swiper.coverflowEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='coverflow'){ return; }
swiper.coverflowEffect.setTransition(duration);
},
},
};
var Thumbs={
init: function init(){
var swiper=this;
var ref=swiper.params;
var thumbsParams=ref.thumbs;
var SwiperClass=swiper.constructor;
if(thumbsParams.swiper instanceof SwiperClass){
swiper.thumbs.swiper=thumbsParams.swiper;
Utils.extend(swiper.thumbs.swiper.originalParams, {
watchSlidesProgress: true,
slideToClickedSlide: false,
});
Utils.extend(swiper.thumbs.swiper.params, {
watchSlidesProgress: true,
slideToClickedSlide: false,
});
}else if(Utils.isObject(thumbsParams.swiper)){
swiper.thumbs.swiper=new SwiperClass(Utils.extend({}, thumbsParams.swiper, {
watchSlidesVisibility: true,
watchSlidesProgress: true,
slideToClickedSlide: false,
}));
swiper.thumbs.swiperCreated=true;
}
swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);
swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);
},
onThumbClick: function onThumbClick(){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
var clickedIndex=thumbsSwiper.clickedIndex;
var clickedSlide=thumbsSwiper.clickedSlide;
if(clickedSlide&&$(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)){ return; }
if(typeof clickedIndex==='undefined'||clickedIndex===null){ return; }
var slideToIndex;
if(thumbsSwiper.params.loop){
slideToIndex=parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);
}else{
slideToIndex=clickedIndex;
}
if(swiper.params.loop){
var currentIndex=swiper.activeIndex;
if(swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)){
swiper.loopFix();
swiper._clientLeft=swiper.$wrapperEl[0].clientLeft;
currentIndex=swiper.activeIndex;
}
var prevIndex=swiper.slides.eq(currentIndex).prevAll(("[data-swiper-slide-index=\"" + slideToIndex + "\"]")).eq(0).index();
var nextIndex=swiper.slides.eq(currentIndex).nextAll(("[data-swiper-slide-index=\"" + slideToIndex + "\"]")).eq(0).index();
if(typeof prevIndex==='undefined'){ slideToIndex=nextIndex; }
else if(typeof nextIndex==='undefined'){ slideToIndex=prevIndex; }
else if(nextIndex - currentIndex < currentIndex - prevIndex){ slideToIndex=nextIndex; }else{ slideToIndex=prevIndex; }}
swiper.slideTo(slideToIndex);
},
update: function update(initial){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
var slidesPerView=thumbsSwiper.params.slidesPerView==='auto'
? thumbsSwiper.slidesPerViewDynamic()
: thumbsSwiper.params.slidesPerView;
if(swiper.realIndex!==thumbsSwiper.realIndex){
var currentThumbsIndex=thumbsSwiper.activeIndex;
var newThumbsIndex;
if(thumbsSwiper.params.loop){
if(thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)){
thumbsSwiper.loopFix();
thumbsSwiper._clientLeft=thumbsSwiper.$wrapperEl[0].clientLeft;
currentThumbsIndex=thumbsSwiper.activeIndex;
}
var prevThumbsIndex=thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(("[data-swiper-slide-index=\"" + (swiper.realIndex) + "\"]")).eq(0).index();
var nextThumbsIndex=thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(("[data-swiper-slide-index=\"" + (swiper.realIndex) + "\"]")).eq(0).index();
if(typeof prevThumbsIndex==='undefined'){ newThumbsIndex=nextThumbsIndex; }
else if(typeof nextThumbsIndex==='undefined'){ newThumbsIndex=prevThumbsIndex; }
else if(nextThumbsIndex - currentThumbsIndex===currentThumbsIndex - prevThumbsIndex){ newThumbsIndex=currentThumbsIndex; }
else if(nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex){ newThumbsIndex=nextThumbsIndex; }else{ newThumbsIndex=prevThumbsIndex; }}else{
newThumbsIndex=swiper.realIndex;
}
if(thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0){
if(thumbsSwiper.params.centeredSlides){
if(newThumbsIndex > currentThumbsIndex){
newThumbsIndex=newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
}else{
newThumbsIndex=newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
}}else if(newThumbsIndex > currentThumbsIndex){
newThumbsIndex=newThumbsIndex - slidesPerView + 1;
}
thumbsSwiper.slideTo(newThumbsIndex, initial ? 0:undefined);
}}
var thumbsToActivate=1;
var thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;
if(swiper.params.slidesPerView > 1&&!swiper.params.centeredSlides){
thumbsToActivate=swiper.params.slidesPerView;
}
if(!swiper.params.thumbs.multipleActiveThumbs){
thumbsToActivate=1;
}
thumbsToActivate=Math.floor(thumbsToActivate);
thumbsSwiper.slides.removeClass(thumbActiveClass);
if(thumbsSwiper.params.loop||(thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled)){
for (var i=0; i < thumbsToActivate; i +=1){
thumbsSwiper.$wrapperEl.children(("[data-swiper-slide-index=\"" + (swiper.realIndex + i) + "\"]")).addClass(thumbActiveClass);
}}else{
for (var i$1=0; i$1 < thumbsToActivate; i$1 +=1){
thumbsSwiper.slides.eq(swiper.realIndex + i$1).addClass(thumbActiveClass);
}}
},
};
var Thumbs$1={
name: 'thumbs',
params: {
thumbs: {
multipleActiveThumbs: true,
swiper: null,
slideThumbActiveClass: 'swiper-slide-thumb-active',
thumbsContainerClass: 'swiper-container-thumbs',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
thumbs: {
swiper: null,
init: Thumbs.init.bind(swiper),
update: Thumbs.update.bind(swiper),
onThumbClick: Thumbs.onThumbClick.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
var ref=swiper.params;
var thumbs=ref.thumbs;
if(!thumbs||!thumbs.swiper){ return; }
swiper.thumbs.init();
swiper.thumbs.update(true);
},
slideChange: function slideChange(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
update: function update(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
resize: function resize(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
observerUpdate: function observerUpdate(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
setTransition: function setTransition(duration){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
thumbsSwiper.setTransition(duration);
},
beforeDestroy: function beforeDestroy(){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
if(swiper.thumbs.swiperCreated&&thumbsSwiper){
thumbsSwiper.destroy();
}},
},
};
var components=[
Device$1,
Support$1,
Browser$1,
Resize,
Observer$1,
Virtual$1,
Keyboard$1,
Mousewheel$1,
Navigation$1,
Pagination$1,
Scrollbar$1,
Parallax$1,
Zoom$1,
Lazy$1,
Controller$1,
A11y,
History$1,
HashNavigation$1,
Autoplay$1,
EffectFade,
EffectCube,
EffectFlip,
EffectCoverflow,
Thumbs$1
];
if(typeof Swiper.use==='undefined'){
Swiper.use=Swiper.Class.use;
Swiper.installModule=Swiper.Class.installModule;
}
Swiper.use(components);
return Swiper;
})));
(function ($){
$.fn.prognroll=function (options){
var settings=$.extend({
height: 5,
color: "#50bcb6",
custom: false
}, options);
return this.each(function (){
if($(this).data('prognroll')){
return false;
}
$(this).data('prognroll', true);
var progressBar=$("<span>", {
class: "prognroll-bar"
});
$("body").prepend(progressBar);
progressBar.css({
position: "fixed",
top: 0,
left: 0,
width: 0,
height: settings.height,
backgroundColor: settings.color,
zIndex: 2147483647
});
var globals={
"progressBar": $(".prognroll-bar"),
"windowScrollTop": $(window).scrollTop(),
"windowOuterHeight": $(window).outerHeight(),
"bodyHeight": $(document).height()
}
function bindWindowScroll(){
$(window).scroll(function (e){
e.preventDefault();
globals.windowScrollTop=$(window).scrollTop();
globals.windowOuterHeight=$(window).outerHeight();
globals.bodyHeight=$(document).height();
var total=(globals.windowScrollTop / (globals.bodyHeight - globals.windowOuterHeight)) * 100;
globals.progressBar.css("width", total + "%");
});
}
if(settings.custom===false){
bindWindowScroll();
}else{
if($(this).css("max-height")=="none"){
bindWindowScroll();
}else{
$(this).scroll(function (e){
e.preventDefault();
var customScrollTop=$(this).scrollTop();
var customOuterHeight=$(this).outerHeight();
var customScrollHeight=$(this).prop("scrollHeight");
var total=(customScrollTop / (customScrollHeight - customOuterHeight)) * 100;
globals.progressBar.css("width", total + "%");
});
}}
var total=(globals.windowScrollTop / (globals.bodyHeight - globals.windowOuterHeight)) * 100;
globals.progressBar.css("width", total + "%");
});
};})(jQuery);
(function ($){
$.fn.theiaStickySidebar=function (options){
var defaults={
'containerSelector': '',
'additionalMarginTop': 0,
'additionalMarginBottom': 0,
'updateSidebarHeight': true,
'minWidth': 0,
'disableOnResponsiveLayouts': true,
'sidebarBehavior': 'modern'
};
options=$.extend(defaults, options);
options.additionalMarginTop=parseInt(options.additionalMarginTop)||0;
options.additionalMarginBottom=parseInt(options.additionalMarginBottom)||0;
tryInitOrHookIntoEvents(options, this);
function tryInitOrHookIntoEvents(options, $that){
var success=tryInit(options, $that);
if(!success){
console.log('TSS: Body width smaller than options.minWidth. Init is delayed.');
$(document).scroll(function (options, $that){
return function (evt){
var success=tryInit(options, $that);
if(success){
$(this).unbind(evt);
}};}(options, $that));
$(window).resize(function (options, $that){
return function (evt){
var success=tryInit(options, $that);
if(success){
$(this).unbind(evt);
}};}(options, $that))
}}
function tryInit(options, $that){
if(options.initialized===true){
return true;
}
if($('body').width() < options.minWidth){
return false;
}
init(options, $that);
return true;
}
function init(options, $that){
options.initialized=true;
$('head').append($('<style>.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>'));
$that.each(function (){
var o={};
o.sidebar=$(this);
o.options=options||{};
o.container=$(o.options.containerSelector);
if(o.container.length==0){
o.container=o.sidebar.parent();
}
o.sidebar.parents().css('-webkit-transform', 'none'); // Fix for WebKit bug - https://code.google.com/p/chromium/issues/detail?id=20574
o.sidebar.css({
'position': 'relative',
'overflow': 'visible',
'-webkit-box-sizing': 'border-box',
'-moz-box-sizing': 'border-box',
'box-sizing': 'border-box'
});
o.stickySidebar=o.sidebar.find('.theiaStickySidebar');
if(o.stickySidebar.length==0){
var javaScriptMIMETypes=/(?:text|application)\/(?:x-)?(?:javascript|ecmascript)/i;
o.sidebar.find('script').filter(function(index, script){
return script.type.length===0||script.type.match(javaScriptMIMETypes);
}).remove();
o.stickySidebar=$('<div>').addClass('theiaStickySidebar').append(o.sidebar.children());
o.sidebar.append(o.stickySidebar);
}
o.marginBottom=parseInt(o.sidebar.css('margin-bottom'));
o.paddingTop=parseInt(o.sidebar.css('padding-top'));
o.paddingBottom=parseInt(o.sidebar.css('padding-bottom'));
var collapsedTopHeight=o.stickySidebar.offset().top;
var collapsedBottomHeight=o.stickySidebar.outerHeight();
o.stickySidebar.css('padding-top', 1);
o.stickySidebar.css('padding-bottom', 1);
collapsedTopHeight -=o.stickySidebar.offset().top;
collapsedBottomHeight=o.stickySidebar.outerHeight() - collapsedBottomHeight - collapsedTopHeight;
if(collapsedTopHeight==0){
o.stickySidebar.css('padding-top', 0);
o.stickySidebarPaddingTop=0;
}else{
o.stickySidebarPaddingTop=1;
}
if(collapsedBottomHeight==0){
o.stickySidebar.css('padding-bottom', 0);
o.stickySidebarPaddingBottom=0;
}else{
o.stickySidebarPaddingBottom=1;
}
o.previousScrollTop=null;
o.fixedScrollTop=0;
resetSidebar();
o.onScroll=function (o){
if(!o.stickySidebar.is(":visible")){
return;
}
if($('body').width() < o.options.minWidth){
resetSidebar();
return;
}
if(o.options.disableOnResponsiveLayouts){
var sidebarWidth=o.sidebar.outerWidth(o.sidebar.css('float')=='none');
if(sidebarWidth + 50 > o.container.width()){
resetSidebar();
return;
}}
var scrollTop=$(document).scrollTop();
var position='static';
if(scrollTop >=o.sidebar.offset().top + (o.paddingTop - o.options.additionalMarginTop)){
var offsetTop=o.paddingTop + options.additionalMarginTop;
var offsetBottom=o.paddingBottom + o.marginBottom + options.additionalMarginBottom;
var containerTop=o.sidebar.offset().top;
var containerBottom=o.sidebar.offset().top + getClearedHeight(o.container);
var windowOffsetTop=0 + options.additionalMarginTop;
var windowOffsetBottom;
var sidebarSmallerThanWindow=(o.stickySidebar.outerHeight() + offsetTop + offsetBottom) < $(window).height();
if(sidebarSmallerThanWindow){
windowOffsetBottom=windowOffsetTop + o.stickySidebar.outerHeight();
}else{
windowOffsetBottom=$(window).height() - o.marginBottom - o.paddingBottom - options.additionalMarginBottom;
}
var staticLimitTop=containerTop - scrollTop + o.paddingTop;
var staticLimitBottom=containerBottom - scrollTop - o.paddingBottom - o.marginBottom;
var top=o.stickySidebar.offset().top - scrollTop;
var scrollTopDiff=o.previousScrollTop - scrollTop;
if(o.stickySidebar.css('position')=='fixed'){
if(o.options.sidebarBehavior=='modern'){
top +=scrollTopDiff;
}}
if(o.options.sidebarBehavior=='stick-to-top'){
top=options.additionalMarginTop;
}
if(o.options.sidebarBehavior=='stick-to-bottom'){
top=windowOffsetBottom - o.stickySidebar.outerHeight();
}
if(scrollTopDiff > 0){
top=Math.min(top, windowOffsetTop);
}else{
top=Math.max(top, windowOffsetBottom - o.stickySidebar.outerHeight());
}
top=Math.max(top, staticLimitTop);
top=Math.min(top, staticLimitBottom - o.stickySidebar.outerHeight());
var sidebarSameHeightAsContainer=o.container.height()==o.stickySidebar.outerHeight();
if(!sidebarSameHeightAsContainer&&top==windowOffsetTop){
position='fixed';
}
else if(!sidebarSameHeightAsContainer&&top==windowOffsetBottom - o.stickySidebar.outerHeight()){
position='fixed';
}
else if(scrollTop + top - o.sidebar.offset().top - o.paddingTop <=options.additionalMarginTop){
position='static';
}else{
position='absolute';
}}
if(position=='fixed'){
var scrollLeft=$(document).scrollLeft();
o.stickySidebar.css({
'position': 'fixed',
'width': getWidthForObject(o.stickySidebar) + 'px',
'transform': 'translateY(' + top + 'px)',
'left': (o.sidebar.offset().left + parseInt(o.sidebar.css('padding-left')) - scrollLeft) + 'px',
'top': '0px'
});
}
else if(position=='absolute'){
var css={};
if(o.stickySidebar.css('position')!='absolute'){
css.position='absolute';
css.transform='translateY(' + (scrollTop + top - o.sidebar.offset().top - o.stickySidebarPaddingTop - o.stickySidebarPaddingBottom) + 'px)';
css.top='0px';
}
css.width=getWidthForObject(o.stickySidebar) + 'px';
css.left='';
o.stickySidebar.css(css);
}
else if(position=='static'){
resetSidebar();
}
if(position!='static'){
if(o.options.updateSidebarHeight==true){
o.sidebar.css({
'min-height': o.stickySidebar.outerHeight() + o.stickySidebar.offset().top - o.sidebar.offset().top + o.paddingBottom
});
}}
o.previousScrollTop=scrollTop;
};
o.onScroll(o);
$(document).scroll(function (o){
return function (){
o.onScroll(o);
};}(o));
$(window).resize(function (o){
return function (){
o.stickySidebar.css({'position': 'static'});
o.onScroll(o);
};}(o));
function resetSidebar(){
o.fixedScrollTop=0;
o.sidebar.css({
'min-height': '1px'
});
o.stickySidebar.css({
'position': 'static',
'width': '',
'transform': 'none'
});
}
function getClearedHeight(e){
var height=e.height();
e.children().each(function (){
height=Math.max(height, $(this).height());
});
return height;
}});
}
function getWidthForObject(object){
var width;
try {
width=object[0].getBoundingClientRect().width;
}
catch(err){
}
if(typeof width==="undefined"){
width=object.width();
}
return width;
}}
})(jQuery);
function get_sticky_header(){
if(bizberg_object.admin_bar_status==1&&jQuery(window).scrollTop() > 50&&jQuery(window).width() > 639&&bizberg_object.primary_header_layout!='center'){
jQuery('nav.navbar-default').css({ "top": jQuery('#wpadminbar').height() + 'px' });
}else{
jQuery('nav.navbar-default').css({ "top": "0px" });
}
var slide_in_animation_class=bizberg_object.slide_in_animation ? ' animated slideInDown':'';
if(jQuery(window).scrollTop() > 50&&bizberg_object.primary_header_layout!='center'){
jQuery('nav.navbar-default').addClass('sticky ' + slide_in_animation_class);
add_remove_body_sticky_class('remove');
}
else if(bizberg_object.primary_header_layout=='center'&&jQuery(window).scrollTop() > jQuery('.primary_header_2_wrapper').outerHeight()){
jQuery('nav.navbar-default').css({ "top": jQuery('#wpadminbar').height() + 'px' });
jQuery('nav.navbar-default').addClass('sticky ' + slide_in_animation_class);
add_remove_body_sticky_class('remove');
}else{
jQuery('nav.navbar-default').removeClass('sticky ' + slide_in_animation_class);
add_remove_body_sticky_class('add');
}
if(bizberg_object.is_transparent_header=='true'&&jQuery(window).scrollTop() > 50){
jQuery('nav.navbar-default').addClass('transparent_header_sticky');
}else{
jQuery('nav.navbar-default').removeClass('transparent_header_sticky');
}
if(bizberg_object.admin_bar_status==1&&jQuery('body.bizberg_transparent_header').hasClass('bizberg_sticky_header_enabled')){
jQuery('body.bizberg_transparent_header.bizberg_sticky_header_enabled header').attr({
'style':'margin-top:' + jQuery('#wpadminbar').height() + 'px'
})
}else{
jQuery('body.bizberg_transparent_header.bizberg_sticky_header_disabled header').removeAttr('style');
}}
function add_remove_body_sticky_class(status){
if(bizberg_object.is_transparent_header=='true'){
if(status=='add'){
jQuery('body').addClass('bizberg_sticky_header_enabled');
jQuery('body').removeClass('bizberg_sticky_header_disabled');
}else{
jQuery('body').removeClass('bizberg_sticky_header_enabled');
jQuery('body').addClass('bizberg_sticky_header_disabled');
}}
}
(function($){
"use strict";
var $window=$(window);
$window.on('load', function (){
$("#status").fadeOut();
$("#preloader").delay(350).fadeOut("slow");
$("body").delay(350).css({ "overflow": "visible" });
$("#status").fadeOut();
$("#preloader").delay(350).fadeOut("slow");
});
jQuery('#responsive-menu li').each(function(){
if(jQuery('nav #navbar').hasClass('has-menu-description') ){
return false;
}
if(jQuery(this).find('a span').hasClass('sub')){
jQuery('nav #navbar').addClass('has-menu-description');
jQuery('nav #navbar').removeClass('has-no-menu-description');
}else{
jQuery('nav #navbar').addClass('has-no-menu-description');
}});
var $main_header=$('.main_h');
jQuery('#responsive-menu > li').each(function(){
if(jQuery(this).find('ul').hasClass('sub-menu')){
jQuery(this).find('ul:first').prev('a').find('.eb_menu_title').append('<i class="has_sub_menu_parent fa fa-angle-down"></i>');
}});
$(window).on('scroll load resize' , function(event){
event.preventDefault();
if(bizberg_object.sticky_header_status=='false'){
return;
}
get_sticky_header();
});
$('.mobile-toggle').on('click' , function(event){
event.preventDefault();
if($main_header.hasClass('open-nav')){
$main_header.removeClass('open-nav');
}else{
$main_header.addClass('open-nav');
}});
$('.main_h li a').on('click' , function(event){
event.preventDefault();
if($main_header.hasClass('open-nav')){
$('.navigation').removeClass('open-nav');
$main_header.removeClass('open-nav');
}});
$(document).on('submit' , '#main-contact-form1', function(e){
e.preventDefault();
$.ajax({
url: "mail/contact.php",
type:   'POST',
data: $('#main-contact-form1').serialize(),
success: function(msg){
$('#mail_success_message').empty().html(msg).show();
},
});
return;
});
$(' #da-thumbs > li ').each(function(){
$(this).hoverdir();
});
var $slicknav_label;
$('#responsive-menu').slicknav({
duration: 500,
closedSymbol: '<i class="fa fa-plus"></i>',
openedSymbol: '<i class="fa fa-minus"></i>',
prependTo: '#slicknav-mobile',
allowParentLinks: true,
nestedParentLinks:false,
label:""
});
$('#navbar li').on("mouseenter focusin", function(){
if($(this).hasClass('bizberg_shop_browse_cat')&&$(this).hasClass('show')&&$('body').hasClass('page-template-home')){
return;
}
$(this).find('ul').first().stop(true, true).delay(10).slideDown(500);
});
$('#navbar li').on("mouseleave focusout", function(){
if($(this).hasClass('bizberg_shop_browse_cat')&&$(this).hasClass('show')&&$('body').hasClass('page-template-home')){
return;
}
$(this).find('ul').first().stop(true, true).delay(10).slideUp(150);
});
if($(window).width() > 992){
$(".navbar-arrow ul ul > li").has("ul").children("a").append("<i class='arrow-indicator fa fa-angle-right'></i>");
}
$(document).ready(function(){
$('.progress .progress-bar').css("width",
function(){
return $(this).attr("aria-valuenow") + "%";
}
)
});
$(window).on('scroll' , function(){
if($(window).scrollTop() > 500){
$("#back-to-top").fadeIn(200);
}else{
$("#back-to-top").fadeOut(200);
}});
$(document).on("click",'#back-to-top a',function(){
$('html, body').animate({ scrollTop:0 },'slow');
return false;
});
setTimeout(function(){
var $grid=jQuery('.blog-nosidebar-1 #content').masonry({
itemSelector: '.blog-listing'
});
var $grid=jQuery('.blog-nosidebar #content').masonry({
itemSelector: '.blog-listing'
});
$grid.imagesLoaded().progress(function(){
$grid.masonry('layout');
});
}, 1000);
setTimeout(function(){
var $grid1=jQuery('.business_event_popular_posts_wrapper').masonry({
itemSelector: '.business_event_popular_posts_wrapper .pop_wrapper'
});
$grid1.imagesLoaded().progress(function(){
$grid1.masonry('layout');
});
}, 1000);
bizberg_post_slider();
jQuery("body").prognroll({
color: "#f75691"
});
jQuery('.prognroll-bar').appendTo('nav.navbar-default');
if(bizberg_object.sticky_sidebar_status==true){
var wpadminbar_height=parseInt(jQuery('#wpadminbar').height());
var sticky_sidebar_margin_top_status=parseInt(bizberg_object.sticky_sidebar_margin_top_status);
jQuery('.bizberg_blog_content,.bizberg_sidebar').theiaStickySidebar({
additionalMarginTop:bizberg_object.admin_bar_status==1 ?(wpadminbar_height + sticky_sidebar_margin_top_status):bizberg_object.sticky_sidebar_margin_top_status,
additionalMarginBottom:bizberg_object.sticky_sidebar_margin_bottom_status,
minWidth:900
});
}})(jQuery);
function bizberg_post_slider(){
var interleaveOffset=0.5;
var swiperOptions={
loop: bizberg_object.slider_loop,
speed: parseInt(bizberg_object.slider_speed) * 1000,
grabCursor: bizberg_object.slider_grab_n_slider,
SlidesPerView: 1,
watchSlidesProgress: true,
mousewheelControl: false,
keyboardControl: false,
allowTouchMove: bizberg_object.slider_grab_n_slider,
watchOverflow: true,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev"
},
autoplay: {
delay: parseInt(bizberg_object.autoplay_delay) * 1000,
},
fadeEffect: {
crossFade: true
},
on: {
progress: function(){
if(bizberg_object.rtl==true){
return;
}
if(navigator.userAgent.indexOf("Firefox") <=0){
var swiper=this;
for (var i=0; i < swiper.slides.length; i++){
var slideProgress=swiper.slides[i].progress;
var innerOffset=swiper.width * interleaveOffset;
var innerTranslate=slideProgress * innerOffset;
swiper.slides[i].querySelector(".slide-inner").style.transform="translate3d(" + innerTranslate + "px, 0, 0)";
}}
},
touchStart: function(){
if(bizberg_object.rtl==true){
return;
}
if(navigator.userAgent.indexOf("Firefox") <=0){
var swiper=this;
for (var i=0; i < swiper.slides.length; i++){
swiper.slides[i].style.transition="";
}}
},
setTransition: function(speed){
if(bizberg_object.rtl==true){
return;
}
if(navigator.userAgent.indexOf("Firefox") <=0){
var swiper=this;
for (var i=0; i < swiper.slides.length; i++){
swiper.slides[i].style.transition=speed + "ms";
swiper.slides[i].querySelector(".slide-inner").style.transition=speed + "ms";
}}
}}
};
var swiper=new Swiper(".swiper-container-bizberg", swiperOptions);
}
jQuery(function($){
var updateArrows=function(){
$('.carouselGallery-right').removeClass('disabled');
$('.carouselGallery-left').removeClass('disabled');
var curIndex=$('.carouselGallery-carousel.active').data('index');
updateArrows.nbrOfItems=updateArrows.nbrOfItems||$('.carouselGallery-carousel').length -1;
curIndex===updateArrows.nbrOfItems&&$('.carouselGallery-right').addClass('disabled');
curIndex===0&&$('.carouselGallery-left').addClass('disabled');
}
$('.carouselGallery-carousel').on('click', function(e){
scrollTo=$('body').scrollTop();
$('body').addClass('noscroll');
$('body').css('position', 'fixed');
$('.carouselGallery-col-1, .carouselGallery-col-2').removeClass('active');
$(this).addClass('active');
showModal($(this));
updateArrows();
});
$('body').on('click', '.carouselGallery-right, .carouselGallery-left', function(e){
if($(this).hasClass('disabled')) return;
var curIndex=$('.carouselGallery-carousel.active').data('index');
var nextItemIndex=parseInt(curIndex+1);
if($(this).hasClass('carouselGallery-left')){
nextItemIndex-=2;
}
var nextItem=$('.carouselGallery-carousel[data-index='+nextItemIndex+']');
if(nextItem.length > 0){
$('.carouselGallery-col-1, .carouselGallery-col-2').removeClass('active');
$('body').find('.carouselGallery-wrapper').remove();
showModal($(nextItem.get(0)));
nextItem.first().addClass('active');
}
updateArrows();
});
var modalHtml='';
showModal=function(that){
var username=that.data('username'),
location=that.data('location'),
imagetext=that.data('imagetext'),
likes=that.data('likes'),
imagepath=that.data('imagepath'),
carouselGalleryUrl=that.data('url');
postURL=that.data('posturl');
maxHeight=$(window).height()-100;
if($('.carouselGallery-wrapper').length===0){
if(typeof imagepath!=='undefined'){
modalHtml="<div class='carouselGallery-wrapper'>";
modalHtml +="<div class='carouselGallery-modal'><span class='carouselGallery-left'><span class='icons icon-arrow-left6'></span></span><span class='carouselGallery-right'><span class='icons icon-arrow-right6'></span></span>";
modalHtml +="<div class='container'>";
modalHtml +="<span class='icons iconscircle-cross close-icon'></span>";
modalHtml +="<div class='carouselGallery-scrollbox' style='max-height:"+maxHeight+"px'><div class='carouselGallery-modal-image'>";
modalHtml +="<img src='"+imagepath+"' alt='carouselGallery image'>";
modalHtml +="</div>";
modalHtml +="<div class='carouselGallery-modal-text'>";
modalHtml +="<span class='carouselGallery-modal-username'><a href='javascript:void(0)'>"+username+"</a> </span>"
modalHtml +="<span class='carouselGallery-modal-location'>"+location+"</span>";
modalHtml +="<span class='carouselGallery-modal-imagetext'>";
modalHtml +="<p>"+imagetext+"</p>";
modalHtml +="</span></div></div></div></div></div>";
$('body').append(modalHtml).fadeIn(2500);
}}
};
$('body').on('click','.carouselGallery-wrapper', function(e){
if($(e.target).hasClass('.carouselGallery-wrapper')){
removeModal();
}});
$('body').on('click', '.carouselGallery-modal .iconscircle-cross', function(e){
removeModal();
});
var removeModal=function(){
$('body').find('.carouselGallery-wrapper').remove();
$('body').removeClass('noscroll');
$('body').css('position', 'static');
$('body').animate({scrollTop: scrollTo}, 0);
};
var carouselGalleryScrollMaxHeight=function(){
if($('.carouselGallery-scrollbox').length){
maxHeight=$(window).height()-100;
$('.carouselGallery-scrollbox').css('max-height',maxHeight+'px');
}}
$(window).resize(function(){
clearTimeout(this.id);
this.id=setTimeout(carouselGalleryScrollMaxHeight, 100);
});
document.onkeydown=function(evt){
evt=evt||window.event;
if(evt.keyCode==27){
removeModal();
}};
$('.comment-reply-link').addClass('btn-sm btn btn-primary');
});
function getTestimonialScrollbar(selector){
var custom=new scrollbot(selector);
setScrollStyles(custom);
}
function setScrollStyles(custom3){
custom3.setStyle({height:2});
var onscrollfollower=document.createElement("div");
onscrollfollower.style.width="100%";
onscrollfollower.style.height="100%";
onscrollfollower.style.backgroundColor="#222222";
onscrollfollower.style.position="absolute";
onscrollfollower.style.bottom="100%";
onscrollfollower.style.right=0;
custom3.scrollBarHolder.appendChild(onscrollfollower);
custom3.onScroll(function(){onscrollfollower.style.bottom=100 - parseFloat(this.scrollBar.style.top) + "%";})
}
jQuery(document).on('click','.search-icon', function(e){
e.preventDefault();
jQuery('.full-screen-search').slideToggle();
jQuery(".search-field").focus();
});
jQuery(document).on('click','.full-screen-search .close',function(){
jQuery('.full-screen-search').slideToggle('fast');
})
jQuery(document).keyup(function(e){
if(e.keyCode==27||e.keyCode==9){
if(jQuery('.full-screen-search').is(':visible')){
jQuery(".search-icon").focus();
}
jQuery('.full-screen-search').slideUp('fast');
}
if(e.keyCode==27){
jQuery('#responsive-menu').slicknav('close');
}});
jQuery(".navbar .slicknav_nav > li:last-child").keydown(function(e){
if(e.which==9&&e.shiftKey){
}else if(e.which==9){
jQuery('#responsive-menu').slicknav('close');
}});
jQuery(window).on('scroll load resize', function(){
setTimeout(function(){
var scrollTop=jQuery('header > nav.navbar').outerHeight();
var width=parseInt(screen.width);
jQuery('ul.slicknav_nav').css({
'top':scrollTop + 'px'
});
}, 100);
});
jQuery(document).on('focusin',
'.navbar-nav > li',
function(){
var selector_li_id=jQuery(this).attr('id');
jQuery('head').append('<span class="navbar_li_background"><style>.navbar-default .navbar-nav > li#' + selector_li_id + '{background:' + bizberg_object.header_menu_color_hover + '} .navbar-default .navbar-nav > li#' + selector_li_id + ' > a{ color:#fff; }' + '</style></span>');
}
).on('focusout',
'.navbar-nav > li',
function(){
jQuery('.navbar_li_background').remove();
}
);
jQuery(document).on('mouseenter focusin',
'header .navbar-default .navbar-nav li a',
function(){
var selector_li_id=jQuery(this).closest('li.parent_menu_bizberg').prev('li').attr('id');
jQuery('head').append('<span class="hide_prev_menu_separator"><style>.navbar-default .navbar-nav > li#' + selector_li_id + ' > a:after{display:none}</style></span>');
}
).on('mouseleave focusout',
'header .navbar-default .navbar-nav li a',
function(){
jQuery('.hide_prev_menu_separator').remove();
}
);
jQuery(document).on('mouseenter focusin',
'header .navbar-default:not(.transparent_header_sticky) .navbar-nav > li > ul > li > a,header .navbar-default:not(.transparent_header_sticky) .navbar-nav > li > ul > li > ul > li > a,header .navbar-default:not(.transparent_header_sticky) .navbar-nav > li > ul > li > ul > li > ul > li > a',
function(){
var selector=jQuery(this).parents('ul.sub-menu').last().closest('li').find('a:first');
var selector_li_id=jQuery(this).parents('ul.sub-menu').last().closest('li').attr('id');
if(bizberg_object.is_transparent_header=='true'){
selector.attr('style' , 'border-color:' + bizberg_object.header_menu_color_hover
);
}else if(jQuery('.navbar-default').hasClass('sticky')){
selector.attr('style' , 'border-color:' + bizberg_color_luminance(bizberg_object.header_menu_color_hover_sticky , -0.2)
);
}else{
selector.attr('style' , 'border-color:' + bizberg_color_luminance(bizberg_object.header_menu_color_hover , -0.2)
);
}
jQuery('head').append('<span class="hide_menu_separator"><style>.navbar-default .navbar-nav > li#' + selector_li_id + ' > a:after{display:none}</style></span>');
}).on('mouseleave focusout',
'header .navbar-default:not(.transparent_header_sticky) .navbar-nav > li > ul > li > a,header .navbar-default:not(.transparent_header_sticky) .navbar-nav > li > ul > li > ul > li > a,header .navbar-default:not(.transparent_header_sticky) .navbar-nav > li > ul > li > ul > li > ul > li > a',
function(){
var selector=jQuery(this).parents('ul.sub-menu').last().closest('li').find('a:first');
selector.removeAttr('style');
jQuery('.hide_menu_separator').remove();
});
function bizberg_color_luminance(hex, lum){
hex=String(hex).replace(/[^0-9a-f]/gi, '');
if(hex.length < 6){
hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];
}
lum=lum||0;
var rgb="#", c, i;
for (i=0; i < 3; i++){
c=parseInt(hex.substr(i*2,2), 16);
c=Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);
rgb +=("00"+c).substr(c.length);
}
return rgb;
};
window.addComment=function(v){var I,C,h,E=v.document,b={commentReplyClass:"comment-reply-link",commentReplyTitleId:"reply-title",cancelReplyId:"cancel-comment-reply-link",commentFormId:"commentform",temporaryFormId:"wp-temp-form-div",parentIdFieldId:"comment_parent",postIdFieldId:"comment_post_ID"},e=v.MutationObserver||v.WebKitMutationObserver||v.MozMutationObserver,r="querySelector"in E&&"addEventListener"in v,n=!!E.documentElement.dataset;function t(){d(),e&&new e(o).observe(E.body,{childList:!0,subtree:!0})}function d(e){if(r&&(I=g(b.cancelReplyId),C=g(b.commentFormId),I)){I.addEventListener("touchstart",l),I.addEventListener("click",l);function t(e){if((e.metaKey||e.ctrlKey)&&13===e.keyCode&&"a"!==E.activeElement.tagName.toLowerCase())return C.removeEventListener("keydown",t),e.preventDefault(),C.submit.click(),!1}C&&C.addEventListener("keydown",t);for(var n,d=function(e){var t=b.commentReplyClass;e&&e.childNodes||(e=E);e=E.getElementsByClassName?e.getElementsByClassName(t):e.querySelectorAll("."+t);return e}(e),o=0,i=d.length;o<i;o++)(n=d[o]).addEventListener("touchstart",a),n.addEventListener("click",a)}}function l(e){var t,n,d=g(b.temporaryFormId);d&&h&&(g(b.parentIdFieldId).value="0",t=d.textContent,d.parentNode.replaceChild(h,d),this.style.display="none",n=(d=(d=g(b.commentReplyTitleId))&&d.firstChild)&&d.nextSibling,d&&d.nodeType===Node.TEXT_NODE&&t&&(n&&"A"===n.nodeName&&n.id!==b.cancelReplyId&&(n.style.display=""),d.textContent=t),e.preventDefault())}function a(e){var t=g(b.commentReplyTitleId),t=t&&t.firstChild.textContent,n=this,d=m(n,"belowelement"),o=m(n,"commentid"),i=m(n,"respondelement"),r=m(n,"postid"),n=m(n,"replyto")||t;d&&o&&i&&r&&!1===v.addComment.moveForm(d,o,i,r,n)&&e.preventDefault()}function o(e){for(var t=e.length;t--;)if(e[t].addedNodes.length)return void d()}function m(e,t){return n?e.dataset[t]:e.getAttribute("data-"+t)}function g(e){return E.getElementById(e)}return r&&"loading"!==E.readyState?t():r&&v.addEventListener("DOMContentLoaded",t,!1),{init:d,moveForm:function(e,t,n,d,o){var i,r,l,a,m,c,s,e=g(e),n=(h=g(n),g(b.parentIdFieldId)),y=g(b.postIdFieldId),p=g(b.commentReplyTitleId),u=(p=p&&p.firstChild)&&p.nextSibling;if(e&&h&&n){void 0===o&&(o=p&&p.textContent),a=h,m=b.temporaryFormId,c=g(m),s=(s=g(b.commentReplyTitleId))?s.firstChild.textContent:"",c||((c=E.createElement("div")).id=m,c.style.display="none",c.textContent=s,a.parentNode.insertBefore(c,a)),d&&y&&(y.value=d),n.value=t,I.style.display="",e.parentNode.insertBefore(h,e.nextSibling),p&&p.nodeType===Node.TEXT_NODE&&(u&&"A"===u.nodeName&&u.id!==b.cancelReplyId&&(u.style.display="none"),p.textContent=o),I.onclick=function(){return!1};try{for(var f=0;f<C.elements.length;f++)if(i=C.elements[f],r=!1,"getComputedStyle"in v?l=v.getComputedStyle(i):E.documentElement.currentStyle&&(l=i.currentStyle),(i.offsetWidth<=0&&i.offsetHeight<=0||"hidden"===l.visibility)&&(r=!0),"hidden"!==i.type&&!i.disabled&&!r){i.focus();break}}catch(e){}return!1}}}}(window);
(function(){
var supportsPassive=false;
try {
var opts=Object.defineProperty({}, 'passive', {
get:function(){
supportsPassive=true;
}});
window.addEventListener('testPassive', null, opts);
window.removeEventListener('testPassive', null, opts);
} catch(e){}
function init(){
var input_begin='';
var keydowns={};
var lastKeyup=null;
var lastKeydown=null;
var keypresses=[];
var modifierKeys=[];
var correctionKeys=[];
var lastMouseup=null;
var lastMousedown=null;
var mouseclicks=[];
var mousemoveTimer=null;
var lastMousemoveX=null;
var lastMousemoveY=null;
var mousemoveStart=null;
var mousemoves=[];
var touchmoveCountTimer=null;
var touchmoveCount=0;
var lastTouchEnd=null;
var lastTouchStart=null;
var touchEvents=[];
var scrollCountTimer=null;
var scrollCount=0;
var correctionKeyCodes=[ 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown' ];
var modifierKeyCodes=[ 'Shift', 'CapsLock' ];
var forms=document.querySelectorAll('form[method=post]');
for(var i=0; i < forms.length; i++){
var form=forms[i];
var formAction=form.getAttribute('action');
if(formAction){
if(formAction.indexOf('http://')==0||formAction.indexOf('https://')==0){
if(formAction.indexOf('http://' + window.location.hostname + '/')!=0&&formAction.indexOf('https://' + window.location.hostname + '/')!=0){
continue;
}}
}
form.addEventListener('submit', function (){
var ak_bkp=prepare_timestamp_array_for_request(keypresses);
var ak_bmc=prepare_timestamp_array_for_request(mouseclicks);
var ak_bte=prepare_timestamp_array_for_request(touchEvents);
var ak_bmm=prepare_timestamp_array_for_request(mousemoves);
var input_fields={
'bib': input_begin,
'bfs': Date.now(),
'bkpc': keypresses.length,
'bkp': ak_bkp,
'bmc': ak_bmc,
'bmcc': mouseclicks.length,
'bmk': modifierKeys.join(';'),
'bck': correctionKeys.join(';'),
'bmmc': mousemoves.length,
'btmc': touchmoveCount,
'bsc': scrollCount,
'bte': ak_bte,
'btec':touchEvents.length,
'bmm':ak_bmm
};
var akismet_field_prefix='ak_';
if(this.getElementsByClassName){
var possible_akismet_containers=this.getElementsByClassName('akismet-fields-container');
for(var containerIndex=0; containerIndex < possible_akismet_containers.length; containerIndex++){
var container=possible_akismet_containers.item(containerIndex);
if(container.getAttribute('data-prefix') ){
akismet_field_prefix=container.getAttribute('data-prefix');
break;
}}
}
for(var field_name in input_fields){
var field=document.createElement('input');
field.setAttribute('type', 'hidden');
field.setAttribute('name', akismet_field_prefix + field_name);
field.setAttribute('value', input_fields[ field_name ]);
this.appendChild(field);
}}, supportsPassive ? { passive: true }:false);
form.addEventListener('keydown', function(e){
if(e.key in keydowns){
return;
}
var keydownTime=(new Date()).getTime();
keydowns[ e.key ]=[ keydownTime ];
if(! input_begin){
input_begin=keydownTime;
}
var lastKeyEvent=Math.max(lastKeydown, lastKeyup);
if(lastKeyEvent){
keydowns[ e.key ].push(keydownTime - lastKeyEvent);
}
lastKeydown=keydownTime;
}, supportsPassive ? { passive: true }:false);
form.addEventListener('keyup', function(e){
if(!(e.key in keydowns) ){
return;
}
var keyupTime=(new Date()).getTime();
if('TEXTAREA'===e.target.nodeName||'INPUT'===e.target.nodeName){
if(-1!==modifierKeyCodes.indexOf(e.key) ){
modifierKeys.push(keypresses.length - 1);
}else if(-1!==correctionKeyCodes.indexOf(e.key) ){
correctionKeys.push(keypresses.length - 1);
}else{
var keydownTime=keydowns[ e.key ][0];
var keypress=[];
keypress.push(keyupTime - keydownTime);
if(keydowns[ e.key ].length > 1){
keypress.push(keydowns[ e.key ][1]);
}
keypresses.push(keypress);
}}
delete keydowns[ e.key ];
lastKeyup=keyupTime;
}, supportsPassive ? { passive: true }:false);
form.addEventListener("focusin", function(e){
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
form.addEventListener("focusout", function(e){
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
}
document.addEventListener('mousedown', function(e){
lastMousedown=(new Date()).getTime();
}, supportsPassive ? { passive: true }:false);
document.addEventListener('mouseup', function(e){
if(! lastMousedown){
return;
}
var now=(new Date()).getTime();
var mouseclick=[];
mouseclick.push(now - lastMousedown);
if(lastMouseup){
mouseclick.push(lastMousedown - lastMouseup);
}
mouseclicks.push(mouseclick);
lastMouseup=now;
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
document.addEventListener('mousemove', function(e){
if(mousemoveTimer){
clearTimeout(mousemoveTimer);
mousemoveTimer=null;
}else{
mousemoveStart=(new Date()).getTime();
lastMousemoveX=e.offsetX;
lastMousemoveY=e.offsetY;
}
mousemoveTimer=setTimeout(function(theEvent, originalMousemoveStart){
var now=(new Date()).getTime() - 500;
var mousemove=[];
mousemove.push(now - originalMousemoveStart);
mousemove.push(Math.round(Math.sqrt(Math.pow(theEvent.offsetX - lastMousemoveX, 2) +
Math.pow(theEvent.offsetY - lastMousemoveY, 2)
)
)
);
if(mousemove[1] > 0){
mousemoves.push(mousemove);
}
mousemoveStart=null;
mousemoveTimer=null;
}, 500, e, mousemoveStart);
}, supportsPassive ? { passive: true }:false);
document.addEventListener('touchmove', function(e){
if(touchmoveCountTimer){
clearTimeout(touchmoveCountTimer);
}
touchmoveCountTimer=setTimeout(function (){
touchmoveCount++;
}, 500);
}, supportsPassive ? { passive: true }:false);
document.addEventListener('touchstart', function(e){
lastTouchStart=(new Date()).getTime();
}, supportsPassive ? { passive: true }:false);
document.addEventListener('touchend', function(e){
if(! lastTouchStart){
return;
}
var now=(new Date()).getTime();
var touchEvent=[];
touchEvent.push(now - lastTouchStart);
if(lastTouchEnd){
touchEvent.push(lastTouchStart - lastTouchEnd);
}
touchEvents.push(touchEvent);
lastTouchEnd=now;
lastKeydown=null;
lastKeyup=null;
keydowns={};}, supportsPassive ? { passive: true }:false);
document.addEventListener('scroll', function(e){
if(scrollCountTimer){
clearTimeout(scrollCountTimer);
}
scrollCountTimer=setTimeout(function (){
scrollCount++;
}, 500);
}, supportsPassive ? { passive: true }:false);
}
function prepare_timestamp_array_for_request(a, limit){
if(! limit){
limit=100;
}
var rv='';
if(a.length > 0){
var random_starting_point=Math.max(0, Math.floor(Math.random() * a.length - limit) );
for(var i=0; i < limit&&i < a.length; i++){
rv +=a[ random_starting_point + i ][0];
if(a[ random_starting_point + i ].length >=2){
rv +="," + a[ random_starting_point + i ][1];
}
rv +=";";
}}
return rv;
}
if(document.readyState!=='loading'){
init();
}else{
document.addEventListener('DOMContentLoaded', init);
}})();