(function(n,t,i){"use strict";function c(i){var u,e;if(f=t.documentElement,y=t.body,nu(),r=this,i=i||{},ct=i.constants||{},i.easing)for(u in i.easing)st[u]=i.easing[u];return ui=i.edgeStrategy||"set",p={beforerender:i.beforerender,render:i.render,keyframe:i.keyframe},it=i.forceHeight!==!1,it&&(fi=i.scale||1),lt=i.mobileDeceleration||vr,ri=i.smoothScrolling!==!1,at=i.smoothScrollingDuration||pr,k={targetTop:r.getScrollTop()},a=(i.mobileCheck||function(){return/Android|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent||navigator.vendor||n.opera)})(),a?(l=t.getElementById(i.skrollrBody||yr),l&&lu(),ru(),w(f,[nt,pi],[ti])):w(f,[nt,yi],[ti]),r.refresh(),hr(n,"resize orientationchange",function(){var n=f.clientWidth,t=f.clientHeight;(t!==si||n!==oi)&&(si=t,oi=n,pt=!0)}),e=tu(),function o(){eu();sr=e(o)}(),r}var f,y,v={get:function(){return r},init:function(n){return r||new c(n)},VERSION:"0.6.29"},bt=Object.prototype.hasOwnProperty,e=n.Math,kt=n.getComputedStyle,ci="touchstart",li="touchmove",ai="touchcancel",vi="touchend",ft="skrollable",dt=ft+"-before",gt=ft+"-between",ni=ft+"-after",nt="skrollr",ti="no-"+nt,yi=nt+"-desktop",pi=nt+"-mobile",wi="linear",bi=1e3,vr=.004,yr="skrollr-body",pr=200,wr="start",ki="end",di="center",gi="bottom",g="___skrollable_id",ii=/^(?:input|textarea|button|select)$/i,br=/^\s+|\s+$/g,kr=/^data(?:-(_\w+))?(?:-?(-?\d*\.?\d+p?))?(?:-?(start|end|top|center|bottom))?(?:-?(top|center|bottom))?$/,dr=/\s*(@?[\w\-\[\]]+)\s*:\s*(.+?)\s*(?:;|$)/gi,gr=/^(@?[a-z\-]+)\[(\w+)\]$/,nr=/-([a-z0-9_])/g,tr=function(n,t){return t.toUpperCase()},ir=/[\-+]?[\d]*\.?[\d]+/g,rr=/\{\?\}/g,ur=/rgba?\(\s*-?\d+\s*,\s*-?\d+\s*,\s*-?\d+/g,fr=/[a-z\-]+-gradient/g,s="",tt="",nu=function(){var r=/^(?:O|Moz|webkit|ms)|(?:-(?:o|moz|webkit|ms)-)/,t,n;if(kt){t=kt(y,null);for(n in t)if(s=n.match(r)||+n==n&&t[n].match(r))break;if(!s)return s=tt="",i;s=s[0];"-"===s.slice(0,1)?(tt=s,s={"-webkit-":"webkit","-moz-":"Moz","-ms-":"ms","-o-":"O"}[s]):tt="-"+s.toLowerCase()+"-"}},tu=function(){var t=n.requestAnimationFrame||n[s.toLowerCase()+"RequestAnimationFrame"],i=ut();return(a||!t)&&(t=function(t){var r=ut()-i,u=e.max(0,1e3/60-r);return n.setTimeout(function(){i=ut();t()},u)}),t},iu=function(){var t=n.cancelAnimationFrame||n[s.toLowerCase()+"CancelAnimationFrame"];return(a||!t)&&(t=function(t){return n.clearTimeout(t)}),t},st={begin:function(){return 0},end:function(){return 1},linear:function(n){return n},quadratic:function(n){return n*n},cubic:function(n){return n*n*n},swing:function(n){return-e.cos(n*e.PI)/2+.5},sqrt:function(n){return e.sqrt(n)},outCubic:function(n){return e.pow(n-1,3)+1},bounce:function(n){var t;if(.5083>=n)t=3;else if(.8489>=n)t=9;else if(.96208>=n)t=27;else{if(!(.99981>=n))return 1;t=91}return 1-e.abs(3*e.cos(1.028*n*t)/t)}};c.prototype.refresh=function(n){var o,a,b=!1,v,ot,e,c,f,nt,y,s,st,tt,it,l,p;for(n===i?(b=!0,h=[],hi=0,n=t.getElementsByTagName("*")):n.length===i&&(n=[n]),o=0,a=n.length;a>o;o++){var u=n[o],k=u,d=[],rt=ri,ut=ui,et=!1;if(b&&g in u&&delete u[g],u.attributes){for(v=0,ot=u.attributes.length;ot>v;v++)if(e=u.attributes[v],"data-anchor-target"!==e.name)"data-smooth-scrolling"!==e.name?"data-edge-strategy"!==e.name?"data-emit-events"!==e.name?(c=e.name.match(kr),null!==c&&(f={props:e.value,element:u,eventType:e.name.replace(nr,tr)},d.push(f),nt=c[1],nt&&(f.constant=nt.substr(1)),y=c[2],/p$/.test(y)?(f.isPercentage=!0,f.offset=(0|y.slice(0,-1))/100):f.offset=0|y,s=c[3],st=c[4]||s,s&&s!==wr&&s!==ki?(f.mode="relative",f.anchors=[s,st]):(f.mode="absolute",s===ki?f.isEnd=!0:f.isPercentage||(f.offset=f.offset*fi)))):et=!0:ut=e.value:rt="off"!==e.value;else if(k=t.querySelector(e.value),null===k)throw'Unable to find anchor target "'+e.value+'"';d.length&&(!b&&g in u?(l=u[g],tt=h[l].styleAttr,it=h[l].classAttr):(l=u[g]=hi++,tt=u.style.cssText,it=lr(u)),h[l]={element:u,styleAttr:tt,classAttr:it,anchorTarget:k,keyFrames:d,smoothScrolling:rt,edgeStrategy:ut,emitEvents:et,lastFrameIndex:-1},w(u,[ft],[]))}}for(cr(),o=0,a=n.length;a>o;o++)p=h[n[o][g]],p!==i&&(ou(p),hu(p));return r};c.prototype.relativeToAbsolute=function(n,t,i){var o=f.clientHeight,e=n.getBoundingClientRect(),u=e.top,s=e.bottom-e.top;return t===gi?u-=o:t===di&&(u-=o/2),i===gi?u+=s:i===di&&(u+=s/2),u+=r.getScrollTop(),0|u+.5};c.prototype.animateTo=function(n,t){t=t||{};var f=ut(),e=r.getScrollTop();return u={startTop:e,topDiff:n-e,targetTop:n,duration:t.duration||bi,startTime:f,endTime:f+(t.duration||bi),easing:st[t.easing||wi],done:t.done},u.topDiff||(u.done&&u.done.call(r,!1),u=i),r};c.prototype.stopAnimateTo=function(){u&&u.done&&u.done.call(r,!0);u=i};c.prototype.isAnimatingTo=function(){return!!u};c.prototype.isMobile=function(){return a};c.prototype.setScrollTop=function(t,i){return rt=i===!0,a?ot=e.min(e.max(t,0),o):n.scrollTo(0,t),r};c.prototype.getScrollTop=function(){return a?ot:n.pageYOffset||f.scrollTop||y.scrollTop||0};c.prototype.getMaxScrollTop=function(){return o};c.prototype.on=function(n,t){return p[n]=t,r};c.prototype.off=function(n){return delete p[n],r};c.prototype.destroy=function(){var e=iu(),n,t;for(e(sr),vu(),w(f,[ti],[nt,yi,pi]),n=0,t=h.length;t>n;n++)ht(h[n].element);f.style.overflow=y.style.overflow="";f.style.height=y.style.height="";l&&v.setStyle(l,"transform","none");r=i;l=i;p=i;it=i;o=0;fi=1;ct=i;lt=i;b="down";d=-1;oi=0;si=0;pt=!1;u=i;ri=i;at=i;k=i;rt=i;hi=0;ui=i;a=!1;ot=0;et=i};var ru=function(){var s,p,w,u,h,l,a,v,d,c,b,k;hr(f,[ci,li,ai,vi].join(" "),function(n){var y=n.changedTouches[0],tt,g;for(u=n.target;3===u.nodeType;)u=u.parentNode;switch(h=y.clientY,l=y.clientX,c=n.timeStamp,ii.test(u.tagName)||n.preventDefault(),n.type){case ci:s&&s.blur();r.stopAnimateTo();s=u;p=a=h;w=l;d=c;break;case li:ii.test(u.tagName)&&t.activeElement!==u&&n.preventDefault();v=h-a;k=c-b;r.setScrollTop(ot-v,!0);a=h;b=c;break;default:case ai:case vi:var ut=p-h,ft=w-l,et=ft*ft+ut*ut;if(49>et){ii.test(s.tagName)||(s.focus(),tt=t.createEvent("MouseEvents"),tt.initMouseEvent("click",!0,!0,n.view,1,y.screenX,y.screenY,y.clientX,y.clientY,n.ctrlKey,n.altKey,n.shiftKey,n.metaKey,0,null),s.dispatchEvent(tt));return}s=i;g=v/k;g=e.max(e.min(g,3),-3);var nt=e.abs(g/lt),it=g*nt+.5*lt*nt*nt,f=r.getScrollTop()-it,rt=0;f>o?(rt=(o-f)/it,f=o):0>f&&(rt=-f/it,f=0);nt*=1-rt;r.animateTo(0|f+.5,{easing:"outCubic",duration:nt})}});n.scrollTo(0,0);f.style.overflow=y.style.overflow="hidden"},uu=function(){for(var u,y,p,s,t,l,n,c,v,b=f.clientHeight,w=yu(),i=0,a=h.length;a>i;i++)for(u=h[i],y=u.element,p=u.anchorTarget,s=u.keyFrames,t=0,l=s.length;l>t;t++)n=s[t],c=n.offset,v=w[n.constant]||0,n.frame=c,n.isPercentage&&(c*=b,n.frame=c),"relative"===n.mode&&(ht(y),n.frame=r.relativeToAbsolute(p,n.anchors[0],n.anchors[1])-c,ht(y,!0)),n.frame+=v,it&&!n.isEnd&&n.frame>o&&(o=n.frame);for(o=e.max(o,pu()),i=0,a=h.length;a>i;i++){for(u=h[i],s=u.keyFrames,t=0,l=s.length;l>t;t++)n=s[t],v=w[n.constant]||0,n.isEnd&&(n.frame=o-n.offset+v);u.keyFrames.sort(wu)}},fu=function(n,t){for(var y,f,s,p,k,a=0,rt=h.length;rt>a;a++){var i,e,r=h[a],u=r.element,c=r.smoothScrolling?n:t,o=r.keyFrames,d=o.length,g=o[0],nt=o[o.length-1],l=g.frame>c,ut=c>nt.frame,et=l?g:nt,tt=r.emitEvents,it=r.lastFrameIndex;if(l||ut){if(l&&-1===r.edge||ut&&1===r.edge)continue;switch(l?(w(u,[dt],[ni,gt]),tt&&it>-1&&(vt(u,g.eventType,b),r.lastFrameIndex=-1)):(w(u,[ni],[dt,gt]),tt&&d>it&&(vt(u,nt.eventType,b),r.lastFrameIndex=d)),r.edge=l?-1:1,r.edgeStrategy){case"reset":ht(u);continue;case"ease":c=et.frame;break;default:case"set":y=et.props;for(i in y)bt.call(y,i)&&(e=or(y[i].value),0===i.indexOf("@")?u.setAttribute(i.substr(1),e):v.setStyle(u,i,e));continue}}else 0!==r.edge&&(w(u,[ft,gt],[dt,ni]),r.edge=0);for(f=0;d-1>f;f++)if(c>=o[f].frame&&o[f+1].frame>=c){s=o[f];p=o[f+1];for(i in s.props)bt.call(s.props,i)&&(k=(c-s.frame)/(p.frame-s.frame),k=s.props[i].easing(k),e=cu(s.props[i].value,p.props[i].value,k),e=or(e),0===i.indexOf("@")?u.setAttribute(i.substr(1),e):v.setStyle(u,i,e));tt&&it!==f&&("down"===b?vt(u,s.eventType,b):vt(u,p.eventType,b),r.lastFrameIndex=f);break}}},eu=function(){var e,f,n,t,h,s,c;pt&&(pt=!1,cr());n=r.getScrollTop();t=ut();u?(t>=u.endTime?(n=u.targetTop,e=u.done,u=i):(f=u.easing((t-u.startTime)/u.duration),n=0|u.startTop+f*u.topDiff),r.setScrollTop(n,!0)):rt||(h=k.targetTop-n,h&&(k={startTop:d,topDiff:n-d,targetTop:n,startTime:ei,endTime:ei+at}),k.endTime>=t&&(f=st.sqrt((t-k.startTime)/at),n=0|k.startTop+f*k.topDiff));(a&&l&&v.setStyle(l,"transform","translate(0, "+-ot+"px) "+et),rt||d!==n)&&(b=n>d?"down":d>n?"up":b,rt=!1,s={curTop:n,lastTop:d,maxTop:o,direction:b},c=p.beforerender&&p.beforerender.call(r,s),c!==!1&&(fu(n,r.getScrollTop()),d=n,p.render&&p.render.call(r,s)),e&&e.call(r,!1));ei=t},ou=function(n){for(var t,i,u,f,e,o,r=0,s=n.keyFrames.length;s>r;r++){for(e=n.keyFrames[r],o={};null!==(f=dr.exec(e.props));)u=f[1],i=f[2],t=u.match(gr),null!==t?(u=t[1],t=t[2]):t=wi,i=i.indexOf("!")?su(i):[i.slice(1)],o[u]={value:i,easing:st[t]};e.props=o}},su=function(n){var t=[];return ur.lastIndex=0,n=n.replace(ur,function(n){return n.replace(ir,function(n){return 100*(n/255)+"%"})}),tt&&(fr.lastIndex=0,n=n.replace(fr,function(n){return tt+n})),n=n.replace(ir,function(n){return t.push(+n),"{?}"}),t.unshift(n),t},hu=function(n){for(var i={},t=0,r=n.keyFrames.length;r>t;t++)er(n.keyFrames[t],i);for(i={},t=n.keyFrames.length-1;t>=0;t--)er(n.keyFrames[t],i)},er=function(n,t){for(var i in t)bt.call(n.props,i)||(n.props[i]=t[i]);for(i in n.props)t[i]=n.props[i]},cu=function(n,t,i){var r,f=n.length,u;if(f!==t.length)throw"Can't interpolate between \""+n[0]+'" and "'+t[0]+'"';for(u=[n[0]],r=1;f>r;r++)u[r]=n[r]+(t[r]-n[r])*i;return u},or=function(n){var t=1;return rr.lastIndex=0,n[0].replace(rr,function(){return n[t++]})},ht=function(n,t){n=[].concat(n);for(var i,r,u=0,f=n.length;f>u;u++)r=n[u],i=h[r[g]],i&&(t?(r.style.cssText=i.dirtyStyleAttr,w(r,i.dirtyClassAttr)):(i.dirtyStyleAttr=r.style.cssText,i.dirtyClassAttr=lr(r),r.style.cssText=i.styleAttr,w(r,i.classAttr)))},lu=function(){et="translateZ(0)";v.setStyle(l,"transform",et);var n=kt(l),t=n.getPropertyValue("transform"),i=n.getPropertyValue(tt+"transform"),r=t&&"none"!==t||i&&"none"!==i;r||(et="")};v.setStyle=function(n,t,i){var r=n.style;if(t=t.replace(nr,tr).replace("-",""),"zIndex"===t)r[t]=isNaN(i)?i:""+(0|i);else if("float"===t)r.styleFloat=r.cssFloat=i;else try{s&&(r[s+t.slice(0,1).toUpperCase()+t.slice(1)]=i);r[t]=i}catch(u){}};var r,h,l,p,it,ct,lt,u,ri,at,k,rt,ui,et,sr,hr=v.addEvent=function(t,i,r){var o=function(t){return t=t||n.event,t.target||(t.target=t.srcElement),t.preventDefault||(t.preventDefault=function(){t.returnValue=!1;t.defaultPrevented=!0}),r.call(this,t)},u,f,e;for(i=i.split(" "),f=0,e=i.length;e>f;f++)u=i[f],t.addEventListener?t.addEventListener(u,r,!1):t.attachEvent("on"+u,o),wt.push({element:t,name:u,listener:r})},au=v.removeEvent=function(n,t,i){t=t.split(" ");for(var r=0,u=t.length;u>r;r++)n.removeEventListener?n.removeEventListener(t[r],i,!1):n.detachEvent("on"+t[r],i)},vu=function(){for(var n,t=0,i=wt.length;i>t;t++)n=wt[t],au(n.element,n.name,n.listener);wt=[]},vt=function(n,t,i){p.keyframe&&p.keyframe.call(r,n,t,i)},cr=function(){var n=r.getScrollTop();o=0;it&&!a&&(y.style.height="");uu();it&&!a&&(y.style.height=o+f.clientHeight+"px");a?r.setScrollTop(e.min(r.getScrollTop(),o)):r.setScrollTop(n,!0);rt=!0},yu=function(){var t,n,u=f.clientHeight,i={};for(t in ct)n=ct[t],"function"==typeof n?n=n.call(r):/p$/.test(n)&&(n=n.slice(0,-1)/100*u),i[t]=n;return i},pu=function(){var n,t=0;return l&&(t=e.max(l.offsetHeight,l.scrollHeight)),n=e.max(t,y.scrollHeight,y.offsetHeight,f.scrollHeight,f.offsetHeight,f.clientHeight),n-f.clientHeight},lr=function(t){var i="className";return n.SVGElement&&t instanceof n.SVGElement&&(t=t[i],i="baseVal"),t[i]},w=function(t,r,u){var e="className",o,h;if(n.SVGElement&&t instanceof n.SVGElement&&(t=t[e],e="baseVal"),u===i)return t[e]=r,i;for(var f=t[e],s=0,c=u.length;c>s;s++)f=yt(f).replace(yt(u[s])," ");for(f=ar(f),o=0,h=r.length;h>o;o++)-1===yt(f).indexOf(yt(r[o]))&&(f+=" "+r[o]);t[e]=ar(f)},ar=function(n){return n.replace(br,"")},yt=function(n){return" "+n+" "},ut=Date.now||function(){return+new Date},wu=function(n,t){return n.frame-t.frame},o=0,fi=1,b="down",d=-1,ei=ut(),oi=0,si=0,pt=!1,hi=0,a=!1,ot=0,wt=[];"function"==typeof define&&define.amd?define([],function(){return v}):"undefined"!=typeof module&&module.exports?module.exports=v:n.skrollr=v})(window,document)