!function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e(require,exports,module):t.ScrollReveal=e()}(this,function(t,e,n){return function(){var t,e,n;this.ScrollReveal=function(){function o(n){return window==this?new o(n):(e=this,e.tools=new t,e.tools.extend(e.defaults,n||{}),e.tools.isMobile()&&!e.defaults.mobile?!1:e.tools.browserSupports("transform")?(e.store={elements:{},containers:[]},e.history=[],e.counter=0,e.blocked=!1,e.initialized=!1,e):console.warn("Your browser does not support CSS transform."))}return o.prototype.defaults={origin:"bottom",distance:"20px",duration:500,delay:0,rotate:{x:0,y:0,z:0},opacity:0,scale:.9,easing:"cubic-bezier( 0.6, 0.2, 0.1, 1 )",container:null,mobile:!0,reset:!1,useDelay:"always",viewFactor:.2,viewOffset:{top:0,right:0,bottom:0,left:0},afterReveal:function(t){},afterReset:function(t){}},o.prototype.reveal=function(t,n,o){var i,r,s,a;if(r=n&&n.container?n.container:window.document.documentElement,i=Array.prototype.slice.call(r.querySelectorAll(t)),!i.length)return console.warn("reveal('"+t+"') failed: no elements found."),e;for(var l=0;l=0;t--)e.store.containers[t].addEventListener("scroll",e.handler),e.store.containers[t].addEventListener("resize",e.handler);return e.initialized||(window.addEventListener("scroll",e.handler),window.addEventListener("resize",e.handler),e.initialized=!0),e},o.prototype.handler=function(){e.blocked||(e.blocked=!0,n(e.animate))},o.prototype.animate=function(){function t(t,e){var n=0,o=0,i="after";switch(t){case"reveal":o=e.config.duration+e.config.delay,i+="Reveal";break;case"reset":o=e.config.duration,i+="Reset"}return e.timer&&(n=Math.abs(e.timer.started-new Date),window.clearTimeout(e.timer.clock)),e.timer={started:new Date},e.timer.clock=window.setTimeout(function(){e.config[i](e.domEl),e.timer=null},o-n),"reveal"===t?e.revealed=!0:e.revealed=!1}var n,o;e.tools.forOwn(e.store.elements,function(i){n=e.store.elements[i],o=e.isElemVisible(n),o&&!n.revealed?("always"===n.config.useDelay||"onload"===n.config.useDelay&&!e.initialized||"once"===n.config.useDelay&&!n.seen?n.domEl.setAttribute("style",n.styles.inline+n.styles.transform.target+n.styles.transition.delayed):n.domEl.setAttribute("style",n.styles.inline+n.styles.transform.target+n.styles.transition.instant),n.seen=!0,t("reveal",n)):!o&&n.config.reset&&n.revealed&&(n.domEl.setAttribute("style",n.styles.inline+n.styles.transform.initial+n.styles.transition.instant),t("reset",n))}),e.blocked=!1},o.prototype.getContainerSize=function(t){t||(t=window.document.documentElement);var e=t.clientWidth||0,n=t.clientHeight||0;return{width:e,height:n}},o.prototype.getScrolled=function(t){if(t){var n=e.getOffset(t);return{x:t.scrollLeft+n.left,y:t.scrollTop+n.top}}return{x:window.pageXOffset,y:window.pageYOffset}},o.prototype.getOffset=function(t){var e=0,n=0;do isNaN(t.offsetTop)||(e+=t.offsetTop),isNaN(t.offsetLeft)||(n+=t.offsetLeft);while(t=t.offsetParent);return{top:e,left:n}},o.prototype.isElemVisible=function(t){function n(){var e=f+l*a,n=d-l*a,o=u+c*a,i=y-c*a,p=s.y+t.config.viewOffset.top,g=s.y-t.config.viewOffset.bottom+r.height,m=s.x+t.config.viewOffset.left,w=s.x-t.config.viewOffset.right+r.width;return g>e&&n>p&&o>m&&w>i}function o(){return"fixed"===window.getComputedStyle(t.domEl).position}var i=e.getOffset(t.domEl),r=e.getContainerSize(t.config.container),s=e.getScrolled(t.config.container),a=t.config.viewFactor,l=t.domEl.offsetHeight,c=t.domEl.offsetWidth,f=i.top,d=f+l,u=i.left,y=u+c;return n()||o()},o.prototype.sync=function(){if(e.history.length)for(var t=0;t