!function(){"use strict";function t(r){return"undefined"==typeof this||Object.getPrototypeOf(this)!==t.prototype?new t(r):(n=this,n.version="3.3.6",n.tools=new i,n.isSupported()?(n.tools.extend(n.defaults,r||{}),n.defaults.container=f(n.defaults),n.store={elements:{},containers:[]},n.sequences={},n.history=[],n.uid=0,n.initialized=!1):"undefined"!=typeof console&&null!==console,n)}function f(t){if(t&&t.container){if("string"==typeof t.container)return window.document.documentElement.querySelector(t.container);if(n.tools.isNode(t.container))return t.container}return n.defaults.container}function y(t,i){return"string"==typeof t?Array.prototype.slice.call(i.querySelectorAll(t)):n.tools.isNode(t)?[t]:n.tools.isNodeList(t)?Array.prototype.slice.call(t):[]}function e(){return++n.uid}function p(t,i,r){i.container&&(i.container=r);t.config=t.config?n.tools.extendClone(t.config,i):n.tools.extendClone(n.defaults,i);t.config.axis="top"===t.config.origin||"bottom"===t.config.origin?"Y":"X"}function w(n){var t=window.getComputedStyle(n.domEl);n.styles||(n.styles={transition:{},transform:{},computed:{}},n.styles.inline=n.domEl.getAttribute("style")||"",n.styles.inline+="; visibility: visible; ",n.styles.computed.opacity=t.opacity,n.styles.computed.transition=t.transition&&"all 0s ease 0s"!==t.transition?t.transition+", ":"");n.styles.transition.instant=o(n,0);n.styles.transition.delayed=o(n,n.config.delay);n.styles.transform.initial=" -webkit-transform:";n.styles.transform.target=" -webkit-transform:";s(n);n.styles.transform.initial+="transform:";n.styles.transform.target+="transform:";s(n)}function o(n,t){var i=n.config;return"-webkit-transition: "+n.styles.computed.transition+"-webkit-transform "+i.duration/1e3+"s "+i.easing+" "+t/1e3+"s, opacity "+i.duration/1e3+"s "+i.easing+" "+t/1e3+"s; transition: "+n.styles.computed.transition+"transform "+i.duration/1e3+"s "+i.easing+" "+t/1e3+"s, opacity "+i.duration/1e3+"s "+i.easing+" "+t/1e3+"s; "}function s(n){var r,t=n.config,i=n.styles.transform;r="top"===t.origin||"left"===t.origin?/^-/.test(t.distance)?t.distance.substr(1):"-"+t.distance:t.distance;parseInt(t.distance)&&(i.initial+=" translate"+t.axis+"("+r+")",i.target+=" translate"+t.axis+"(0)");t.scale&&(i.initial+=" scale("+t.scale+")",i.target+=" scale(1)");t.rotate.x&&(i.initial+=" rotateX("+t.rotate.x+"deg)",i.target+=" rotateX(0)");t.rotate.y&&(i.initial+=" rotateY("+t.rotate.y+"deg)",i.target+=" rotateY(0)");t.rotate.z&&(i.initial+=" rotateZ("+t.rotate.z+"deg)",i.target+=" rotateZ(0)");i.initial+="; opacity: "+t.opacity+";";i.target+="; opacity: "+n.styles.computed.opacity+";"}function b(t){var i=t.config.container;i&&n.store.containers.indexOf(i)===-1&&n.store.containers.push(t.config.container);n.store.elements[t.id]=t}function k(t,i,r){var u={target:t,config:i,interval:r};n.history.push(u)}function h(){if(n.isSupported()){c();for(var t=0;t<n.store.containers.length;t++)n.store.containers[t].addEventListener("scroll",r),n.store.containers[t].addEventListener("resize",r);n.initialized||(window.addEventListener("scroll",r),window.addEventListener("resize",r),n.initialized=!0)}return n}function r(){v(c)}function d(){var t,r,f,i;n.tools.forOwn(n.sequences,function(e){i=n.sequences[e];t=!1;for(var o=0;o<i.elemIds.length;o++)f=i.elemIds[o],r=n.store.elements[f],u(r)&&!t&&(t=!0);i.active=t})}function c(){var i,t;d();n.tools.forOwn(n.store.elements,function(r){t=n.store.elements[r];i=tt(t);nt(t)?(t.config.beforeReveal(t.domEl),i?t.domEl.setAttribute("style",t.styles.inline+t.styles.transform.target+t.styles.transition.delayed):t.domEl.setAttribute("style",t.styles.inline+t.styles.transform.target+t.styles.transition.instant),l("reveal",t,i),t.revealing=!0,t.seen=!0,t.sequence&&g(t,i)):it(t)&&(t.config.beforeReset(t.domEl),t.domEl.setAttribute("style",t.styles.inline+t.styles.transform.initial+t.styles.transition.instant),l("reset",t),t.revealing=!1)})}function g(t,i){var f=0,e=0,u=n.sequences[t.sequence.id];u.blocked=!0;i&&"onload"===t.config.useDelay&&(e=t.config.delay);t.sequence.timer&&(f=Math.abs(t.sequence.timer.started-new Date),window.clearTimeout(t.sequence.timer));t.sequence.timer={started:new Date};t.sequence.timer.clock=window.setTimeout(function(){u.blocked=!1;t.sequence.timer=null;r()},Math.abs(u.interval)+e-f)}function l(n,t,i){var f=0,r=0,u="after";switch(n){case"reveal":r=t.config.duration;i&&(r+=t.config.delay);u+="Reveal";break;case"reset":r=t.config.duration;u+="Reset"}t.timer&&(f=Math.abs(t.timer.started-new Date),window.clearTimeout(t.timer.clock));t.timer={started:new Date};t.timer.clock=window.setTimeout(function(){t.config[u](t.domEl);t.timer=null},r-f)}function nt(t){if(t.sequence){var i=n.sequences[t.sequence.id];return i.active&&!i.blocked&&!t.revealing&&!t.disabled}return u(t)&&!t.revealing&&!t.disabled}function tt(t){var i=t.config.useDelay;return"always"===i||"onload"===i&&!n.initialized||"once"===i&&!t.seen}function it(t){if(t.sequence){var i=n.sequences[t.sequence.id];return!i.active&&t.config.reset&&t.revealing&&!t.disabled}return!u(t)&&t.config.reset&&t.revealing&&!t.disabled}function rt(n){return{width:n.clientWidth,height:n.clientHeight}}function ut(n){if(n&&n!==window.document.documentElement){var t=a(n);return{x:n.scrollLeft+t.left,y:n.scrollTop+t.top}}return{x:window.pageXOffset,y:window.pageYOffset}}function a(n){var t=0,i=0,r=n.offsetHeight,u=n.offsetWidth;do isNaN(n.offsetTop)||(t+=n.offsetTop),isNaN(n.offsetLeft)||(i+=n.offsetLeft),n=n.offsetParent;while(n);return{top:t,left:i,height:r,width:u}}function u(n){function h(){var t=o+u*r,h=s+f*r,c=l-u*r,a=v-f*r,y=i.y+n.config.viewOffset.top,p=i.x+n.config.viewOffset.left,w=i.y-n.config.viewOffset.bottom+e.height,b=i.x-n.config.viewOffset.right+e.width;return t<w&&c>y&&h<b&&a>p}function c(){return"fixed"===window.getComputedStyle(n.domEl).position}var t=a(n.domEl),e=rt(n.config.container),i=ut(n.config.container),r=n.config.viewFactor,u=t.height,f=t.width,o=t.top,s=t.left,l=o+u,v=s+f;return h()||c()}function i(){}var n,v;t.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:window.document.documentElement,mobile:!0,reset:!1,useDelay:"always",viewFactor:.2,viewOffset:{top:0,right:0,bottom:0,left:0},beforeReveal:function(){},beforeReset:function(){},afterReveal:function(){},afterReset:function(){}};t.prototype.isSupported=function(){var n=document.documentElement.style;return"WebkitTransition"in n&&"WebkitTransform"in n||"transition"in n&&"transform"in n};t.prototype.reveal=function(t,i,r,u){var a,s,o,v,c,d,l;if(void 0!==i&&"number"==typeof i?(r=i,i={}):void 0!==i&&null!==i||(i={}),a=f(i),s=y(t,a),!s.length)return n;for(r&&"number"==typeof r&&(d=e(),c=n.sequences[d]={id:d,interval:r,elemIds:[],active:!1}),l=0;l<s.length;l++)v=s[l].getAttribute("data-sr-id"),v?o=n.store.elements[v]:(o={id:e(),domEl:s[l],seen:!1,revealing:!1},o.domEl.setAttribute("data-sr-id",o.id)),c&&(o.sequence={id:c.id,index:c.elemIds.length},c.elemIds.push(o.id)),p(o,i,a),w(o),b(o),n.tools.isMobile()&&!o.config.mobile||!n.isSupported()?(o.domEl.setAttribute("style",o.styles.inline),o.disabled=!0):o.revealing||o.domEl.setAttribute("style",o.styles.inline+o.styles.transform.initial);return!u&&n.isSupported()&&(k(t,i,r),n.initTimeout&&window.clearTimeout(n.initTimeout),n.initTimeout=window.setTimeout(h,0)),n};t.prototype.sync=function(){var t,i;if(n.history.length&&n.isSupported()){for(t=0;t<n.history.length;t++)i=n.history[t],n.reveal(i.target,i.config,i.interval,!0);h()}return n};i.prototype.isObject=function(n){return null!==n&&"object"==typeof n&&n.constructor===Object};i.prototype.isNode=function(n){return"object"==typeof Node?n instanceof window.Node:n&&"object"==typeof n&&"number"==typeof n.nodeType&&"string"==typeof n.nodeName};i.prototype.isNodeList=function(n){var t=Object.prototype.toString.call(n);return"object"==typeof NodeList?n instanceof window.NodeList:n&&"object"==typeof n&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(t)&&"number"==typeof n.length&&(0===n.length||this.isNode(n[0]))};i.prototype.forOwn=function(n,t){if(!this.isObject(n))throw new TypeError('Expected "object", but received "'+typeof n+'".');for(var i in n)n.hasOwnProperty(i)&&t(i)};i.prototype.extend=function(n,t){return this.forOwn(t,function(i){this.isObject(t[i])?(n[i]&&this.isObject(n[i])||(n[i]={}),this.extend(n[i],t[i])):n[i]=t[i]}.bind(this)),n};i.prototype.extendClone=function(n,t){return this.extend(this.extend({},n),t)};i.prototype.isMobile=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)};v=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(n){window.setTimeout(n,1e3/60)};"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return t}):"undefined"!=typeof module&&module.exports?module.exports=t:window.ScrollReveal=t}()