/*! skrollr 0.6.24 (2014-04-25) | alexander prinzhorn - https://github.com/prinzhorn/skrollr | free to use under terms of mit license */ (function(e,t,r){"use strict";function n(r){if(o=t.documentelement,a=t.body,k(),it=this,r=r||{},ut=r.constants||{},r.easing)for(var n in r.easing)u[n]=r.easing[n];yt=r.edgestrategy||"set",ct={beforerender:r.beforerender,render:r.render,keyframe:r.keyframe},ft=r.forceheight!==!1,ft&&(vt=r.scale||1),mt=r.mobiledeceleration||x,gt=r.smoothscrolling!==!1,dt=r.smoothscrollingduration||e,vt={targettop:it.getscrolltop()},gt=(r.mobilecheck||function(){return/android|iphone|ipad|ipod|blackberry/i.test(navigator.useragent||navigator.vendor||e.opera)})(),gt?(st=t.getelementbyid("skrollr-body"),st&&at(),x(),dt(o,[y,s],[t])):dt(o,[y,b],[t]),it.refresh(),st(e,"resize orientationchange",function(){var e=o.clientwidth,t=o.clientheight;(t!==$t||e!==mt)&&($t=t,mt=e,_t=!0)});var i=y();return function l(){z(),bt=i(l)}(),it}var o,a,i={get:function(){return it},init:function(e){return it||new n(e)},version:"0.6.22"},l=object.prototype.hasownproperty,s=e.math,c=e.getcomputedstyle,f="touchstart",u="touchmove",m="touchcancel",p="touchend",g="skrollable",d=g+"-before",v=g+"-between",h=g+"-after",y="skrollr",t="no-"+y,b=y+"-desktop",s=y+"-mobile",k="linear",w=1e3,x=.004,e=200,a="start",f="end",c="center",d="bottom",h="___skrollable_id",i=/^(?:input|textarea|button|select)$/i,p=/^\s+|\s+$/g,n=/^data(?:-(_\w+))?(?:-?(-?\d*\.?\d+p?))?(?:-?(start|end|top|center|bottom))?(?:-?(top|center|bottom))?$/,o=/\s*(@?[\w\-\[\]]+)\s*:\s*(.+?)\s*(?:;|$)/gi,v=/^([a-z\-]+)\[(\w+)\]$/,z=/-([a-z0-9_])/g,q=function(e,t){return t.touppercase()},l=/[\-+]?[\d]*\.?[\d]+/g,m=/\{\?\}/g,$=/rgba?\(\s*-?\d+\s*,\s*-?\d+\s*,\s*-?\d+/g,_=/[a-z\-]+-gradient/g,b="",g="",k=function(){var e=/^(?:o|moz|webkit|ms)|(?:-(?:o|moz|webkit|ms)-)/;if(c){var t=c(a,null);for(var n in t)if(b=n.match(e)||+n==n&&t[n].match(e))break;if(!b)return b=g="",r;b=b[0],"-"===b.slice(0,1)?(g=b,b={"-webkit-":"webkit","-moz-":"moz","-ms-":"ms","-o-":"o"}[b]):g="-"+b.tolowercase()+"-"}},y=function(){var t=e.requestanimationframe||e[b.tolowercase()+"requestanimationframe"],r=pt();return(gt||!t)&&(t=function(t){var n=pt()-r,o=s.max(0,1e3/60-n);return e.settimeout(function(){r=pt(),t()},o)}),t},r=function(){var t=e.cancelanimationframe||e[b.tolowercase()+"cancelanimationframe"];return(gt||!t)&&(t=function(t){return e.cleartimeout(t)}),t},u={begin:function(){return 0},end:function(){return 1},linear:function(e){return e},quadratic:function(e){return e*e},cubic:function(e){return e*e*e},swing:function(e){return-s.cos(e*s.pi)/2+.5},sqrt:function(e){return s.sqrt(e)},outcubic:function(e){return s.pow(e-1,3)+1},bounce:function(e){var t;if(.5083>=e)t=3;else if(.8489>=e)t=9;else if(.96208>=e)t=27;else{if(!(.99981>=e))return 1;t=91}return 1-s.abs(3*s.cos(1.028*e*t)/t)}};n.prototype.refresh=function(e){var n,o,a=!1;for(e===r?(a=!0,lt=[],bt=0,e=t.getelementsbytagname("*")):e.length===r&&(e=[e]),n=0,o=e.length;o>n;n++){var i=e[n],l=i,s=[],c=gt,f=yt,u=!1;if(a&&h in i&&delete i[h],i.attributes){for(var m=0,p=i.attributes.length;p>m;m++){var d=i.attributes[m];if("data-anchor-target"!==d.name)if("data-smooth-scrolling"!==d.name)if("data-edge-strategy"!==d.name)if("data-emit-events"!==d.name){var v=d.name.match(n);if(null!==v){var h={props:d.value,element:i,eventtype:d.name.replace(z,q)};s.push(h);var y=v[1];y&&(h.constant=y.substr(1));var t=v[2];/p$/.test(t)?(h.ispercentage=!0,h.offset=(0|t.slice(0,-1))/100):h.offset=0|t;var b=v[3],s=v[4]||b;b&&b!==a&&b!==f?(h.mode="relative",h.anchors=[b,s]):(h.mode="absolute",b===f?h.isend=!0:h.ispercentage||(h.offset=h.offset*vt))}}else u=!0;else f=d.value;else c="off"!==d.value;else if(l=t.queryselector(d.value),null===l)throw'unable to find anchor target "'+d.value+'"'}if(s.length){var k,w,x;!a&&h in i?(x=i[h],k=lt[x].styleattr,w=lt[x].classattr):(x=i[h]=bt++,k=i.style.csstext,w=ct(i)),lt[x]={element:i,styleattr:k,classattr:w,anchortarget:l,keyframes:s,smoothscrolling:c,edgestrategy:f,emitevents:u,lastframeindex:-1},dt(i,[g],[])}}}for(et(),n=0,o=e.length;o>n;n++){var e=lt[e[n][h]];e!==r&&(j(e),et(e))}return it},n.prototype.relativetoabsolute=function(e,t,r){var n=o.clientheight,a=e.getboundingclientrect(),i=a.top,l=a.bottom-a.top;return t===d?i-=n:t===c&&(i-=n/2),r===d?i+=l:r===c&&(i+=l/2),i+=it.getscrolltop(),0|i+.5},n.prototype.animateto=function(e,t){t=t||{};var n=pt(),o=it.getscrolltop();return pt={starttop:o,topdiff:e-o,targettop:e,duration:t.duration||w,starttime:n,endtime:n+(t.duration||w),easing:u[t.easing||k],done:t.done},pt.topdiff||(pt.done&&pt.done.call(it,!1),pt=r),it},n.prototype.stopanimateto=function(){pt&&pt.done&&pt.done.call(it,!0),pt=r},n.prototype.isanimatingto=function(){return!!pt},n.prototype.ismobile=function(){return gt},n.prototype.setscrolltop=function(t,r){return ht=r===!0,gt?kt=s.min(s.max(t,0),ot):e.scrollto(0,t),it},n.prototype.getscrolltop=function(){return gt?kt:e.pageyoffset||o.scrolltop||a.scrolltop||0},n.prototype.getmaxscrolltop=function(){return ot},n.prototype.on=function(e,t){return ct[e]=t,it},n.prototype.off=function(e){return delete ct[e],it},n.prototype.destroy=function(){var e=r();e(bt),wt(),dt(o,[t],[y,b,s]);for(var t=0,n=lt.length;n>t;t++)ot(lt[t].element);o.style.overflow=a.style.overflow="",o.style.height=a.style.height="",st&&i.setstyle(st,"transform","none"),it=r,st=r,ct=r,ft=r,ot=0,vt=1,ut=r,mt=r,zt="down",qt=-1,mt=0,$t=0,_t=!1,pt=r,gt=r,dt=r,vt=r,ht=r,bt=0,yt=r,gt=!1,kt=0,tt=r};var x=function(){var n,i,l,c,g,d,v,h,y,t,b,s;st(o,[f,u,m,p].join(" "),function(e){var o=e.changedtouches[0];for(c=e.target;3===c.nodetype;)c=c.parentnode;switch(g=o.clienty,d=o.clientx,t=e.timestamp,i.test(c.tagname)||e.preventdefault(),e.type){case f:n&&n.blur(),it.stopanimateto(),n=c,i=v=g,l=d,y=t;break;case u:i.test(c.tagname)&&t.activeelement!==c&&e.preventdefault(),h=g-v,s=t-b,it.setscrolltop(kt-h,!0),v=g,b=t;break;default:case m:case p:var a=i-g,k=l-d,w=k*k+a*a;if(49>w){if(!i.test(n.tagname)){n.focus();var x=t.createevent("mouseevents");x.initmouseevent("click",!0,!0,e.view,1,o.screenx,o.screeny,o.clientx,o.clienty,e.ctrlkey,e.altkey,e.shiftkey,e.metakey,0,null),n.dispatchevent(x)}return}n=r;var e=h/s;e=s.max(s.min(e,3),-3);var a=s.abs(e/mt),f=e*a+.5*mt*a*a,c=it.getscrolltop()-f,d=0;c>ot?(d=(ot-c)/f,c=ot):0>c&&(d=-c/f,c=0),a*=1-d,it.animateto(0|c+.5,{easing:"outcubic",duration:a})}}),e.scrollto(0,0),o.style.overflow=a.style.overflow="hidden"},j=function(){var e,t,r,n,a,i,l,c,f,u,m,p=o.clientheight,g=at();for(c=0,f=lt.length;f>c;c++)for(e=lt[c],t=e.element,r=e.anchortarget,n=e.keyframes,a=0,i=n.length;i>a;a++)l=n[a],u=l.offset,m=g[l.constant]||0,l.frame=u,l.ispercentage&&(u*=p,l.frame=u),"relative"===l.mode&&(ot(t),l.frame=it.relativetoabsolute(r,l.anchors[0],l.anchors[1])-u,ot(t,!0)),l.frame+=m,ft&&!l.isend&&l.frame>ot&&(ot=l.frame);for(ot=s.max(ot,ft()),c=0,f=lt.length;f>c;c++){for(e=lt[c],n=e.keyframes,a=0,i=n.length;i>a;a++)l=n[a],m=g[l.constant]||0,l.isend&&(l.frame=ot-l.offset+m);e.keyframes.sort(nt)}},w=function(e,t){for(var r=0,n=lt.length;n>r;r++){var o,a,s=lt[r],c=s.element,f=s.smoothscrolling?e:t,u=s.keyframes,m=u.length,p=u[0],y=u[u.length-1],t=p.frame>f,b=f>y.frame,s=t?p:y,k=s.emitevents,w=s.lastframeindex;if(t||b){if(t&&-1===s.edge||b&&1===s.edge)continue;switch(t?(dt(c,[d],[h,v]),k&&w>-1&&(xt(c,p.eventtype,zt),s.lastframeindex=-1)):(dt(c,[h],[d,v]),k&&m>w&&(xt(c,y.eventtype,zt),s.lastframeindex=m)),s.edge=t?-1:1,s.edgestrategy){case"reset":ot(c);continue;case"ease":f=s.frame;break;default:case"set":var x=s.props;for(o in x)l.call(x,o)&&(a=nt(x[o].value),0===o.indexof("@")?c.setattribute(o.substr(1),a):i.setstyle(c,o,a));continue}}else 0!==s.edge&&(dt(c,[g,v],[d,h]),s.edge=0);for(var e=0;m-1>e;e++)if(f>=u[e].frame&&u[e+1].frame>=f){var a=u[e],f=u[e+1];for(o in a.props)if(l.call(a.props,o)){var c=(f-a.frame)/(f.frame-a.frame);c=a.props[o].easing(c),a=rt(a.props[o].value,f.props[o].value,c),a=nt(a),0===o.indexof("@")?c.setattribute(o.substr(1),a):i.setstyle(c,o,a)}k&&w!==e&&("down"===zt?xt(c,a.eventtype,zt):xt(c,f.eventtype,zt),s.lastframeindex=e);break}}},z=function(){_t&&(_t=!1,et());var e,t,n=it.getscrolltop(),o=pt();if(pt)o>=pt.endtime?(n=pt.targettop,e=pt.done,pt=r):(t=pt.easing((o-pt.starttime)/pt.duration),n=0|pt.starttop+t*pt.topdiff),it.setscrolltop(n,!0);else if(!ht){var a=vt.targettop-n;a&&(vt={starttop:qt,topdiff:n-qt,targettop:n,starttime:lt,endtime:lt+dt}),vt.endtime>=o&&(t=u.sqrt((o-vt.starttime)/dt),n=0|vt.starttop+t*vt.topdiff)}if(gt&&st&&i.setstyle(st,"transform","translate(0, "+-kt+"px) "+tt),ht||qt!==n){zt=n>qt?"down":qt>n?"up":zt,ht=!1;var l={curtop:n,lasttop:qt,maxtop:ot,direction:zt},s=ct.beforerender&&ct.beforerender.call(it,l);s!==!1&&(w(n,it.getscrolltop()),qt=n,ct.render&&ct.render.call(it,l)),e&&e.call(it,!1)}lt=o},j=function(e){for(var t=0,r=e.keyframes.length;r>t;t++){for(var n,o,a,i,l=e.keyframes[t],s={};null!==(i=o.exec(l.props));)a=i[1],o=i[2],n=a.match(v),null!==n?(a=n[1],n=n[2]):n=k,o=o.indexof("!")?q(o):[o.slice(1)],s[a]={value:o,easing:u[n]};l.props=s}},q=function(e){var t=[];return $.lastindex=0,e=e.replace($,function(e){return e.replace(l,function(e){return 100*(e/255)+"%"})}),g&&(_.lastindex=0,e=e.replace(_,function(e){return g+e})),e=e.replace(l,function(e){return t.push(+e),"{?}"}),t.unshift(e),t},et=function(e){var t,r,n={};for(t=0,r=e.keyframes.length;r>t;t++)tt(e.keyframes[t],n);for(n={},t=e.keyframes.length-1;t>=0;t--)tt(e.keyframes[t],n)},tt=function(e,t){var r;for(r in t)l.call(e.props,r)||(e.props[r]=t[r]);for(r in e.props)t[r]=e.props[r]},rt=function(e,t,r){var n,o=e.length;if(o!==t.length)throw"can't interpolate between \""+e[0]+'" and "'+t[0]+'"';var a=[e[0]];for(n=1;o>n;n++)a[n]=e[n]+(t[n]-e[n])*r;return a},nt=function(e){var t=1;return m.lastindex=0,e[0].replace(m,function(){return e[t++]})},ot=function(e,t){e=[].concat(e);for(var r,n,o=0,a=e.length;a>o;o++)n=e[o],r=lt[n[h]],r&&(t?(n.style.csstext=r.dirtystyleattr,dt(n,r.dirtyclassattr)):(r.dirtystyleattr=n.style.csstext,r.dirtyclassattr=ct(n),n.style.csstext=r.styleattr,dt(n,r.classattr)))},at=function(){tt="translatez(0)",i.setstyle(st,"transform",tt);var e=c(st),t=e.getpropertyvalue("transform"),r=e.getpropertyvalue(g+"transform"),n=t&&"none"!==t||r&&"none"!==r;n||(tt="")};i.setstyle=function(e,t,r){var n=e.style;if(t=t.replace(z,q).replace("-",""),"zindex"===t)n[t]=isnan(r)?r:""+(0|r);else if("float"===t)n.stylefloat=n.cssfloat=r;else try{b&&(n[b+t.slice(0,1).touppercase()+t.slice(1)]=r),n[t]=r}catch(o){}};var it,lt,st,ct,ft,ut,mt,pt,gt,dt,vt,ht,yt,tt,bt,st=i.addevent=function(t,r,n){var o=function(t){return t=t||e.event,t.target||(t.target=t.srcelement),t.preventdefault||(t.preventdefault=function(){t.returnvalue=!1,t.defaultprevented=!0}),n.call(this,t)};r=r.split(" ");for(var a,i=0,l=r.length;l>i;i++)a=r[i],t.addeventlistener?t.addeventlistener(a,n,!1):t.attachevent("on"+a,o),yt.push({element:t,name:a,listener:n})},kt=i.removeevent=function(e,t,r){t=t.split(" ");for(var n=0,o=t.length;o>n;n++)e.removeeventlistener?e.removeeventlistener(t[n],r,!1):e.detachevent("on"+t[n],r)},wt=function(){for(var e,t=0,r=yt.length;r>t;t++)e=yt[t],kt(e.element,e.name,e.listener);yt=[]},xt=function(e,t,r){ct.keyframe&&ct.keyframe.call(it,e,t,r)},et=function(){var e=it.getscrolltop();ot=0,ft&&!gt&&(a.style.height=""),j(),ft&&!gt&&(a.style.height=ot+o.clientheight+"px"),gt?it.setscrolltop(s.min(it.getscrolltop(),ot)):it.setscrolltop(e,!0),ht=!0},at=function(){var e,t,r=o.clientheight,n={};for(e in ut)t=ut[e],"function"==typeof t?t=t.call(it):/p$/.test(t)&&(t=t.slice(0,-1)/100*r),n[e]=t;return n},ft=function(){var e=st&&st.offsetheight||0,t=s.max(e,a.scrollheight,a.offsetheight,o.scrollheight,o.offsetheight,o.clientheight);return t-o.clientheight},ct=function(t){var r="classname";return e.svgelement&&t instanceof e.svgelement&&(t=t[r],r="baseval"),t[r]},dt=function(t,n,o){var a="classname";if(e.svgelement&&t instanceof e.svgelement&&(t=t[a],a="baseval"),o===r)return t[a]=n,r;for(var i=t[a],l=0,s=o.length;s>l;l++)i=it(i).replace(it(o[l])," ");i=ht(i);for(var c=0,f=n.length;f>c;c++)-1===it(i).indexof(it(n[c]))&&(i+=" "+n[c]);t[a]=ht(i)},ht=function(e){return e.replace(p,"")},it=function(e){return" "+e+" "},pt=date.now||function(){return+new date},nt=function(e,t){return e.frame-t.frame},ot=0,vt=1,zt="down",qt=-1,lt=pt(),mt=0,$t=0,_t=!1,bt=0,gt=!1,kt=0,yt=[];"function"==typeof define&&define.amd?define("skrollr",function(){return i}):e.skrollr=i})(window,document);