PageSourceSearch

https://www.npzr.de/assets/js/main.js?v=20260606-scrollreveal1

js npzr.de collected 2026-10-08 21:29:29 UTC 1,719 bytes, 55 lines download raw bytes

1const toggle = document.querySelector(".nav-toggle");
2const nav = document.querySelector("#site-nav");
3const revealTargets = document.querySelectorAll(
4  ".section, .section-heading, .service-card, .diagnostics article, .team-grid img, .strengths article, .three-col article, .steps li, .patient-info-highlight, .patient-info-columns article, .faq-list details"
5);
6
7if (toggle && nav) {
8  toggle.addEventListener("click", () => {
9    const isOpen = nav.classList.toggle("is-open");
10    toggle.setAttribute("aria-expanded", String(isOpen));
11  });
12
13  nav.addEventListener("click", (event) => {
14    if (event.target instanceof HTMLAnchorElement) {
15      nav.classList.remove("is-open");
16      toggle.setAttribute("aria-expanded", "false");
17    }
18  });
19}
20
21if (revealTargets.length) {
22  const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
23
24  revealTargets.forEach((target, index) => {
25    target.classList.add("reveal-on-scroll");
26    target.classList.add(`reveal-delay-${index % 3}`);
27  });
28
29  document.body.classList.add("reveal-ready");
30
31  if (prefersReducedMotion || !("IntersectionObserver" in window)) {
32    revealTargets.forEach((target) => {
33      target.classList.add("is-visible");
34    });
35  } else {
36    const revealObserver = new IntersectionObserver(
37      (entries, observer) => {
38        entries.forEach((entry) => {
39          if (entry.isIntersecting) {
40            entry.target.classList.add("is-visible");
41            observer.unobserve(entry.target);
42          }
43        });
44      },
45      {
46        rootMargin: "0px 0px -12% 0px",
47        threshold: 0.12,
48      }
49    );
50
51    revealTargets.forEach((target) => {
52      revealObserver.observe(target);
53    });
54  }
55}

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.