// // SmoothScroll for websites v1.4.5 (Balazs Galambosi) // http://www.smoothscroll.net/ // // Licensed under the terms of the MIT license. // // You may use it in your theme if you credit me. // It is also free to use on any individual website. // // Exception: // The only restriction is to not publish any // extension for browsers or native application // without getting a written permission first. // (function(){function C(){if(!D&&document.body){D=!0;var a=document.body,b=document.documentElement,d=window.innerHeight,c=a.scrollHeight;k=0<=document.compatMode.indexOf("CSS")?b:a;m=a;f.keyboardSupport&&window.addEventListener("keydown",J,!1);if(top!=self)u=!0;else if(Y&&c>d&&(a.offsetHeight<=d||b.offsetHeight<=d)){var e=document.createElement("div");e.style.cssText="position:absolute; z-index:-10000; top:0; left:0; right:0; height:"+k.scrollHeight+"px";document.body.appendChild(e);var h;v=function(){h|| (h=setTimeout(function(){e.style.height="0";e.style.height=k.scrollHeight+"px";h=null},500))};setTimeout(v,10);window.addEventListener("resize",v,!1);A=new Z(v);A.observe(a,{attributes:!0,childList:!0,characterData:!1});k.offsetHeight<=d&&(d=document.createElement("div"),d.style.clear="both",a.appendChild(d))}f.fixedBackground||(a.style.backgroundAttachment="scroll",b.style.backgroundAttachment="scroll")}}function K(a,b,d){aa(b,d);if(1!=f.accelerationMax){var c=Date.now()-E;cb?.99:-.99,lastY:0>d?.99:-.99,start:Date.now()});if(!F){var e=a===document.body,h=function(c){c=Date.now();for(var g=0,k=0,l=0;l=f.animationTime,q=m?1:p/f.animationTime;f.pulseAlgorithm&&(p=q,1<=p?q=1:0>=p?q=0:(1==f.pulseNormalize&&(f.pulseNormalize/=L(1)),q=L(p)));p=n.x*q-n.lastX>>0;q=n.y*q-n.lastY>>0;g+=p;k+=q;n.lastX+=p;n.lastY+=q;m&&(t.splice(l,1),l--)}e? window.scrollBy(g,k):(g&&(a.scrollLeft+=g),k&&(a.scrollTop+=k));b||d||(t=[]);t.length?M(h,a,1E3/f.frameRate+1):F=!1};M(h,a,0);F=!0}}function N(a){D||C();var b=a.target;if(a.defaultPrevented||a.ctrlKey||r(m,"embed")||r(b,"embed")&&/\.pdf/i.test(b.src)||r(m,"object")||b.shadowRoot)return!0;var d=-a.wheelDeltaX||a.deltaX||0,c=-a.wheelDeltaY||a.deltaY||0;ba&&(a.wheelDeltaX&&w(a.wheelDeltaX,120)&&(d=-120*(a.wheelDeltaX/Math.abs(a.wheelDeltaX))),a.wheelDeltaY&&w(a.wheelDeltaY,120)&&(c=-120*(a.wheelDeltaY/ Math.abs(a.wheelDeltaY))));d||c||(c=-a.wheelDelta||0);1===a.deltaMode&&(d*=40,c*=40);b=O(b);if(!b)return u&&G?(Object.defineProperty(a,"target",{value:window.frameElement}),parent.wheel(a)):!0;if(!f.touchpadSupport&&ca(c))return!0;1.2a?b=a-(1-Math.exp(-a)):(b=Math.exp(-1),--a,a=1-Math.exp(-a),b+=a*(1-b));return b*f.pulseNormalize}function x(a){for(var b in a)X.hasOwnProperty(b)&&(f[b]=a[b])}var X={frameRate:150,animationTime:400,stepSize:100,pulseAlgorithm:!0,pulseScale:4,pulseNormalize:1,accelerationDelta:50,accelerationMax:3,keyboardSupport:!0,arrowScroll:50,touchpadSupport:!1,fixedBackground:!0,excluded:""},f=X,u=!1,B={x:0,y:0},D=!1,k=document.documentElement,m, A,v,l=[],ba=/^Mac/.test(navigator.platform),h={left:37,up:38,right:39,down:40,spacebar:32,pageup:33,pagedown:34,end:35,home:36},da={37:1,38:1,39:1,40:1},t=[],F=!1,E=Date.now(),S=function(){var a=0;return function(b){return b.uniqueID||(b.uniqueID=a++)}}(),H={},R,V;if(window.localStorage&&localStorage.SS_deltaBuffer)try{l=localStorage.SS_deltaBuffer.split(",")}catch(ha){}var M=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a, b,d){window.setTimeout(a,d||1E3/60)}}(),Z=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,ea=function(){var a;return function(){if(!a){var b=document.createElement("div");b.style.cssText="height:10000px;width:1px;";document.body.appendChild(b);var d=document.body.scrollTop;window.scrollBy(0,3);a=document.body.scrollTop!=d?document.body:document.documentElement;window.scrollBy(0,-3);document.body.removeChild(b)}return a}}(),g=window.navigator.userAgent,y=/Edge/.test(g), G=/chrome/i.test(g)&&!y,y=/safari/i.test(g)&&!y,fa=/mobile/i.test(g),ga=/Windows NT 6.1/i.test(g)&&/rv:11/i.test(g),Y=y&&(/Version\/8/i.test(g)||/Version\/9/i.test(g)),g=(G||y||ga)&&!fa,z;"onwheel"in document.createElement("div")?z="wheel":"onmousewheel"in document.createElement("div")&&(z="mousewheel");z&&g&&(window.addEventListener(z,N,!1),window.addEventListener("mousedown",Q,!1),window.addEventListener("load",C,!1));x.destroy=function(){A&&A.disconnect();window.removeEventListener(z,N,!1);window.removeEventListener("mousedown", Q,!1);window.removeEventListener("keydown",J,!1);window.removeEventListener("resize",v,!1);window.removeEventListener("load",C,!1)};window.SmoothScrollOptions&&x(window.SmoothScrollOptions);"function"===typeof define&&define.amd?define(function(){return x}):"object"==typeof exports?module.exports=x:window.SmoothScroll=x})();