(function (){
function EventEmitter(){}
var proto=EventEmitter.prototype;
var exports=this;
var originalGlobalValue=exports.EventEmitter;
function indexOfListener(listeners, listener){
var i=listeners.length;
while (i--){
if(listeners[i].listener===listener){
return i;
}}
return -1;
}
function alias(name){
return function aliasClosure(){
return this[name].apply(this, arguments);
};}
proto.getListeners=function getListeners(evt){
var events=this._getEvents();
var response;
var key;
if(typeof evt==='object'){
response={};
for (key in events){
if(events.hasOwnProperty(key)&&evt.test(key)){
response[key]=events[key];
}}
}else{
response=events[evt]||(events[evt]=[]);
}
return response;
};
proto.flattenListeners=function flattenListeners(listeners){
var flatListeners=[];
var i;
for (i=0; i < listeners.length; i +=1){
flatListeners.push(listeners[i].listener);
}
return flatListeners;
};
proto.getListenersAsObject=function getListenersAsObject(evt){
var listeners=this.getListeners(evt);
var response;
if(listeners instanceof Array){
response={};
response[evt]=listeners;
}
return response||listeners;
};
proto.addListener=function addListener(evt, listener){
var listeners=this.getListenersAsObject(evt);
var listenerIsWrapped=typeof listener==='object';
var key;
for (key in listeners){
if(listeners.hasOwnProperty(key)&&indexOfListener(listeners[key], listener)===-1){
listeners[key].push(listenerIsWrapped ? listener:{
listener: listener,
once: false
});
}}
return this;
};
proto.on=alias('addListener');
proto.addOnceListener=function addOnceListener(evt, listener){
return this.addListener(evt, {
listener: listener,
once: true
});
};
proto.once=alias('addOnceListener');
proto.defineEvent=function defineEvent(evt){
this.getListeners(evt);
return this;
};
proto.defineEvents=function defineEvents(evts){
for (var i=0; i < evts.length; i +=1){
this.defineEvent(evts[i]);
}
return this;
};
proto.removeListener=function removeListener(evt, listener){
var listeners=this.getListenersAsObject(evt);
var index;
var key;
for (key in listeners){
if(listeners.hasOwnProperty(key)){
index=indexOfListener(listeners[key], listener);
if(index!==-1){
listeners[key].splice(index, 1);
}}
}
return this;
};
proto.off=alias('removeListener');
proto.addListeners=function addListeners(evt, listeners){
return this.manipulateListeners(false, evt, listeners);
};
proto.removeListeners=function removeListeners(evt, listeners){
return this.manipulateListeners(true, evt, listeners);
};
proto.manipulateListeners=function manipulateListeners(remove, evt, listeners){
var i;
var value;
var single=remove ? this.removeListener:this.addListener;
var multiple=remove ? this.removeListeners:this.addListeners;
if(typeof evt==='object'&&!(evt instanceof RegExp)){
for (i in evt){
if(evt.hasOwnProperty(i)&&(value=evt[i])){
if(typeof value==='function'){
single.call(this, i, value);
}else{
multiple.call(this, i, value);
}}
}}else{
i=listeners.length;
while (i--){
single.call(this, evt, listeners[i]);
}}
return this;
};
proto.removeEvent=function removeEvent(evt){
var type=typeof evt;
var events=this._getEvents();
var key;
if(type==='string'){
delete events[evt];
}
else if(type==='object'){
for (key in events){
if(events.hasOwnProperty(key)&&evt.test(key)){
delete events[key];
}}
}else{
delete this._events;
}
return this;
};
proto.removeAllListeners=alias('removeEvent');
proto.emitEvent=function emitEvent(evt, args){
var listeners=this.getListenersAsObject(evt);
var listener;
var i;
var key;
var response;
for (key in listeners){
if(listeners.hasOwnProperty(key)){
i=listeners[key].length;
while (i--){
listener=listeners[key][i];
if(listener.once===true){
this.removeListener(evt, listener.listener);
}
response=listener.listener.apply(this, args||[]);
if(response===this._getOnceReturnValue()){
this.removeListener(evt, listener.listener);
}}
}}
return this;
};
proto.trigger=alias('emitEvent');
proto.emit=function emit(evt){
var args=Array.prototype.slice.call(arguments, 1);
return this.emitEvent(evt, args);
};
proto.setOnceReturnValue=function setOnceReturnValue(value){
this._onceReturnValue=value;
return this;
};
proto._getOnceReturnValue=function _getOnceReturnValue(){
if(this.hasOwnProperty('_onceReturnValue')){
return this._onceReturnValue;
}else{
return true;
}};
proto._getEvents=function _getEvents(){
return this._events||(this._events={});
};
EventEmitter.noConflict=function noConflict(){
exports.EventEmitter=originalGlobalValue;
return EventEmitter;
};
if(typeof define==='function'&&define.amd){
define('eventEmitter/EventEmitter',[],function (){
return EventEmitter;
});
}
else if(typeof module==='object'&&module.exports){
module.exports=EventEmitter;
}else{
this.EventEmitter=EventEmitter;
}}.call(this));
(function(window){
var docElem=document.documentElement;
var bind=function(){};
function getIEEvent(obj){
var event=window.event;
event.target=event.target||event.srcElement||obj;
return event;
}
if(docElem.addEventListener){
bind=function(obj, type, fn){
obj.addEventListener(type, fn, false);
};}else if(docElem.attachEvent){
bind=function(obj, type, fn){
obj[ type + fn ]=fn.handleEvent ?
function(){
var event=getIEEvent(obj);
fn.handleEvent.call(fn, event);
} :
function(){
var event=getIEEvent(obj);
fn.call(obj, event);
};
obj.attachEvent("on" + type, obj[ type + fn ]);
};}
var unbind=function(){};
if(docElem.removeEventListener){
unbind=function(obj, type, fn){
obj.removeEventListener(type, fn, false);
};}else if(docElem.detachEvent){
unbind=function(obj, type, fn){
obj.detachEvent("on" + type, obj[ type + fn ]);
try {
delete obj[ type + fn ];
} catch(err){
obj[ type + fn ]=undefined;
}};}
var eventie={
bind: bind,
unbind: unbind
};
if(typeof define==='function'&&define.amd){
define('eventie/eventie',eventie);
}else{
window.eventie=eventie;
}})(this);
(function(window, factory){
if(typeof define==='function'&&define.amd){
define([
'eventEmitter/EventEmitter',
'eventie/eventie'
], function(EventEmitter, eventie){
return factory(window, EventEmitter, eventie);
});
}else if(typeof exports==='object'){
module.exports=factory(
window,
require('wolfy87-eventemitter'),
require('eventie')
);
}else{
window.imagesLoaded=factory(
window,
window.EventEmitter,
window.eventie
);
}})(window,
function factory(window, EventEmitter, eventie){
var $=window.jQuery;
var console=window.console;
var hasConsole=typeof console!=='undefined';
function extend(a, b){
for(var prop in b){
a[ prop ]=b[ prop ];
}
return a;
}
var objToString=Object.prototype.toString;
function isArray(obj){
return objToString.call(obj)==='[object Array]';
}
function makeArray(obj){
var ary=[];
if(isArray(obj) ){
ary=obj;
}else if(typeof obj.length==='number'){
for(var i=0, len=obj.length; i < len; i++){
ary.push(obj[i]);
}}else{
ary.push(obj);
}
return ary;
}
function ImagesLoaded(elem, options, onAlways){
if(!(this instanceof ImagesLoaded) ){
return new ImagesLoaded(elem, options);
}
if(typeof elem==='string'){
elem=document.querySelectorAll(elem);
}
this.elements=makeArray(elem);
this.options=extend( {}, this.options);
if(typeof options==='function'){
onAlways=options;
}else{
extend(this.options, options);
}
if(onAlways){
this.on('always', onAlways);
}
this.getImages();
if($){
this.jqDeferred=new $.Deferred();
}
var _this=this;
setTimeout(function(){
_this.check();
});
}
ImagesLoaded.prototype=new EventEmitter();
ImagesLoaded.prototype.options={};
ImagesLoaded.prototype.getImages=function(){
this.images=[];
for(var i=0, len=this.elements.length; i < len; i++){
var elem=this.elements[i];
if(elem.nodeName==='IMG'){
this.addImage(elem);
}
var nodeType=elem.nodeType;
if(!nodeType||!(nodeType===1||nodeType===9||nodeType===11) ){
continue;
}
var childElems=elem.querySelectorAll('img');
for(var j=0, jLen=childElems.length; j < jLen; j++){
var img=childElems[j];
this.addImage(img);
}}
};
ImagesLoaded.prototype.addImage=function(img){
var loadingImage=new LoadingImage(img);
this.images.push(loadingImage);
};
ImagesLoaded.prototype.check=function(){
var _this=this;
var checkedCount=0;
var length=this.images.length;
this.hasAnyBroken=false;
if(!length){
this.complete();
return;
}
function onConfirm(image, message){
if(_this.options.debug&&hasConsole){
console.log('confirm', image, message);
}
_this.progress(image);
checkedCount++;
if(checkedCount===length){
_this.complete();
}
return true;
}
for(var i=0; i < length; i++){
var loadingImage=this.images[i];
loadingImage.on('confirm', onConfirm);
loadingImage.check();
}};
ImagesLoaded.prototype.progress=function(image){
this.hasAnyBroken=this.hasAnyBroken||!image.isLoaded;
var _this=this;
setTimeout(function(){
_this.emit('progress', _this, image);
if(_this.jqDeferred&&_this.jqDeferred.notify){
_this.jqDeferred.notify(_this, image);
}});
};
ImagesLoaded.prototype.complete=function(){
var eventName=this.hasAnyBroken ? 'fail':'done';
this.isComplete=true;
var _this=this;
setTimeout(function(){
_this.emit(eventName, _this);
_this.emit('always', _this);
if(_this.jqDeferred){
var jqMethod=_this.hasAnyBroken ? 'reject':'resolve';
_this.jqDeferred[ jqMethod ](_this);
}});
};
if($){
$.fn.imagesLoaded=function(options, callback){
var instance=new ImagesLoaded(this, options, callback);
return instance.jqDeferred.promise($(this));
};}
function LoadingImage(img){
this.img=img;
}
LoadingImage.prototype=new EventEmitter();
LoadingImage.prototype.check=function(){
var resource=cache[ this.img.src ]||new Resource(this.img.src);
if(resource.isConfirmed){
this.confirm(resource.isLoaded, 'cached was confirmed');
return;
}
if(this.img.complete&&this.img.naturalWidth!==undefined){
this.confirm(this.img.naturalWidth!==0, 'naturalWidth');
return;
}
var _this=this;
resource.on('confirm', function(resrc, message){
_this.confirm(resrc.isLoaded, message);
return true;
});
resource.check();
};
LoadingImage.prototype.confirm=function(isLoaded, message){
this.isLoaded=isLoaded;
this.emit('confirm', this, message);
};
var cache={};
function Resource(src){
this.src=src;
cache[ src ]=this;
}
Resource.prototype=new EventEmitter();
Resource.prototype.check=function(){
if(this.isChecked){
return;
}
var proxyImage=new Image();
eventie.bind(proxyImage, 'load', this);
eventie.bind(proxyImage, 'error', this);
proxyImage.src=this.src;
this.isChecked=true;
};
Resource.prototype.handleEvent=function(event){
var method='on' + event.type;
if(this[ method ]){
this[ method ](event);
}};
Resource.prototype.onload=function(event){
this.confirm(true, 'onload');
this.unbindProxyEvents(event);
};
Resource.prototype.onerror=function(event){
this.confirm(false, 'onerror');
this.unbindProxyEvents(event);
};
Resource.prototype.confirm=function(isLoaded, message){
this.isConfirmed=true;
this.isLoaded=isLoaded;
this.emit('confirm', this, message);
};
Resource.prototype.unbindProxyEvents=function(event){
eventie.unbind(event.target, 'load', this);
eventie.unbind(event.target, 'error', this);
};
return ImagesLoaded;
});
;(function($){
'use strict';
$.fn.fitVids=function(options){
var settings={
customSelector: null,
ignore: null
};
if(!document.getElementById('fit-vids-style')){
var head=document.head||document.getElementsByTagName('head')[0];
var css='.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
var div=document.createElement("div");
div.innerHTML='<p>x</p><style id="fit-vids-style">' + css + '</style>';
head.appendChild(div.childNodes[1]);
}
if(options){
$.extend(settings, options);
}
return this.each(function(){
var selectors=[
'iframe[src*="player.vimeo.com"]',
'iframe[src*="youtube.com"]',
'iframe[src*="youtube-nocookie.com"]',
'iframe[src*="kickstarter.com"][src*="video.html"]',
'object',
'embed'
];
if(settings.customSelector){
selectors.push(settings.customSelector);
}
var ignoreList='.fitvidsignore';
if(settings.ignore){
ignoreList=ignoreList + ', ' + settings.ignore;
}
var $allVideos=$(this).find(selectors.join(','));
$allVideos=$allVideos.not('object object');
$allVideos=$allVideos.not(ignoreList);
$allVideos.each(function(count){
var $this=$(this);
if($this.parents(ignoreList).length > 0){
return;
}
if(this.tagName.toLowerCase()==='embed'&&$this.parent('object').length||$this.parent('.fluid-width-video-wrapper').length){ return; }
if((!$this.css('height')&&!$this.css('width'))&&(isNaN($this.attr('height'))||isNaN($this.attr('width')))){
$this.attr('height', 9);
$this.attr('width', 16);
}
var height=(this.tagName.toLowerCase()==='object'||($this.attr('height')&&!isNaN(parseInt($this.attr('height'), 10)))) ? parseInt($this.attr('height'), 10):$this.height(),
width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10):$this.width(),
aspectRatio=height / width;
if(!$this.attr('id')){
var videoID='fitvid' + count;
$this.attr('id', videoID);
}
$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');
$this.removeAttr('height').removeAttr('width');
});
});
};})(window.jQuery||window.Zepto);
(function(){var k,e;k=this.jQuery||window.jQuery;e=k(window);k.fn.stick_in_parent=function(d){var v,y,n,p,h,C,s,G,q,H;null==d&&(d={});s=d.sticky_class;y=d.inner_scrolling;C=d.recalc_every;h=d.parent;p=d.offset_top;n=d.spacer;v=d.bottoming;null==p&&(p=0);null==h&&(h=void 0);null==y&&(y=!0);null==s&&(s="is_stuck");null==v&&(v=!0);G=function(a,d,q,z,D,t,r,E){var u,F,m,A,c,f,B,w,x,g,b;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);f=a.parent();null!=h&&(f=f.closest(h));if(!f.length)throw"failed to find stick parent";
u=m=!1;(g=null!=n?n&&a.closest(n):k("<div />"))&&g.css("position",a.css("position"));B=function(){var c,e,l;if(!E&&(c=parseInt(f.css("border-top-width"),10),e=parseInt(f.css("padding-top"),10),d=parseInt(f.css("padding-bottom"),10),q=f.offset().top+c+e,z=f.height(),m&&(u=m=!1,null==n&&(a.insertAfter(g),g.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(s),l=!0),D=a.offset().top-parseInt(a.css("margin-top"),10)-p,t=a.outerHeight(!0),r=a.css("float"),g&&g.css({width:a.outerWidth(!0),
height:t,display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":r}),l))return b()};B();if(t!==z)return A=void 0,c=p,x=C,b=function(){var b,k,l,h;if(!E&&(null!=x&&(--x,0>=x&&(x=C,B())),l=e.scrollTop(),null!=A&&(k=l-A),A=l,m?(v&&(h=l+t+c>z+q,u&&!h&&(u=!1,a.css({position:"fixed",bottom:"",top:c}).trigger("sticky_kit:unbottom"))),l<D&&(m=!1,c=p,null==n&&("left"!==r&&"right"!==r||a.insertAfter(g),g.detach()),b={position:"",width:"",top:""},a.css(b).removeClass(s).trigger("sticky_kit:unstick")),
y&&(b=e.height(),t+p>b&&!u&&(c-=k,c=Math.max(b-t,c),c=Math.min(p,c),m&&a.css({top:c+"px"})))):l>D&&(m=!0,b={position:"fixed",top:c},b.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(b).addClass(s),null==n&&(a.after(g),"left"!==r&&"right"!==r||g.append(a)),a.trigger("sticky_kit:stick")),m&&v&&(null==h&&(h=l+t+c>z+q),!u&&h)))return u=!0,"static"===f.css("position")&&f.css({position:"relative"}),a.css({position:"absolute",bottom:d,top:"auto"}).trigger("sticky_kit:bottom")},
w=function(){B();return b()},F=function(){E=!0;e.off("touchmove",b);e.off("scroll",b);e.off("resize",w);k(document.body).off("sticky_kit:recalc",w);a.off("sticky_kit:detach",F);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:"",width:""});f.position("position","");if(m)return null==n&&("left"!==r&&"right"!==r||a.insertAfter(g),g.remove()),a.removeClass(s)},e.on("touchmove",b),e.on("scroll",b),e.on("resize",w),k(document.body).on("sticky_kit:recalc",w),a.on("sticky_kit:detach",F),setTimeout(b,
0)}};q=0;for(H=this.length;q<H;q++)d=this[q],G(k(d));return this}}).call(this);
!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,n.windowContext||(n.windowContext=!0,n.windowContext=new e(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=Math.floor(y+l-f),h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}();