Energielabel verbeteren: 7 upgrades voor jaren 30 woningen

In de huidige Haarlemse woningmarkt, waar duurzaamheid en wooncomfort steeds bepalender worden voor kopers, is het energielabel verbeteren in Haarlem een strategische keuze voor eigenaren van een jaren 30 woning in Haarlem. De vraag naar duurzame woningen in Haarlem groeit zichtbaar, mede door stijgende energiekosten, strengere regelgeving en aantrekkelijke subsidieregelingen. In Haarlem heeft een groot […]

/* Atlantis 15-9-2026: Lenis alleen op apparaten met muis (smoothTouch stond al uit), console.log per scroll verwijderd. Origineel in meta _atl_backup_code_20260915 */ (function () { if (!window.matchMedia || !window.matchMedia('(hover: hover) and (pointer: fine)').matches) return; var s = document.createElement('script'); s.src = 'https://cdn.jsdelivr.net/gh/studio-freight/lenis@0.2.28/bundled/lenis.js'; s.onload = function () { var lenis = new Lenis({ duration: 1.2, easing: function (t) { return Math.min(1, 1.001 - Math.pow(2, -10 * t)); }, direction: 'vertical', gestureDirection: 'vertical', smooth: true, mouseMultiplier: 1, smoothTouch: false, touchMultiplier: 2, infinite: false }); function raf(time) { lenis.raf(time); requestAnimationFrame(raf); } requestAnimationFrame(raf); }; document.head.appendChild(s); })(); /* Atlantis 15-9-2026: GSAP pas laden als .cool-split bestaat, geen dubbele GSAP meer. Origineel in meta _atl_backup_code_20260915 */ (function () { window.atlLoad = window.atlLoad || function (srcs) { window.__atlL = window.__atlL || {}; return srcs.reduce(function (p, src) { return p.then(function () { if (!window.__atlL[src]) { window.__atlL[src] = new Promise(function (res, rej) { var s = document.createElement('script'); s.src = src; s.async = false; s.onload = res; s.onerror = rej; document.head.appendChild(s); }); } return window.__atlL[src]; }); }, Promise.resolve()); }; function init() { if (!document.querySelector('.cool-split h2')) return; window.atlLoad(['https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js', 'https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js', 'https://cdn.jsdelivr.net/npm/split-type@0.3.4/umd/index.min.js']).then(function () { gsap.registerPlugin(ScrollTrigger); var split = new SplitType('.cool-split h2', { types: 'words, chars' }); gsap.timeline({ scrollTrigger: { trigger: '.about', start: 'top 80%', end: '+=70%', scrub: 1 } }).set(split.chars, { duration: 0.3, color: '#021D49', stagger: 0.3 }, 0.1); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })(); .shrink-grow-section { will-change: transform; transform-origin: center center; overflow: hidden; } /* Atlantis 15-9-2026: zelfde GSAP 3.12.5 als Split Text, alleen laden als .shrink-grow-section bestaat. Origineel in meta _atl_backup_code_20260915 */ (function () { window.atlLoad = window.atlLoad || function (srcs) { window.__atlL = window.__atlL || {}; return srcs.reduce(function (p, src) { return p.then(function () { if (!window.__atlL[src]) { window.__atlL[src] = new Promise(function (res, rej) { var s = document.createElement('script'); s.src = src; s.async = false; s.onload = res; s.onerror = rej; document.head.appendChild(s); }); } return window.__atlL[src]; }); }, Promise.resolve()); }; function run() { var isMobile = window.innerWidth <= 768; var tl = gsap.timeline({ scrollTrigger: { trigger: '.shrink-grow-section', start: isMobile ? 'top center' : '100 center', scrub: isMobile ? 0.5 : 1, end: isMobile ? '+=300' : 'max', invalidateOnRefresh: true, fastScrollEnd: true, preventOverlaps: true } }); tl.fromTo('.shrink-grow-section', { scale: isMobile ? 1.2 : 1.5 }, { scale: 1, ease: 'none' }); var t; window.addEventListener('resize', function () { clearTimeout(t); t = setTimeout(function () { ScrollTrigger.refresh(); }, 250); }); ScrollTrigger.refresh(); } function init() { if (!document.querySelector('.shrink-grow-section')) return; window.atlLoad(['https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js', 'https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js']).then(function () { gsap.registerPlugin(ScrollTrigger); if (document.readyState === 'complete') { run(); } else { window.addEventListener('load', run); } }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();