(function () { "use strict"; const revealEl = document.querySelectorAll("[class*=reveal-]"); let viewportHeight = window.innerHeight; function throttle(delay, fn) { var lastCall = 0; return function () { var now = new Date().getTime(); if (now - lastCall < delay) { return; } lastCall = now; return fn.apply(void 0, arguments); }; } function elementIsVisible(el, offset) { return el.getBoundingClientRect().top <= viewportHeight - offset; } function revealElements() { for (let i = 0; i < revealEl.length; i++) { let el = revealEl[i]; let revealDelay = el.getAttribute("data-reveal-delay"); let revealOffset = el.getAttribute("data-reveal-offset") ? el.getAttribute("data-reveal-offset") : "200"; let listenedEl = el.getAttribute("data-reveal-container") ? el.closest(el.getAttribute("data-reveal-container")) : el; if ( elementIsVisible(listenedEl, revealOffset) && !el.classList.contains("is-revealed") ) { if (revealDelay && revealDelay !== 0) { setTimeout(function () { el.classList.add("is-revealed"); }, revealDelay); } else { el.classList.add("is-revealed"); } } } revealDone(); } function revealScroll() { throttle(30, revealElements()); } function revealResize() { viewportHeight = window.innerHeight; throttle(30, revealElements()); } function revealDone() { if ( revealEl.length > document.querySelectorAll("[class*=reveal-].is-revealed").length ) return; window.removeEventListener("load", revealElements); window.removeEventListener("scroll", revealScroll); window.removeEventListener("resize", revealResize); } if ( revealEl.length > 0 && document.body.classList.contains("has-animations") ) { window.addEventListener("load", revealElements); window.addEventListener("scroll", revealScroll); window.addEventListener("resize", revealResize); } })();