1(() => { 2 "use strict"; 3 4 function onReady(fn) { 5 if (document.readyState === "loading") { 6 document.addEventListener("DOMContentLoaded", fn, { once: true }); 7 return; 8 } 9 fn(); 10 } 11 12 onReady(() => { 13 try { 14 const headerRoot = 15 document.querySelector("#main-header") || 16 document.querySelector("header#main-header") || 17 document.querySelector("header[class*='main-header']") || 18 document.querySelector("header.js-animate") || 19 document.querySelector("header"); 20 if (!headerRoot) return; 21 22 const legacyHeader = 23 (headerRoot.tagName === "HEADER" ? headerRoot : null) || 24 headerRoot.querySelector("header.js-animate") || 25 headerRoot.querySelector("header"); 26 const animatedHeader = 27 headerRoot.querySelector(".header.js-animate") || 28 headerRoot.querySelector(".header"); 29 const logo = document.querySelector("#header-logo"); 30 const quotePrimary = headerRoot.querySelector(".get_a_quote"); 31 const usesLegacyScrolledState = Boolean( 32 legacyHeader && 33 (legacyHeader.classList.contains("js-animate") || 34 legacyHeader.querySelector(".menu-address2") || 35 legacyHeader.querySelector(".logo-holder")) 36 ); 37 38 const update = () => { 39 const scrollY = window.scrollY || window.pageYOffset || 0; 40 const isScrolled = scrollY > 20; 41 const isLegacyScrolled = usesLegacyScrolledState && window.innerWidth > 1024 && scrollY > 120; 42 43 headerRoot.classList.toggle("header--scrolled", isScrolled); 44 if (animatedHeader && animatedHeader !== headerRoot) { 45 animatedHeader.classList.toggle("js-scrolling", isScrolled); 46 } 47 if (quotePrimary) { 48 quotePrimary.style.display = isScrolled ? "block" : ""; 49 } 50 if (logo) logo.classList.toggle("logo--scrolled", isScrolled); 51 if (legacyHeader) { 52 legacyHeader.classList.toggle("scrolled", isLegacyScrolled); 53 } 54 }; 55 56 update(); 57 window.addEventListener("scroll", update, { passive: true }); 58 window.addEventListener("resize", update); 59 } catch { 60 // No-op by design. 61 } 62 }); 63})();
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.