!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["jquery"],function(c){return b(a,c,!1)}):void b(a,a.jQuery||a.Zepto||a.ender||a.$,!0)}(this,function(a,b,c){"use strict";var d;return d={options:{timeout:null,meter:b(".scroolly"),body:document},theCSSPrefix:"",theDashedCSSPrefix:"",isMobile:!1,isInitialized:!1,animFrame:null,direction:0,scrollTop:0,scrollCenter:0,scrollBottom:0,docHeight:0,docMiddle:0,winHeight:b(window).height()},d.scrollLayout={},d._isObject=function(a){return"object"==typeof a},d._isArray=function(a){return a instanceof Array},d._isNumber=function(a){return a instanceof Number||"number"==typeof a},d._isString=function(a){return a instanceof String||"string"==typeof a},d._default=function(a,b,c){void 0===c&&(c=null);var e=(b+"").split(".");if(a&&(d._isObject(a)||d._isArray(a))){var f,g=a;for(var h in e){if(f=e[h],!d._isObject(g)&&!d._isArray(g)||void 0===g[f])return c;g=g[f]}return g}return c},d.parseCoords=function(a){var b=a.split(/\s*=\s*/),c=b[0]||"doc-top",e=d.parseCoord(c),f=b[1]||e.anchor,g=d.parseCoord(f);return[e,g]},d.parseCoord=function(a){var b=/((vp|doc|el|con)-)?(top|center|bottom)?/i,c="(\\+|-)?\\s*(\\d+)(\\%|vp|doc|el|con)?",d=new RegExp(c,"gi"),e=a.match(b),f=a.match(d);if(!e&&!f)return!1;var g=e[1]?e[2]:"vp",h=e[3]||"top",i=[];if(f){d=new RegExp(c,"i");for(var j,k,l,m,n,o=0;o=g&&("infinity"===h||h>=e)):j>g&&("infinity"===h||h>=j)},d.isRuleActive=function(a,b,c){var e=d.isRuleInActiveWidthRange(a);if(!e)return!1;var f=d._default(a,"direction",0),g=d.direction;if(f&&(f>0&&0>g||0>f&&g>=0))return!1;var h=d._default(a,"from","0"),i=d._default(a,"to","finish"),j=d.cmpCoords(h,b,c);if(j>0)return!1;var k=d.cmpCoords(i,b,c);return 0>=k?!1:{offset:-j,length:k-j}},d.getScrollLayoutLength=function(){return Object.keys?Object.keys(d.scrollLayout).length:b.map(d.scrollLayout,function(){return 1}).length},d.addItem=function(a,c,e,f){if(!c.length)return!1;f=f||"self";var g,h,i,j,k,l,m;m=function(a,b,c,e){var f,g,h=b/c,i=d._default(e,"cssFrom"),j=d._default(e,"cssTo"),k={};for(var l in i)f=i[l],g=d._default(j,l,f),k[l]=d.getTransitionValue(f,g,h);a.css(d.extendCssWithPrefix(k))};for(var n in e)g=e[n],h=!f,i=d._default(g,"from","doc-top"),(d._isString(i)||d._isNumber(i))&&(i=d.parseCoords(""+i),g.from=i),j=d._default(g,"to","doc-bottom"),(d._isString(j)||d._isNumber(j))&&(j=d.parseCoords(""+j),g.to=j),k=d._default(g,"cssFrom"),l=d._default(g,"cssTo"),k&&l&&(g.cssOnScroll=m);if(c.length>1)return c.each(function(c){for(var g,h,i=[],j=null,k=0;k1&&c=c?a:c>=1?b:a+(b-a)*c},d.getTransitionIntValue=function(a,b,c){return Math.round(d.getTransitionFloatValue(a,b,c))},d.hashColor2rgb=function(a){var b=a.match(/^#([0-9a-f]{3})$/i);return b?[17*parseInt(b[1].charAt(0),16),17*parseInt(b[1].charAt(1),16),17*parseInt(b[1].charAt(2),16)]:(b=a.match(/^#([0-9a-f]{6})$/i))?[parseInt(b[1].substr(0,2),16),parseInt(b[1].substr(2,2),16),parseInt(b[1].substr(4,2),16)]:[0,0,0]},d.rgb2HashColor=function(a,b,c){var d,e,f="#";for(var g in arguments)d=arguments[g],e=d.toString(16),16>d&&(e="0"+e),f+=e;return f},d.getTransitionColorValue=function(a,b,c){if(0>=c)return a;if(c>=1)return b;var e=d.hashColor2rgb(a),f=d.hashColor2rgb(b),g=d.getTransitionIntValue(e[0],f[0],c),h=d.getTransitionIntValue(e[1],f[1],c),i=d.getTransitionIntValue(e[2],f[2],c);return d.rgb2HashColor(g,h,i)},d.getTransitionValue=function(a,b,c){if(0>=c)return a;if(c>=1)return b;var e=0;if(d._isNumber(a)&&d._isNumber(b))return d.getTransitionFloatValue(a,b,c);var f=/(\d*\.\d+)|(\d+)|(#[0-9a-f]{6})|(#[0-9a-f]{3})/gi,g=(""+b).match(f);return(""+a).replace(f,function(a,b,f,h,i){var j=g[e];return e++,f&&f.length?/\d*\.\d+/.test(j)?d.getTransitionFloatValue(parseFloat(a),parseFloat(j),c):d.getTransitionIntValue(parseInt(a),parseInt(j),c):b&&b.length?d.getTransitionFloatValue(parseFloat(a),parseFloat(j),c):h&&h.length||i&&i.length?d.getTransitionColorValue(a,j,c):a})},d.onScroll=function(a){var b=d.body.scrollTop();if(!a&&b===d.scrollTop)return!1;var c=d.scrollTop,e=d.direction;d.scrollTop=b,d.scrollBottom=b+d.winHeight,d.scrollCenter=b+Math.floor(d.winHeight/2),d.direction=b-c;var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=!(d.direction===e||d.direction<0&&0>e||d.direction>0&&e>0);for(k in d.scrollLayout){for(f=d.scrollLayout[k],g=f.rules.length,h=[],i=[],j=[],l=0;g>l;l++)o=f.rules[l],p=d._default(o,"minWidth",0),q=d._default(o,"maxWidth","infinity"),r="self"===f.container?f.element:f.container,o.checkin=d.isRuleActive(o,f.element,r),o["class"]=o["class"]||"scroll-pos-"+o.alias+" window-width-"+p+"-to-"+q,o.checkin?(j.push(l),o.isActive||(o.isActive=!0,h.push(l))):o.isActive&&(o.isActive=!1,i.push(l)),f.rules[l]=o;for(n=0;nc?m:0,m,o)),o.onScroll&&(m=o.length||0,o.onScroll(f.element,b>c?m:0,m,o)),o.onCheckOut&&o.onCheckOut(f.element,o),o.onTopOut&&c>b?o.onTopOut(f.element,o):o.onBottomOut&&b>c&&o.onBottomOut(f.element,o);for(n=0;nc?o.onTopIn(f.element,o):o.onBottomIn&&c>b&&o.onBottomIn(f.element,o),o.length=o.checkin.length;for(n=0;n