!(function () { "use strict"; const e = document.getElementsByClassName("accordion-header"); function t(e, t) { e.classList.add("is-active"), (t.style.maxHeight = t.scrollHeight + "px"); } function n(e, t) { e.classList.remove("is-active"), (t.style.maxHeight = null); } if (e.length > 0) for (let i = 0; i < e.length; i++) { const s = e[i], a = s.parentNode, l = s.nextElementSibling; a.classList.contains("is-active") && t(a, l), s.addEventListener("click", function () { a.classList.contains("is-active") ? n(a, l) : t(a, l); }); } })(), (function () { "use strict"; let e = { touchStartX: 0, touchEndX: 0, minSwipePixels: 30, detectionZone: void 0, swipeCallback: function () {}, init: function (t, n) { (e.swipeCallback = n), t.addEventListener( "touchstart", function (t) { e.touchStartX = t.changedTouches[0].screenX; }, !1 ), t.addEventListener( "touchend", function (t) { (e.touchEndX = t.changedTouches[0].screenX), e.handleSwipeGesture(); }, !1 ); }, handleSwipeGesture: function () { let t, n; e.touchEndX <= e.touchStartX && ((n = e.touchStartX - e.touchEndX), (t = "left")), e.touchEndX >= e.touchStartX && ((n = e.touchEndX - e.touchStartX), (t = "right")), n > e.minSwipePixels && "undefined" !== t && e.swipe(t, n); }, swipe: function (t, n) { let i = {}; (i.direction = t), (i.movedPixels = n), e.swipeCallback(i); }, }; const t = document.getElementsByClassName("carousel-items"); function n(e, t) { void 0 === t && (t = "next"); let n = e.getElementsByClassName("carousel-item is-active")[0], i = "next" === t ? n.nextElementSibling : n.previousElementSibling, s = n.getAttribute("data-carousel"), a = e.parentNode.getElementsByClassName("carousel-bullet")[s], l = "next" === t ? a.nextElementSibling : a.previousElementSibling; n.classList.remove("is-active"), a.classList.remove("is-active"), i ? (i.classList.add("is-active"), l.classList.add("is-active")) : "next" === t ? (e.firstElementChild.classList.add("is-active"), e.parentNode .getElementsByClassName("carousel-bullets")[0] .firstElementChild.classList.add("is-active")) : (e.lastElementChild.classList.add("is-active"), e.parentNode .getElementsByClassName("carousel-bullets")[0] .lastElementChild.classList.add("is-active")); } function i(e, t) { let n, i = 0; for (let e = 0; e < t.length; e++) (t[0].parentNode.style.minHeight = i + "px"), t[e].classList.add("is-loading"), (n = t[e].offsetHeight), t[e].classList.remove("is-loading"), n > i && (i = n); t[0].parentNode.style.minHeight = i + "px"; } function s(e) { e && clearInterval(e); } if (t.length > 0) for (let a = 0; a < t.length; a++) { let l = t[a], c = l.getElementsByClassName("carousel-item"), o = 0, r = l.getAttribute("data-autorotate"); const d = document.createElement("div"); (d.className = "carousel-bullets"), l.parentNode.insertBefore(d, l.nextSibling); for (let e = 0; e < c.length; e++) { c[e].setAttribute("data-carousel", e), c[e].classList.contains("is-active") && (o = e); let t = document.createElement("button"); (t.className = "carousel-bullet"), t.setAttribute("data-bullet", e), l.parentNode .getElementsByClassName("carousel-bullets")[0] .appendChild(t); } c[o].classList.add("is-active"); let u = l.parentNode.getElementsByClassName("carousel-bullet"); u[o].classList.add("is-active"), i(0, c), window.addEventListener("resize", function () { i(0, c); }); let m = !1; r && (m = setInterval(function () { n(l, "next"); }, r)); for (let e = 0; e < u.length; e++) { let t = u[e]; t.addEventListener("click", function (e) { if ((e.preventDefault(), t.classList.contains("is-active"))) return; for (let e = 0; e < u.length; e++) u[e].classList.remove("is-active"); for (let e = 0; e < c.length; e++) c[e].classList.remove("is-active"); let n = this.getAttribute("data-bullet"); c[n].classList.add("is-active"), this.classList.add("is-active"), s(m); }); } e.init(l, function (e) { "left" === e.direction ? n(l, "next") : "right" === e.direction && n(l, "prev"), s(m); }); } })(), (function () { "use strict"; document.documentElement.classList.remove("no-js"), document.documentElement.classList.add("js"), window.addEventListener("load", function () { document.body.classList.add("is-loaded"); }); })(), (function () { "use strict"; const e = document.getElementById("header-nav-toggle"), t = document.getElementById("header-nav"); e && (e.addEventListener("click", function () { document.body.classList.toggle("off-nav-is-active"), t.classList.toggle("is-active"), t.style.maxHeight ? (t.style.maxHeight = null) : (t.style.maxHeight = t.scrollHeight + "px"), "true" === this.getAttribute("aria-expanded") ? this.setAttribute("aria-expanded", "false") : this.setAttribute("aria-expanded", "true"); }), document.addEventListener("click", function (n) { n.target === t || n.target === e || t.contains(n.target) || (document.body.classList.remove("off-nav-is-active"), t.classList.remove("is-active"), (t.style.maxHeight = null), e.setAttribute("aria-expanded", "false")); })); })(), (function () { "use strict"; const e = document.getElementsByClassName("modal"), t = document.getElementsByClassName("modal-trigger"); function n() { document.body.classList.remove("modal-is-active"); for (let t = 0; t < e.length; t++) e[t].classList.remove("is-active"); } if (e.length > 0 && t.length > 0) for (let e = 0; e < t.length; e++) { let n = t[e], i = document.getElementById(n.getAttribute("aria-controls")); i && (n.hasAttribute("data-video") && (null !== i.querySelector("iframe") ? i .querySelector("iframe") .setAttribute("src", n.getAttribute("data-video")) : null !== i.querySelector("video") && i .querySelector("video") .setAttribute("src", n.getAttribute("data-video"))), n.addEventListener("click", function (e) { var t; e.preventDefault(), n.hasAttribute("aria-controls") && (t = i) && (document.body.classList.add("modal-is-active"), t.classList.add("is-active")); })); } document.addEventListener("click", function (e) { (e.target.classList.contains("modal") || e.target.classList.contains("modal-close-trigger")) && (e.preventDefault(), n()); }), document.addEventListener("keydown", function (e) { 27 === (e || window.event).keyCode && n(); }); })(), (function () { "use strict"; const e = document.getElementById("pricing-toggle"); function t() { const t = document.getElementsByClassName("pricing-switchable"); if (e.checked) for (let e = 0; e < t.length; e++) t[e].innerHTML = t[e].getAttribute("data-pricing-yearly"); else for (let e = 0; e < t.length; e++) t[e].innerHTML = t[e].getAttribute("data-pricing-monthly"); } e && (window.addEventListener("load", t), e.addEventListener("change", t)); })(), (function () { "use strict"; const e = document.querySelectorAll("[class*=reveal-]"); let t = window.innerHeight; function n(e, t) { var n = 0; return function () { var i = new Date().getTime(); if (!(i - n < e)) return (n = i), t.apply(void 0, arguments); }; } function i() { for (let i = 0; i < e.length; i++) { let s = e[i], a = s.getAttribute("data-reveal-delay"), l = s.getAttribute("data-reveal-offset") ? s.getAttribute("data-reveal-offset") : "200", c = s.getAttribute("data-reveal-container") ? s.closest(s.getAttribute("data-reveal-container")) : s; (n = l), c.getBoundingClientRect().top <= t - n && !s.classList.contains("is-revealed") && (a && 0 !== a ? setTimeout(function () { s.classList.add("is-revealed"); }, a) : s.classList.add("is-revealed")); } var n; !(function () { if ( e.length > document.querySelectorAll("[class*=reveal-].is-revealed").length ) return; window.removeEventListener("load", i), window.removeEventListener("scroll", s), window.removeEventListener("resize", a); })(); } function s() { n(30, i()); } function a() { (t = window.innerHeight), n(30, i()); } e.length > 0 && document.body.classList.contains("has-animations") && (window.addEventListener("load", i), window.addEventListener("scroll", s), window.addEventListener("resize", a)); })(), (function () { "use strict"; const e = document.getElementsByClassName("smooth-scroll"), t = (e, n, i, s, a) => { const l = n - e; let c = l / i; const o = (function (e) { return e < 0.5 ? 2 * e * e : (4 - 2 * e) * e - 1; })((c = Math.min(c, 1))); window.scroll(0, a + s * o), l < i && window.requestAnimationFrame((n) => { const l = n || new Date().getTime(); t(e, l, i, s, a); }); }; if (e.length > 0) for (let n = 0; n < e.length; n++) { e[n].addEventListener("click", function (e) { e.preventDefault(); const n = e.target.closest(".smooth-scroll"), i = n.href.split("#")[1], s = document.getElementById(i), a = n.getAttribute("data-duration") || 1e3; s && window.requestAnimationFrame((e) => { const n = e || new Date().getTime(), i = n, l = window.pageYOffset, c = s.getBoundingClientRect().top; t(i, n, a, c, l); }); }); } })();