Matches in Stad Gent for { <https://stad.gent/id/infopage/833146> ?p ?o ?g. }
Showing items 1 to 13 of
13
with 100 items per page.
- 833146 type Article infopages.
- 833146 subject "https://stad.gent/en/node/3164" infopages.
- 833146 description "Vergroen je bedrijf, woonproject of zorgsite met financiële steun van de Stad Gent." infopages.
- 833146 identifier "833146" infopages.
- 833146 image 20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0058.jpg infopages.
- 833146 inLanguage "nl" infopages.
- 833146 name "Vergroen je site en ontvang tot 50.000 euro subsidie" infopages.
- 833146 url vergroen-je-site-en-ontvang-tot-50000-euro-subsidie infopages.
- 833146 dateModified "2026-08-11T12:49:55+00:00" infopages.
- 833146 datePublished "2026-06-22T12:34:47+00:00" infopages.
- 833146 articleBody " <div class="paragraph paragraph--type--table-of-contents paragraph--view-mode--full"> <nav class="table-of-contents" aria-labelledby="table-of-contents-header"> <div class="content-container"> <h4 id="table-of-contents-header">On this page</h4> <ul class="three-column"> <li><a href="/en/lod/infopages#waarom-de-investering-loont">Waarom de investering loont</a></li> <li><a href="/en/lod/infopages#bereken-je-subsidie">Bereken je subsidie</a></li> <li><a href="/en/lod/infopages#vlot-aan-de-slag">Vlot aan de slag</a></li> <li><a href="/en/lod/infopages#veelgestelde-vragen">Veelgestelde vragen</a></li> </ul> </div> </nav> </div> <div class="paragraph paragraph--type--text paragraph--view-mode--full"> <p>Hoe maak je van je privaat domein een groene, aantrekkelijke en klimaatbestendige plek? Hoe creëer je een aangename omgeving voor bewoners, klanten of medewerkers of hoe verminder je de hitte tijdens warme zomerdagen en beperk je wateroverlast na hevige regenval? </p><p>Dankzij <strong>de subsidie vergroenen en ontharden</strong> investeer je in een toekomstbestendige site, met de financiële steun van de Stad Gent. </p><ul><li>De subsidie is beschikbaar<strong> </strong>voor <strong>bedrijven</strong> en <strong>zelfstandigen, </strong>beheerders van <strong>bedrijventerreinen, zorginstellingen</strong> zoals woonzorgcentra, ziekenhuizen en kinderopvang of verenigingen van <strong>mede-eigenaars, coöperaties en co-housingprojecten</strong>.</li><li>Ze dekt <strong>50%</strong> <strong>van de kosten </strong>voor vergroening en ontharding. </li><li>Goed voor <strong>6.000 tot 50.000 euro</strong> voor de werken en de aanleg van bomen en planten op privaat domein. </li><li>Deze subsidie wordt na goedkeuring van je dossier <strong>meteen voor 90% uitbetaald </strong>zodat je de aannemers vlot aan het werk kan zetten. </li></ul> </div> <div class="paragraph paragraph--type--call-to-action paragraph--view-mode--full cta-block image-none link"> <div class="cta-block__content"> <div class="feature-block secondary"> <h2>Vergroen je privaat domein</h2> <p>Recupereer tot 50.000 euro van de kosten en krijg tot 90% van de werken vooraf betaald.</p> <ul class="links"> <li> <a href="/en/node/833200" class="button button-secondary">Bekijk alle info en voorwaarden</a> </li> <li> <a href="mailto:subsidies.milieuenklimaat@stad.gent" class="standalone-link">En contacteer ons voor een intakegesprek</a> </li> </ul> </div> </div> </div> <div id="waarom-de-investering-loont" class="paragraph paragraph--type--anchor paragraph--view-mode--full"></div> <div class="paragraph paragraph--type--container paragraph--view-mode--full w10-o1"> <h2>Waarom loont deze investering?</h2> <ul class="grid-3"> <li> <div class="paragraph paragraph--type--teaser paragraph--view-mode--default teaser"> <article class="teaser-content"> <div class="content__second"> <h3 class="h4 bg-none"> <span> Ondernemers </span> </h3> <ul><li>Een koelere werkvloer is productiever</li><li>Een groene make-over zorgt voor een aantrekkelijkere werkomgeving, een sterkere employer branding en goeie pr.</li><li>Vergroenen en ontharden is ook positief voor de ESG rapportering</li></ul> </div> <div class="content__first"> <div class="figure-wrapper"> <figure> <div class="image-wrapper"> <div class="image-gallery js-lightbox"> <picture> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=1v66AnVR 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=yeb7wq5H 2x" media="(min-width: 1680px)" type="image/webp" width="575" height="360"/> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=1v66AnVR 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=yeb7wq5H 2x" media="all and (min-width: 960px) and (max-width: 1679.9px)" type="image/webp" width="575" height="360"/> <source srcset="/sites/default/files/styles/landscape_8_5_sm/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=ziXFe32A 1x, /sites/default/files/styles/landscape_8_5_sm_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=SJA6sWBH 2x" media="all and (min-width: 768px) and (max-width: 959.9px)" type="image/webp" width="445" height="279"/> <source srcset="/sites/default/files/styles/landscape_8_5_xs/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=UEazYord 1x, /sites/default/files/styles/landscape_8_5_xs_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=D-MReDdV 2x" media="all and (min-width: 576px) and (max-width: 767.9px)" type="image/webp" width="350" height="219"/> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=1v66AnVR 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=yeb7wq5H 2x" media="all and (max-width: 575.9px)" type="image/webp" width="575" height="360"/> <img loading="lazy" width="1150" height="720" src="/sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20DJI_0059_0.jpg.webp?itok=yeb7wq5H" alt="Tintelijn onthardt en vergroent" /> </picture> </div> </div> </figure> </div> </div> </article> </div> </li> <li> <div class="paragraph paragraph--type--teaser paragraph--view-mode--default teaser"> <article class="teaser-content"> <div class="content__second"> <h3 class="h4 bg-none"> <span> (Woon)zorginstellingen, ziekenhuizen en kinderopvang </span> </h3> <ul><li>Hitte treft je bewoners of opgroeiende kinderen het hardst </li><li>Schaduw en groen verlagen de gevoelstemperatuur</li><li>Een zorgtuin verhoogt het comfort en de zorgkwaliteit van je inwoners</li><li>Het aangeplante groen is meteen een concrete invulling van je hitteplan. </li></ul> </div> <div class="content__first"> <div class="figure-wrapper"> <figure> <div class="image-wrapper"> <div class="image-gallery js-lightbox"> <picture> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=Nly1OYom 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=-OHHwA52 2x" media="(min-width: 1680px)" type="image/webp" width="575" height="360"/> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=Nly1OYom 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=-OHHwA52 2x" media="all and (min-width: 960px) and (max-width: 1679.9px)" type="image/webp" width="575" height="360"/> <source srcset="/sites/default/files/styles/landscape_8_5_sm/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=N5q93XQk 1x, /sites/default/files/styles/landscape_8_5_sm_x2/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=YCJSVeI3 2x" media="all and (min-width: 768px) and (max-width: 959.9px)" type="image/webp" width="445" height="279"/> <source srcset="/sites/default/files/styles/landscape_8_5_xs/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=nE_8hxfJ 1x, /sites/default/files/styles/landscape_8_5_xs_x2/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=ImCEeqpp 2x" media="all and (min-width: 576px) and (max-width: 767.9px)" type="image/webp" width="350" height="219"/> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=Nly1OYom 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=-OHHwA52 2x" media="all and (max-width: 575.9px)" type="image/webp" width="575" height="360"/> <img loading="lazy" width="1150" height="720" src="/sites/default/files/styles/landscape_8_5_m_x2/public/media/images/2018-10-23%20heiveld%20%282%29_lowres.jpg.webp?itok=-OHHwA52" alt="Woonzorgcentrum Het Heiveld binnentuin" /> </picture> </div> </div> </figure> </div> </div> </article> </div> </li> <li> <div class="paragraph paragraph--type--teaser paragraph--view-mode--default teaser"> <article class="teaser-content"> <div class="content__second"> <h3 class="h4 bg-none"> <span> Verenigingen van mede-eigenaars, coöperaties en co-housingprojecten </span> </h3> <ul><li>Groen zorgt voor een koelere, gezondere en aangename binnenkoer in de zomer.</li><li>Zo wordt die binnenkoer of groene invulling van het domein meteen een ontmoetingsplek voor de bewoners. </li><li>Bovendien beïnvloedt het de marktwaarde en aantrekkelijkheid voor verkoop of verhuur.</li></ul> </div> <div class="content__first"> <div class="figure-wrapper"> <figure> <div class="image-wrapper"> <div class="image-gallery js-lightbox"> <picture> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=U6l_ueeU 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=6b5e5AAg 2x" media="(min-width: 1680px)" type="image/webp" width="575" height="360"/> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=U6l_ueeU 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=6b5e5AAg 2x" media="all and (min-width: 960px) and (max-width: 1679.9px)" type="image/webp" width="575" height="360"/> <source srcset="/sites/default/files/styles/landscape_8_5_sm/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=oLWYlpfX 1x, /sites/default/files/styles/landscape_8_5_sm_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=wNUzAbcS 2x" media="all and (min-width: 768px) and (max-width: 959.9px)" type="image/webp" width="445" height="279"/> <source srcset="/sites/default/files/styles/landscape_8_5_xs/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=SSSlx-Ui 1x, /sites/default/files/styles/landscape_8_5_xs_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=shTYlK7J 2x" media="all and (min-width: 576px) and (max-width: 767.9px)" type="image/webp" width="350" height="219"/> <source srcset="/sites/default/files/styles/landscape_8_5_m/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=U6l_ueeU 1x, /sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=6b5e5AAg 2x" media="all and (max-width: 575.9px)" type="image/webp" width="575" height="360"/> <img loading="lazy" width="1150" height="720" src="/sites/default/files/styles/landscape_8_5_m_x2/public/media/images/20230828%20-%20Tintelijn%20%28c%29%20Martin%20Corlazzoli%20COR02761.jpg.webp?itok=6b5e5AAg" alt="Tintelijn onthardt en vergroent" /> </picture> </div> </div> </figure> </div> </div> </article> </div> </li> </ul> </div> <div id="bereken-je-subsidie" class="paragraph paragraph--type--anchor paragraph--view-mode--full"></div> <div class="paragraph paragraph--type--embed paragraph--view-mode--full"> <section class="content-wrapper"> <div class="embed-wrapper"> <style> /* Volledig gescopeëerd onder .calculator-wrapper — geen globale selectors */ .calculator-wrapper { background: #fff; text-align: left; border-radius: 0; padding: 2rem; max-width: 52rem; margin: 24px auto; box-sizing: border-box; color: #001823; line-height: 1.6; /* Card-stijl conform stadgent-guide */ border: 1px solid rgba(0,0,0,.08); box-shadow: 0 6px 24px rgba(0,0,0,.06); } .calculator-wrapper *, .calculator-wrapper *::before, .calculator-wrapper *::after { box-sizing: inherit; } /* ── form-steps (stijlgids-conform, volledig gescopeëerd) ── */ .calculator-wrapper .form-steps { margin-bottom: 1.5rem; } .calculator-wrapper .form-steps-list { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; counter-reset: item; list-style: none; gap: 0; } .calculator-wrapper .form-steps-list li { display: inline-flex; align-items: center; font-size: .9375rem; color: #687278; white-space: nowrap; } /* Stap-nummers: vierkant, 30x30px — conform stijlgids (geen border-radius) */ .calculator-wrapper .form-steps-list li::before { /* teller via ol.form-steps-list counter-reset: cw-step */ display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex-shrink: 0; background-color: #cce0f0; color: #001823; font-size: .8125rem; font-weight: 800; line-height: 30px; text-align: center; vertical-align: middle; margin-right: 8px; } /* Connector streepje tussen stappen */ .calculator-wrapper .form-steps-list li:not(:last-child)::after { content: ''; display: inline-block; width: 20px; height: 2px; background-color: #cce0f0; margin: 0 12px; vertical-align: middle; flex-shrink: 0; } /* Actieve stap */ .calculator-wrapper .form-steps-list li.active { font-weight: 700; color: #001823; } .calculator-wrapper .form-steps-list li.active::before { background-color: #005ba9; color: #fff; } /* Voltooide stap: groen + vinkje */ .calculator-wrapper .form-steps-list li.completed::before { content: '✓'; background-color: #e1fde1; color: #2c8726; } .calculator-wrapper .form-steps-list li.completed::after { background-color: #8ee088; } /* ── visually-hidden ── */ .calculator-wrapper .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; } /* ── Typografie ── */ .calculator-wrapper .cw-title { font-weight: 800; font-size: 1.75rem; line-height: 1.25; color: #005ba9; margin: 0 0 .5rem; } .calculator-wrapper .cw-lead { font-size: 1.0625rem; color: #687278; margin: 0 0 1.75rem; line-height: 1.6; } .calculator-wrapper p { margin: 0 0 .75rem; } .calculator-wrapper p:last-child { margin-bottom: 0; } /* ── Stap-panelen ── */ .calculator-wrapper .cw-panel { display: none; } .calculator-wrapper .cw-panel.is-active { display: block; } /* ── Stap 1: doelgroepkaarten ── */ .calculator-wrapper .dg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; margin-bottom: 1.75rem; } .calculator-wrapper .dg-card { border: 2px solid #e6e8ea; border-radius: 4px; padding: 1.25rem 1rem; cursor: pointer; text-align: center; transition: border-color .15s, background .15s; background: #fff; } .calculator-wrapper .dg-card:hover { border-color: #009de0; background: #e6f8ff; } .calculator-wrapper .dg-card.is-selected { border-color: #005ba9; background: #e6f8ff; } .calculator-wrapper .dg-card__icon { font-size: 2rem; margin-bottom: .5rem; display: block; } .calculator-wrapper .dg-card__label { font-size: .9375rem; font-weight: 700; color: #001823; display: block; } .calculator-wrapper .dg-card__sub { font-size: .8125rem; color: #687278; margin-top: .25rem; display: block; } .calculator-wrapper .dg-hint { background: #e6f8ff; border-left: 4px solid #009de0; padding: .875rem 1.125rem; border-radius: 2px; font-size: .875rem; margin-bottom: 1.5rem; display: none; } .calculator-wrapper .dg-hint.is-visible { display: block; } /* ── Formulierelementen ── */ .calculator-wrapper .cw-field { margin-bottom: 1.375rem; } .calculator-wrapper .cw-label { display: flex; justify-content: space-between; align-items: baseline; font-weight: 600; font-size: .9375rem; margin-bottom: .375rem; color: #001823; } .calculator-wrapper .cw-label-val { font-weight: 800; color: #005ba9; font-size: 1rem; white-space: nowrap; } .calculator-wrapper .cw-hint { font-size: .8125rem; color: #687278; margin-top: .25rem; display: block; line-height: 1.5; } .calculator-wrapper .range-ticks { display: flex; justify-content: space-between; font-size: .6875rem; color: #aaa; margin-top: .125rem; } .calculator-wrapper input[type="range"] { display: block; width: 100%; accent-color: #005ba9; cursor: pointer; margin: .375rem 0 0; } .calculator-wrapper .cw-number-row { display: flex; gap: .75rem; align-items: center; } .calculator-wrapper input.cw-number { width: 7rem; font-size: 1rem; color: #001823; background: #fff; border: 2px solid #687278; border-radius: 2px; padding: .5rem .75rem; transition: border-color .15s; } .calculator-wrapper input.cw-number:focus { outline: none; border-color: #005ba9; box-shadow: 0 0 0 3px rgba(0,91,169,.18); } .calculator-wrapper .cw-unit { font-size: .875rem; color: #687278; } /* Checkboxes */ .calculator-wrapper .cw-check { display: flex; align-items: flex-start; gap: .625rem; margin-bottom: .625rem; } .calculator-wrapper .cw-check input[type="checkbox"] { width: 1.1rem; height: 1.1rem; cursor: pointer; accent-color: #005ba9; flex-shrink: 0; margin-top: .2rem; } .calculator-wrapper .cw-check label { font-size: .9375rem; cursor: pointer; line-height: 1.5; } /* Sectiekoppen stap 2 */ .calculator-wrapper .cw-section { font-weight: 700; font-size: 1.05rem; color: #001823; margin: 1.75rem 0 1rem; padding-bottom: .375rem; border-bottom: 2px solid #e6e8ea; } .calculator-wrapper .cw-section:first-of-type { margin-top: 0; } /* ── Live status indicator (stap 2) ── */ /* ── Floating scoreboard ── */ .calculator-wrapper .cw-live-status { position: sticky; top: 0; z-index: 20; background: #fff; border-bottom: 2px solid #e6e8ea; margin: 0 -2rem 1.75rem; padding: .875rem 2rem; box-shadow: 0 2px 8px rgba(0,0,0,.07); } /* Teller + chips op één lijn */ .calculator-wrapper .cw-score-row { display: flex; align-items: center; gap: .875rem; flex-wrap: wrap; } .calculator-wrapper .cw-score-teller { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; } .calculator-wrapper .cw-score-teller__num { font-size: 1.25rem; font-weight: 800; color: #001823; line-height: 1; } .calculator-wrapper .cw-score-teller__lbl { font-size: .75rem; color: #687278; line-height: 1.3; } /* Donut/ring progress */ .calculator-wrapper .cw-score-ring { width: 2.25rem; height: 2.25rem; flex-shrink: 0; transform: rotate(-90deg); } .calculator-wrapper .cw-score-ring__bg { fill: none; stroke: #e6e8ea; stroke-width: 3; } .calculator-wrapper .cw-score-ring__fill { fill: none; stroke: #005ba9; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 56.5; /* 2π×9 ≈ 56.5 */ stroke-dashoffset: 56.5; transition: stroke-dashoffset .4s ease, stroke .2s; } .calculator-wrapper .cw-score-ring__fill.all-ok { stroke: #2c8726; } /* Criteria chips */ .calculator-wrapper .cw-score-chips { display: flex; gap: .375rem; flex-wrap: wrap; flex: 1; } .calculator-wrapper .cw-chip { display: inline-flex; align-items: center; gap: .3rem; font-size: .75rem; font-weight: 600; padding: .25rem .625rem; border-radius: 100px; border: 1.5px solid; line-height: 1.3; transition: background .2s, color .2s, border-color .2s; white-space: nowrap; } .calculator-wrapper .cw-chip.pending { background: #f0f1f2; color: #687278; border-color: #dde1e4; } .calculator-wrapper .cw-chip.ok { background: #e1fde1; color: #2c8726; border-color: #8ee088; } .calculator-wrapper .cw-chip.nok { background: #ffe8ec; color: #ea0d33; border-color: #ff8a9d; } .calculator-wrapper .cw-chip__icon { font-size: .625rem; font-weight: 800; } /* Verberg chips-tekst op kleine schermen */ @media (max-width: 38em) { .calculator-wrapper .cw-chip span.cw-chip__text { display: none; } .calculator-wrapper .cw-chip { padding: .25rem .4rem; } } /* ── Knoppen ── */ .calculator-wrapper .cw-btn { display: inline-flex; align-items: center; gap: .4rem; font-size: 1rem; font-weight: 700; border: 2px solid transparent; border-radius: 2px; padding: .625rem 1.375rem; cursor: pointer; line-height: 1.4; text-decoration: none; transition: background .15s, border-color .15s; } .calculator-wrapper .cw-btn.primary { background: #005ba9; color: #fff; border-color: #005ba9; } .calculator-wrapper .cw-btn.primary:hover { background: #004a8c; border-color: #004a8c; } .calculator-wrapper .cw-btn.secondary { background: transparent; color: #005ba9; border-color: #005ba9; } .calculator-wrapper .cw-btn.secondary:hover { background: #e6f8ff; } .calculator-wrapper .cw-btn.ghost { background: transparent; color: #687278; border-color: transparent; padding-left: 0; font-weight: 600; } .calculator-wrapper .cw-btn.ghost:hover { color: #001823; } /* ── Validatiefout ── */ .calculator-wrapper .cw-err { background: #ffe8ec; border-left: 3px solid #ea0d33; padding: .375rem .75rem; font-size: .8125rem; border-radius: 2px; color: #ea0d33; margin-top: .25rem; display: none; } .calculator-wrapper .cw-err.is-visible { display: block; } /* ── Resultaat ── */ .calculator-wrapper .cw-result-hero { background: #e6f8ff; border-radius: 4px; padding: 1.75rem 1.5rem; text-align: center; margin: 1.25rem 0; } .calculator-wrapper .cw-result-hero__label { font-size: .9375rem; color: #687278; margin: 0 0 .375rem; } .calculator-wrapper .cw-result-hero__value { font-size: 3rem; font-weight: 800; color: #005ba9; margin: 0; line-height: 1.1; } .calculator-wrapper .cw-result-hero__sub { font-size: .9375rem; color: #687278; margin: .5rem 0 0; } .calculator-wrapper .cw-result-hero.nok { background: #ffe8ec; } .calculator-wrapper .cw-result-hero.nok .cw-result-hero__value { font-size: 1.5rem; color: #ea0d33; } /* Criteria badges */ .calculator-wrapper .cw-criteria { list-style: none; padding: 0; margin: 0 0 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; } .calculator-wrapper .cw-criteria li { font-size: .8125rem; font-weight: 600; padding: .25rem .75rem; border-radius: 2px; border: 1px solid; } .calculator-wrapper .cw-criteria li.ok { background: #e1fde1; color: #2c8726; border-color: #8ee088; } .calculator-wrapper .cw-criteria li.nok { background: #ffe8ec; color: #ea0d33; border-color: #ff8a9d; } /* Actietip */ .calculator-wrapper .cw-tip { background: #fff2e5; border-left: 4px solid #e06c00; padding: .875rem 1.125rem; border-radius: 2px; font-size: .875rem; margin-bottom: 1.25rem; } /* ROI grid */ .calculator-wrapper .cw-roi-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1.25rem 0; padding: 0; list-style: none; } @media (min-width: 36em) { .calculator-wrapper .cw-roi-grid { grid-template-columns: repeat(4, 1fr); } } .calculator-wrapper .cw-roi-card { background: #f0f1f2; border-radius: 4px; text-align: center; padding: 1rem .75rem; } .calculator-wrapper .cw-roi-card.hl { background: #e6f8ff; } .calculator-wrapper .cw-roi-card__val { font-size: 1.375rem; font-weight: 800; color: #005ba9; margin: 0 0 .25rem; } .calculator-wrapper .cw-roi-card__val.green { color: #2c8726; } .calculator-wrapper .cw-roi-card__lbl { font-size: .75rem; color: #687278; margin: 0; line-height: 1.4; } /* Resultaatlijst */ .calculator-wrapper .cw-list { list-style: none; padding: 0; margin: 0 0 1.25rem; } .calculator-wrapper .cw-list__row { display: flex; justify-content: space-between; align-items: baseline; padding: .5rem 0; border-bottom: 1px solid #e6e8ea; gap: 1rem; } .calculator-wrapper .cw-list__row:last-child { border-bottom: none; } .calculator-wrapper .cw-list__desc { color: #687278; font-size: .9375rem; } .calculator-wrapper .cw-list__val { font-weight: 700; color: #005ba9; white-space: nowrap; font-size: .9375rem; } .calculator-wrapper .cw-list__val.total { color: #001823; font-size: 1.0625rem; } .calculator-wrapper .cw-list__val.green { color: #2c8726; } /* Klimaat */ .calculator-wrapper .cw-klimaat { display: grid; grid-template-columns: repeat(3, 1fr); gap: .875rem; margin-top: 1rem; } @media (max-width: 28em) { .calculator-wrapper .cw-klimaat { grid-template-columns: 1fr 1fr; } } .calculator-wrapper .cw-klimaat__card { background: #f0f1f2; border-radius: 4px; padding: .875rem; text-align: center; } .calculator-wrapper .cw-klimaat__icon { font-size: 1.5rem; margin-bottom: .25rem; } .calculator-wrapper .cw-klimaat__val { font-size: 1rem; font-weight: 800; color: #2c8726; } .calculator-wrapper .cw-klimaat__lbl { font-size: .75rem; color: #687278; } /* Sectiekoppen resultaat */ .calculator-wrapper .cw-result-section { font-weight: 700; font-size: 1rem; color: #001823; margin: 1.5rem 0 .75rem; } /* Infoblok */ .calculator-wrapper .cw-info { background: #e6f8ff; border-left: 4px solid #009de0; padding: .875rem 1.125rem; border-radius: 2px; font-size: .875rem; margin-bottom: 1rem; line-height: 1.5; } .calculator-wrapper .cw-info.warning { background: #fff2e5; border-color: #e06c00; } .calculator-wrapper .cw-info p { font-size: .875rem; } .calculator-wrapper .cw-info__title { font-weight: 700; color: #001823; margin: 0 0 .25rem; font-size: .9375rem; } /* Tag */ .calculator-wrapper .cw-tag { font-size: .75rem; font-weight: 700; background: #ccdeee; color: #005ba9; padding: .125rem .5rem; border-radius: 2px; margin-left: .375rem; vertical-align: middle; } /* Divider */ .calculator-wrapper .cw-divider { border: none; border-top: 1px solid #e6e8ea; margin: 1.5rem 0; } /* Utility */ .calculator-wrapper .is-hidden { display: none !important; } /* ── Stap-nummers: teller expliciet op de ol gezet (niet op li) zodat de stijlgids-CSS geen conflict veroorzaakt ── */ .calculator-wrapper ol.form-steps-list { counter-reset: cw-step; } .calculator-wrapper .form-steps-list li::before { counter-increment: cw-step; content: counter(cw-step); } /* ── Accordion (cw-acc — eigen klassen, stijlgids-JS raakt ze niet) ── */ .calculator-wrapper .cw-acc__content { max-height: 0; overflow: hidden; transition: max-height .35s ease-out; } .calculator-wrapper .cw-acc__content.cw-acc--open { max-height: 9999px; } /* Multi-accordion (ul.cw-acc) */ .calculator-wrapper ul.cw-acc { list-style: none; padding: 0; margin: 1rem 0; } .calculator-wrapper ul.cw-acc > li { border-bottom: 2px solid #ccdeee; } .calculator-wrapper ul.cw-acc > li:first-child { border-top: 2px solid #ccdeee; } .calculator-wrapper ul.cw-acc > li h3 { margin: 0; } .calculator-wrapper .cw-acc__button { display: flex; align-items: center; width: 100%; background: none; border: none; cursor: pointer; padding: 1rem 0; font-family: inherit; font-size: 1rem; font-weight: 600; color: #001823; text-align: left; gap: .75rem; } .calculator-wrapper .calculator-wrapper ul.cw-acc .cw-acc__button::before, .calculator-wrapper ul.cw-acc .cw-acc__button::before { content: '+'; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; flex-shrink: 0; background: #7ed9ff; color: #001823; font-size: 1.2rem; font-weight: 700; transition: background .15s; } .calculator-wrapper .calculator-wrapper ul.cw-acc .cw-acc__button[aria-expanded="true"]::before, .calculator-wrapper ul.cw-acc .cw-acc__button[aria-expanded="true"]::before { content: '−'; background: #7ed9ff; color: #001823; } /* Single accordion: chevron via CSS aria-expanded — geen JS nodig */ .calculator-wrapper .cw-acc--single h3 { margin: 0; } .calculator-wrapper .cw-acc--single .cw-acc__button { display: inline-flex; align-items: center; gap: .5rem; background: none; border: none; cursor: pointer; font-family: inherit; font-size: 1rem; font-weight: 700; color: #001823; padding: .5rem 0; text-align: left; text-decoration: none; } /* Chevron SVG — omlaag bij dicht, omhoog bij open */ .calculator-wrapper #advancedChevron { transition: transform .2s ease; flex-shrink: 0; } .calculator-wrapper .cw-acc--single .cw-acc__button[aria-expanded="true"] #advancedChevron { transform: rotate(180deg); } /* ── Resultaat: kostenoverzicht tegels ── */ .calculator-wrapper .cw-criteria-title { font-weight: 700; font-size: .875rem; color: #687278; text-transform: uppercase; letter-spacing: .04em; margin: 1.5rem 0 .5rem; } .calculator-wrapper .cw-kosten-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.25rem; } @media (max-width: 32em) { .calculator-wrapper .cw-kosten-grid { grid-template-columns: 1fr 1fr; } } .calculator-wrapper .cw-kosten-tile { background: #f0f1f2; border-radius: 4px; padding: 1.125rem .875rem; text-align: center; } .calculator-wrapper .cw-kosten-tile.highlight { background: #e6f8ff; } .calculator-wrapper .cw-kosten-tile.positive { background: #e1fde1; } .calculator-wrapper .cw-kosten-tile__val { font-size: 1.375rem; font-weight: 800; color: #005ba9; margin: 0 0 .25rem; line-height: 1.2; } .calculator-wrapper .cw-kosten-tile.positive .cw-kosten-tile__val { color: #2c8726; } .calculator-wrapper .cw-kosten-tile__lbl { font-size: .8125rem; color: #687278; margin: 0; line-height: 1.4; } .calculator-wrapper .cw-result-section { font-weight: 700; font-size: 1rem; color: #001823; margin: 1.5rem 0 .75rem; padding-bottom: .375rem; border-bottom: 2px solid #e6e8ea; } /* ── Onthardingspercentage feedback-balk ── */ .calculator-wrapper .cw-optional { font-size: .8125rem; font-weight: 400; color: #687278; } .calculator-wrapper .cw-pct-bar-wrap { background: #f0f1f2; border-radius: 4px; padding: 1rem 1.125rem; } .calculator-wrapper .cw-pct-bar-labels { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .625rem; } .calculator-wrapper .cw-pct-bar-label { font-size: .875rem; font-weight: 600; color: #001823; } .calculator-wrapper .cw-pct-bar-value { font-size: 1.375rem; font-weight: 800; color: #005ba9; transition: color .2s; } .calculator-wrapper .cw-pct-bar-value.ok { color: #2c8726; } .calculator-wrapper .cw-pct-bar-value.nok { color: #ea0d33; } /* Balk-track: extra padding-bottom zodat het min-label onder de balk past zonder over de helptext te vallen */ .calculator-wrapper .cw-pct-bar-track { position: relative; height: .625rem; background: #dde1e4; border-radius: 3px; overflow: visible; margin-bottom: 1.75rem; } .calculator-wrapper .cw-pct-bar-fill { height: 100%; border-radius: 3px; width: 0; background: #005ba9; transition: width .3s ease, background .2s; position: relative; z-index: 1; } .calculator-wrapper .cw-pct-bar-fill.ok { background: #2c8726; } .calculator-wrapper .cw-pct-bar-fill.nok { background: #ea0d33; } /* Min-markering: label staat ONDER de balk, binnen de margin-bottom ruimte */ .calculator-wrapper .cw-pct-bar-min { position: absolute; top: -3px; bottom: -3px; width: 2px; background: #687278; border-radius: 1px; z-index: 2; } .calculator-wrapper .cw-pct-bar-min::after { content: attr(data-label); position: absolute; top: calc(100% + 4px); left: 50%; transform: translateX(-50%); font-size: .6875rem; color: #687278; white-space: nowrap; background: #f0f1f2; padding: 0 2px; } /* Status-meldingen: stijlgids error/status component patroon */ .calculator-wrapper .cw-pct-messages { margin-top: .625rem; } .calculator-wrapper .cw-pct-msg { display: flex; align-items: flex-start; gap: .625rem; padding: .75rem 1rem; border-radius: 2px; margin-bottom: .375rem; font-size: .875rem; line-height: 1.5; } .calculator-wrapper .cw-pct-msg:last-child { margin-bottom: 0; } .calculator-wrapper .cw-pct-msg.ok { background: #e1fde1; border-left: 3px solid #2c8726; color: #001823; } .calculator-wrapper .cw-pct-msg.nok { background: #ffe8ec; border-left: 3px solid #ea0d33; color: #001823; } .calculator-wrapper .cw-pct-msg__icon { flex-shrink: 0; width: 1.25rem; height: 1.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 800; margin-top: .1rem; } .calculator-wrapper .cw-pct-msg.ok .cw-pct-msg__icon { background: #2c8726; color: #fff; } .calculator-wrapper .cw-pct-msg.nok .cw-pct-msg__icon { background: #ea0d33; color: #fff; } </style> <div class="calculator-wrapper"> <!-- Stappenbalk: form-steps (stijlgids) --> <nav class="form-steps" id="cwFormSteps" aria-labelledby="cwFormStepsTitle"> <h2 id="cwFormStepsTitle" class="visually-hidden">Stappen in deze calculator</h2> <ol class="form-steps-list" id="cwStepsList"> <li class="active" id="stepLi1"><span><span>Wie ben je?</span></span></li> <li class="" id="stepLi2"><span><span>Je project</span></span></li> <li class="" id="stepLi3"><span><span>Resultaat</span></span></li> </ol> </nav> <!-- form-content: alle stap-panelen --> <div class="form-content"> <!-- ══ STAP 1 — WIE BEN JE? ══════════════════════════════════════════ --> <div class="cw-panel is-active" id="panel1"> <h2 class="cw-title">Bereken je subsidie</h2> <p class="cw-lead">Kies je type organisatie en zie meteen hoeveel je krijgt voor het ontharden en vergroenen van buitenruimte. Je kunt tot 50.000 euro subsidie krijgen. </p> <p class="cw-section" role="heading" aria-level="3">Voor wie is dit?</p> <div class="dg-grid" role="group" aria-label="Kies je doelgroep"> <button type="button" class="dg-card" data-dg="kmo"> <span class="dg-card__icon" aria-hidden="true">🏭</span> <span class="dg-card__label">Bedrijf / KMO</span> <span class="dg-card__sub">Tot 250 werknemers</span> </button> <button type="button" class="dg-card" data-dg="bedrijventerrein"> <span class="dg-card__icon" aria-hidden="true">🏗️</span> <span class="dg-card__label">Bedrijventerrein</span> <span class="dg-card__sub">Beheerder van een terrein</span> </button> <button type="button" class="dg-card" data-dg="zorg"> <span class="dg-card__icon" aria-hidden="true">🏥</span> <span class="dg-card__label">Zorginstelling</span> <span class="dg-card__sub">WZC, ziekenhuis, kinderopvang</span> </button> <button type="button" class="dg-card" data-dg="vme"> <span class="dg-card__icon" aria-hidden="true">🏢</span> <span class="dg-card__label">VME / Syndicus</span> <span class="dg-card__sub">Of wooncoöperatie</span> </button> </div> <div class="dg-hint" id="dgHint" role="note"> <strong id="dgHintTitle"></strong> <span id="dgHintText"></span> </div> <div class="form-actions"> <button type="button" class="button button-primary icon-arrow-right" id="toStep2" disabled> Verder — je project </button> </div> </div> <!-- ══ STAP 2 — JE PROJECT ══════════════════════════════════════════ --> <div class="cw-panel" id="panel2"> <!-- Floating scoreboard --> <div class="cw-live-status" id="liveStatus" role="status" aria-live="polite" aria-atomic="false"> <div class="cw-score-row"> <!-- Ring-progress --> <svg class="cw-score-ring" viewBox="0 0 20 20" aria-hidden="true"> <circle class="cw-score-ring__bg" cx="10" cy="10" r="9"/> <circle class="cw-score-ring__fill" id="scoreRingFill" cx="10" cy="10" r="9"/> </svg> <!-- Teller --> <div class="cw-score-teller"> <span class="cw-score-teller__num"><span id="scoreNum">0</span>/4</span> <span class="cw-score-teller__lbl">voorwaarden<br>OK</span> </div> <!-- Chips --> <div class="cw-score-chips" id="scoreChips"> <span class="cw-chip pending" id="chip0"> <span class="cw-chip__icon" aria-hidden="true">○</span> <span class="cw-chip__text">% ontharding</span> </span> <span class="cw-chip pending" id="chip1"> <span class="cw-chip__icon" aria-hidden="true">○</span> <span class="cw-chip__text">50 m²</span> </span> <span class="cw-chip pending" id="chip2"> <span class="cw-chip__icon" aria-hidden="true">○</span> <span class="cw-chip__text">Bomen</span> </span> <span class="cw-chip pending" id="chip3"> <span class="cw-chip__icon" aria-hidden="true">○</span> <span class="cw-chip__text">Kosten</span> </span> </div> </div> </div> <form id="calcForm" novalidate> <p class="cw-section" role="heading" aria-level="3">Je site</p> <!-- Totale buitenruimte --> <div class="cw-field"> <label class="cw-label" for="totOpp">Totale buitenruimte</label> <div style="display:flex; gap:.75rem; align-items:center; margin-top:.375rem"> <input type="number" id="totOpp" class="cw-number" min="50" max="50000" step="1" value="600" aria-describedby="totOppHint" style="width:8rem" /> <span class="cw-unit">m²</span> </div> <div class="cw-err" id="totOpp-err"></div> <span class="cw-hint" id="totOppHint">De totale aanwezige verharde buitenruimte op je site.</span> </div> <!-- Functionele verharding --> <div class="cw-field" id="mFunctField"> <label class="cw-label" for="mFunct">Functionele verharding</label> <div style="display:flex; gap:.75rem; align-items:center; margin-top:.375rem"> <input type="number" id="mFunct" class="cw-number" min="0" max="4999" step="1" value="150" aria-describedby="mFunctHint" style="width:8rem" /> <span class="cw-unit">m²</span> </div> <div class="cw-err" id="mFunct-err"></div> <span class="cw-hint" id="mFunctHint">Laad- en loszones, manoeuvreerruimte en opslagzones tellen als functioneel. Parkeerplaatsen <strong>niet</strong>.</span> </div> <p class="cw-section" role="heading" aria-level="3">Je maatregelen</p> <!-- Ontharding m² --> <div class="cw-field"> <label class="cw-label" for="mOnth">Hoeveel wil je ontharden en vervangen door groen?</label> <div style="display:flex; gap:.75rem; align-items:center; margin-top:.375rem"> <input type="number" id="mOnth" class="cw-number" min="0" max="50000" step="1" value="180" aria-describedby="mOnthHint" style="width:8rem" /> <span class="cw-unit">m²</span> </div> <div class="cw-err" id="mOnth-err"></div> <span class="cw-hint" id="mOnthHint">Maximum: de niet-functionele oppervlakte (<span id="cHint">450</span> m²). Halfdoorlatende verharding telt <strong>niet</strong> mee.</span> </div> <!-- Waterdoorlatende verharding --> <div class="cw-field"> <label class="cw-label" for="mWaterdoorl">Hoeveel wil je ontharden en vervangen door waterdoorlatende verharding? <span class="cw-optional">(optioneel)</span></label> <div style="display:flex; gap:.75rem; align-items:center; margin-top:.375rem"> <input type="number" id="mWaterdoorl" class="cw-number" min="0" max="50000" step="1" value="0" aria-describedby="mWaterdoorlHint" style="width:8rem" /> <span class="cw-unit">m²</span> </div> <div class="cw-err" id="mWaterdoorl-err"></div> <span class="cw-hint" id="mWaterdoorlHint">Telt voor 50 % mee in het onthardingspercentage. Materiaalkosten zijn niet subsidieerbaar.</span> </div> <!-- Live onthardingspercentage feedback --> <div class="cw-field" id="onthPctFeedback"> <div class="cw-pct-bar-wrap" aria-live="polite" aria-atomic="true"> <div class="cw-pct-bar-labels"> <span class="cw-pct-bar-label">Effectief onthardingspercentage</span> <span class="cw-pct-bar-value" id="onthPctValue">–</span> </div> <div class="cw-pct-bar-track" role="img" aria-label="Onthardingspercentage balk"> <div class="cw-pct-bar-fill" id="onthPctFill"></div> <div class="cw-pct-bar-min" id="onthPctMin"></div> </div> <div class="cw-pct-messages" id="onthPctStatus"></div> </div> </div> <!-- Bomen --> <div class="cw-field"> <label class="cw-label" for="nBomen"> Aantal nieuwe bomen <span class="cw-label-val" id="nBomenLbl">4</span> </label> <input type="range" id="nBomen" min="0" max="60" step="1" value="4" aria-describedby="nBomenHint" /> <div class="range-ticks"><span>0</span><span>60</span></div> <span class="cw-hint" id="nBomenHint">Minimum 1 boom, plus 1 extra per begonnen 50 m² die je onthardt.</span> </div> <!-- Gevelgroen --> <div class="cw-field"> <label class="cw-label" for="mGevel"> Gevelgroen <span class="cw-label-val" aria-live="polite" aria-atomic="true"><span id="mGevelLbl">0</span> m</span> </label> <input type="range" id="mGevel" min="0" max="150" step="2" value="0" aria-describedby="mGevelHint" /> <div class="range-ticks"><span>0 m</span><span>150 m</span></div> <span class="cw-hint" id="mGevelHint">Grondgebonden klimplanten met draagstructuur. Min. 2 planten per strekkende meter. Niet verplicht, maar subsidieerbaar.</span> </div> <!-- Extra opties --> <fieldset class="form-item"> <legend><span class="legend-title">Extra opties</span></legend> <div class="form-item"> <div class="form-columns"> <div class="form-item-column"> <div class="checkbox"> <input type="checkbox" id="heeftPlan" name="heeftPlan" class="checkbox" /> <label for="heeftPlan">Beplantingsplan door een tuin- of landschapsarchitect</label> </div> <div class="checkbox"> <input type="checkbox" id="socialeEco" name="socialeEco" class="checkbox" /> <label for="socialeEco">Samenwerking met de sociale economie of vrijwilligers <span class="cw-tag">+subsidie</span></label> </div> <span class="cw-hint">Werk je samen met de sociale economie? Dan krijg je 70 % in plaats van 50 % subsidie, en ligt de minimumdrempel op 8.572 euro.</span> </div> <div class="form-item-column"></div> </div> </div> </fieldset> <!-- Geavanceerde instellingen: single accordion (stijlgids) --> <div class="cw-acc cw-acc--single" id="advancedAccordion"> <h3> <button class="cw-acc__button" id="advancedToggle" aria-expanded="false" aria-controls="advancedPanel"> Ik heb al offertes — kostprijzen aanpassen <svg id="advancedChevron" aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 16 16" style="display:inline-block;vertical-align:middle;margin-left:.375rem;transition:transform .2s ease;flex-shrink:0"> <polyline points="3,5 8,11 13,5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg> </button> </h3> <div class="cw-acc__content" id="advancedPanel"> <p style="font-size:.8125rem;color:#687278;margin-bottom:1rem">Standaard rekenen we met richtprijzen van de Stad Gent. Pas aan op basis van je eigen offertes.</p> <div class="cw-cost-grid"> <div class="cw-field" style="margin-bottom:0"> <label class="cw-label" for="kOnthM2" style="font-size:.875rem">Ontharding + aanleg</label> <div class="cw-number-row"> <input type="number" id="kOnthM2" class="cw-number" min="20" max="250" step="1" value="55" /> <span class="cw-unit">€ / m²</span> </div> <div class="cw-err" id="kOnthM2-err"></div> </div> <div class="cw-field" style="margin-bottom:0"> <label class="cw-label" for="kBoom" style="font-size:.875rem">Boom (aankoop + aanplant)</label> <div class="cw-number-row"> <input type="number" id="kBoom" class="cw-number" min="100" max="2500" step="10" value="350" /> <span class="cw-unit">€ / boom</span> </div> <div class="cw-err" id="kBoom-err"></div> </div> <div class="cw-field" style="margin-bottom:0"> <label class="cw-label" for="kGevelM" style="font-size:.875rem">Gevelgroen (plant + structuur)</label> <div class="cw-number-row"> <input type="number" id="kGevelM" class="cw-number" min="30" max="300" step="5" value="80" /> <span class="cw-unit">€ / m</span> </div> <div class="cw-err" id="kGevelM-err"></div> </div> <div class="cw-field" style="margin-bottom:0"> <label class="cw-label" for="kOnthOnly" style="font-size:.875rem">Ontharding alleen (zonder aanleg groen)</label> <div class="cw-number-row"> <input type="number" id="kOnthOnly" class="cw-number" min="0" max="250" step="1" value="20" /> <span class="cw-unit">€ / m²</span> </div> <span class="cw-hint" style="font-size:.8125rem;color:#687278;display:block;margin-top:.25rem">Kostprijs voor oppervlakte die wordt onthard en vervangen door waterdoorlatende verharding.</span> </div> <div class="cw-field" style="margin-bottom:0"> <label class="cw-label" for="kVoorafgaand" style="font-size:.875rem">Voorafgaand onderzoek</label> <div class="cw-number-row"> <input type="number" id="kVoorafgaand" class="cw-number" min="0" max="50000" step="100" value="0" /> <span class="cw-unit">€</span> </div> </div> </div> </div> </div><!-- /advancedAccordion --> <div class="form-actions"> <button type="submit" class="button button-primary icon-arrow-right">Bereken mijn subsidie</button> <button type="button" class="button button-secondary icon-arrow-left icon-left" id="toStep1Back">Terug</button> </div> </form> </div> <!-- ══ STAP 3 — RESULTAAT ══════════════════════════════════════════ --> <div class="cw-panel" id="panel3" aria-live="polite"> <!-- Subsidie hero --> <div class="cw-result-hero" id="resultHero"> <p class="cw-result-hero__label" id="resultHeroLabel">Jouw subsidie van de Stad Gent</p> <p class="cw-result-hero__value" id="subsidieOut">–</p> <p class="cw-result-hero__sub" id="subsidieCtx">–</p> </div> <!-- Actietip (enkel bij niet-ontvankelijk) --> <div class="cw-tip is-hidden" id="actionTip"> <strong>Wat moet je aanpassen?</strong> <p style="margin:.375rem 0 0" id="actionTipText"></p> </div> <!-- Ontvankelijkheidscriteria --> <p class="cw-criteria-title">Ontvankelijkheid</p> <ul class="cw-criteria" id="criteriaBadges" aria-label="Ontvankelijkheidscontrole"></ul> <!-- Kostenoverzicht (enkel bij ontvankelijk) --> <div id="kostenBlock" class="is-hidden"> <p class="cw-result-section">Kostenoverzicht</p> <div class="cw-kosten-grid" id="kostenGrid"></div> <ul class="cw-list" id="kostenLijst"></ul> </div> <!-- Federale investeringsaftrek --> <div class="cw-info is-hidden" id="invAftrekTip"> <p style="margin:0">💡 <strong>Federale investeringsaftrek (40 %)</strong> — Bij minstens 50 % ontharding van je vestiging kun je ook een federale investeringsaftrek aanvragen. Dat kan voordeliger zijn dan de stadssubsidie bij projectkosten boven 50.000 euro. Vraag het aan je boekhouder.</p> </div> <!-- Accordions: klimaat + methodologie --> <ul class="cw-acc cw-acc--multi" id="resultAccordion"> <li> <h3> <button class="cw-acc__button" aria-expanded="false" aria-controls="detailKlimaat">Impact op het klimaat</button> </h3> <div class="cw-acc__content" id="detailKlimaat"> <div class="cw-klimaat" id="klimaatGrid"></div> </div> </li> <li> <h3> <button class="cw-acc__button" aria-expanded="false" aria-controls="detailMethodo">Over de berekening</button> </h3> <div class="cw-acc__content" id="detailMethodo"> <div class="cw-info"> <p>Alle bedragen zijn indicatief. Definitieve bedragen hangen af van de beoordeling door de dienst Milieu en Klimaat en goedkeuring van het college. Zolang de voorraad strekt.</p> </div> </div> </li> </ul> <div class="form-actions" style="margin-top:1.5rem"> <button type="button" class="button button-secondary icon-arrow-left icon-left" id="backToStep2">Parameters aanpassen</button> <a href="#" class="standalone-link refresh" id="resetCalc">Opnieuw berekenen</a> </div> </div><!-- /calculator-wrapper --> <script> (function () { 'use strict'; /* ── CONSTANTEN ──────────────────────────────────────────── */ var DG = { kmo: { label: 'Bedrijf / KMO', hint: 'Je hebt tot 250 werknemers. Combineer deze subsidie met de Ecoboostlening (15.000–150.000 euro, 3 %).', functHint: 'Laad- en loszones, manoeuvreerruimte en opslagzones tellen als functioneel. Die sluiten we uit van de berekening.', werkLabel: 'Aantal werknemers', minPct: 30, roiItems: ['cooling','water','personeel','esrs'] }, bedrijventerrein: { label: 'Bedrijventerrein', hint: 'Je beheert een bedrijventerrein buiten het afgebakende zeehavengebied.', functHint: 'Laad- en loszones, circulatieruimte en opslagruimte tellen als functioneel. Die sluiten we uit van de berekening.', werkLabel: 'Aantal werknemers', minPct: 30, roiItems: ['cooling','water','personeel','aantrekkelijkheid'] }, zorg: { label: 'Zorginstelling', hint: 'Je bent een WZC, ziekenhuis of kinderopvang. Combineer met VIPA-subsidies — tot 100 % bij welzijnslink.', functHint: 'Toegangspaden voor rolstoelen en ambulances, en nooduitgangen tellen als functioneel.', werkLabel: 'Aantal medewerkers', minPct: 30, roiItems: ['cooling','water','welzijn','personeel','vipa'] }, vme: { label: 'VME / Syndicus / Wooncoöperatie', hint: 'Je bent een VME, syndicus of wooncoöperatie. Je hebt 2 jaar om het project uit te voeren. Verlenging is mogelijk.', functHint: 'Gemeenschappelijke circulatieruimte en toegangspaden kunnen functioneel zijn. Check dit bij twijfel.', werkLabel: 'Aantal bewoners of appartementen', minPct: 30, roiItems: ['cooling','water','wooncomfort','sociaal'] } }; var ROI_LABELS = { cooling: { label: 'Besparing op koeling', per: '/ jaar' }, water: { label: 'Water & riolering', per: '/ jaar' }, personeel: { label: 'Productiviteit & retentie personeel', per: '/ jaar' }, esrs: { label: 'CSRD/ESG-rapportwaarde', per: '/ jaar' }, welzijn: { label: 'Welzijn bewoners & patiënten', per: '/ jaar' }, vipa: { label: 'VIPA-synergie', per: 'project' }, aantrekkelijkheid: { label: 'Aantrekkelijkheid voor bedrijven',per: '/ jaar' }, wooncomfort: { label: 'Wooncomfort & leefkwaliteit', per: '/ jaar' }, sociaal: { label: 'Sociale meerwaarde omgeving', per: '/ jaar' } }; /* ── OPMAAK ──────────────────────────────────────────────── */ var fmtN = function(n) { return new Intl.NumberFormat('nl-BE').format(Math.round(n)); }; var fmtE = function(n) { return '\u20ac\u00a0' + fmtN(n); }; var fmtD = function(n) { return new Intl.NumberFormat('nl-BE',{minimumFractionDigits:1,maximumFractionDigits:1}).format(n); }; /* ── STATE ───────────────────────────────────────────────── */ var currentDg = null; var currentStep = 1; /* ── DOM ─────────────────────────────────────────────────── */ var form = document.getElementById('calcForm'); var resetBtn = document.getElementById('resetCalc'); /* ── STAPPEN ─────────────────────────────────────────────── */ function goToStep(n) { for (var i = 1; i <= 3; i++) { document.getElementById('panel' + i).classList.toggle('is-active', i === n); var li = document.getElementById('stepLi' + i); if (li) { li.className = i === n ? 'active' : (i < n ? 'completed' : ''); } } if (n === 2) { updateCHint(); updateOnthPct(); } currentStep = n; document.querySelector('.calculator-wrapper').scrollIntoView({ behavior: 'smooth', block: 'start' }); } /* ── STAP 1: DOELGROEP ───────────────────────────────────── */ document.querySelectorAll('.dg-card').forEach(function(card) { card.addEventListener('click', function() { document.querySelectorAll('.dg-card').forEach(function(c) { c.classList.remove('is-selected'); }); card.classList.add('is-selected'); currentDg = card.getAttribute('data-dg'); var cfg = DG[currentDg]; var hint = document.getElementById('dgHint'); document.getElementById('dgHintTitle').textContent = cfg.label + ' — '; document.getElementById('dgHintText').textContent = cfg.hint; hint.classList.add('is-visible'); // Update functionele verharding hint document.getElementById('functHelp') && (document.getElementById('functHelp').textContent = cfg.functHint); document.getElementById('toStep2').disabled = false; }); }); document.getElementById('toStep2').addEventListener('click', function() { if (!currentDg) return; updateLiveStatus(); goToStep(2); }); document.getElementById('toStep1Back').addEventListener('click', function() { goToStep(1); }); /* ── STAP 2: LIVE STATUS ─────────────────────────────────── */ function getInputs() { return { dg: currentDg, totOpp: parseFloat(document.getElementById('totOpp').value) || 0, mFunct: parseFloat(document.getElementById('mFunct').value) || 0, mOnth: parseFloat(document.getElementById('mOnth').value) || 0, mWaterdoorl: parseFloat(document.getElementById('mWaterdoorl').value) || 0, nBomen: parseInt(document.getElementById('nBomen').value, 10) || 0, mGevel: parseFloat(document.getElementById('mGevel').value) || 0, heeftPlan: document.getElementById('heeftPlan').checked, socialeEco: document.getElementById('socialeEco').checked, kOnthM2: parseFloat(document.getElementById('kOnthM2').value) || 55, kBoom: parseFloat(document.getElementById('kBoom').value) || 350, kGevelM: parseFloat(document.getElementById('kGevelM').value) || 80, kOnthOnly: parseFloat(document.getElementById('kOnthOnly').value) || 20, kVoorafgaand:parseFloat(document.getElementById('kVoorafgaand').value)|| 0 }; } function calcLive(i) { if (!i.dg) return null; var cfg = DG[i.dg]; // A = totOpp, B = mFunct, C = niet-functionele opp. var mFunctSafe = Math.min(i.mFunct, i.totOpp - 1); var C = i.totOpp - mFunctSafe; var D = Math.min(i.mOnth, C); // ontharden + vergroenen var E = i.nBomen > 0 ? i.mWaterdoorl : 0; var G = Math.min(D + E / 2, C); // G = D + E/2 var normPct = C > 0 ? (G / C) * 100 : 0; // G/C var bNorm = Math.max(1, Math.ceil(D / 50)); // 1 boom per 50 m² onthard+vergroend var minKost = i.socialeEco ? 8572 : 12000; var kGroen = D * i.kOnthM2; // ontharden + aanleg groen var kWater = (i.mWaterdoorl || 0) * (i.kOnthOnly || 20); // ontharden zonder aanleg var kBoom = i.nBomen * i.kBoom; var kGevel = i.mGevel * i.kGevelM; var kPlan = i.heeftPlan ? 1200 : 0; var kOnderzoek = i.kVoorafgaand || 0; var totK = kGroen + kWater + kBoom + kGevel + kPlan + kOnderzoek; return { okPct: normPct >= cfg.minPct, okM2: G >= 50, // minstens 50 m² effectief onthard (G) okBomen: i.nBomen >= bNorm, okKost: totK >= minKost, normPct: normPct, onthOpp: D, G: G, C: C, bNorm: bNorm, totK: totK, minKost: minKost }; } function updateLiveStatus() { var inp = getInputs(); var r = calcLive(inp); if (!r) return; var states = [r.okPct, r.okM2, r.okBomen, r.okKost]; var labels = [ (r.normPct ? fmtD(r.normPct) + ' %' : '–') + ' onthard', (r.G ? fmtN(r.G) + ' m²' : '–'), (inp.nBomen || '0') + ' boom/bomen', r.totK ? fmtE(r.totK) : '–' ]; var okCount = states.filter(Boolean).length; var allOk = okCount === 4; // Chips bijwerken states.forEach(function(ok, idx) { var chip = document.getElementById('chip' + idx); if (!chip) return; chip.className = 'cw-chip ' + (ok ? 'ok' : (r.totK !== undefined ? 'nok' : 'pending')); var icon = chip.querySelector('.cw-chip__icon'); var text = chip.querySelector('.cw-chip__text'); if (icon) icon.textContent = ok ? '✓' : (r.totK !== undefined ? '✗' : '○'); if (text) text.textContent = labels[idx]; }); // Teller var numEl = document.getElementById('scoreNum'); if (numEl) numEl.textContent = okCount; // Ring-progress: stroke-dashoffset = 56.5 × (1 - okCount/4) var ring = document.getElementById('scoreRingFill'); if (ring) { var offset = 56.5 * (1 - okCount / 4); ring.style.strokeDashoffset = offset; ring.setAttribute('class', 'cw-score-ring__fill' + (allOk ? ' all-ok' : '')); } // Toegankelijkheid: live region tekst var status = document.getElementById('liveStatus'); if (status) { status.setAttribute('aria-label', allOk ? 'Alle 4 voorwaarden OK. Klik op berekenen.' : okCount + ' van 4 voorwaarden OK.' ); } } // Bind alle sliders aan live update ['nBomen','mGevel'].forEach(function(id) { var el = document.getElementById(id); var lbl = document.getElementById(id + 'Lbl'); el.addEventListener('input', function() { if (lbl) { lbl.textContent = this.value; } updateLiveStatus(); }); }); // Live validatie functionele verharding // Live validatie totale buitenruimte // Bereken C en update alle live-feedback in stap 2 function getC() { var A = parseFloat(document.getElementById('totOpp').value) || 0; var B = parseFloat(document.getElementById('mFunct').value) || 0; return Math.max(0, A - Math.min(B, A - 1)); } function updateCHint() { var C = getC(); var el = document.getElementById('cHint'); if (el) el.textContent = new Intl.NumberFormat('nl-BE').format(Math.round(C)); updateOnthPct(); } function updateOnthPct() { var C = getC(); var D = parseFloat(document.getElementById('mOnth').value) || 0; var E = parseFloat(document.getElementById('mWaterdoorl').value) || 0; var G = Math.min(D + E / 2, C); // G = D + E/2, max C var pct = C > 0 ? (G / C) * 100 : 0; var cfg = typeof currentDg !== 'undefined' && currentDg ? DG[currentDg] : null; var minPct = cfg ? cfg.minPct : 30; var minM2 = Math.ceil((minPct / 100) * C); // absolute drempel in m² var pctOk = pct >= minPct; var m2Ok = G >= 50; var allOk = pctOk && m2Ok; var fmt1 = function(n) { return new Intl.NumberFormat('nl-BE', {minimumFractionDigits:1, maximumFractionDigits:1}).format(n); }; var fmtN = function(n) { return new Intl.NumberFormat('nl-BE').format(Math.round(n)); }; // Percentage waarde + kleur var valEl = document.getElementById('onthPctValue'); if (valEl) { valEl.textContent = C > 0 ? fmt1(pct) + '\u00a0%' : '\u2013'; valEl.className = 'cw-pct-bar-value' + (C > 0 ? (allOk ? ' ok' : ' nok') : ''); } // Balk var fillEl = document.getElementById('onthPctFill'); if (fillEl) { fillEl.style.width = Math.min(pct, 100) + '%'; fillEl.className = 'cw-pct-bar-fill' + (C > 0 ? (allOk ? ' ok' : ' nok') : ''); } // Min-markering op de correcte positie (minPct% van de balkbreedte) var minEl = document.getElementById('onthPctMin'); if (minEl) { minEl.style.left = minPct + '%'; minEl.setAttribute('data-label', 'min. ' + minPct + '\u00a0% = ' + fmtN(minM2) + '\u00a0m\u00b2'); } // Statusberichten: stijlgids message-cards var statusEl = document.getElementById('onthPctStatus'); if (statusEl) { statusEl.innerHTML = ''; if (C > 0) { function makeMsg(isOk, text) { var div = document.createElement('div'); div.className = 'cw-pct-msg ' + (isOk ? 'ok' : 'nok'); var icon = document.createElement('span'); icon.className = 'cw-pct-msg__icon'; icon.textContent = isOk ? '\u2713' : '\u2717'; icon.setAttribute('aria-hidden', 'true'); var txt = document.createElement('span'); txt.textContent = text; div.appendChild(icon); div.appendChild(txt); statusEl.appendChild(div); } // Check 1: minimumpercentage (30% van C) if (!pctOk) { var nogM2 = Math.ceil(minM2 - G); makeMsg(false, 'Minimum is ' + minPct + '\u00a0% van de niet-functionele oppervlakte' + ' (' + fmtN(minM2) + '\u00a0m\u00b2). Onthard nog ca.\u00a0' + fmtN(nogM2) + '\u00a0m\u00b2 extra.'); } // Check 2: absolute minimum 50 m² if (!m2Ok) { makeMsg(false, 'Minimum is 50\u00a0m\u00b2 effectief onthard (nu ' + fmtN(G) + '\u00a0m\u00b2).'); } // Alles OK if (pctOk && m2Ok) { makeMsg(true, 'Je voldoet aan het minimum van ' + minPct + '\u00a0% (' + fmtN(minM2) + '\u00a0m\u00b2) en minstens 50\u00a0m\u00b2.'); } } } updateLiveStatus(); } document.getElementById('totOpp').addEventListener('input', function() { var val = parseFloat(this.value) || 0; updateCHint(); updateOnthPct(); var errEl = document.getElementById('totOpp-err'); if (val < 50) { errEl.textContent = 'Voer minimaal 50 m\u00b2 in.'; errEl.classList.add('is-visible'); } else { errEl.textContent = ''; errEl.classList.remove('is-visible'); } updateLiveStatus(); }); // mOnth listener document.getElementById('mOnth').addEventListener('input', function() { var D = parseFloat(this.value) || 0; var E = parseFloat(document.getElementById('mWaterdoorl').value) || 0; var C = getC(); var fmtN = function(n) { return new Intl.NumberFormat('nl-BE').format(Math.round(n)); }; var errEl = document.getElementById('mOnth-err'); if (C > 0 && (D + E) > C) { errEl.textContent = 'De som van vergroening (' + fmtN(D) + '\u00a0m\u00b2) en waterdoorlatende verharding (' + fmtN(E) + '\u00a0m\u00b2) mag niet groter zijn dan de niet-functionele buitenruimte (' + fmtN(C) + '\u00a0m\u00b2).'; errEl.classList.add('is-visible'); } else { errEl.textContent = ''; errEl.classList.remove('is-visible'); } updateOnthPct(); }); // mWaterdoorl listener document.getElementById('mWaterdoorl').addEventListener('input', function() { var E = parseFloat(this.value) || 0; var D = parseFloat(document.getElementById('mOnth').value) || 0; var C = getC(); var errEl = document.getElementById('mWaterdoorl-err'); var fmtN = function(n) { return new Intl.NumberFormat('nl-BE').format(Math.round(n)); }; // Controle: D + E mag de niet-functionele buitenruimte (C) niet overschrijden if (C > 0 && (D + E) > C) { errEl.textContent = 'De som van vergroening (' + fmtN(D) + '\u00a0m\u00b2) en waterdoorlatende verharding (' + fmtN(E) + '\u00a0m\u00b2) mag niet groter zijn dan de niet-functionele buitenruimte (' + fmtN(C) + '\u00a0m\u00b2).'; errEl.classList.add('is-visible'); } else { errEl.textContent = ''; errEl.classList.remove('is-visible'); } updateOnthPct(); }); document.getElementById('mFunct').addEventListener('input', function() { updateCHint(); var mFunct = parseFloat(this.value) || 0; var totOpp = parseFloat(document.getElementById('totOpp').value) || 0; var errEl = document.getElementById('mFunct-err'); if (mFunct >= totOpp) { errEl.textContent = 'De functionele verharding moet kleiner zijn dan de totale buitenruimte (' + totOpp + ' m²).'; errEl.classList.add('is-visible'); } else { errEl.textContent = ''; errEl.classList.remove('is-visible'); } updateLiveStatus(); }); ['kOnthM2','kBoom','kGevelM','kOnthOnly','kVoorafgaand','heeftPlan','socialeEco'].forEach(function(id) { var el = document.getElementById(id); if (el) el.addEventListener('change', updateLiveStatus); }); /* ── GEAVANCEERDE INSTELLINGEN ───────────────────────────── */ // Beide accordions één keer initialiseren bij load (data-attribuut voorkomt dubbele init) initAccordion(document.getElementById('advancedAccordion')); initAccordion(document.getElementById('resultAccordion')); // Chevron SVG roteert via CSS selector [aria-expanded="true"] — geen JS nodig /* ── BEREKENING ──────────────────────────────────────────── */ function calc(i) { var cfg = DG[i.dg]; // G = D + E/2: ontharden+vergroenen + helft waterdoorlatend, max C var mFunctSafe = Math.min(i.mFunct, i.totOpp - 1); var C = i.totOpp - mFunctSafe; var D = Math.min(i.mOnth, C); // ontharden + vergroenen var E = i.nBomen > 0 ? i.mWaterdoorl : 0; var G = Math.min(D + E / 2, C); // G = D + E/2 var normPct = C > 0 ? (G / C) * 100 : 0; var bNorm = Math.max(1, Math.ceil(D / 50)); var minKost = i.socialeEco ? 8572 : 12000; var subRate = i.socialeEco ? 0.70 : 0.50; var kGroen = D * i.kOnthM2; // ontharden + aanleg groen var kWater = (i.mWaterdoorl || 0) * (i.kOnthOnly || 20); // ontharden zonder aanleg var kBoom = i.nBomen * i.kBoom; var kGevel = i.mGevel * i.kGevelM; var kPlan = i.heeftPlan ? 1200 : 0; var kOnderzoek = i.kVoorafgaand || 0; var totK = kGroen + kWater + kBoom + kGevel + kPlan + kOnderzoek; var okPct = normPct >= cfg.minPct; var okM2 = G >= 50; // minstens 50 m² effectief onthard var okBomen = i.nBomen >= bNorm; var okKost = totK >= minKost; var elig = okPct && okM2 && okBomen && okKost; var raw = totK * subRate; var sub = elig ? Math.min(50000, Math.max(6000, raw)) : 0; var eigen = totK - sub; var oppR = D + i.mWaterdoorl; var koel = oppR * 3.5; var water = oppR * 1.8; var bomenR = i.nBomen * 120; var prod = 0; var welz = 0; var woon = 0; var esrs = 0; var vipa = i.dg === 'zorg' ? 8000 : 0; var aantr = 0; var soc = 0; var vast = 0; var jaar = koel + water + bomenR + prod + welz + woon + esrs + aantr + soc; var tv = jaar > 0 ? eigen / jaar : null; var roi10 = jaar * 10 + vast - eigen; var pctTot = i.totOpp > 0 ? (G / i.totOpp) * 100 : 0; var invA = elig && normPct >= 50 && pctTot >= 50 && (i.dg === 'kmo' || i.dg === 'bedrijventerrein'); return { cfg:cfg, onthOpp:D, G:G, C:C, normPct:normPct, bNorm:bNorm, minKost:minKost, okPct:okPct, okM2:okM2, okBomen:okBomen, okKost:okKost, elig:elig, kGroen:kGroen, kWater:kWater, kBoom:kBoom, kGevel:kGevel, kPlan:kPlan, kOnderzoek:kOnderzoek, totK:totK, subRate:subRate, sub:sub, eigen:eigen, roiVals:{ cooling:koel, water:water, personeel:prod, esrs:esrs, welzijn:welz, vipa:vipa, aantrekkelijkheid:aantr, wooncomfort:woon, sociaal:soc }, jaar:jaar, tv:tv, roi10:roi10, vast:vast, co2:i.nBomen*20, schaduw:i.nBomen*25, invA:invA }; } /* ── VALIDATIE KOSTPRIJSVELDEN ───────────────────────────── */ function validateCosts(inp) { var ok = true; ['kOnthM2','kBoom','kGevelM'].forEach(function(id) { var errEl = document.getElementById(id + '-err'); if (!errEl) return; if (isNaN(inp[id]) || inp[id] <= 0) { errEl.textContent = 'Vul een getal in dat groter is dan 0.'; errEl.classList.add('is-visible'); ok = false; } else { errEl.textContent = ''; errEl.classList.remove('is-visible'); } }); // Valideer mOnth + mWaterdoorl ≤ C var mOnthVal = parseFloat(document.getElementById('mOnth').value) || 0; var mWatVal = parseFloat(document.getElementById('mWaterdoorl').value) || 0; var CVal = getC(); var mOnthErr = document.getElementById('mOnth-err'); var fmtNv = function(n) { return new Intl.NumberFormat('nl-BE').format(Math.round(n)); }; if (CVal > 0 && (mOnthVal + mWatVal) > CVal) { if (mOnthErr) { mOnthErr.textContent = 'De som van vergroening (' + fmtNv(mOnthVal) + '\u00a0m\u00b2) en waterdoorlatende verharding (' + fmtNv(mWatVal) + '\u00a0m\u00b2) mag niet groter zijn dan de niet-functionele buitenruimte (' + fmtNv(CVal) + '\u00a0m\u00b2).'; mOnthErr.classList.add('is-visible'); } ok = false; } return ok; } /* ── RENDER RESULTAAT ────────────────────────────────────── */ function render(r, i) { // Hero var hero = document.getElementById('resultHero'); if (r.elig) { hero.className = 'cw-result-hero'; document.getElementById('resultHeroLabel').textContent = 'Jouw subsidie van de Stad Gent'; document.getElementById('subsidieOut').textContent = fmtE(r.sub); document.getElementById('subsidieCtx').textContent = 'Jouw bijdrage: ' + fmtE(r.eigen) + '\u00a0\u00b7\u00a0Subsidietarief: ' + Math.round(r.subRate * 100) + '\u00a0%'; } else { hero.className = 'cw-result-hero nok'; document.getElementById('resultHeroLabel').textContent = 'Je project komt nog niet in aanmerking'; document.getElementById('subsidieOut').textContent = 'Pas je project aan'; document.getElementById('subsidieCtx').textContent = ''; } // Actietip var tipEl = document.getElementById('actionTip'); if (!r.elig) { var tips = []; if (!r.okPct) { var extraM2 = Math.ceil((r.cfg.minPct / 100) * r.C - r.G); tips.push('Verhoog de ontharding met ca.\u00a0' + fmtN(extraM2) + '\u00a0m\u00b2 extra.'); } if (!r.okM2) tips.push('Je onthardt effectief ' + fmtN(r.G) + '\u00a0m\u00b2. Dat is te weinig \u2014 het minimum is 50\u00a0m\u00b2.'); if (!r.okBomen) tips.push('Je hebt ' + (r.bNorm - i.nBomen) + ' extra bo' + (r.bNorm - i.nBomen > 1 ? 'men' : 'om') + ' nodig (minimum ' + r.bNorm + ').'); if (!r.okKost) tips.push('Je projectkost komt op ' + fmtE(r.totK) + '. Voeg ' + fmtE(r.minKost - r.totK) + ' extra maatregelen toe.'); document.getElementById('actionTipText').textContent = tips.join(' '); tipEl.classList.remove('is-hidden'); } else { tipEl.classList.add('is-hidden'); } // Criteria var crit = document.getElementById('criteriaBadges'); crit.innerHTML = ''; [ { ok:r.okPct, txt:'Min. ' + r.cfg.minPct + '\u00a0% ontharding (' + fmtD(r.normPct) + '\u00a0%)' }, { ok:r.okM2, txt:'Min. 50\u00a0m\u00b2 onthard (' + fmtN(r.G) + '\u00a0m\u00b2)' }, { ok:r.okBomen, txt:'Min. ' + r.bNorm + ' boom/bomen (' + i.nBomen + ')' }, { ok:r.okKost, txt:'Min. ' + fmtE(r.minKost) + ' kost (' + fmtE(r.totK) + ')' } ].forEach(function(c) { var li = document.createElement('li'); li.className = c.ok ? 'ok' : 'nok'; li.textContent = (c.ok ? '\u2713\u00a0' : '\u2717\u00a0') + c.txt; crit.appendChild(li); }); // Kostenoverzicht (enkel bij ontvankelijk) var kb = document.getElementById('kostenBlock'); if (r.elig) { kb.classList.remove('is-hidden'); var kg = document.getElementById('kostenGrid'); kg.innerHTML = ''; [ { lbl:'Totale projectkost', val:fmtE(r.totK), cls:'' }, { lbl:'Subsidie Stad Gent', val:fmtE(r.sub), cls:'positive' }, { lbl:'Jouw bijdrage', val:fmtE(r.eigen), cls:'highlight' } ].forEach(function(t) { var div = document.createElement('div'); div.className = 'cw-kosten-tile' + (t.cls ? ' ' + t.cls : ''); var vp = document.createElement('p'); vp.className = 'cw-kosten-tile__val'; vp.textContent = t.val; var lp = document.createElement('p'); lp.className = 'cw-kosten-tile__lbl'; lp.textContent = t.lbl; div.appendChild(vp); div.appendChild(lp); kg.appendChild(div); }); var kl = document.getElementById('kostenLijst'); kl.innerHTML = ''; [ { d:'Ontharden + aanleg groen (' + fmtN(r.onthOpp) + '\u00a0m\u00b2 \u00d7 ' + fmtE(i.kOnthM2) + ')', v:r.kGroen }, { d:'Ontharden + waterdoorlatend (' + fmtN(i.mWaterdoorl || 0) + '\u00a0m\u00b2 \u00d7 ' + fmtE(i.kOnthOnly || 20) + ')', v:r.kWater }, { d:'Voorafgaand onderzoek', v:r.kOnderzoek }, { d:'Bomen (' + i.nBomen + '\u00a0\u00d7\u00a0' + fmtE(i.kBoom) + ')', v:r.kBoom }, { d:'Gevelgroen (' + i.mGevel + '\u00a0m \u00d7\u00a0' + fmtE(i.kGevelM) + ')', v:r.kGevel }, { d:'Beplantingsplan (indicatief)', v:r.kPlan } ].forEach(function(row) { if (row.v === 0) return; var li = document.createElement('li'); li.className = 'cw-list__row'; var d = document.createElement('span'); d.className = 'cw-list__desc'; d.textContent = row.d; var v = document.createElement('span'); v.className = 'cw-list__val'; v.textContent = fmtE(row.v); li.appendChild(d); li.appendChild(v); kl.appendChild(li); }); } else { kb.classList.add('is-hidden'); } // Klimaatimpact var klimaatG = document.getElementById('klimaatGrid'); klimaatG.innerHTML = ''; [ { icon:'\uD83C\uDF33', lbl:'CO\u2082-opname per jaar', v:fmtN(r.co2) + '\u00a0kg/jr' }, { icon:'\uD83C\uDF21\uFE0F',lbl:'Ontharde oppervlakte', v:fmtN(r.onthOpp) + '\u00a0m\u00b2'}, { icon:'\u2602\uFE0F', lbl:'Schaduw door bomen', v:fmtN(r.schaduw) + '\u00a0m\u00b2'} ].forEach(function(km) { var kc = document.createElement('div'); kc.className = 'cw-klimaat__card'; var ki = document.createElement('div'); ki.className = 'cw-klimaat__icon'; ki.setAttribute('aria-hidden','true'); ki.textContent = km.icon; var kv = document.createElement('div'); kv.className = 'cw-klimaat__val'; kv.textContent = km.v; var kl = document.createElement('div'); kl.className = 'cw-klimaat__lbl'; kl.textContent = km.lbl; kc.appendChild(ki); kc.appendChild(kv); kc.appendChild(kl); klimaatG.appendChild(kc); }); // Investeringsaftrek document.getElementById('invAftrekTip').classList.toggle('is-hidden', !r.invA); } /* ── FORM SUBMIT ─────────────────────────────────────────── */ form.addEventListener('submit', function(e) { e.preventDefault(); var inp = getInputs(); if (!validateCosts(inp)) return; var r = calc(inp); render(r, inp); goToStep(3); }); /* ── ACCORDION: eigen implementatie, geen stijlgids-JS ──── */ function initAccordion(el) { if (!el || el.getAttribute('data-cw-acc-init') === '1') return; el.setAttribute('data-cw-acc-init', '1'); el.querySelectorAll('button.cw-acc__button').forEach(function(btn) { btn.addEventListener('click', function(e) { e.preventDefault(); var expanded = btn.getAttribute('aria-expanded') === 'true'; btn.setAttribute('aria-expanded', String(!expanded)); var content = document.getElementById(btn.getAttribute('aria-controls')); if (!content) return; content.classList.toggle('cw-acc--open', !expanded); }); }); } /* ── RESET ───────────────────────────────────────────────── */ // Terug naar stap 2 var backBtn = document.getElementById('backToStep2'); if (backBtn) { backBtn.addEventListener('click', function() { goToStep(2); }); } resetBtn.addEventListener('click', function(e) { e.preventDefault(); // Reset form form.reset(); // Reset range labels var defaults = { nBomenLbl:'4', mGevelLbl:'0' }; Object.keys(defaults).forEach(function(id) { var el = document.getElementById(id); if (el) el.textContent = defaults[id]; }); var totOppEl = document.getElementById('totOpp'); if (totOppEl) totOppEl.value = '600'; var mOnthEl = document.getElementById('mOnth'); if (mOnthEl) mOnthEl.value = '180'; var mOnthErrEl = document.getElementById('mOnth-err'); if (mOnthErrEl) { mOnthErrEl.textContent=''; mOnthErrEl.classList.remove('is-visible'); } var mFunctEl = document.getElementById('mFunct'); if (mFunctEl) mFunctEl.value = '150'; var mWaterdoorlEl = document.getElementById('mWaterdoorl'); if (mWaterdoorlEl) mWaterdoorlEl.value = '0'; // vastgoed veld verwijderd var totOppErrEl = document.getElementById('totOpp-err'); if (totOppErrEl) { totOppErrEl.textContent = ''; totOppErrEl.classList.remove('is-visible'); } var mFunctErrEl = document.getElementById('mFunct-err'); if (mFunctErrEl) { mFunctErrEl.textContent = ''; mFunctErrEl.classList.remove('is-visible'); } // Reset doelgroep document.querySelectorAll('.dg-card').forEach(function(c) { c.classList.remove('is-selected'); }); document.getElementById('dgHint').classList.remove('is-visible'); document.getElementById('toStep2').disabled = true; currentDg = null; // Sluit geavanceerde panel document.getElementById('advancedPanel').classList.remove('is-open'); document.getElementById('advancedToggle').setAttribute('aria-expanded','false'); // Sluit accordion-panelen updateOnthPct(); var acc = document.getElementById('resultAccordion'); if (acc) { acc.querySelectorAll('button.cw-acc__button').forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); var panel = document.getElementById(btn.getAttribute('aria-controls')); if (panel) panel.classList.remove('cw-acc--open'); }); } goToStep(1); }); })(); </script> </div> </section> </div> <div class="quote-wrapper"> <div class="quote"> <blockquote> <div class="content"> <p> Met ons bedrijf wilden we tonen dat het ook anders kan dan alleen maar beton. Zo kwamen er waterdoorlatende tegels en groenslingers aan de zuidkant van het gebouw. De druivelaars zorgen 's zomers voor schaduw en laten het licht door in de winter. Dankzij het groendak telen we kruiden voor thee, isoleren we het dak beter en beschermen we onze roofing voor een langere levensduur. Die investering voor een groene, koelere werkplek betaalt zichzelf bij wijze van spreken vanzelf terug en zorgt ook voor een positief effect op wie hier werkt. </p> </div> <footer> Peter van Cronenburg, CEO bij Van Cronenburg </footer> </blockquote> </div> </div> <div class="paragraph paragraph--type--image paragraph--view-mode--full"> <div class="image-gallery--wrapper single"> <div class="image-gallery js-lightbox"> <a href="https://stad.gent/sites/default/files/styles/gallery_full/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=CICIzy7I" class="gallery-link" aria-describedby="image-gallery__open-gallery" > <figure> <picture> <source srcset="/sites/default/files/styles/wide_l/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=qAV7wUZO 1x, /sites/default/files/styles/wide_l_x2/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=hYColc2_ 2x" media="(min-width: 1680px)" type="image/webp" width="655" height="409"/> <source srcset="/sites/default/files/styles/wide_l/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=qAV7wUZO 1x, /sites/default/files/styles/wide_l_x2/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=hYColc2_ 2x" media="all and (min-width: 960px) and (max-width: 1679.9px)" type="image/webp" width="655" height="409"/> <source srcset="/sites/default/files/styles/wide_xxl/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=jSIYiGfC 1x, /sites/default/files/styles/wide_xxl_x2/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=S6mI-RU1 2x" media="all and (min-width: 768px) and (max-width: 959.9px)" type="image/webp" width="920" height="575"/> <source srcset="/sites/default/files/styles/wide_xl/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=eiI8L5_1 1x, /sites/default/files/styles/wide_xl_x2/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=suPoOyXE 2x" media="all and (min-width: 576px) and (max-width: 767.9px)" type="image/webp" width="727" height="454"/> <source srcset="/sites/default/files/styles/wide_m/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=RCUAltKS 1x, /sites/default/files/styles/wide_m_x2/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=z3GNuSY9 2x" media="all and (max-width: 575.9px)" type="image/webp" width="575" height="359"/> <img loading="lazy" width="920" height="575" src="/sites/default/files/styles/wide_xxl_x2/public/media/images/Van%20Cronenburg%20%281%29.png.webp?itok=S6mI-RU1" alt="Bedrijf met zonnepanelen omringd door groen" /> </picture> </figure> </a> </div> </div> </div> <div id="vlot-aan-de-slag" class="paragraph paragraph--type--anchor paragraph--view-mode--full"></div> <h2 class="roadmap-title"> Vlot aan de slag </h2> <div class="timeline-slot" role="listitem"> <div class="item"> <dd class="item__content"> <div class="timeline-slot-header"> <h3 class="timeline-slot-title"> Boek een intake gesprek </h3> <h4 class="timeline-slot-date"></h4> </div> <div class="timeline-slot-content"> <div class="content-text"> <p>Vraag een gesprek aan met onze medewerkers. Zo weet jij wat de mogelijkheden zijn, waaraan je begint, wat je kan verwachten, hoe het in zijn werk gaat en waarom het al dan niet de moeite loont.</p><p class="messages messages--status">Op voorhand zelf al even berekenen hoeveel subsidie je kunt krijgen? <a href="https://stad.gent/nl/node/833146#bereken-je-subsidie">Gebruik de tool</a>.</p> </div> </div> </dd> </div> </div> <div class="timeline-slot" role="listitem"> <div class="item"> <dd class="item__content"> <div class="timeline-slot-header"> <h3 class="timeline-slot-title"> Doe je aanvraag </h3> <h4 class="timeline-slot-date"></h4> </div> <div class="timeline-slot-content"> <div class="content-text"> <p><strong>Let op de deadlines!</strong> De aanvragen worden 2 keer per jaar behandeld, <strong>op 30 september en op 28/29 februari. </strong></p><p>Diende je op tijd in, dan ontvang je een antwoord binnen de maand na het verstrijken van de deadline. </p><p class="messages messages--info">Tip: als je samenwerkt met <a href="https://stad.gent/nl/werken-ondernemen/werken/werken-regio-gent/sociale-economie-gent">sociale economiebedrijven of vrijwilligers</a> kan je uitbetaling oplopen <strong>tot 70% van je totale kosten</strong>. </p> </div> <div class="content-btn"> <a href="https://stad.gent/nl/groen-milieu/vergroensubsidie-bedrijf-woonproject-zorgsite" class="button button-primary">Bekijk alle voorwaarden en doe je aanvraag</a> </div> </div> </dd> </div> </div> <div class="timeline-slot" role="listitem"> <div class="item"> <dd class="item__content"> <div class="timeline-slot-header"> <h3 class="timeline-slot-title"> Laat de werken binnen de termijn van 2 jaar uitvoeren </h3> <h4 class="timeline-slot-date"></h4> </div> <div class="timeline-slot-content"> <div class="content-text"> <p>Goedgekeurde dossiers moeten binnen een termijn van 2 jaar na goedkeuring uitgevoerd worden. Alleen in uitzonderlijke gevallen kan dit met één jaar verlengd worden.</p> </div> </div> </dd> </div> </div> <div id="veelgestelde-vragen" class="paragraph paragraph--type--anchor paragraph--view-mode--full"></div> <h2>Veelgestelde vragen</h2> <dl class="accordion"> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--1" > Hoe wordt je dossier beoordeeld? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--1" aria-hidden="true" hidden="hidden" property="text" > <p>Niet elk ingediend dossier krijgt automatisch een subsidie. 2 keer per jaar behandelt een jury daarom alle ingediende dossiers. Zij kijken naar:</p><ul type="disc"><li>hoeveel oppervlakte je onthardt</li><li>hoeveel en welke bomen je plant</li><li>welke bijkomende beplanting (struiken, klimplanten, …) je voorziet</li><li>wat de biodiversiteit van je dossieraanvraag is</li><li>hoeveel mensen gebruik maken van de ruimte</li><li>hebben je werknemers, personeel of de buurt inspraak?</li></ul><p><br> </p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--2" > Krijgt iedereen die aan de voorwaarden voldoet een subsidie? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--2" aria-hidden="true" hidden="hidden" property="text" > <p><span>Enkel de hoogst scorende projecten worden gesubsidieerd zolang het voorziene budget reikt. </span></p><p>Het college van burgemeester en schepenen neemt de uiteindelijke beslissing.</p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--3" > Hoe ontvang ik de subsidie? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--3" aria-hidden="true" hidden="hidden" property="text" > <p>Na goedkeuring ontvang je 90% van het bedrag. De resterende 10% volgt nadat de stad controleerde of je project correct is uitgevoerd.</p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--4" > Hoeveel moet je project minimaal kosten om op een subsidie te kunnen rekenen? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--4" aria-hidden="true" hidden="hidden" property="text" > <p>Je project moet minimaal 12.000 euro kosten, of 8.572 euro als je samenwerkt met sociale economie of vrijwilligers. </p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--5" > Kan de subsidie hoger zijn dan de kosten? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--5" aria-hidden="true" hidden="hidden" property="text" > <p>De subsidie kan nooit hoger zijn dan de werkelijke kosten.</p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--6" > Wat als ik de voorwaarden niet naleef? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--6" aria-hidden="true" hidden="hidden" property="text" > <p>Bij misbruik of wanneer de voorwaarden niet nageleefd worden, <strong>kan de subsidie teruggevorderd worden.</strong></p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--7" > Kan ik de subsidie ook inzetten voor waterdoorlatende ingrepen? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--7" aria-hidden="true" hidden="hidden" property="text" > <p><span><strong>De subsidie geldt niet</strong> voor waterdoorlatende verharding, regenwaterinstallaties of andere tuininfrastructuur.</span></p><p>Toch worden deze wel positief beoordeeld door de jury, dus laat er je niet door stoppen. Weet wel dat de vierkante meters parkeerplaats die je onthardt wel maar voor 50% worden meegeteld in de totale oppervlakte die je aanpakt. Dat kan van belang zijn om aan de minimale voorwaarde van 30% te ontharden private ruimte te voldoen. </p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--8" > Welke documenten heb ik nodig om een aanvraag in te dienen? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--8" aria-hidden="true" hidden="hidden" property="text" > <p>Heb je een <strong>intakegesprek</strong> gehad en wil je een dossier indienen? <a href="https://stad.gent/nl/groen-milieu/subsidie-ontharden-en-vergroenen-van-private-buitenruimtes#wat-heb-ik-nodig?">Bekijk alle documenten</a> die nodig hebt voor je aan het indieningsproces begint.</p> </div> </dd> </div> <div property="mainEntity" typeof="Question" class="accordion__item"> <dt class="faqfield-question" property="name"> <h3> <button class="accordion--button" aria-expanded="false" aria-controls="accordion--multiple--content--faqitem--4--9" > Waar kan ik terecht met andere vragen? </button> </h3> </dt> <dd class="faqfield-answer" property="acceptedAnswer" typeof="Answer"> <div class="accordion--content" id="accordion--multiple--content--faqitem--4--9" aria-hidden="true" hidden="hidden" property="text" > <p>Maak een afspraak met onze medewerkers voor een <a href="mailto:subsidies.milieuenklimaat@stad.gent"><strong>intake call</strong></a><strong>, dat kan vanaf 1 juli</strong>. Zij overlopen graag nog eens alle mogelijkheden voor je eraan begint.</p> </div> </dd> </div> </dl> <div class="paragraph paragraph--type--call-to-action paragraph--view-mode--full cta-block image-none link"> <div class="cta-block__content"> <div class="feature-block secondary"> <h2>Vergroen je privaat domein</h2> <ul class="links"> <li> <a href="https://stad.gent/nl/groen-milieu/subsidie-voor-het-ontharden-en-vergroenen-van-private-buitenruimtes" class="button button-secondary">Ontdek alle voorwaarden</a> </li> <li> <a href="https://formulieren.stad.gent/productie4.2/formulier/nl-NL/DefaultEnvironment/scOnthardenprivatebuitenruimtes.aspx" class="standalone-link">En doe je aanvraag</a> </li> </ul> </div> </div> </div> " infopages.
- 833146 page 833146 infopages.
- 833146 articleSection "Groen & milieu" infopages.