!function(){function initTest(){options.keyboardSupport&&addEvent("keydown",keydown)}function init(){if(!initDone&&document.body){initDone=!0;var body=document.body,html=document.documentElement,windowHeight=window.innerHeight,scrollHeight=body.scrollHeight;if(root=document.compatMode.indexOf("CSS")>=0?html:body,activeElement=body,initTest(),top!=self)isFrame=!0;else if(scrollHeight>windowHeight&&(body.offsetHeight<=windowHeight||html.offsetHeight<=windowHeight)){var fullPageElem=document.createElement("div");fullPageElem.style.cssText="position:absolute; z-index:-10000; top:0; left:0; right:0; height:"+root.scrollHeight+"px",document.body.appendChild(fullPageElem);var pendingRefresh;refreshSize=function(){pendingRefresh||(pendingRefresh=setTimeout(function(){isExcluded||(fullPageElem.style.height="0",fullPageElem.style.height=root.scrollHeight+"px",pendingRefresh=null)},500))},setTimeout(refreshSize,10),addEvent("resize",refreshSize),window.addResizeListener(document.getElementById("mk-theme-container"),refreshSize);var config={attributes:!0,childList:!0,characterData:!1};if(observer=new MutationObserver(refreshSize),observer.observe(body,config),root.offsetHeight<=windowHeight){var clearfix=document.createElement("div");clearfix.style.clear="both",body.appendChild(clearfix)}}options.fixedBackground||isExcluded||(body.style.backgroundAttachment="scroll",html.style.backgroundAttachment="scroll")}}function cleanup(){observer&&observer.disconnect(),removeEvent(wheelEvent,wheel),removeEvent("mousedown",mousedown),removeEvent("keydown",keydown),removeEvent("resize",refreshSize),removeEvent("load",init)}function scrollArray(elem,left,top){if(directionCheck(left,top),1!=options.accelerationMax){var now=Date.now(),elapsed=now-lastScroll;if(elapsed1&&(factor=Math.min(factor,options.accelerationMax),left*=factor,top*=factor)}lastScroll=Date.now()}if(que.push({x:left,y:top,lastX:left<0?.99:-.99,lastY:top<0?.99:-.99,start:Date.now()}),!pending){var scrollWindow=elem===document.body,step=function(time){for(var now=Date.now(),scrollX=0,scrollY=0,i=0;i=options.animationTime,position=finished?1:elapsed/options.animationTime;options.pulseAlgorithm&&(position=pulse(position));var x=item.x*position-item.lastX>>0,y=item.y*position-item.lastY>>0;scrollX+=x,scrollY+=y,item.lastX+=x,item.lastY+=y,finished&&(que.splice(i,1),i--)}scrollWindow?window.scrollBy(scrollX,scrollY):(scrollX&&(elem.scrollLeft+=scrollX),scrollY&&(elem.scrollTop+=scrollY)),left||top||(que=[]),que.length?requestFrame(step,elem,1e3/options.frameRate+1):pending=!1};requestFrame(step,elem,0),pending=!0}}function wheel(event){initDone||init();var target=event.target,overflowing=overflowingAncestor(target);if(!overflowing||event.defaultPrevented||event.ctrlKey)return!0;if(isNodeName(activeElement,"embed")||isNodeName(target,"embed")&&/\.pdf/i.test(target.src)||isNodeName(activeElement,"object"))return!0;var deltaX=-event.wheelDeltaX||event.deltaX||0,deltaY=-event.wheelDeltaY||event.deltaY||0;return isMac&&(options.touchpadSupport=!1,event.wheelDeltaX&&isDivisible(event.wheelDeltaX,120)&&(deltaX=-120*(event.wheelDeltaX/Math.abs(event.wheelDeltaX))),event.wheelDeltaY&&isDivisible(event.wheelDeltaY,120)&&(deltaY=-120*(event.wheelDeltaY/Math.abs(event.wheelDeltaY)))),deltaX||deltaY||(deltaY=-event.wheelDelta||0),1===event.deltaMode&&(deltaX*=40,deltaY*=40),!(options.touchpadSupport||!isTouchpad(deltaY))||(Math.abs(deltaX)>1.2&&(deltaX*=options.stepSize/120),Math.abs(deltaY)>1.2&&(deltaY*=options.stepSize/120),scrollArray(overflowing,deltaX,deltaY),event.preventDefault(),void scheduleClearCache())}function keydown(event){var target=event.target,modifier=event.ctrlKey||event.altKey||event.metaKey||event.shiftKey&&event.keyCode!==key.spacebar;document.body.contains(activeElement)||(activeElement=document.activeElement);var inputNodeNames=/^(textarea|select|embed|object)$/i,buttonTypes=/^(button|submit|radio|checkbox|file|color|image)$/i;if(inputNodeNames.test(target.nodeName)||isNodeName(target,"input")&&!buttonTypes.test(target.type)||isNodeName(activeElement,"video")||isInsideYoutubeVideo(event)||target.isContentEditable||event.defaultPrevented||modifier)return!0;if((isNodeName(target,"button")||isNodeName(target,"input")&&buttonTypes.test(target.type))&&event.keyCode===key.spacebar)return!0;var shift,x=0,y=0,elem=overflowingAncestor(activeElement),clientHeight=elem.clientHeight;switch(elem==document.body&&(clientHeight=window.innerHeight),event.keyCode){case key.up:y=-options.arrowScroll;break;case key.down:y=options.arrowScroll;break;case key.spacebar:shift=event.shiftKey?1:-1,y=-shift*clientHeight*.9;break;case key.pageup:y=.9*-clientHeight;break;case key.pagedown:y=.9*clientHeight;break;case key.home:y=-elem.scrollTop;break;case key.end:var damt=elem.scrollHeight-elem.scrollTop-clientHeight;y=damt>0?damt+10:0;break;case key.left:x=-options.arrowScroll;break;case key.right:x=options.arrowScroll;break;default:return!0}scrollArray(elem,x,y),event.preventDefault(),scheduleClearCache()}function mousedown(event){activeElement=event.target}function scheduleClearCache(){clearTimeout(clearCacheTimer),clearCacheTimer=setInterval(function(){cache={}},1e3)}function setCache(elems,overflowing){for(var i=elems.length;i--;)cache[uniqueID(elems[i])]=overflowing;return overflowing}function overflowingAncestor(el){var elems=[],body=document.body,rootScrollHeight=root.scrollHeight;do{var cached=cache[uniqueID(el)];if(cached)return setCache(elems,cached);if(elems.push(el),rootScrollHeight===el.scrollHeight){var topOverflowsNotHidden=overflowNotHidden(root)&&overflowNotHidden(body),isOverflowCSS=topOverflowsNotHidden||overflowAutoOrScroll(root);if(isFrame&&isContentOverflowing(root)||!isFrame&&isOverflowCSS)return setCache(elems,getScrollRoot())}else if(isContentOverflowing(el)&&overflowAutoOrScroll(el))return setCache(elems,el)}while(el=el.parentElement)}function isContentOverflowing(el){return el.clientHeight+100?1:-1,y=y>0?1:-1,direction.x===x&&direction.y===y||(direction.x=x,direction.y=y,que=[],lastScroll=0)}function isTouchpad(deltaY){if(deltaY)return deltaBuffer.length||(deltaBuffer=[deltaY,deltaY,deltaY]),deltaY=Math.abs(deltaY),deltaBuffer.push(deltaY),deltaBuffer.shift(),clearTimeout(deltaBufferTimer),deltaBufferTimer=setTimeout(function(){window.localStorage&&(localStorage.SS_deltaBuffer=deltaBuffer.join(","))},1e3),!allDeltasDivisableBy(120)&&!allDeltasDivisableBy(100)}function isDivisible(n,divisor){return Math.floor(n/divisor)==n/divisor}function allDeltasDivisableBy(divisor){return isDivisible(deltaBuffer[0],divisor)&&isDivisible(deltaBuffer[1],divisor)&&isDivisible(deltaBuffer[2],divisor)}function isInsideYoutubeVideo(event){var elem=event.target,isControl=!1;if(document.URL.indexOf("www.youtube.com/watch")!=-1)do if(isControl=elem.classList&&elem.classList.contains("html5-video-controls"))break;while(elem=elem.parentNode);return isControl}function pulse_(x){var val,start,expx;return x*=options.pulseScale,x<1?val=x-(1-Math.exp(-x)):(start=Math.exp(-1),x-=1,expx=1-Math.exp(-x),val=start+expx*(1-start)),val*options.pulseNormalize}function pulse(x){return x>=1?1:x<=0?0:(1==options.pulseNormalize&&(options.pulseNormalize/=pulse_(1)),pulse_(x))}function SmoothScroll(optionsToSet){for(var key in optionsToSet)defaultOptions.hasOwnProperty(key)&&(options[key]=optionsToSet[key])}var activeElement,observer,refreshSize,clearCacheTimer,deltaBufferTimer,defaultOptions={frameRate:150,animationTime:400,stepSize:100,pulseAlgorithm:!0,pulseScale:4,pulseNormalize:1,accelerationDelta:50,accelerationMax:3,keyboardSupport:!0,arrowScroll:50,touchpadSupport:!0,fixedBackground:!0,excluded:""},options=defaultOptions,isExcluded=!1,isFrame=!1,direction={x:0,y:0},initDone=!1,root=document.documentElement,deltaBuffer=[],isMac=/^Mac/.test(navigator.platform),key={left:37,up:38,right:39,down:40,spacebar:32,pageup:33,pagedown:34,end:35,home:36},que=[],pending=!1,lastScroll=Date.now(),uniqueID=function(){var i=0;return function(el){return el.uniqueID||(el.uniqueID=i++)}}(),cache={};window.localStorage&&localStorage.SS_deltaBuffer&&(deltaBuffer=localStorage.SS_deltaBuffer.split(","));var wheelEvent,requestFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(callback,element,delay){window.setTimeout(callback,delay||1e3/60)}}(),MutationObserver=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,getScrollRoot=function(){var SCROLL_ROOT;return function(){if(!SCROLL_ROOT){var dummy=document.createElement("div");dummy.style.cssText="height:10000px;width:1px;",document.body.appendChild(dummy);var bodyScrollTop=document.body.scrollTop;document.documentElement.scrollTop;window.scrollBy(0,3),SCROLL_ROOT=document.body.scrollTop!=bodyScrollTop?document.body:document.documentElement,window.scrollBy(0,-3),document.body.removeChild(dummy)}return SCROLL_ROOT}}(),userAgent=window.navigator.userAgent,isIE=/Trident/.test(userAgent),isEdge=/Edge/.test(userAgent),isChrome=/chrome/i.test(userAgent)&&!isEdge,isMobile=(/safari/i.test(userAgent)&&!isEdge,/mobile/i.test(userAgent)),isIEWin7=/Windows NT 6.1/i.test(userAgent)&&/rv:11/i.test(userAgent),isEnabledForBrowser=(isChrome||isIEWin7||isIE||isEdge)&&!isMobile;"onwheel"in document.createElement("div")?wheelEvent="wheel":"onmousewheel"in document.createElement("div")&&(wheelEvent="mousewheel"),wheelEvent&&isEnabledForBrowser&&(addEvent(wheelEvent,wheel),addEvent("mousedown",mousedown),addEvent("load",init)),SmoothScroll.destroy=cleanup,window.SmoothScrollOptions&&SmoothScroll(window.SmoothScrollOptions),"function"==typeof define&&define.amd?define(function(){return SmoothScroll}):"object"==typeof exports?module.exports=SmoothScroll:window.SmoothScroll=SmoothScroll}();