1import"./hoisted.D1G6BhLd.js";document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelectorAll(".filter-btn"),t=document.querySelectorAll(".course-card");e.forEach(s=>{s.addEventListener("click",()=>{e.forEach(e=>e.classList.remove("active")),s.classList.add("active");const a=s.getAttribute("data-filter");t.forEach(e=>{const t=e.getAttribute("data-category");"all"===a||a===t?(e.style.display="flex",setTimeout(()=>{e.style.opacity="1",e.style.transform="translateY(0)"},100)):(e.style.opacity="0",e.style.transform="translateY(20px)",setTimeout(()=>{e.style.display="none"},300))})})});const s=document.querySelectorAll(".faq-item");s.forEach(e=>{e.querySelector(".question-wrapper").addEventListener("click",()=>{const t=e.classList.contains("active");if(s.forEach(e=>{e.classList.remove("active"),e.querySelector(".answer").style.height="0"}),!t){e.classList.add("active");const t=e.querySelector(".answer");t.style.height=t.scrollHeight+"px"}})});const a=()=>{document.querySelectorAll(".featured-grid, .courses-grid, .stats-banner, .advantages-grid").forEach(e=>{e.getBoundingClientRect().top<window.innerHeight/1.3&&e.classList.add("animated")})};window.addEventListener("scroll",a),a()});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.