const remFactor = 16; const verticalUnit = 1.3 * remFactor; function toggleTab(data, tab) { if (data.activeTab === tab) { window.scrollTo({ top: 0, behavior: "smooth", }); setTimeout(() => { data.isOpen = false; data.activeTab = ""; }, 500); } else { data.activeTab = tab; data.isOpen = true; scrollToElem(".active-tab"); } } function scrollToElem(selector) { document.querySelector(".active-tab").scrollTop = 0; setTimeout(() => { const yOffset = -7 * verticalUnit; const elem = document.querySelector(selector); const top = elem.getBoundingClientRect().top; window.scrollTo({ top: top + window.scrollY + yOffset, behavior: "smooth", }); }, 100); } function setWindowHeightFactor() { const windowHeight = window.innerHeight; const min = 650; const delta = windowHeight - min; const factor = roundToNearestHalf(delta / 300) + 1; const head = document.querySelector("head"); const style = document.createElement("style"); style.innerText = `:root { --window-height-factor:${factor} }`; head.appendChild(style); } function roundToNearestHalf(num) { const round = Math.round(num * 2) / 2; return Math.max(round, 0); } setWindowHeightFactor(); document.addEventListener("DOMContentLoaded", () => { function toggleLogoState() { const scrollY = window.scrollY || window.pageYOffset; if (scrollY > 10) { document.querySelector("#main-header").classList.add("minimized"); } else { document.querySelector("#main-header").classList.remove("minimized"); } } window.window.scrollTo({ top: 0, }); window.addEventListener("scroll", () => { toggleLogoState(); }); });