以下是 jQuery手机触摸滑动切换图片代码 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!doctype html>
<html lang="en">
<head>
<meta charset="gb2312">
<meta name="description" content="Touch, responsive, flickable galleries">
<meta name="viewport" content="width=device-width">
<title>jQuery手机触摸滑动切换图片代码</title>
<link rel="stylesheet" href="css/flickity-docs.css" media="screen">
</head>
<body class="page--index export">
<div class="hero-gallery js-flickity" data-js-module="hero-gallery">
<div class="hero-gallery__cell hero-gallery__cell--1">
<div class="hero-gallery__cell__content">
<h1>标题</h1>
</div>
</div>
<div class="hero-gallery__cell hero-gallery__cell--2">
<div class="hero-gallery__cell__content">
<p class="slogan slogan--easy">标题</p>
<p class="slogan slogan--fun">13141618.taobao.com</p>
</div>
</div>
<div class="hero-gallery__cell hero-gallery__cell--3">
<div class="hero-gallery__cell__content">
<ul class="feature-list">
<li>标题</li>
<li>站长之家</li>
<li class="hidden-small">jQuery特效</li>
<li class="hidden-small">CSS3特效</li>
</ul>
</div>
</div>
<div class="hero-gallery__cell hero-gallery__cell--4">
<div class="hero-gallery__cell__content">
<p class="by-line by-line--made">标题</p>
<p class="by-line by-line--you hidden-small">jQuery特效</p>
<p class="by-line by-line--we">CSS3特效</p>
</div>
</div>
</div>
<center>
<div class="main">
<div class="content-wrap">
<div class="example duo">
<div class="example__demo duo__cell">
<div class="gallery js-flickity" data-flickity-options='{ "wrapAround": true }'>
<div class="gallery-cell"></div>
<div class="gallery-cell"></div>
<div class="gallery-cell"></div>
<div class="gallery-cell"></div>
<div class="gallery-cell"></div>
</div>
</div>
</div>
</div>
</div>
</center>
<script src="js/flickity-docs.min.js"></script>
</body>
</html>
JS代码(flickity.pkgd.min.js):
/*! * Flickity PACKAGED v1.1.1 * Touch,responsive,flickable galleries * * Licensed GPLv3 for open source use * or Flickity Commercial License for commercial use * * http://flickity.metafizzy.co * Copyright 2015 Metafizzy */
!function(t){
function e(){
}
function i(t){
function i(e){
e.prototype.option||(e.prototype.option=function(e){
t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))}
)}
function o(e,i){
t.fn[e]=function(o){
if("string"==typeof o){
for(var s=n.call(arguments,1),a=0,l=this.length;
l>a;
a++){
var c=this[a],h=t.data(c,e);
if(h)if(t.isFunction(h[o])&&"_"!==o.charAt(0)){
var p=h[o].apply(h,s);
if(void 0!==p)return p}
else r("no such method '"+o+"' for "+e+" instance");
else r("cannot call methods on "+e+" prior to initialization;
attempted to call '"+o+"'")}
return this}
return this.each(function(){
var n=t.data(this,e);
n?(n.option(o),n._init()):(n=new i(this,o),t.data(this,e,n))}
)}
}
if(t){
var r="undefined"==typeof console?e:function(t){
console.error(t)}
;
return t.bridget=function(t,e){
i(e),o(t,e)}
,t.bridget}
}
var n=Array.prototype.slice;
"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],i):i("object"==typeof exports?require("jquery"):t.jQuery)}
(window),function(t){
function e(t){
return new RegExp("(^|\\s+)"+t+"(\\s+|$)")}
function i(t,e){
var i=n(t,e)?r:o;
i(t,e)}
var n,o,r;
"classList"in document.documentElement?(n=function(t,e){
return t.classList.contains(e)}
,o=function(t,e){
t.classList.add(e)}
,r=function(t,e){
t.classList.remove(e)}
):(n=function(t,i){
return e(i).test(t.className)}
,o=function(t,e){
n(t,e)||(t.className=t.className+" "+e)}
,r=function(t,i){
t.className=t.className.replace(e(i)," ")}
);
var s={
hasClass:n,addClass:o,removeClass:r,toggleClass:i,has:n,add:o,remove:r,toggle:i}
;
"function"==typeof define&&define.amd?define("classie/classie",s):"object"==typeof exports?module.exports=s:t.classie=s}
(window),function(){
function t(){
}
function e(t,e){
for(var i=t.length;
i--;
)if(t[i].listener===e)return i;
return-1}
function i(t){
return function(){
return this[t].apply(this,arguments)}
}
var n=t.prototype,o=this,r=o.EventEmitter;
n.getListeners=function(t){
var e,i,n=this._getEvents();
if(t instanceof RegExp){
e={
}
;
for(i in n)n.hasOwnProperty(i)&&t.test(i)&&(e[i]=n[i])}
else e=n[t]||(n[t]=[]);
return e}
,n.flattenListeners=function(t){
var e,i=[];
for(e=0;
e<t.length;
e+=1)i.push(t[e].listener);
return i}
,n.getListenersAsObject=function(t){
var e,i=this.getListeners(t);
return i instanceof Array&&(e={
}
,e[t]=i),e||i}
,n.addListener=function(t,i){
var n,o=this.getListenersAsObject(t),r="object"==typeof i;
for(n in o)o.hasOwnProperty(n)&&-1===e(o[n],i)&&o[n].push(r?i:{
listener:i,once:!1}
);
return this}
,n.on=i("addListener"),n.addOnceListener=function(t,e){
return this.addListener(t,{
listener:e,once:!0}
)}
,n.once=i("addOnceListener"),n.defineEvent=function(t){
return this.getListeners(t),this}
,n.defineEvents=function(t){
for(var e=0;
e<t.length;
e+=1)this.defineEvent(t[e]);
return this}
,n.removeListener=function(t,i){
var n,o,r=this.getListenersAsObject(t);
for(o in r)r.hasOwnProperty(o)&&(n=e(r[o],i),-1!==n&&r[o].splice(n,1));
return this}
,n.off=i("removeListener"),n.addListeners=function(t,e){
return this.manipulateListeners(!1,t,e)}
,n.removeListeners=function(t,e){
return this.manipulateListeners(!0,t,e)}
,n.manipulateListeners=function(t,e,i){
var n,o,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;
if("object"!=typeof e||e instanceof RegExp)for(n=i.length;
n--;
)r.call(this,e,i[n]);
else for(n in e)e.hasOwnProperty(n)&&(o=e[n])&&("function"==typeof o?r.call(this,n,o):s.call(this,n,o));
return this}
,n.removeEvent=function(t){
var e,i=typeof t,n=this._getEvents();
if("string"===i)delete n[t];
else if(t instanceof RegExp)for(e in n)n.hasOwnProperty(e)&&t.test(e)&&delete n[e];
else delete this._events;
return this}
,n.removeAllListeners=i("removeEvent"),n.emitEvent=function(t,e){
var i,n,o,r,s=this.getListenersAsObject(t);
for(o in s)if(s.hasOwnProperty(o))for(n=s[o].length;
n--;
)i=s[o][n],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);
return this}
,n.trigger=i("emitEvent"),n.emit=function(t){
var e=Array.prototype.slice.call(arguments,1);
return this.emitEvent(t,e)}
,n.setOnceReturnValue=function(t){
return this._onceReturnValue=t,this}
,n._getOnceReturnValue=function(){
return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0}
,n._getEvents=function(){
return this._events||(this._events={
}
)}
,t.noConflict=function(){
return o.EventEmitter=r,t}
,"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){
return t}
):"object"==typeof module&&module.exports?module.exports=t:o.EventEmitter=t}
.call(this),function(t){
function e(e){
var i=t.event;
return i.target=i.target||i.srcElement||e,i}
var i=document.documentElement,n=function(){
}
;
i.addEventListener?n=function(t,e,i){
t.addEventListener(e,i,!1)}
:i.attachEvent&&(n=function(t,i,n){
t[i+n]=n.handleEvent?function(){
var i=e(t);
n.handleEvent.call(n,i)}
:function(){
var i=e(t);
n.call(t,i)}
,t.attachEvent("on"+i,t[i+n])}
);
var o=function(){
}
;
i.removeEventListener?o=function(t,e,i){
t.removeEventListener(e,i,!1)}
:i.detachEvent&&(o=function(t,e,i){
t.detachEvent("on"+e,t[e+i]);
try{
delete t[e+i]}
catch(n){
t[e+i]=void 0}
}
);
var r={
bind:n,unbind:o}
;
"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}
(window),function(t){
function e(t){
if(t){
if("string"==typeof n[t])return t;
t=t.charAt(0).toUpperCase()+t.slice(1);
for(var e,o=0,r=i.length;
r>o;
o++)if(e=i[o]+t,"string"==typeof n[e])return e}
}
var i="Webkit Moz ms Ms O".split(" "),n=document.documentElement.style;
"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){
return e}
):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}
(window),function(t){
function e(t){
var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);
return i&&e}
function i(){
}
function n(){
for(var t={
width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0}
,e=0,i=s.length;
i>e;
e++){
var n=s[e];
t[n]=0}
return t}
function o(i){
function o(){
if(!d){
d=!0;
var n=t.getComputedStyle;
if(c=function(){
var t=n?function(t){
return n(t,null)}
:function(t){
return t.currentStyle}
;
return function(e){
var i=t(e);
return i||r("Style returned "+i+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),i}
}
(),h=i("boxSizing")){
var o=document.createElement("div");
o.style.width="200px",o.style.padding="1px 2px 3px 4px",o.style.borderStyle="solid",o.style.borderWidth="1px 2px 3px 4px",o.style[h]="border-box";
var s=document.body||document.documentElement;
s.appendChild(o);
var a=c(o);
p=200===e(a.width),s.removeChild(o)}
}
}
function a(t){
if(o(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){
var i=c(t);
if("none"===i.display)return n();
var r={
}
;
r.width=t.offsetWidth,r.height=t.offsetHeight;
for(var a=r.isBorderBox=!(!h||!i[h]||"border-box"!==i[h]),d=0,u=s.length;
u>d;
d++){
var f=s[d],v=i[f];
v=l(t,v);
var y=parseFloat(v);
r[f]=isNaN(y)?0:y}
var g=r.paddingLeft+r.paddingRight,m=r.paddingTop+r.paddingBottom,b=r.marginLeft+r.marginRight,S=r.marginTop+r.marginBottom,x=r.borderLeftWidth+r.borderRightWidth,w=r.borderTopWidth+r.borderBottomWidth,C=a&&p,E=e(i.width);
E!==!1&&(r.width=E+(C?0:g+x));
var P=e(i.height);
return P!==!1&&(r.height=P+(C?0:m+w)),r.innerWidth=r.width-(g+x),r.innerHeight=r.height-(m+w),r.outerWidth=r.width+b,r.outerHeight=r.height+S,r}
}
function l(e,i){
if(t.getComputedStyle||-1===i.indexOf("%"))return i;
var n=e.style,o=n.left,r=e.runtimeStyle,s=r&&r.left;
return s&&(r.left=e.currentStyle.left),n.left=i,i=n.pixelLeft,n.left=o,s&&(r.left=s),i}
var c,h,p,d=!1;
return a}
var r="undefined"==typeof console?i:function(t){
console.error(t)}
,s=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];
"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],o):"object"==typeof exports?module.exports=o(require("desandro-get-style-property")):t.getSize=o(t.getStyleProperty)}
(window),function(t){
function e(t){
"function"==typeof t&&(e.isReady?t():s.push(t))}
function i(t){
var i="readystatechange"===t.type&&"complete"!==r.readyState;
e.isReady||i||n()}
function n(){
e.isReady=!0;
for(var t=0,i=s.length;
i>t;
t++){
var n=s[t];
n()}
}
function o(o){
return"complete"===r.readyState?n():(o.bind(r,"DOMContentLoaded",i),o.bind(r,"readystatechange",i),o.bind(t,"load",i)),e}
var r=t.document,s=[];
e.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],o):"object"==typeof exports?module.exports=o(require("eventie")):t.docReady=o(t.eventie)}
(window),function(t){
function e(t,e){
return t[s](e)}
function i(t){
if(!t.parentNode){
var e=document.createDocumentFragment();
e.appendChild(t)}
}
function n(t,e){
i(t);
for(var n=t.parentNode.querySelectorAll(e),o=0,r=n.length;
r>o;
o++)if(n[o]===t)return!0;
return!1}
function o(t,n){
return i(t),e(t,n)}
var r,s=function(){
if(t.matches)return"matches";
if(t.matchesSelector)return"matchesSelector";
for(var e=["webkit","moz","ms","o"],i=0,n=e.length;
n>i;
i++){
var o=e[i],r=o+"MatchesSelector";
if(t[r])return r}
}
();
if(s){
var a=document.createElement("div"),l=e(a,"div");
r=l?e:o}
else r=n;
"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){
return r}
):"object"==typeof exports?module.exports=r:window.matchesSelector=r}
(Element.prototype),function(t,e){
"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(t,require("doc-ready"),require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.docReady,t.matchesSelector)}
(window,function(t,e,i){
var n={
}
;
n.extend=function(t,e){
for(var i in e)t[i]=e[i];
return t}
,n.modulo=function(t,e){
return(t%e+e)%e}
;
var o=Object.prototype.toString;
n.isArray=function(t){
return"[object Array]"==o.call(t)}
,n.makeArray=function(t){
var e=[];
if(n.isArray(t))e=t;
else if(t&&"number"==typeof t.length)for(var i=0,o=t.length;
o>i;
i++)e.push(t[i]);
else e.push(t);
return e}
,n.indexOf=Array.prototype.indexOf?function(t,e){
return t.indexOf(e)}
:function(t,e){
for(var i=0,n=t.length;
n>i;
i++)if(t[i]===e)return i;
return-1}
,n.removeFrom=function(t,e){
var i=n.indexOf(t,e);
-1!=i&&t.splice(i,1)}
,n.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(t){
return t instanceof HTMLElement}
:function(t){
return t&&"object"==typeof t&&1==t.nodeType&&"string"==typeof t.nodeName}
,n.setText=function(){
function t(t,i){
e=e||(void 0!==document.documentElement.textContent?"textContent":"innerText"),t[e]=i}
var e;
return t}
(),n.getParent=function(t,e){
for(;
t!=document.body;
)if(t=t.parentNode,i(t,e))return t}
,n.getQueryElement=function(t){
return"string"==typeof t?document.querySelector(t):t}
,n.handleEvent=function(t){
var e="on"+t.type;
this[e]&&this[e](t)}
,n.filterFindElements=function(t,e){
t=n.makeArray(t);
for(var o=[],r=0,s=t.length;
s>r;
r++){
var a=t[r];
if(n.isElement(a))if(e){
i(a,e)&&o.push(a);
for(var l=a.querySelectorAll(e),c=0,h=l.length;
h>c;
c++)o.push(l[c])}
else o.push(a)}
return o}
,n.debounceMethod=function(t,e,i){
var n=t.prototype[e],o=e+"Timeout";
t.prototype[e]=function(){
var t=this[o];
t&&clearTimeout(t);
var e=arguments,r=this;
this[o]=setTimeout(function(){
n.apply(r,e),delete r[o]}
,i||100)}
}
,n.toDashed=function(t){
return t.replace(/(.)([A-Z])/g,function(t,e,i){
return e+"-"+i}
).toLowerCase()}
;
var r=t.console;
return n.htmlInit=function(i,o){
e(function(){
for(var e=n.toDashed(o),s=document.querySelectorAll(".js-"+e),a="data-"+e+"-options",l=0,c=s.length;
c>l;
l++){
var h,p=s[l],d=p.getAttribute(a);
try{
h=d&&JSON.parse(d)}
catch(u){
r&&r.error("Error parsing "+a+" on "+p.nodeName.toLowerCase()+(p.id?"#"+p.id:"")+":"+u);
continue}
var f=new i(p,h),v=t.jQuery;
v&&v.data(p,o,f)}
}
)}
,n}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/cell",["get-size/get-size"],function(i){
return e(t,i)}
):"object"==typeof exports?module.exports=e(t,require("get-size")):(t.Flickity=t.Flickity||{
}
,t.Flickity.Cell=e(t,t.getSize))}
(window,function(t,e){
function i(t,e){
this.element=t,this.parent=e,this.create()}
var n="attachEvent"in t;
return i.prototype.create=function(){
this.element.style.position="absolute",n&&this.element.setAttribute("unselectable","on"),this.x=0,this.shift=0}
,i.prototype.destroy=function(){
this.element.style.position="";
var t=this.parent.originSide;
this.element.style[t]=""}
,i.prototype.getSize=function(){
this.size=e(this.element)}
,i.prototype.setPosition=function(t){
this.x=t,this.setDefaultTarget(),this.renderPosition(t)}
,i.prototype.setDefaultTarget=function(){
var t="left"==this.parent.originSide?"marginLeft":"marginRight";
this.target=this.x+this.size[t]+this.size.width*this.parent.cellAlign}
,i.prototype.renderPosition=function(t){
var e=this.parent.originSide;
this.element.style[e]=this.parent.getPositionValue(t)}
,i.prototype.wrapShift=function(t){
this.shift=t,this.renderPosition(this.x+this.parent.slideableWidth*t)}
,i.prototype.remove=function(){
this.element.parentNode.removeChild(this.element)}
,i}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/animate",["get-style-property/get-style-property","fizzy-ui-utils/utils"],function(i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(t,require("desandro-get-style-property"),require("fizzy-ui-utils")):(t.Flickity=t.Flickity||{
}
,t.Flickity.animatePrototype=e(t,t.getStyleProperty,t.fizzyUIUtils))}
(window,function(t,e,i){
for(var n,o=0,r="webkit moz ms o".split(" "),s=t.requestAnimationFrame,a=t.cancelAnimationFrame,l=0;
l<r.length&&(!s||!a);
l++)n=r[l],s=s||t[n+"RequestAnimationFrame"],a=a||t[n+"CancelAnimationFrame"]||t[n+"CancelRequestAnimationFrame"];
s&&a||(s=function(e){
var i=(new Date).getTime(),n=Math.max(0,16-(i-o)),r=t.setTimeout(function(){
e(i+n)}
,n);
return o=i+n,r}
,a=function(e){
t.clearTimeout(e)}
);
var c={
}
;
c.startAnimation=function(){
this.isAnimating||(this.isAnimating=!0,this.restingFrames=0,this.animate())}
,c.animate=function(){
this.applyDragForce(),this.applySelectedAttraction();
var t=this.x;
if(this.integratePhysics(),this.positionSlider(),this.settle(t),this.isAnimating){
var e=this;
s(function(){
e.animate()}
)}
}
;
var h=e("transform"),p=!!e("perspective");
return c.positionSlider=function(){
var t=this.x;
this.options.wrapAround&&this.cells.length>1&&(t=i.modulo(t,this.slideableWidth),t-=this.slideableWidth,this.shiftWrapCells(t)),t+=this.cursorPosition,t=this.options.rightToLeft&&h?-t:t;
var e=this.getPositionValue(t);
h?this.slider.style[h]=p&&this.isAnimating?"translate3d("+e+",0,0)":"translateX("+e+")":this.slider.style[this.originSide]=e}
,c.positionSliderAtSelected=function(){
if(this.cells.length){
var t=this.cells[this.selectedIndex];
this.x=-t.target,this.positionSlider()}
}
,c.getPositionValue=function(t){
return this.options.percentPosition?.01*Math.round(t/this.size.innerWidth*1e4)+"%":Math.round(t)+"px"}
,c.settle=function(t){
this.isPointerDown||Math.round(100*this.x)!=Math.round(100*t)||this.restingFrames++,this.restingFrames>2&&(this.isAnimating=!1,delete this.isFreeScrolling,p&&this.positionSlider(),this.dispatchEvent("settle"))}
,c.shiftWrapCells=function(t){
var e=this.cursorPosition+t;
this._shiftCells(this.beforeShiftCells,e,-1);
var i=this.size.innerWidth-(t+this.slideableWidth+this.cursorPosition);
this._shiftCells(this.afterShiftCells,i,1)}
,c._shiftCells=function(t,e,i){
for(var n=0,o=t.length;
o>n;
n++){
var r=t[n],s=e>0?i:0;
r.wrapShift(s),e-=r.size.outerWidth}
}
,c._unshiftCells=function(t){
if(t&&t.length)for(var e=0,i=t.length;
i>e;
e++)t[e].wrapShift(0)}
,c.integratePhysics=function(){
this.velocity+=this.accel,this.x+=this.velocity,this.velocity*=this.getFrictionFactor(),this.accel=0}
,c.applyForce=function(t){
this.accel+=t}
,c.getFrictionFactor=function(){
return 1-this.options[this.isFreeScrolling?"freeScrollFriction":"friction"]}
,c.getRestingPosition=function(){
return this.x+this.velocity/(1-this.getFrictionFactor())}
,c.applyDragForce=function(){
if(this.isPointerDown){
var t=this.dragX-this.x,e=t-this.velocity;
this.applyForce(e)}
}
,c.applySelectedAttraction=function(){
var t=this.cells.length;
if(!this.isPointerDown&&!this.isFreeScrolling&&t){
var e=this.cells[this.selectedIndex],i=this.options.wrapAround&&t>1?this.slideableWidth*Math.floor(this.selectedIndex/t):0,n=-1*(e.target+i)-this.x,o=n*this.options.selectedAttraction;
this.applyForce(o)}
}
,c}
),function(t,e){
if("function"==typeof define&&define.amd)define("flickity/js/flickity",["classie/classie","eventEmitter/EventEmitter","eventie/eventie","get-size/get-size","fizzy-ui-utils/utils","./cell","./animate"],function(i,n,o,r,s,a,l){
return e(t,i,n,o,r,s,a,l)}
);
else if("object"==typeof exports)module.exports=e(t,require("desandro-classie"),require("wolfy87-eventemitter"),require("eventie"),require("get-size"),require("fizzy-ui-utils"),require("./cell"),require("./animate"));
else{
var i=t.Flickity;
t.Flickity=e(t,t.classie,t.EventEmitter,t.eventie,t.getSize,t.fizzyUIUtils,i.Cell,i.animatePrototype)}
}
(window,function(t,e,i,n,o,r,s,a){
function l(t,e){
for(t=r.makeArray(t);
t.length;
)e.appendChild(t.shift())}
function c(t,e){
var i=r.getQueryElement(t);
return i?(this.element=i,h&&(this.$element=h(this.element)),this.options=r.extend({
}
,this.constructor.defaults),this.option(e),void this._create()):void(d&&d.error("Bad element for Flickity:"+(i||t)))}
var h=t.jQuery,p=t.getComputedStyle,d=t.console,u=0,f={
}
;
c.defaults={
accessibility:!0,cellAlign:"center",freeScrollFriction:.075,friction:.28,percentPosition:!0,resize:!0,selectedAttraction:.025,setGallerySize:!0}
,c.createMethods=[],r.extend(c.prototype,i.prototype),c.prototype._create=function(){
var e=this.guid=++u;
this.element.flickityGUID=e,f[e]=this,this.selectedIndex=this.options.initialIndex||0,this.restingFrames=0,this.x=0,this.velocity=0,this.accel=0,this.originSide=this.options.rightToLeft?"right":"left",this.viewport=document.createElement("div"),this.viewport.className="flickity-viewport",c.setUnselectable(this.viewport),this._createSlider(),(this.options.resize||this.options.watchCSS)&&(n.bind(t,"resize",this),this.isResizeBound=!0);
for(var i=0,o=c.createMethods.length;
o>i;
i++){
var r=c.createMethods[i];
this[r]()}
this.options.watchCSS?this.watchCSS():this.activate()}
,c.prototype.option=function(t){
r.extend(this.options,t)}
,c.prototype.activate=function(){
if(!this.isActive){
this.isActive=!0,e.add(this.element,"flickity-enabled"),this.options.rightToLeft&&e.add(this.element,"flickity-rtl"),this.getSize();
var t=this._filterFindCellElements(this.element.children);
l(t,this.slider),this.viewport.appendChild(this.slider),this.element.appendChild(this.viewport),this.reloadCells(),this.options.accessibility&&(this.element.tabIndex=0,n.bind(this.element,"keydown",this)),this.emit("activate"),this.positionSliderAtSelected(),this.select(this.selectedIndex)}
}
,c.prototype._createSlider=function(){
var t=document.createElement("div");
t.className="flickity-slider",t.style[this.originSide]=0,this.slider=t}
,c.prototype._filterFindCellElements=function(t){
return r.filterFindElements(t,this.options.cellSelector)}
,c.prototype.reloadCells=function(){
this.cells=this._makeCells(this.slider.children),this.positionCells(),this._getWrapShiftCells(),this.setGallerySize()}
,c.prototype._makeCells=function(t){
for(var e=this._filterFindCellElements(t),i=[],n=0,o=e.length;
o>n;
n++){
var r=e[n],a=new s(r,this);
i.push(a)}
return i}
,c.prototype.getLastCell=function(){
return this.cells[this.cells.length-1]}
,c.prototype.positionCells=function(){
this._sizeCells(this.cells),this._positionCells(0)}
,c.prototype._positionCells=function(t){
t=t||0,this.maxCellHeight=t?this.maxCellHeight||0:0;
var e=0;
if(t>0){
var i=this.cells[t-1];
e=i.x+i.size.outerWidth}
for(var n,o=this.cells.length,r=t;
o>r;
r++)n=this.cells[r],n.setPosition(e),e+=n.size.outerWidth,this.maxCellHeight=Math.max(n.size.outerHeight,this.maxCellHeight);
this.slideableWidth=e,this._containCells()}
,c.prototype._sizeCells=function(t){
for(var e=0,i=t.length;
i>e;
e++){
var n=t[e];
n.getSize()}
}
,c.prototype._init=c.prototype.reposition=function(){
this.positionCells(),this.positionSliderAtSelected()}
,c.prototype.getSize=function(){
this.size=o(this.element),this.setCellAlign(),this.cursorPosition=this.size.innerWidth*this.cellAlign}
;
var v={
center:{
left:.5,right:.5}
,left:{
left:0,right:1}
,right:{
right:0,left:1}
}
;
c.prototype.setCellAlign=function(){
var t=v[this.options.cellAlign];
this.cellAlign=t?t[this.originSide]:this.options.cellAlign}
,c.prototype.setGallerySize=function(){
this.options.setGallerySize&&(this.viewport.style.height=this.maxCellHeight+"px")}
,c.prototype._getWrapShiftCells=function(){
if(this.options.wrapAround){
this._unshiftCells(this.beforeShiftCells),this._unshiftCells(this.afterShiftCells);
var t=this.cursorPosition,e=this.cells.length-1;
this.beforeShiftCells=this._getGapCells(t,e,-1),t=this.size.innerWidth-this.cursorPosition,this.afterShiftCells=this._getGapCells(t,0,1)}
}
,c.prototype._getGapCells=function(t,e,i){
for(var n=[];
t>0;
){
var o=this.cells[e];
if(!o)break;
n.push(o),e+=i,t-=o.size.outerWidth}
return n}
,c.prototype._containCells=function(){
if(this.options.contain&&!this.options.wrapAround&&this.cells.length)for(var t=this.options.rightToLeft?"marginRight":"marginLeft",e=this.options.rightToLeft?"marginLeft":"marginRight",i=this.cells[0].size[t],n=this.getLastCell(),o=this.slideableWidth-n.size[e],r=o-this.size.innerWidth*(1-this.cellAlign),s=o<this.size.innerWidth,a=0,l=this.cells.length;
l>a;
a++){
var c=this.cells[a];
c.setDefaultTarget(),s?c.target=o*this.cellAlign:(c.target=Math.max(c.target,this.cursorPosition+i),c.target=Math.min(c.target,r))}
}
,c.prototype.dispatchEvent=function(t,e,i){
var n=[e].concat(i);
if(this.emitEvent(t,n),h&&this.$element)if(e){
var o=h.Event(e);
o.type=t,this.$element.trigger(o,i)}
else this.$element.trigger(t,i)}
,c.prototype.select=function(t,e){
if(this.isActive){
var i=this.cells.length;
this.options.wrapAround&&i>1&&(0>t?this.x-=this.slideableWidth:t>=i&&(this.x+=this.slideableWidth)),(this.options.wrapAround||e)&&(t=r.modulo(t,i)),this.cells[t]&&(this.selectedIndex=t,this.setSelectedCell(),this.startAnimation(),this.dispatchEvent("cellSelect"))}
}
,c.prototype.previous=function(t){
this.select(this.selectedIndex-1,t)}
,c.prototype.next=function(t){
this.select(this.selectedIndex+1,t)}
,c.prototype.setSelectedCell=function(){
this._removeSelectedCellClass(),this.selectedCell=this.cells[this.selectedIndex],this.selectedElement=this.selectedCell.element,e.add(this.selectedElement,"is-selected")}
,c.prototype._removeSelectedCellClass=function(){
this.selectedCell&&e.remove(this.selectedCell.element,"is-selected")}
,c.prototype.getCell=function(t){
for(var e=0,i=this.cells.length;
i>e;
e++){
var n=this.cells[e];
if(n.element==t)return n}
}
,c.prototype.getCells=function(t){
t=r.makeArray(t);
for(var e=[],i=0,n=t.length;
n>i;
i++){
var o=t[i],s=this.getCell(o);
s&&e.push(s)}
return e}
,c.prototype.getCellElements=function(){
for(var t=[],e=0,i=this.cells.length;
i>e;
e++)t.push(this.cells[e].element);
return t}
,c.prototype.getParentCell=function(t){
var e=this.getCell(t);
return e?e:(t=r.getParent(t,".flickity-slider > *"),this.getCell(t))}
,c.prototype.getAdjacentCellElements=function(t,e){
if(!t)return[this.selectedElement];
e=void 0===e?this.selectedIndex:e;
var i=this.cells.length;
if(1+2*t>=i)return this.getCellElements();
for(var n=[],o=e-t;
e+t>=o;
o++){
var s=this.options.wrapAround?r.modulo(o,i):o,a=this.cells[s];
a&&n.push(a.element)}
return n}
,c.prototype.uiChange=function(){
this.emit("uiChange")}
,c.prototype.childUIPointerDown=function(t){
this.emitEvent("childUIPointerDown",[t])}
,c.prototype.onresize=function(){
this.watchCSS(),this.resize()}
,r.debounceMethod(c,"onresize",150),c.prototype.resize=function(){
this.isActive&&(this.getSize(),this.options.wrapAround&&(this.x=r.modulo(this.x,this.slideableWidth)),this.positionCells(),this._getWrapShiftCells(),this.setGallerySize(),this.positionSliderAtSelected())}
;
var y=c.supportsConditionalCSS=function(){
var t;
return function(){
if(void 0!==t)return t;
if(!p)return void(t=!1);
var e=document.createElement("style"),i=document.createTextNode('body:after{
content:"foo";
display:none;
}
');
e.appendChild(i),document.head.appendChild(e);
var n=p(document.body,":after").content;
return t=-1!=n.indexOf("foo"),document.head.removeChild(e),t}
}
();
c.prototype.watchCSS=function(){
var t=this.options.watchCSS;
if(t){
var e=y();
if(!e){
var i="fallbackOn"==t?"activate":"deactivate";
return void this[i]()}
var n=p(this.element,":after").content;
-1!=n.indexOf("flickity")?this.activate():this.deactivate()}
}
,c.prototype.onkeydown=function(t){
if(this.options.accessibility&&(!document.activeElement||document.activeElement==this.element))if(37==t.keyCode){
var e=this.options.rightToLeft?"next":"previous";
this.uiChange(),this[e]()}
else if(39==t.keyCode){
var i=this.options.rightToLeft?"previous":"next";
this.uiChange(),this[i]()}
}
,c.prototype.deactivate=function(){
if(this.isActive){
e.remove(this.element,"flickity-enabled"),e.remove(this.element,"flickity-rtl");
for(var t=0,i=this.cells.length;
i>t;
t++){
var o=this.cells[t];
o.destroy()}
this._removeSelectedCellClass(),this.element.removeChild(this.viewport),l(this.slider.children,this.element),this.options.accessibility&&(this.element.removeAttribute("tabIndex"),n.unbind(this.element,"keydown",this)),this.isActive=!1,this.emit("deactivate")}
}
,c.prototype.destroy=function(){
this.deactivate(),this.isResizeBound&&n.unbind(t,"resize",this),this.emit("destroy"),h&&this.$element&&h.removeData(this.element,"flickity"),delete this.element.flickityGUID,delete f[this.guid]}
,r.extend(c.prototype,a);
var g="attachEvent"in t;
return c.setUnselectable=function(t){
g&&t.setAttribute("unselectable","on")}
,c.data=function(t){
t=r.getQueryElement(t);
var e=t&&t.flickityGUID;
return e&&f[e]}
,r.htmlInit(c,"flickity"),h&&h.bridget&&h.bridget("flickity",c),c.Cell=s,c}
),function(t,e){
"function"==typeof define&&define.amd?define("unipointer/unipointer",["eventEmitter/EventEmitter","eventie/eventie"],function(i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(t,require("wolfy87-eventemitter"),require("eventie")):t.Unipointer=e(t,t.EventEmitter,t.eventie)}
(window,function(t,e,i){
function n(){
}
function o(){
}
o.prototype=new e,o.prototype.bindStartEvent=function(t){
this._bindStartEvent(t,!0)}
,o.prototype.unbindStartEvent=function(t){
this._bindStartEvent(t,!1)}
,o.prototype._bindStartEvent=function(e,n){
n=void 0===n?!0:!!n;
var o=n?"bind":"unbind";
t.navigator.pointerEnabled?i[o](e,"pointerdown",this):t.navigator.msPointerEnabled?i[o](e,"MSPointerDown",this):(i[o](e,"mousedown",this),i[o](e,"touchstart",this))}
,o.prototype.handleEvent=function(t){
var e="on"+t.type;
this[e]&&this[e](t)}
,o.prototype.getTouch=function(t){
for(var e=0,i=t.length;
i>e;
e++){
var n=t[e];
if(n.identifier==this.pointerIdentifier)return n}
}
,o.prototype.onmousedown=function(t){
var e=t.button;
e&&0!==e&&1!==e||this._pointerDown(t,t)}
,o.prototype.ontouchstart=function(t){
this._pointerDown(t,t.changedTouches[0])}
,o.prototype.onMSPointerDown=o.prototype.onpointerdown=function(t){
this._pointerDown(t,t)}
,o.prototype._pointerDown=function(t,e){
this.isPointerDown||(this.isPointerDown=!0,this.pointerIdentifier=void 0!==e.pointerId?e.pointerId:e.identifier,this.pointerDown(t,e))}
,o.prototype.pointerDown=function(t,e){
this._bindPostStartEvents(t),this.emitEvent("pointerDown",[t,e])}
;
var r={
mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"],MSPointerDown:["MSPointerMove","MSPointerUp","MSPointerCancel"]}
;
return o.prototype._bindPostStartEvents=function(e){
if(e){
for(var n=r[e.type],o=e.preventDefault?t:document,s=0,a=n.length;
a>s;
s++){
var l=n[s];
i.bind(o,l,this)}
this._boundPointerEvents={
events:n,node:o}
}
}
,o.prototype._unbindPostStartEvents=function(){
var t=this._boundPointerEvents;
if(t&&t.events){
for(var e=0,n=t.events.length;
n>e;
e++){
var o=t.events[e];
i.unbind(t.node,o,this)}
delete this._boundPointerEvents}
}
,o.prototype.onmousemove=function(t){
this._pointerMove(t,t)}
,o.prototype.onMSPointerMove=o.prototype.onpointermove=function(t){
t.pointerId==this.pointerIdentifier&&this._pointerMove(t,t)}
,o.prototype.ontouchmove=function(t){
var e=this.getTouch(t.changedTouches);
e&&this._pointerMove(t,e)}
,o.prototype._pointerMove=function(t,e){
this.pointerMove(t,e)}
,o.prototype.pointerMove=function(t,e){
this.emitEvent("pointerMove",[t,e])}
,o.prototype.onmouseup=function(t){
this._pointerUp(t,t)}
,o.prototype.onMSPointerUp=o.prototype.onpointerup=function(t){
t.pointerId==this.pointerIdentifier&&this._pointerUp(t,t)}
,o.prototype.ontouchend=function(t){
var e=this.getTouch(t.changedTouches);
e&&this._pointerUp(t,e)}
,o.prototype._pointerUp=function(t,e){
this._pointerDone(),this.pointerUp(t,e)}
,o.prototype.pointerUp=function(t,e){
this.emitEvent("pointerUp",[t,e])}
,o.prototype._pointerDone=function(){
this.isPointerDown=!1,delete this.pointerIdentifier,this._unbindPostStartEvents(),this.pointerDone()}
,o.prototype.pointerDone=n,o.prototype.onMSPointerCancel=o.prototype.onpointercancel=function(t){
t.pointerId==this.pointerIdentifier&&this._pointerCancel(t,t)}
,o.prototype.ontouchcancel=function(t){
var e=this.getTouch(t.changedTouches);
e&&this._pointerCancel(t,e)}
,o.prototype._pointerCancel=function(t,e){
this._pointerDone(),this.pointerCancel(t,e)}
,o.prototype.pointerCancel=function(t,e){
this.emitEvent("pointerCancel",[t,e])}
,o.getPointerPoint=function(t){
return{
x:void 0!==t.pageX?t.pageX:t.clientX,y:void 0!==t.pageY?t.pageY:t.clientY}
}
,o}
),function(t,e){
"function"==typeof define&&define.amd?define("unidragger/unidragger",["eventie/eventie","unipointer/unipointer"],function(i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(t,require("eventie"),require("unipointer")):t.Unidragger=e(t,t.eventie,t.Unipointer)}
(window,function(t,e,i){
function n(){
}
function o(t){
t.preventDefault?t.preventDefault():t.returnValue=!1}
function r(){
}
function s(){
return!1}
r.prototype=new i,r.prototype.bindHandles=function(){
this._bindHandles(!0)}
,r.prototype.unbindHandles=function(){
this._bindHandles(!1)}
;
var a=t.navigator;
r.prototype._bindHandles=function(t){
t=void 0===t?!0:!!t;
var i;
i=a.pointerEnabled?function(e){
e.style.touchAction=t?"none":""}
:a.msPointerEnabled?function(e){
e.style.msTouchAction=t?"none":""}
:function(){
t&&c(s)}
;
for(var n=t?"bind":"unbind",o=0,r=this.handles.length;
r>o;
o++){
var s=this.handles[o];
this._bindStartEvent(s,t),i(s),e[n](s,"click",this)}
}
;
var l="attachEvent"in document.documentElement,c=l?function(t){
"IMG"==t.nodeName&&(t.ondragstart=s);
for(var e=t.querySelectorAll("img"),i=0,n=e.length;
n>i;
i++){
var o=e[i];
o.ondragstart=s}
}
:n;
r.prototype.pointerDown=function(i,n){
if("INPUT"==i.target.nodeName&&"range"==i.target.type)return this.isPointerDown=!1,void delete this.pointerIdentifier;
this._dragPointerDown(i,n);
var o=document.activeElement;
o&&o.blur&&o.blur(),this._bindPostStartEvents(i),this.pointerDownScroll=r.getScrollPosition(),e.bind(t,"scroll",this),this.emitEvent("pointerDown",[i,n])}
,r.prototype._dragPointerDown=function(t,e){
this.pointerDownPoint=i.getPointerPoint(e);
var n="touchstart"==t.type,r=t.target.nodeName;
n||"SELECT"==r||o(t)}
,r.prototype.pointerMove=function(t,e){
var i=this._dragPointerMove(t,e);
this.emitEvent("pointerMove",[t,e,i]),this._dragMove(t,e,i)}
,r.prototype._dragPointerMove=function(t,e){
var n=i.getPointerPoint(e),o={
x:n.x-this.pointerDownPoint.x,y:n.y-this.pointerDownPoint.y}
;
return!this.isDragging&&this.hasDragStarted(o)&&this._dragStart(t,e),o}
,r.prototype.hasDragStarted=function(t){
return Math.abs(t.x)>3||Math.abs(t.y)>3}
,r.prototype.pointerUp=function(t,e){
this.emitEvent("pointerUp",[t,e]),this._dragPointerUp(t,e)}
,r.prototype._dragPointerUp=function(t,e){
this.isDragging?this._dragEnd(t,e):this._staticClick(t,e)}
,i.prototype.pointerDone=function(){
e.unbind(t,"scroll",this)}
,r.prototype._dragStart=function(t,e){
this.isDragging=!0,this.dragStartPoint=r.getPointerPoint(e),this.isPreventingClicks=!0,this.dragStart(t,e)}
,r.prototype.dragStart=function(t,e){
this.emitEvent("dragStart",[t,e])}
,r.prototype._dragMove=function(t,e,i){
this.isDragging&&this.dragMove(t,e,i)}
,r.prototype.dragMove=function(t,e,i){
o(t),this.emitEvent("dragMove",[t,e,i])}
,r.prototype._dragEnd=function(t,e){
this.isDragging=!1;
var i=this;
setTimeout(function(){
delete i.isPreventingClicks}
),this.dragEnd(t,e)}
,r.prototype.dragEnd=function(t,e){
this.emitEvent("dragEnd",[t,e])}
,r.prototype.pointerDone=function(){
e.unbind(t,"scroll",this),delete this.pointerDownScroll}
,r.prototype.onclick=function(t){
this.isPreventingClicks&&o(t)}
,r.prototype._staticClick=function(t,e){
if(!this.isIgnoringMouseUp||"mouseup"!=t.type){
var i=t.target.nodeName;
if(("INPUT"==i||"TEXTAREA"==i)&&t.target.focus(),this.staticClick(t,e),"mouseup"!=t.type){
this.isIgnoringMouseUp=!0;
var n=this;
setTimeout(function(){
delete n.isIgnoringMouseUp}
,400)}
}
}
,r.prototype.staticClick=function(t,e){
this.emitEvent("staticClick",[t,e])}
,r.prototype.onscroll=function(){
var t=r.getScrollPosition(),e=this.pointerDownScroll.x-t.x,i=this.pointerDownScroll.y-t.y;
(Math.abs(e)>3||Math.abs(i)>3)&&this._pointerDone()}
,r.getPointerPoint=function(t){
return{
x:void 0!==t.pageX?t.pageX:t.clientX,y:void 0!==t.pageY?t.pageY:t.clientY}
}
;
var h=void 0!==t.pageYOffset;
return r.getScrollPosition=function(){
return{
x:h?t.pageXOffset:document.body.scrollLeft,y:h?t.pageYOffset:document.body.scrollTop}
}
,r.getPointerPoint=i.getPointerPoint,r}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/drag",["classie/classie","eventie/eventie","./flickity","unidragger/unidragger","fizzy-ui-utils/utils"],function(i,n,o,r,s){
return e(t,i,n,o,r,s)}
):"object"==typeof exports?module.exports=e(t,require("desandro-classie"),require("eventie"),require("./flickity"),require("unidragger"),require("fizzy-ui-utils")):t.Flickity=e(t,t.classie,t.eventie,t.Flickity,t.Unidragger,t.fizzyUIUtils)}
(window,function(t,e,i,n,o,r){
function s(t){
t.preventDefault?t.preventDefault():t.returnValue=!1}
function a(e){
var i=o.getPointerPoint(e);
return i.y-t.pageYOffset}
r.extend(n.defaults,{
draggable:!0,touchVerticalScroll:!0}
),n.createMethods.push("_createDrag"),r.extend(n.prototype,o.prototype),n.prototype._createDrag=function(){
this.on("activate",this.bindDrag),this.on("uiChange",this._uiChangeDrag),this.on("childUIPointerDown",this._childUIPointerDownDrag),this.on("deactivate",this.unbindDrag)}
,n.prototype.bindDrag=function(){
this.options.draggable&&!this.isDragBound&&(e.add(this.element,"is-draggable"),this.handles=[this.viewport],this.bindHandles(),this.isDragBound=!0)}
,n.prototype.unbindDrag=function(){
this.isDragBound&&(e.remove(this.element,"is-draggable"),this.unbindHandles(),delete this.isDragBound)}
,n.prototype._uiChangeDrag=function(){
delete this.isFreeScrolling}
,n.prototype._childUIPointerDownDrag=function(t){
s(t),this.pointerDownFocus(t)}
,n.prototype.pointerDown=function(n,r){
if("INPUT"==n.target.nodeName&&"range"==n.target.type)return this.isPointerDown=!1,void delete this.pointerIdentifier;
this._dragPointerDown(n,r);
var s=document.activeElement;
s&&s.blur&&s!=this.element&&s!=document.body&&s.blur(),this.pointerDownFocus(n),this.dragX=this.x,e.add(this.viewport,"is-pointer-down"),this._bindPostStartEvents(n),this.pointerDownScroll=o.getScrollPosition(),i.bind(t,"scroll",this),this.dispatchEvent("pointerDown",n,[r])}
;
var l={
touchstart:!0,MSPointerDown:!0}
,c={
INPUT:!0,SELECT:!0}
;
n.prototype.pointerDownFocus=function(t){
!this.options.accessibility||l[t.type]||c[t.target.nodeName]||this.element.focus()}
,n.prototype.pointerMove=function(t,e){
var i=this._dragPointerMove(t,e);
this.touchVerticalScrollMove(t,e,i),this._dragMove(t,e,i),this.dispatchEvent("pointerMove",t,[e,i])}
,n.prototype.hasDragStarted=function(t){
return!this.isTouchScrolling&&Math.abs(t.x)>3}
,n.prototype.pointerUp=function(t,i){
delete this.isTouchScrolling,e.remove(this.viewport,"is-pointer-down"),this.dispatchEvent("pointerUp",t,[i]),this._dragPointerUp(t,i)}
;
var h={
touchmove:!0,MSPointerMove:!0}
;
return n.prototype.touchVerticalScrollMove=function(e,i,n){
var o=this.options.touchVerticalScroll,r="withDrag"==o?!o:this.isDragging||!o;
!r&&h[e.type]&&!this.isTouchScrolling&&Math.abs(n.y)>10&&(this.startScrollY=t.pageYOffset,this.pointerWindowStartY=a(i),this.isTouchScrolling=!0)}
,n.prototype.dragStart=function(t,e){
this.dragStartPosition=this.x,this.startAnimation(),this.dispatchEvent("dragStart",t,[e])}
,n.prototype.dragMove=function(t,e,i){
s(t),this.previousDragX=this.dragX;
var n=this.options.rightToLeft?-1:1,o=this.dragStartPosition+i.x*n;
if(!this.options.wrapAround&&this.cells.length){
var r=Math.max(-this.cells[0].target,this.dragStartPosition);
o=o>r?.5*(o+r):o;
var a=Math.min(-this.getLastCell().target,this.dragStartPosition);
o=a>o?.5*(o+a):o}
this.dragX=o,this.dragMoveTime=new Date,this.dispatchEvent("dragMove",t,[e,i])}
,n.prototype.dragEnd=function(t,e){
this.options.freeScroll&&(this.isFreeScrolling=!0);
var i=this.dragEndRestingSelect();
if(this.options.freeScroll&&!this.options.wrapAround){
var n=this.getRestingPosition();
this.isFreeScrolling=-n>this.cells[0].target&&-n<this.getLastCell().target}
else this.options.freeScroll||i!=this.selectedIndex||(i+=this.dragEndBoostSelect());
delete this.previousDragX,this.select(i),this.dispatchEvent("dragEnd",t,[e])}
,n.prototype.dragEndRestingSelect=function(){
var t=this.getRestingPosition(),e=Math.abs(this.getCellDistance(-t,this.selectedIndex)),i=this._getClosestResting(t,e,1),n=this._getClosestResting(t,e,-1),o=i.distance<n.distance?i.index:n.index;
return o}
,n.prototype._getClosestResting=function(t,e,i){
for(var n=this.selectedIndex,o=1/0,r=this.options.contain&&!this.options.wrapAround?function(t,e){
return e>=t}
:function(t,e){
return e>t}
;
r(e,o)&&(n+=i,o=e,e=this.getCellDistance(-t,n),null!==e);
)e=Math.abs(e);
return{
distance:o,index:n-i}
}
,n.prototype.getCellDistance=function(t,e){
var i=this.cells.length,n=this.options.wrapAround&&i>1,o=n?r.modulo(e,i):e,s=this.cells[o];
if(!s)return null;
var a=n?this.slideableWidth*Math.floor(e/i):0;
return t-(s.target+a)}
,n.prototype.dragEndBoostSelect=function(){
if(void 0===this.previousDragX||!this.dragMoveTime||new Date-this.dragMoveTime>100)return 0;
var t=this.getCellDistance(-this.dragX,this.selectedIndex),e=this.previousDragX-this.dragX;
return t>0&&e>0?1:0>t&&0>e?-1:0}
,n.prototype.staticClick=function(t,e){
var i=this.getParentCell(t.target),n=i&&i.element,o=i&&r.indexOf(this.cells,i);
this.dispatchEvent("staticClick",t,[e,n,o])}
,n}
),function(t,e){
"function"==typeof define&&define.amd?define("tap-listener/tap-listener",["unipointer/unipointer"],function(i){
return e(t,i)}
):"object"==typeof exports?module.exports=e(t,require("unipointer")):t.TapListener=e(t,t.Unipointer)}
(window,function(t,e){
function i(t){
t.preventDefault?t.preventDefault():t.returnValue=!1}
function n(t){
this.bindTap(t)}
n.prototype=new e,n.prototype.bindTap=function(t){
t&&(this.unbindTap(),this.tapElement=t,this._bindStartEvent(t,!0))}
,n.prototype.unbindTap=function(){
this.tapElement&&(this._bindStartEvent(this.tapElement,!0),delete this.tapElement)}
;
var o=n.prototype.pointerDown;
n.prototype.pointerDown=function(t){
"touchstart"==t.type&&i(t),o.apply(this,arguments)}
;
var r=void 0!==t.pageYOffset;
return n.prototype.pointerUp=function(i,n){
var o=e.getPointerPoint(n),s=this.tapElement.getBoundingClientRect(),a=r?t.pageXOffset:document.body.scrollLeft,l=r?t.pageYOffset:document.body.scrollTop,c=o.x>=s.left+a&&o.x<=s.right+a&&o.y>=s.top+l&&o.y<=s.bottom+l;
c&&this.emitEvent("tap",[i,n])}
,n.prototype.destroy=function(){
this.pointerDone(),this.unbindTap()}
,n}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/prev-next-button",["eventie/eventie","./flickity","tap-listener/tap-listener","fizzy-ui-utils/utils"],function(i,n,o,r){
return e(t,i,n,o,r)}
):"object"==typeof exports?module.exports=e(t,require("eventie"),require("./flickity"),require("tap-listener"),require("fizzy-ui-utils")):e(t,t.eventie,t.Flickity,t.TapListener,t.fizzyUIUtils)}
(window,function(t,e,i,n,o){
function r(t,e){
this.direction=t,this.parent=e,this._create()}
function s(t){
return"string"==typeof t?t:"M "+t.x0+",50 L "+t.x1+","+(t.y1+50)+" L "+t.x2+","+(t.y2+50)+" L "+t.x3+",50 L "+t.x2+","+(50-t.y2)+" L "+t.x1+","+(50-t.y1)+" Z"}
var a="http://www.w3.org/2000/svg",l=function(){
function t(){
if(void 0!==e)return e;
var t=document.createElement("div");
return t.innerHTML="<svg/>",e=(t.firstChild&&t.firstChild.namespaceURI)==a}
var e;
return t}
();
return r.prototype=new n,r.prototype._create=function(){
this.isEnabled=!0,this.isPrevious=-1==this.direction;
var t=this.parent.options.rightToLeft?1:-1;
this.isLeft=this.direction==t;
var e=this.element=document.createElement("button");
if(e.className="flickity-prev-next-button",e.className+=this.isPrevious?" previous":" next",e.setAttribute("type","button"),i.setUnselectable(e),l()){
var n=this.createSVG();
e.appendChild(n)}
else this.setArrowText(),e.className+=" no-svg";
var o=this;
this.onCellSelect=function(){
o.update()}
,this.parent.on("cellSelect",this.onCellSelect),this.on("tap",this.onTap),this.on("pointerDown",function(t,e){
o.parent.childUIPointerDown(e)}
)}
,r.prototype.activate=function(){
this.update(),this.bindTap(this.element),e.bind(this.element,"click",this),this.parent.element.appendChild(this.element)}
,r.prototype.deactivate=function(){
this.parent.element.removeChild(this.element),n.prototype.destroy.call(this),e.unbind(this.element,"click",this)}
,r.prototype.createSVG=function(){
var t=document.createElementNS(a,"svg");
t.setAttribute("viewBox","0 0 100 100");
var e=document.createElementNS(a,"path"),i=s(this.parent.options.arrowShape);
return e.setAttribute("d",i),e.setAttribute("class","arrow"),this.isLeft||e.setAttribute("transform","translate(100,100) rotate(180) "),t.appendChild(e),t}
,r.prototype.setArrowText=function(){
var t=this.parent.options,e=this.isLeft?t.leftArrowText:t.rightArrowText;
o.setText(this.element,e)}
,r.prototype.onTap=function(){
if(this.isEnabled){
this.parent.uiChange();
var t=this.isPrevious?"previous":"next";
this.parent[t]()}
}
,r.prototype.handleEvent=o.handleEvent,r.prototype.onclick=function(){
var t=document.activeElement;
t&&t==this.element&&this.onTap()}
,r.prototype.enable=function(){
this.isEnabled||(this.element.disabled=!1,this.isEnabled=!0)}
,r.prototype.disable=function(){
this.isEnabled&&(this.element.disabled=!0,this.isEnabled=!1)}
,r.prototype.update=function(){
var t=this.parent.cells;
if(this.parent.options.wrapAround&&t.length>1)return void this.enable();
var e=t.length?t.length-1:0,i=this.isPrevious?0:e,n=this.parent.selectedIndex==i?"disable":"enable";
this[n]()}
,r.prototype.destroy=function(){
this.deactivate()}
,o.extend(i.defaults,{
prevNextButtons:!0,leftArrowText:"‹",rightArrowText:"›",arrowShape:{
x0:10,x1:60,y1:50,x2:70,y2:40,x3:30}
}
),i.createMethods.push("_createPrevNextButtons"),i.prototype._createPrevNextButtons=function(){
this.options.prevNextButtons&&(this.prevButton=new r(-1,this),this.nextButton=new r(1,this),this.on("activate",this.activatePrevNextButtons))}
,i.prototype.activatePrevNextButtons=function(){
this.prevButton.activate(),this.nextButton.activate(),this.on("deactivate",this.deactivatePrevNextButtons)}
,i.prototype.deactivatePrevNextButtons=function(){
this.prevButton.deactivate(),this.nextButton.deactivate(),this.off("deactivate",this.deactivatePrevNextButtons)}
,i.PrevNextButton=r,i}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/page-dots",["eventie/eventie","./flickity","tap-listener/tap-listener","fizzy-ui-utils/utils"],function(i,n,o,r){
return e(t,i,n,o,r)}
):"object"==typeof exports?module.exports=e(t,require("eventie"),require("./flickity"),require("tap-listener"),require("fizzy-ui-utils")):e(t,t.eventie,t.Flickity,t.TapListener,t.fizzyUIUtils)}
(window,function(t,e,i,n,o){
function r(t){
this.parent=t,this._create()}
return r.prototype=new n,r.prototype._create=function(){
this.holder=document.createElement("ol"),this.holder.className="flickity-page-dots",i.setUnselectable(this.holder),this.dots=[];
var t=this;
this.onCellSelect=function(){
t.updateSelected()}
,this.parent.on("cellSelect",this.onCellSelect),this.on("tap",this.onTap),this.on("pointerDown",function(e,i){
t.parent.childUIPointerDown(i)}
)}
,r.prototype.activate=function(){
this.setDots(),this.updateSelected(),this.bindTap(this.holder),this.parent.element.appendChild(this.holder)}
,r.prototype.deactivate=function(){
this.parent.element.removeChild(this.holder),n.prototype.destroy.call(this)}
,r.prototype.setDots=function(){
var t=this.parent.cells.length-this.dots.length;
t>0?this.addDots(t):0>t&&this.removeDots(-t)}
,r.prototype.addDots=function(t){
for(var e=document.createDocumentFragment(),i=[];
t;
){
var n=document.createElement("li");
n.className="dot",e.appendChild(n),i.push(n),t--}
this.holder.appendChild(e),this.dots=this.dots.concat(i)}
,r.prototype.removeDots=function(t){
for(var e=this.dots.splice(this.dots.length-t,t),i=0,n=e.length;
n>i;
i++){
var o=e[i];
this.holder.removeChild(o)}
}
,r.prototype.updateSelected=function(){
this.selectedDot&&(this.selectedDot.className="dot"),this.dots.length&&(this.selectedDot=this.dots[this.parent.selectedIndex],this.selectedDot.className="dot is-selected")}
,r.prototype.onTap=function(t){
var e=t.target;
if("LI"==e.nodeName){
this.parent.uiChange();
var i=o.indexOf(this.dots,e);
this.parent.select(i)}
}
,r.prototype.destroy=function(){
this.deactivate()}
,i.PageDots=r,o.extend(i.defaults,{
pageDots:!0}
),i.createMethods.push("_createPageDots"),i.prototype._createPageDots=function(){
this.options.pageDots&&(this.pageDots=new r(this),this.on("activate",this.activatePageDots),this.on("cellAddedRemoved",this.onCellAddedRemovedPageDots),this.on("deactivate",this.deactivatePageDots))}
,i.prototype.activatePageDots=function(){
this.pageDots.activate()}
,i.prototype.onCellAddedRemovedPageDots=function(){
this.pageDots.setDots()}
,i.prototype.deactivatePageDots=function(){
this.pageDots.deactivate()}
,i.PageDots=r,i}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/player",["eventEmitter/EventEmitter","eventie/eventie","./flickity"],function(t,i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(require("wolfy87-eventemitter"),require("eventie"),require("./flickity")):e(t.EventEmitter,t.eventie,t.Flickity)}
(window,function(t,e,i){
function n(t){
if(this.isPlaying=!1,this.parent=t,r){
var e=this;
this.onVisibilityChange=function(){
e.visibilityChange()}
}
}
var o,r;
return"hidden"in document?(o="hidden",r="visibilitychange"):"webkitHidden"in document&&(o="webkitHidden",r="webkitvisibilitychange"),n.prototype=new t,n.prototype.play=function(){
this.isPlaying=!0,delete this.isPaused,r&&document.addEventListener(r,this.onVisibilityChange,!1),this.tick()}
,n.prototype.tick=function(){
if(this.isPlaying&&!this.isPaused){
this.tickTime=new Date;
var t=this.parent.options.autoPlay;
t="number"==typeof t?t:3e3;
var e=this;
this.timeout=setTimeout(function(){
e.parent.next(!0),e.tick()}
,t)}
}
,n.prototype.stop=function(){
this.isPlaying=!1,delete this.isPaused,this.clear(),r&&document.removeEventListener(r,this.onVisibilityChange,!1)}
,n.prototype.clear=function(){
clearTimeout(this.timeout)}
,n.prototype.pause=function(){
this.isPlaying&&(this.isPaused=!0,this.clear())}
,n.prototype.unpause=function(){
this.isPaused&&this.play()}
,n.prototype.visibilityChange=function(){
var t=document[o];
this[t?"pause":"unpause"]()}
,i.createMethods.push("_createPlayer"),i.prototype._createPlayer=function(){
this.player=new n(this),this.on("activate",this.activatePlayer),this.on("uiChange",this.stopPlayer),this.on("pointerDown",this.stopPlayer),this.on("deactivate",this.deactivatePlayer)}
,i.prototype.activatePlayer=function(){
this.options.autoPlay&&(this.player.play(),e.bind(this.element,"mouseenter",this),this.isMouseenterBound=!0)}
,i.prototype.stopPlayer=function(){
this.player.stop()}
,i.prototype.deactivatePlayer=function(){
this.player.stop(),this.isMouseenterBound&&(e.unbind(this.element,"mouseenter",this),delete this.isMouseenterBound)}
,i.prototype.onmouseenter=function(){
this.player.pause(),e.bind(this.element,"mouseleave",this)}
,i.prototype.onmouseleave=function(){
this.player.unpause(),e.unbind(this.element,"mouseleave",this)}
,i.Player=n,i}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/add-remove-cell",["./flickity","fizzy-ui-utils/utils"],function(i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(t,require("./flickity"),require("fizzy-ui-utils")):e(t,t.Flickity,t.fizzyUIUtils)}
(window,function(t,e,i){
function n(t){
for(var e=document.createDocumentFragment(),i=0,n=t.length;
n>i;
i++){
var o=t[i];
e.appendChild(o.element)}
return e}
return e.prototype.insert=function(t,e){
var i=this._makeCells(t);
if(i&&i.length){
var o=this.cells.length;
e=void 0===e?o:e;
var r=n(i),s=e==o;
if(s)this.slider.appendChild(r);
else{
var a=this.cells[e].element;
this.slider.insertBefore(r,a)}
if(0===e)this.cells=i.concat(this.cells);
else if(s)this.cells=this.cells.concat(i);
else{
var l=this.cells.splice(e,o-e);
this.cells=this.cells.concat(i).concat(l)}
this._sizeCells(i);
var c=e>this.selectedIndex?0:i.length;
this._cellAddedRemoved(e,c)}
}
,e.prototype.append=function(t){
this.insert(t,this.cells.length)}
,e.prototype.prepend=function(t){
this.insert(t,0)}
,e.prototype.remove=function(t){
var e,n,o,r=this.getCells(t),s=0;
for(e=0,n=r.length;
n>e;
e++){
o=r[e];
var a=i.indexOf(this.cells,o)<this.selectedIndex;
s-=a?1:0}
for(e=0,n=r.length;
n>e;
e++)o=r[e],o.remove(),i.removeFrom(this.cells,o);
r.length&&this._cellAddedRemoved(0,s)}
,e.prototype._cellAddedRemoved=function(t,e){
e=e||0,this.selectedIndex+=e,this.selectedIndex=Math.max(0,Math.min(this.cells.length-1,this.selectedIndex)),this.emitEvent("cellAddedRemoved",[t,e]),this.cellChange(t,!0)}
,e.prototype.cellSizeChange=function(t){
var e=this.getCell(t);
if(e){
e.getSize();
var n=i.indexOf(this.cells,e);
this.cellChange(n)}
}
,e.prototype.cellChange=function(t,e){
var i=this.slideableWidth;
this._positionCells(t),this._getWrapShiftCells(),this.setGallerySize(),this.options.freeScroll?(this.x+=i-this.slideableWidth,this.positionSlider()):(e&&this.positionSliderAtSelected(),this.select(this.selectedIndex))}
,e}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/lazyload",["classie/classie","eventie/eventie","./flickity","fizzy-ui-utils/utils"],function(i,n,o,r){
return e(t,i,n,o,r)}
):"object"==typeof exports?module.exports=e(t,require("desandro-classie"),require("eventie"),require("./flickity"),require("fizzy-ui-utils")):e(t,t.classie,t.eventie,t.Flickity,t.fizzyUIUtils)}
(window,function(t,e,i,n,o){
function r(t){
if("IMG"==t.nodeName&&t.getAttribute("data-flickity-lazyload"))return[t];
var e=t.querySelectorAll("img[data-flickity-lazyload]");
return o.makeArray(e)}
function s(t,e){
this.img=t,this.flickity=e,this.load()}
return n.createMethods.push("_createLazyload"),n.prototype._createLazyload=function(){
this.on("cellSelect",this.lazyLoad)}
,n.prototype.lazyLoad=function(){
var t=this.options.lazyLoad;
if(t){
for(var e="number"==typeof t?t:0,i=this.getAdjacentCellElements(e),n=[],o=0,a=i.length;
a>o;
o++){
var l=i[o],c=r(l);
n=n.concat(c)}
for(o=0,a=n.length;
a>o;
o++){
var h=n[o];
new s(h,this)}
}
}
,s.prototype.handleEvent=o.handleEvent,s.prototype.load=function(){
i.bind(this.img,"load",this),i.bind(this.img,"error",this),this.img.src=this.img.getAttribute("data-flickity-lazyload"),this.img.removeAttribute("data-flickity-lazyload")}
,s.prototype.onload=function(t){
this.complete(t,"flickity-lazyloaded")}
,s.prototype.onerror=function(){
this.complete(event,"flickity-lazyerror")}
,s.prototype.complete=function(t,n){
i.unbind(this.img,"load",this),i.unbind(this.img,"error",this);
var o=this.flickity.getParentCell(this.img),r=o&&o.element;
this.flickity.cellSizeChange(r),e.add(this.img,n),this.flickity.dispatchEvent("lazyLoad",t,r)}
,n.LazyLoader=s,n}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity/js/index",["./flickity","./drag","./prev-next-button","./page-dots","./player","./add-remove-cell","./lazyload"],e):"object"==typeof exports&&(module.exports=e(require("./flickity"),require("./drag"),require("./prev-next-button"),require("./page-dots"),require("./player"),require("./add-remove-cell"),require("./lazyload")))}
(window,function(t){
return t}
),function(t,e){
"function"==typeof define&&define.amd?define("flickity-as-nav-for/as-nav-for",["classie/classie","flickity/js/index","fizzy-ui-utils/utils"],function(i,n,o){
return e(t,i,n,o)}
):"object"==typeof exports?module.exports=e(t,require("desandro-classie"),require("flickity"),require("fizzy-ui-utils")):t.Flickity=e(t,t.classie,t.Flickity,t.fizzyUIUtils)}
(window,function(t,e,i,n){
return i.createMethods.push("_createAsNavFor"),i.prototype._createAsNavFor=function(){
this.on("activate",this.activateAsNavFor),this.on("deactivate",this.deactivateAsNavFor),this.on("destroy",this.destroyAsNavFor);
var t=this.options.asNavFor;
if(t){
var e=this;
setTimeout(function(){
e.setNavCompanion(t)}
)}
}
,i.prototype.setNavCompanion=function(t){
t=n.getQueryElement(t);
var e=i.data(t);
if(e&&e!=this){
this.navCompanion=e;
var o=this;
this.onNavCompanionSelect=function(){
o.navCompanionSelect()}
,e.on("cellSelect",this.onNavCompanionSelect),this.on("staticClick",this.onNavStaticClick),this.navCompanionSelect()}
}
,i.prototype.navCompanionSelect=function(){
if(this.navCompanion){
var t=this.navCompanion.selectedIndex;
this.select(t),this.removeNavSelectedElement(),this.selectedIndex==t&&(this.navSelectedElement=this.cells[t].element,e.add(this.navSelectedElement,"is-nav-selected"))}
}
,i.prototype.activateAsNavFor=function(){
this.navCompanionSelect()}
,i.prototype.removeNavSelectedElement=function(){
this.navSelectedElement&&(e.remove(this.navSelectedElement,"is-nav-selected"),delete this.navSelectedElement)}
,i.prototype.onNavStaticClick=function(t,e,i,n){
"number"==typeof n&&this.navCompanion.select(n)}
,i.prototype.deactivateAsNavFor=function(){
this.removeNavSelectedElement()}
,i.prototype.destroyAsNavFor=function(){
this.navCompanion&&(this.navCompanion.off("cellSelect",this.onNavCompanionSelect),this.off("staticClick",this.onNavStaticClick),delete this.navCompanion)}
,i}
),function(t,e){
"function"==typeof define&&define.amd?define("imagesloaded/imagesloaded",["eventEmitter/EventEmitter","eventie/eventie"],function(i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(t,require("wolfy87-eventemitter"),require("eventie")):t.imagesLoaded=e(t,t.EventEmitter,t.eventie)}
(window,function(t,e,i){
function n(t,e){
for(var i in e)t[i]=e[i];
return t}
function o(t){
return"[object Array]"===d.call(t)}
function r(t){
var e=[];
if(o(t))e=t;
else if("number"==typeof t.length)for(var i=0,n=t.length;
n>i;
i++)e.push(t[i]);
else e.push(t);
return e}
function s(t,e,i){
if(!(this instanceof s))return new s(t,e);
"string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=r(t),this.options=n({
}
,this.options),"function"==typeof e?i=e:n(this.options,e),i&&this.on("always",i),this.getImages(),c&&(this.jqDeferred=new c.Deferred);
var o=this;
setTimeout(function(){
o.check()}
)}
function a(t){
this.img=t}
function l(t){
this.src=t,u[t]=this}
var c=t.jQuery,h=t.console,p="undefined"!=typeof h,d=Object.prototype.toString;
s.prototype=new e,s.prototype.options={
}
,s.prototype.getImages=function(){
this.images=[];
for(var t=0,e=this.elements.length;
e>t;
t++){
var i=this.elements[t];
"IMG"===i.nodeName&&this.addImage(i);
var n=i.nodeType;
if(n&&(1===n||9===n||11===n))for(var o=i.querySelectorAll("img"),r=0,s=o.length;
s>r;
r++){
var a=o[r];
this.addImage(a)}
}
}
,s.prototype.addImage=function(t){
var e=new a(t);
this.images.push(e)}
,s.prototype.check=function(){
function t(t,o){
return e.options.debug&&p&&h.log("confirm",t,o),e.progress(t),i++,i===n&&e.complete(),!0}
var e=this,i=0,n=this.images.length;
if(this.hasAnyBroken=!1,!n)return void this.complete();
for(var o=0;
n>o;
o++){
var r=this.images[o];
r.on("confirm",t),r.check()}
}
,s.prototype.progress=function(t){
this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded;
var e=this;
setTimeout(function(){
e.emit("progress",e,t),e.jqDeferred&&e.jqDeferred.notify&&e.jqDeferred.notify(e,t)}
)}
,s.prototype.complete=function(){
var t=this.hasAnyBroken?"fail":"done";
this.isComplete=!0;
var e=this;
setTimeout(function(){
if(e.emit(t,e),e.emit("always",e),e.jqDeferred){
var i=e.hasAnyBroken?"reject":"resolve";
e.jqDeferred[i](e)}
}
)}
,c&&(c.fn.imagesLoaded=function(t,e){
var i=new s(this,t,e);
return i.jqDeferred.promise(c(this))}
),a.prototype=new e,a.prototype.check=function(){
var t=u[this.img.src]||new l(this.img.src);
if(t.isConfirmed)return void this.confirm(t.isLoaded,"cached was confirmed");
if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");
var e=this;
t.on("confirm",function(t,i){
return e.confirm(t.isLoaded,i),!0}
),t.check()}
,a.prototype.confirm=function(t,e){
this.isLoaded=t,this.emit("confirm",this,e)}
;
var u={
}
;
return l.prototype=new e,l.prototype.check=function(){
if(!this.isChecked){
var t=new Image;
i.bind(t,"load",this),i.bind(t,"error",this),t.src=this.src,this.isChecked=!0}
}
,l.prototype.handleEvent=function(t){
var e="on"+t.type;
this[e]&&this[e](t)}
,l.prototype.onload=function(t){
this.confirm(!0,"onload"),this.unbindProxyEvents(t)}
,l.prototype.onerror=function(t){
this.confirm(!1,"onerror"),this.unbindProxyEvents(t)}
,l.prototype.confirm=function(t,e){
this.isConfirmed=!0,this.isLoaded=t,this.emit("confirm",this,e)}
,l.prototype.unbindProxyEvents=function(t){
i.unbind(t.target,"load",this),i.unbind(t.target,"error",this)}
,s}
),function(t,e){
"function"==typeof define&&define.amd?define(["flickity/js/index","imagesloaded/imagesloaded"],function(i,n){
return e(t,i,n)}
):"object"==typeof exports?module.exports=e(t,require("flickity"),require("imagesloaded")):t.Flickity=e(t,t.Flickity,t.imagesLoaded)}
(window,function(t,e,i){
return e.createMethods.push("_createImagesLoaded"),e.prototype._createImagesLoaded=function(){
this.on("activate",this.imagesLoaded)}
,e.prototype.imagesLoaded=function(){
function t(t,i){
var n=e.getParentCell(i.img);
e.cellSizeChange(n&&n.element),e.options.freeScroll||e.positionSliderAtSelected()}
if(this.options.imagesLoaded){
var e=this;
i(this.slider).on("progress",t)}
}
,e}
);
CSS代码(flickity-docs.css):
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/** * 1. Set default font family to sans-serif. * 2. Prevent iOS and IE text size adjust after device orientation change,* without disabling user zoom. */
html{font-family:sans-serif;/* 1 */
-ms-text-size-adjust:100%;/* 2 */
-webkit-text-size-adjust:100%;/* 2 */
}
/** * Remove default margin. */
body{margin:0;}
/* HTML5 display definitions ========================================================================== */
/** * Correct `block` display not defined for any HTML5 element in IE 8/9. * Correct `block` display not defined for `details` or `summary` in IE 10/11 * and Firefox. * Correct `block` display not defined for `main` in IE 11. */
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block;}
/** * 1. Correct `inline-block` display not defined in IE 8/9. * 2. Normalize vertical alignment of `progress` in Chrome,Firefox,and Opera. */
audio,canvas,progress,video{display:inline-block;/* 1 */
vertical-align:baseline;/* 2 */
}
/** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */
audio:not([controls]){display:none;height:0;}
/** * Address `[hidden]` styling not present in IE 8/9/10. * Hide the `template` element in IE 8/9/10/11,Safari,and Firefox < 22. */
[hidden],template{display:none;}
/* Links ========================================================================== */
/** * Remove the gray background color from active links in IE 10. */
a{background-color:transparent;}
/** * Improve readability of focused elements when they are also in an * active/hover state. */
a:active,a:hover{outline:0;}
/* Text-level semantics ========================================================================== */
/** * Address styling not present in IE 8/9/10/11,Safari,and Chrome. */
abbr[title]{border-bottom:1px dotted;}
/** * Address style set to `bolder` in Firefox 4+,Safari,and Chrome. */
b,strong{font-weight:bold;}
/** * Address styling not present in Safari and Chrome. */
dfn{font-style:italic;}
/** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+,Safari,and Chrome. */
h1{font-size:2em;margin:0.67em 0;}
/** * Address styling not present in IE 8/9. */
mark{background:#ff0;color:#000;}
/** * Address inconsistent and variable font size in all browsers. */
small{font-size:80%;}
/** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sup{top:-0.5em;}
sub{bottom:-0.25em;}
/* Embedded content ========================================================================== */
/** * Remove border when inside `a` element in IE 8/9/10. */
img{border:0;}
/** * Correct overflow not hidden in IE 9/10/11. */
svg:not(:root){overflow:hidden;}
/* Grouping content ========================================================================== */
/** * Address margin not present in IE 8/9 and Safari. */
figure{margin:1em 40px;}
/** * Address differences between Firefox and other browsers. */
hr{box-sizing:content-box;height:0;}
/** * Contain overflow in all browsers. */
pre{overflow:auto;}
/** * Address odd `em`-unit font size rendering in all browsers. */
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;}
/* Forms ========================================================================== */
/** * Known limitation:by default,Chrome and Safari on OS X allow very limited * styling of `select`,unless a `border` property is set. */
/** * 1. Correct color not being inherited. * Known issue:affects color of disabled elements. * 2. Correct font properties not being inherited. * 3. Address margins set differently in Firefox 4+,Safari,and Chrome. */
button,input,optgroup,select,textarea{color:inherit;/* 1 */
font:inherit;/* 2 */
margin:0;/* 3 */
}
/** * Address `overflow` set to `hidden` in IE 8/9/10/11. */
button{overflow:visible;}
/** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Firefox,IE 8/9/10/11,and Opera. * Correct `select` style inheritance in Firefox. */
button,select{text-transform:none;}
/** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */
button,html input[type="button"],/* 1 */
input[type="reset"],input[type="submit"]{-webkit-appearance:button;/* 2 */
cursor:pointer;/* 3 */
}
/** * Re-set default cursor for disabled elements. */
button[disabled],html input[disabled]{cursor:default;}
/** * Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
/** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */
input{line-height:normal;}
/** * It's recommended that you don't attempt to style these elements. * Firefox's implementation doesn't respect box-sizing,padding,or width. * * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;/* 1 */
padding:0;/* 2 */
}
/** * Fix the cursor style for Chrome's increment/decrement buttons. For certain * `font-size` values of the `input`,it causes the cursor style of the * decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto;}
/** * 1. Address `appearance` set to `searchfield` in Safari and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. */
input[type="search"]{-webkit-appearance:textfield;/* 1 */
box-sizing:content-box;/* 2 */
}
/** * Remove inner padding and search cancel button in Safari and Chrome on OS X. * Safari (but not Chrome) clips the cancel button when the search input has * padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
/** * Define consistent border,margin,and padding. */
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}
/** * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend{border:0;/* 1 */
padding:0;/* 2 */
}
/** * Remove default vertical scrollbar in IE 8/9/10/11. */
textarea{overflow:auto;}
/** * Don't inherit the `font-weight` (applied by a rule above). * NOTE:the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup{font-weight:bold;}
/* Tables ========================================================================== */
/** * Remove most spacing between table cells. */
table{border-collapse:collapse;border-spacing:0;}
td,th{padding:0;}
/*! Flickity v1.1.1http://flickity.metafizzy.co---------------------------------------------- */
.flickity-enabled{position:relative;}
.flickity-enabled:focus{outline:none;}
.flickity-viewport{overflow:hidden;position:relative;height:100%;}
.flickity-slider{position:absolute;width:100%;height:100%;}
/* draggable */
.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab;}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing;}
/* ---- previous/next buttons ---- */
.flickity-prev-next-button{position:absolute;top:50%;width:44px;height:44px;border:none;border-radius:50%;background:white;background:hsla(0,0%,100%,0.75);cursor:pointer;/* vertically center */
-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
.flickity-prev-next-button:hover{background:white;}
.flickity-prev-next-button:focus{outline:none;box-shadow:0 0 0 5px #09F;}
.flickity-prev-next-button:active{filter:alpha(opacity=60);/* IE8 */
opacity:0.6;}
.flickity-prev-next-button.previous{left:10px;}
.flickity-prev-next-button.next{right:10px;}
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px;}
.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px;}
.flickity-prev-next-button:disabled{filter:alpha(opacity=30);/* IE8 */
opacity:0.3;cursor:auto;}
.flickity-prev-next-button svg{position:absolute;left:20%;top:20%;width:60%;height:60%;}
.flickity-prev-next-button .arrow{fill:#333;}
/* color & size if no SVG - IE8 and Android 2.3 */
.flickity-prev-next-button.no-svg{color:#333;font-size:26px;}
/* ---- page dots ---- */
.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1;}
.flickity-rtl .flickity-page-dots{direction:rtl;}
.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;filter:alpha(opacity=25);/* IE8 */
opacity:0.25;cursor:pointer;}
.flickity-page-dots .dot.is-selected{filter:alpha(opacity=100);/* IE8 */
opacity:1;}
/* base------------------------- */
*{box-sizing:border-box;}
body{font-family:'Texta',sans-serif;color:#444;line-height:1.5;font-size:17px;margin:0;padding:0;}
body.export{font-size:15px;}
a{color:#6A6;text-decoration:none;}
a:hover{color:#E90;}
h1,h2,h3{line-height:1.2;}
/* ---- code ---- */
pre,code,kbd{font-family:Consolas,Menlo,monospace;font-size:14px;background:#FAFAFA;border:1px solid #DDD;white-space:pre-wrap;}
pre{padding:10px;border-radius:6px;}
code,kbd{padding:2px 3px;line-height:1.2;border-radius:3px;}
pre code{padding:0;line-height:1.5;background:none;border:none;}
/* ---- table ---- */
th,td{padding:3px 20px 3px 0;}
th{text-align:left;color:#AAA;font-weight:normal;}
td{border-top:1px solid #DDD;}
tr:nth-child(2) td{border-top:3px double #DDD;}
/* ---- main ---- */
.main{position:relative;/* for page-nav */
}
/* ---- content ---- */
.content-wrap{max-width:1000px;padding:0 10px;}
/* ---- page-title ---- */
.page-title{font-size:2.2em;margin:0.4em 0;}
/* ---- main ---- */
.main h2{font-size:1.6em;font-weight:normal;border-top:4px double #DDD;padding-top:1.1em;margin-top:1.4em;}
.main h3{font-size:1.3em;border-top:1px solid #DDD;padding-top:0.8em;margin:1.4em 0 0.5em;}
/* ---- logger ---- */
.logger{padding:0.25em;font-size:1.2em;background:#FAFAFA;text-align:center;}
/* ---- data-license-property ---- */
*[data-license-property]{color:#09F;}
/* ---- hide-small ---- */
@media screen and ( max-width:640px ){.hidden-small{display:none;}
}
@media screen and ( min-width:768px ){body{font-size:19px;}
body.export{font-size:16px;}
.content-wrap{padding:0 30px;/* background:hsla(0,100%,50%,0.1) */
}
.page-title{font-size:4.0em;}
.main h3{font-size:1.6em;padding-top:30px;}
.main h2{font-size:2.4em;}
pre,code,kbd{font-size:15px;}
}
/* demo galleries------------------------- */
.gallery{background:#FAFAFA;margin-bottom:30px;counter-reset:gallery-cell;}
.gallery-cell{width:66%;height:160px;margin-right:10px;margin-bottom:10px;background:#8C8;counter-increment:gallery-cell;}
.flickity-enabled .gallery-cell{margin-bottom:0;}
.gallery-cell:before,.gallery-cell__number{display:block;width:100px;margin:0 auto;content:counter(gallery-cell);text-align:center;line-height:160px;font-size:80px;color:white;}
.gallery--not-counting .gallery-cell:before{content:none;}
/* ---- style ---- */
.gallery--full-width .gallery-cell{width:100%;}
.gallery--half-width .gallery-cell{width:50%;}
.gallery--various-widths .gallery-cell{width:33%;}
.gallery--various-widths .gallery-cell.size-180{width:180px;}
.gallery--various-widths .gallery-cell.size-large{width:75%;}
.gallery--media-queried .gallery-cell{width:100%;}
.gallery--selected-cell .gallery-cell.is-selected{background:#ED2;}
.gallery--gallery-focus:focus .flickity-viewport{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;}
/* ---- show-several ---- */
.gallery--show-several .gallery-cell{width:28%;}
/* ---- auto-play ---- */
/* ---- images-loaded ---- */
.gallery--images-loaded-demo img{display:block;height:160px;}
.gallery--images-demo{margin-bottom:40px;}
.gallery--images-demo img{display:block;height:160px;}
/* ---- watch-demo ---- */
.gallery--watch-demo:after{content:'flickity';display:none;}
.gallery--watch-demo .gallery-cell{margin-right:10px;}
/* ---- cell-selector-demo ---- */
.gallery--cell-selector-demo{position:relative;}
.static-banner{position:absolute;background:hsla(0,0%,0%,0.3);z-index:1;padding:2px 20px;color:white;pointer-events:none;}
.static-banner1{left:10px;top:10px;}
.static-banner2{right:10px;bottom:10px;}
/* ---- gallery--pixel-position-demo ---- */
.gallery--pixel-position-demo .gallery-cell{width:300px;}
/* ---- gallery--100-width-height ---- */
.gallery--full-bleed{height:100%;}
.gallery--full-bleed .gallery-cell{height:100%;}
/* move page dots into gallery*/
.gallery--full-bleed .flickity-page-dots{bottom:10px;}
/* ---- gallery--set-gallery-size-disabled ---- */
.gallery--set-gallery-size-disabled{height:160px;}
.gallery--set-gallery-size-disabled .gallery-cell{height:100%;}
.gallery--set-gallery-size-disabled-percentage{padding-bottom:50%;}
.gallery--set-gallery-size-disabled-percentage .flickity-viewport{position:absolute;width:100%;}
.gallery--set-gallery-size-disabled-percentage .gallery-cell{height:100%;}
/* ---- resize-option ---- */
.gallery--resize-option{width:300px;}
/* ---- resize ---- */
.gallery--resize{width:50%;min-width:240px;}
.gallery--resize.is-expanded{width:100%;}
.gallery--resize.is-expanded .gallery-cell{height:320px;}
.gallery--resize.is-expanded .gallery-cell:before{line-height:320px;}
/* ---- position-cells ---- */
.gallery--position-cells .gallery-cell{position:relative;width:33%;}
.gallery--position-cells .gallery-cell.is-expanded{width:80%;}
.gallery-cell .button{position:absolute;left:10px;top:10px;}
/* ---- lazyload ---- */
.gallery--lazyload-cells .gallery-cell{height:200px;margin-right:2px;background:#222;}
.gallery--lazyload-adj-cells .gallery-cell{width:25%;height:160px;margin-right:2px;background:#222;}
.gallery-cell__lazy-image{display:block;max-height:100%;margin:0 auto;max-width:100%;opacity:0;-webkit-transition:opacity 0.4s;transition:opacity 0.4s;}
/* fade in lazy loaded image */
.gallery-cell__lazy-image.flickity-lazyloaded,.gallery-cell__lazy-image.flickity-lazyerror{opacity:1;}
.gallery__lazy-image{height:200px;min-width:150px;opacity:0;-webkit-transition:opacity 0.4s;transition:opacity 0.4s;}
/* fade in lazy loaded image */
.gallery__lazy-image.flickity-lazyloaded,.gallery__lazy-image.flickity-lazyerror{opacity:1;}
/* ---- as-nav-for / gallery-nav ---- */
.gallery--as-nav-for-main{margin-bottom:40px;}
.gallery--nav .gallery-cell{height:80px;width:100px;}
.gallery--nav .gallery-cell:before{font-size:50px;line-height:80px;}
.gallery--nav .gallery-cell.is-nav-selected{background:#ED2;}
/* ---- static-click ---- */
.gallery--static-click .gallery-cell{width:26%;}
.gallery--static-click .gallery-cell.is-clicked{background:#ED2;}
/* ---- large device media query ---- */
@media screen and ( min-width:768px ){.gallery--media-queried .gallery-cell{width:50%;}
.gallery--watch-demo:after{content:'';}
.gallery--images-demo img{height:400px;}
}
@charset "UTF-8";/* argument------------------------- */
.argument{margin:0.5em 0;padding-left:1.5em;}
.argument__type{color:#777;}
.argument__type,.argument__description{margin-left:0.4em;}
.argument__type:before,.argument__description:before{content:'·';padding-right:0.4em;display:inline-block;}
/* arrow-wiz------------------------- */
.arrow-wiz-illo{position:relative;width:230px;height:230px;margin-right:20px;float:left;}
.arrow-wiz-illo__canvas{position:absolute;left:30px;}
.arrow-wiz-illo__graph-label{display:block;position:absolute;font-size:0.85rem;}
.arrow-wiz-illo__graph-label--y{text-align:right;width:20px;}
.arrow-wiz-illo__graph-label--y-pos50{top:-5px;}
.arrow-wiz-illo__graph-label--y-0{top:92px;}
.arrow-wiz-illo__graph-label--y-neg50{top:190px;}
.arrow-wiz-illo__graph-label--x{top:200px;}
.arrow-wiz-illo__graph-label--x-0{left:30px;}
.arrow-wiz-illo__graph-label--x-50{left:125px;}
.arrow-wiz-illo__graph-label--x-100{right:0;}
/* ---- points ---- */
.arrow-wiz-illo__top-well{position:absolute;/* background:hsla(0,100%,50%,0.1);*/
width:220px;height:120px;left:20px;top:-10px;}
.arrow-wiz-illo__center-well{position:absolute;/* background:hsla(0,100%,50%,0.1);*/
width:220px;height:20px;left:20px;top:90px;}
.arrow-wiz-illo__point{position:absolute;width:20px;height:20px;}
.arrow-wiz-illo__point:hover,.arrow-wiz-illo__point.is-dragging{z-index:2;/* above other points */
}
.arrow-wiz-illo__point--0,.arrow-wiz-illo__point--3{cursor:ew-resize;}
.arrow-wiz-illo__point--1,.arrow-wiz-illo__point--2{cursor:move;}
.arrow-wiz-illo__point--0{left:20px;}
.arrow-wiz-illo__point--1{left:120px;top:0;}
.arrow-wiz-illo__point--2{left:140px;top:20px;}
.arrow-wiz-illo__point--3{left:60px;}
.arrow-wiz-illo__point__dot{position:absolute;width:20px;height:20px;background:#333;border-radius:10px;opacity:1;transform:scale(0.5);transition:transform 0.2s,opacity 0.2s;}
.arrow-wiz-illo__point:hover .arrow-wiz-illo__point__dot,.arrow-wiz-illo__point.is-dragging .arrow-wiz-illo__point__dot{opacity:1;transform:scale(1);}
.arrow-wiz-illo__point__label{display:block;position:absolute;font-size:0.9rem;width:45px;border-radius:5px;background:#333;color:white;text-align:center;left:30px;opacity:0;transform:translateX(-5px);transition:transform 0.2s,opacity 0.2s;transform-origin:left top;pointer-events:none;}
.arrow-wiz-illo__point:hover .arrow-wiz-illo__point__label,.arrow-wiz-illo__point.is-dragging .arrow-wiz-illo__point__label{opacity:1;transform:translateX(0px);}
/* big link big buttons at the top of the homepage------------------------- */
.big-links__item{margin-bottom:10px;}
.big-link{display:block;font-size:1.2em;padding:0.9em 0.7em;border-radius:5px;line-height:1;}
.big-link:active{box-shadow:inset 0 2px 20px hsla(0,0%,0%,0.2);}
.big-link--fill{color:white;background-color:#8C8;background-image:linear-gradient( hsla(0,0%,0%,0),hsla(0,0%,0%,0.15) );}
.big-link--fill:hover{color:white;background-color:#EC5;}
.big-link--fill:active{color:white;background-color:#DB4;}
.big-link--stroke{border:2px solid #8C8;}
.big-link--stroke:hover{border-color:#EC5;}
.big-link--stroke:active{background-color:#F8F8F8;}
/* ---- large device ---- */
@media screen and ( min-width:768px ){.big-link{font-size:1.4em;margin-bottom:10px;}
}
/* button------------------------- */
.button{display:inline-block;padding:6px 18px;border:1px solid #DDD;border-radius:6px;background-color:#FAFAFA;background-image:linear-gradient( hsla(0,0%,0%,0),hsla(0,0%,0%,0.1) )}
.button:hover{background-color:white;border-color:#BBB;}
.button:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;background-color:white;}
.button:active{background-color:#EEE;box-shadow:inset 0 2px 10px hsla(0,0%,0%,0.3);}
.button.is-selected{background-color:#09F;color:white;}
/* ---- button-row ---- */
.button-row{margin-bottom:10px;}
.button-row--centered{text-align:center;}
/* ---- button-group ---- */
.button-group--inline{display:inline-block;vertical-align:bottom;}
.button-group:after{content:'';display:block;clear:both;}
.button-group .button{float:left;border-radius:0;border-right-width:0;}
.button-group .button:first-child{border-radius:6px 0 0 6px;}
.button-group .button:last-child{border-radius:0 6px 6px 0;border-right-width:1px;}
/* buy-button------------------------- */
.buy-button{display:block;margin-bottom:10px;line-height:1.3em;border:2px solid;border-radius:8px;border-color:#8C8;padding:10px 100px 10px 10px;position:relative;text-align:center;}
.buy-button__project,.buy-button__title,.buy-button__license{}
.buy-button__for{display:block;font-style:italic;}
.buy-button__price{font-size:1.6em;background:#8C8;color:white;position:absolute;right:0;top:0;height:100%;width:80px;text-align:center;line-height:64px;}
.buy-button__price__dollar{font-size:0.6em;margin-right:3px;vertical-align:top;}
.buy-button:hover{border-color:#E90;}
.buy-button:hover .buy-button__price{background:#E90;}
@media screen and (min-width:768px){/* ---- buy-button-trio ---- */
.buy-button-trio{margin-top:40px;margin-bottom:50px;}
.buy-button-trio:after{content:'';display:block;clear:both;}
/* ---- buy-button-trio buy-button ---- */
.buy-button-trio .buy-button{float:left;width:31.33%;margin-right:3%;}
.buy-button-trio .buy-button:nth-child(3){margin-right:0;}
.buy-button-trio .buy-button{transition:transform 0.2s;padding:20px 0 0;}
.buy-button-trio .buy-button > span{display:block;padding-left:10px;padding-right:10px;}
.buy-button-trio .buy-button__project,.buy-button-trio .buy-button__license{font-size:1.1em;}
.buy-button-trio .buy-button__title{font-size:1.9em;line-height:1.2;}
.buy-button-trio .buy-button__license{margin-bottom:15px;}
.buy-button-trio .buy-button__for{margin-bottom:20px;font-size:1.1em;}
.buy-button-trio .buy-button__price{position:relative;width:auto;font-size:2.4em;line-height:1.3;padding-top:15px;padding-bottom:10px;}
.buy-button-trio .buy-button__was-price{display:block;padding-bottom:10px;}
.buy-button-trio .buy-button__price__dollar{position:relative;top:8px;}
.buy-button-trio .buy-button:hover{transform:translateY(-5px);}
}
/* call out------------------------- */
.call-out{border-top:2px solid #ED2;border-bottom:2px solid #ED2;padding-left:40px;position:relative;margin:20px 0;}
/* (i) */
.call-out:before{content:'i';display:block;width:20px;height:20px;position:absolute;left:5px;top:20px;background:#ED2;border-radius:50%;text-align:center;color:white;font-family:Consolas,Georgia,serif;font-style:italic;}
.call-out h2{margin-top:0;padding-top:10px;border-top:none;}
.call-out--chill{border-color:#8C8;}
.call-out--chill:before{background:#8C8;}
@media screen and (min-width:768px){.call-out{border:2px solid #ED2;padding:10px 20px 10px 80px;border-radius:6px;position:relative;margin:20px 0;}
.call-out--chill{border-color:#8C8;}
.call-out:before{width:40px;height:40px;left:20px;top:30px;font-size:1.9em;line-height:46px;}
}
/* commercial-license-agreement------------------------- */
.commercial-license-agreement h3{counter-increment:cla-h3;counter-reset:cla-part;}
.commercial-license-agreement h3:before{content:counter(cla-h3) '.';margin-right:0.25em;color:#888;font-family:'Texta Regular',sans-serif;}
.cla__part{counter-increment:cla-part;}
.cla__part:before,.cla__definitions-list li:before{content:counter(cla-h3) '.' counter(cla-part) '.';color:#888;margin-right:0.25em;}
.cla__definitions-list{list-style:none;padding-left:2.6em;}
.cla__definitions-list li{text-indent:-1.5em;margin-bottom:0.5em;counter-increment:cla-definitions-item;}
.cla__definitions-list li:before{content:counter(cla-h3) '.' counter(cla-definitions-item) '.';}
/* duotwo columns for large devices------------------------- */
.duo:after{content:'';display:block;clear:both;}
.duo__cell{margin-bottom:10px;}
/* --- duo--legal --- */
.duo--legal__plain{padding:0 0.8em;background:#FAFAFA;color:#888;}
.duo--legal--first .duo--legal__official:before,.duo--legal--first .duo--legal__plain:before{display:block;padding-top:0.5em;font-size:0.88em;color:#888;}
.duo--legal--first .duo--legal__official:before{content:'Official legal copy'}
.duo--legal--first .duo--legal__plain:before{content:'Plain English'}
@media screen and ( min-width:768px ){.duo__cell{float:left;width:48.5%;}
.duo__cell:first-child{margin-right:3%;}
.duo__cell--license-option p{margin-top:0;}
}
/* edit-demo------------------------- */
.edit-demo{clear:both;font-size:0.92em;}
/* event-table------------------------- */
.event-table{width:100%;}
.event-table th,.event-table td{}
.event-table td{font-size:0.9em;}
td.event-table__time{font-size:0.9em;}
.event-table__message{width:100%;}
/* example------------------------- */
.example{margin:40px 0;}
.example__code pre{margin:0 0 20px;}
/* ---- 100% width & height ---- */
/* set arbitrary height */
.example__demo--full-bleed{height:300px;margin-bottom:50px;}
/* hero-gallery------------------------- */
.hero-gallery{margin-bottom:80px;background:#FAFAFA url('http://i.imgur.com/R60qKwS.jpg');background-size:cover;}
.hero-gallery__cell{width:100%;height:240px;color:white;background:#ED2;background:#EFCE36;/* match gif */
}
.hero-gallery__cell__content{padding:20px 60px 0;max-width:1000px;margin:0 auto;position:relative;}
.hero-gallery h1{font-size:3.2em;line-height:1.0;margin:0;padding-top:40px;}
.hero-gallery .tagline{font-size:1.4em;line-height:1.0;margin:0;color:#444;}
.hero-illustration{display:block;width:100%;max-width:200px;margin:0 auto;}
.hero-gallery__cell--2{background:#8C8;}
.slogan{line-height:1.2;margin:0;}
.slogan--easy,.slogan--fun{font-size:2.2em;line-height:1.1;}
.slogan--tagline{margin-top:10px;font-size:1.2em;color:#444;}
.feature-list{font-size:1.8em;list-style:none;line-height:1.2;margin:0;padding:0;}
.feature-list li{margin-bottom:10px;}
.hero-gallery__cell--3{background:#E90;}
.hero-gallery__cell--4{background:#E5A;}
.by-line{line-height:1.2;margin:0;font-size:1.8em;}
.by-line--made{padding-top:20px;margin-bottom:10px;color:#444;}
@media screen and ( max-width:500px ){/* hide first cell content on small devices */
.hero-gallery h1,.hero-gallery .tagline{display:none;}
}
@media screen and ( min-width:500px ){.hero-gallery__cell--1 .hero-gallery__cell__content{padding-right:260px;}
.hero-illustration{position:absolute;right:60px;top:20px;}
}
/* ---- large device styles ---- */
@media screen and ( min-width:768px ){.hero-gallery__cell{height:440px;}
.hero-gallery__cell__content{padding-top:40px;}
.hero-gallery h1{font-size:5.8em;}
.hero-gallery .tagline{font-size:2.1em;}
.hero-illustration{top:80px;}
.slogan--easy,.slogan--fun{font-size:4.8em;}
.slogan--tagline{margin-top:20px;font-size:2.4em;}
.feature-list{font-size:3.1em;}
.feature-list li{margin-bottom:20px;}
.by-line{font-size:3.1em;}
.by-line--made{padding-top:40px;margin-bottom:20px;}
}
@media screen and ( min-width:960px ){.hero-gallery__cell--1 .hero-gallery__cell__content{padding-right:400px;}
.hero-gallery h1{font-size:7.8em;}
.hero-illustration{max-width:400px;top:20px}
}
/* in-use-gallery------------------------- */
.in-use-gallery{}
.in-use-gallery__item{width:400px;height:450px;display:block;position:relative;margin-right:40px;border-radius:5px;}
.in-use-gallery__item__title{position:absolute;bottom:0px;text-align:center;width:100%;margin:0;line-height:50px;}
.in-use-gallery__item__image{display:block;max-width:100%;border-radius:5px;}
/* page-dot demos------------------------- */
/* ---- o dots ---- */
.gallery--o-dots .flickity-page-dots{bottom:0px;}
.gallery--o-dots .flickity-page-dots .dot{width:12px;height:12px;opacity:1;background:transparent;border:2px solid white;}
.gallery--o-dots .flickity-page-dots .dot.is-selected{background:white;}
/* ---- line-dots ---- */
.gallery--line-dots .flickity-page-dots{bottom:-22px;}
.gallery--line-dots .flickity-page-dots .dot{height:4px;width:40px;margin:0;border-radius:0;}
/* page-nav------------------------- */
.page-nav{list-style:none;margin:0 0 40px;padding:0 10px 0 0;font-size:0.9em;line-height:1.2em;}
.page-nav li{margin:0.2em 0;}
.page-nav__item--h3,.page-nav__item--h4{padding-left:15px;}
@media screen and ( min-width:1220px ){.page-nav{position:absolute;right:0px;top:0px;width:200px;padding-top:20px;}
/* activate sticky */
.page-nav:after{content:'sticky';display:none;}
.page-nav.is-fixed{position:fixed;}
}
/* prev/next button demos------------------------- */
/* ---- gallery--prev-next-big-arrow ---- */
.gallery--prev-next-big-arrow .flickity-prev-next-button{width:100px;height:100px;background:transparent;}
.gallery--prev-next-big-arrow .flickity-prev-next-button .arrow{fill:white;}
.gallery--prev-next-big-arrow .flickity-prev-next-button.no-svg{color:white;}
/*.gallery--prev-next-big-arrow .flickity-prev-next-button.previous{left:-10px;}
.gallery--prev-next-big-arrow .flickity-prev-next-button.next{right:-10px;}
*/
.gallery--prev-next-big-arrow .flickity-prev-next-button:disabled{display:none;}
/* ---- gallery--prev-next-small-outside ---- */
.gallery--prev-next-small-outside{margin-left:40px;margin-right:40px;}
.gallery--prev-next-small-outside .flickity-prev-next-button{width:30px;height:30px;border-radius:5px;background:#444;}
.gallery--prev-next-small-outside .flickity-prev-next-button:hover{background:#F90;}
.gallery--prev-next-small-outside .flickity-prev-next-button .arrow{fill:white;}
.gallery--prev-next-small-outside .flickity-prev-next-button.no-svg{color:white;}
.gallery--prev-next-small-outside .flickity-prev-next-button.previous{left:-40px;}
.gallery--prev-next-small-outside .flickity-prev-next-button.next{right:-40px;}
/* quick start------------------------- */
.quick-start p,.quick-start li:before{font-size:1.2em;line-height:1.2;}
.quick-start ol{list-style:none;}
.quick-start li{position:relative;counter-increment:quick-start-item;}
.quick-start li:before{content:counter(quick-start-item) ".";position:absolute;left:-1.2em;font-size:1.2em;font-weight:bold;}
/* site footer------------------------- */
.site-footer{position:relative;background:#FAFAFA;padding:40px 0;z-index:2;/* on top of page-nav */
}
.site-footer p{font-size:1.2em;}
.other-products:after{content:'';display:block;clear:both;}
.other-products__cell a{display:block;position:relative;padding:10px 10px 10px 145px;border-radius:6px;margin-bottom:20px;min-height:140px;background:#EEE;}
.other-products__cell a:hover{background:#8C8;color:white;}
.other-products__cell img{display:block;position:absolute;left:10px;top:10px;width:100%;max-width:120px;border-radius:5px;}
.other-products__cell h3{font-size:1.6em;margin:0 0 0px;}
.other-products__cell .description{font-size:1.1em;line-height:1.2;margin:0;}
/* site nav------------------------- */
.site-nav{background:#8C8;}
/* bottom nav */
.main ~ .site-nav{position:relative;margin-top:80px;z-index:2;/* on top of page-nav */
}
.site-nav__list{list-style:none;margin:0;padding:0;}
.site-nav__list:after{content:'';clear:both;display:block;}
.site-nav__item{width:33.333%;float:left;line-height:28px;}
.site-nav__item a{display:block;color:white;padding:5px}
.site-nav__item--homepage{font-size:21px;font-weight:bold;}
.site-nav__item--homepage a{}
.site-nav__item a:hover{background:#E5A;color:white;}
.site-nav__item a:active{background:white;color:#8C8;}
/* selected */
/*.page--index .site-nav__item--homepage a,*/
.page--style .site-nav__item--style a,.page--options .site-nav__item--options a,.page--api .site-nav__item--api a,.page--events .site-nav__item--events a,.page--extras .site-nav__item--extras a,.page--license .site-nav__item--license a{background:#ED2;color:white;}
/* size at which it can fit */
@media screen and ( min-width:768px ){.site-nav__item{width:auto;font-size:21px;line-height:70px;}
.site-nav__item a{padding:0px 25px;}
.site-nav__item--homepage{font-size:26px;}
}
/* syntax highlight------------------------- */
code .string,code .tag .value{color:#0A2;}
code .number,/* integer */
code .cp,/* doctype */
code .literal{color:#07D;}
/*boolean*/
code .keyword{color:#E31;}
/* keyword */
code .kd,/* storage */
code .attribute{color:#D31;}
/* markup attribute */
code .title{color:#39A;}
code .params{color:#98D;}
code .p{color:#EDB;}
/* punctuation */
code .o{color:#F63;}
/* operator */
code .nb{color:#AA97AC;}
/* support */
/* comment */
code .comment{color:#999;font-style:italic;}
code .tag{color:#37B;}
/* Markup open tag */
code .id{color:#567;}
/* css id */
code .class{color:#B27;}
/* CSS class */
code .rules{color:#431;}
code .value{color:#555;}
/* CSS value */
code .nd,code .pseudo{color:#38D;}
/* CSS pseudo selector */
code .hexcolor{color:#F63;}
code .at_rule{color:#088;}
code .built_in{color:#E08;}
code .flickity,/* new Flickity() */
code .flickity_var{color:#D0D;}
/* flkty */
code .jquery_var{color:#D70;}
/* $gallery */
code .flickity{text-decoration:underline;}
CSS代码(flickity.min.css):
/*! Flickity v1.1.1http://flickity.metafizzy.co---------------------------------------------- */
.flickity-enabled{position:relative}
.flickity-enabled:focus{outline:0}
.flickity-viewport{overflow:hidden;position:relative;height:100%}
.flickity-slider{position:absolute;width:100%;height:100%}
.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}
.flickity-prev-next-button{position:absolute;top:50%;width:44px;height:44px;border:none;border-radius:50%;background:#fff;background:hsla(0,0%,100%,.75);cursor:pointer;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}
.flickity-prev-next-button:hover{background:#fff}
.flickity-prev-next-button:focus{outline:0;box-shadow:0 0 0 5px #09F}
.flickity-prev-next-button:active{filter:alpha(opacity=60);opacity:.6}
.flickity-prev-next-button.previous{left:10px}
.flickity-prev-next-button.next{right:10px}
.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}
.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}
.flickity-prev-next-button:disabled{filter:alpha(opacity=30);opacity:.3;cursor:auto}
.flickity-prev-next-button svg{position:absolute;left:20%;top:20%;width:60%;height:60%}
.flickity-prev-next-button .arrow{fill:#333}
.flickity-prev-next-button.no-svg{color:#333;font-size:26px}
.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}
.flickity-rtl .flickity-page-dots{direction:rtl}
.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;filter:alpha(opacity=25);opacity:.25;cursor:pointer}
.flickity-page-dots .dot.is-selected{filter:alpha(opacity=100);opacity:1}