{"id":16493,"date":"2026-04-28T12:19:05","date_gmt":"2026-04-28T12:19:05","guid":{"rendered":"https:\/\/syndicoach.be\/?page_id=16493"},"modified":"2026-05-20T08:48:30","modified_gmt":"2026-05-20T08:48:30","slug":"syndic-obligatoire","status":"publish","type":"page","link":"https:\/\/syndicoach.be\/fr\/syndicus-gids\/syndicus-verplicht\/","title":{"rendered":"Quand un administrateur est-il obligatoire et quand ne l'est-il pas ?"},"content":{"rendered":"<figure class=\"wp-block-image size-full has-custom-border\" style=\"border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px\"><img decoding=\"async\" width=\"467\" height=\"263\" data-src=\"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header.webp\" alt=\"syndicus verplicht\" class=\"wp-image-15673 lazyload\" style=\"--smush-placeholder-width: 467px; --smush-placeholder-aspect-ratio: 467\/263;border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px\" data-srcset=\"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header.webp 467w, https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header-300x169.webp 300w\" data-sizes=\"(max-width: 467px) 100vw, 467px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><span style=\"--wp--custom--font-size:clamp(17px,1.8vw,18px);\" class=\"has-font has-inline-font-size\"><strong>In elk mede-eigendom is de rol van de syndicus cruciaal. Maar een veelgestelde vraag blijft: is een syndicus (altijd) verplicht? Het antwoord is duidelijk: ja, zodra er twee of meer eigenaars zijn in een gebouw, is het aanstellen van een syndicus verplicht volgens de Belgische wetgeving.<\/strong><\/span><\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Deze verplichting is er om het beheer van gemeenschappelijke delen te waarborgen en om geschillen tussen mede-eigenaars te voorkomen. Maar wanneer is een syndicus nodig en zijn er uitzonderingen? In dit artikel gaan we dieper in op deze vragen en geven we je de nodige expertise om de juiste beslissingen te nemen voor <strong>jouw VME<\/strong>.<\/p>\n\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7e7b9bc3 wp-block-columns-is-layout-flex is-stacked-on-mobile\" style=\"margin:var(--wp--preset--spacing--lg) 0;--columns:2\" data-columns=\"2\">\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 id=\"vanaf-wanneer-is-een-syndicus-verplicht\" class=\"wp-block-heading\">Vanaf wanneer is een syndicus verplicht?<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">De aanstelling van een syndicus is verplicht vanaf het moment dat er <strong>twee eigenaars<\/strong> zijn. Dit kan gaan om een klein gebouw met slechts twee appartementen of een groter complex met tientallen units. In beide gevallen moet er een syndicus worden aangesteld om het beheer te organiseren.<\/p>\n<\/div>\n<\/div>\n\n\n<h3 id=\"aanstelling-door-de-algemene-vergadering-av\" class=\"wp-block-heading\"><strong><span style=\"--wp--custom--font-size:clamp(20px,2.2vw,22px);\" class=\"has-font  has-inline-font-size\">Aanstelling door de algemene vergadering (AV)<\/span><\/strong><\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">De syndicus wordt aangesteld door <strong><a href=\"https:\/\/openvme.be\/syndicusonline-functies\/vergadering-vme-2\/\">de algemene vergadering van mede-eigenaars (AV)<\/a><\/strong>. Dit is een belangrijk moment, omdat de AV het orgaan is waarin alle mede-eigenaars samenkomen om beslissingen te nemen. De AV beslist bij meerderheid van stemmen over de aanstelling van de syndicus.<\/p>\n\n\n<h3 id=\"verzekeringen-en-kosten\" class=\"wp-block-heading\"><strong><span style=\"--wp--custom--font-size:clamp(20px,2.2vw,22px);\" class=\"has-font  has-inline-font-size\">Verzekeringen en kosten<\/span><\/strong><\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Een belangrijke verplichting voor de syndicus is het afsluiten van een <strong><a href=\"https:\/\/openvme.be\/syndicus-beheer\/aansprakelijkheidsverzekering-syndicus\/\">burgerlijke aansprakelijkheidsverzekering (BA-verzekering).<\/a><\/strong> Deze verzekering dekt eventuele fouten of nalatigheden van de syndicus. Indien de syndicus het mandaat kosteloos uitoefent, worden de kosten van de verzekering gedragen door de vereniging van mede-eigenaars (VME).<\/p>\n\n\n<h3 id=\"duur-van-het-mandaat\" class=\"wp-block-heading\"><strong><span style=\"--wp--custom--font-size:clamp(20px,2.2vw,22px);\" class=\"has-font  has-inline-font-size\">Duur van het mandaat<\/span><\/strong><\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Het mandaat van een syndicus duurt <strong>minimaal &eacute;&eacute;n jaar en maximaal drie jaar.<\/strong> De AV kan beslissen om het mandaat te verlengen, maar dit moet expliciet worden goedgekeurd tijdens een algemene vergadering.<\/p>\n\n\n<h3 id=\"registratieplicht-bij-de-kbo\" class=\"wp-block-heading\"><strong><span style=\"--wp--custom--font-size:clamp(20px,2.2vw,22px);\" class=\"has-font  has-inline-font-size\">Registratieplicht bij de KBO<\/span><\/strong><\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Niet alleen de VME, maar ook de syndicus moet zich registreren in de <strong><a href=\"https:\/\/www.biv.be\/kb\/het-beroep\/syndicus-en-mede-eigendom\/de-inschrijving-van-de-syndicus-de-kbo\">Kruispuntbank van Ondernemingen<\/a><\/strong>. Dit zorgt voor transparantie en een duidelijke administratieve opvolging.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--lg);margin-bottom:var(--wp--preset--spacing--lg)\"\/>\n\n\n<h2 id=\"wanneer-is-een-syndicus-niet-verplicht\" class=\"wp-block-heading\"><span style=\"--wp--custom--font-size:clamp(22px,2.8vw,28px);\" class=\"has-font  has-inline-font-size\">Wanneer is een syndicus niet verplicht?<\/span><\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Hoewel het aanstellen van een syndicus in de meeste gevallen verplicht is, zijn er enkele uitzonderingen. Hier zijn de belangrijkste scenario&#8217;s:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list wp-block-list\">\n<li class=\"is-style-surface\">\n<strong>Geen rechtspersoonlijkheid:<\/strong> Sommige kleine mede-eigendommen zonder rechtspersoonlijkheid vallen buiten de verplichtingen van de wet op mede-eigendom (BW art. 577). Dit komt vaak voor bij gebouwen met slechts enkele appartementen. Echter, het niet aanstellen van een syndicus in deze situaties kan leiden tot ernstige beheersproblemen en verhoogde aansprakelijkheid voor de eigenaars.<\/li>\n\n\n\n<li class=\"is-style-surface\">\n<strong>Enkelvoudig eigendom:<\/strong> Wanneer &eacute;&eacute;n persoon uiteindelijk alle appartementen in een gebouw bezit, vervalt het concept van mede-eigendom. In deze situatie is het aanstellen van een syndicus niet langer verplicht. De eigenaar kan er echter voor kiezen om een rentmeester aan te stellen om het beheer van het gebouw te verzorgen, mocht hij dit niet zelf willen doen.<\/li>\n<\/ol>\n\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--lg);margin-bottom:var(--wp--preset--spacing--lg)\"\/>\n\n\n<h2 id=\"professionele-syndicus-vs-eigenaarsyndicus\" class=\"wp-block-heading\"><span style=\"--wp--custom--font-size:clamp(22px,2.8vw,28px);\" class=\"has-font has-inline-font-size\">Professionele syndicus vs. Eigenaar-syndicus<\/span><\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">De keuze tussen een professionele syndicus en een eigenaar-syndicus hangt vaak af van de grootte en complexiteit van het gebouw. De wet schrijft niet expliciet voor dat een professionele syndicus noodzakelijk is, maar in <strong>grotere en complexere gebouwen wordt dit wel sterk aanbevolen<\/strong>. Een professionele syndicus beschikt over de expertise en ervaring om een complex beheer te voeren, wat essentieel is voor grote VME&rsquo;s.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">In kleinere gebouwen met beperkte gemeenschappelijke delen kan een <strong>mede-eigenaar optreden als <a href=\"https:\/\/openvme.be\/2024\/08\/08\/vrijwillige-syndicus\/\">vrijwillige syndicus<\/a><\/strong>. Dit biedt voordelen in termen van kostenbesparing, maar brengt ook uitdagingen met zich mee, zoals een mogelijk gebrek aan expertise.<\/p>\n\n\n<div class=\"wp-block-group has-primary-50-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-radius:15px;padding:var(--wp--preset--spacing--sm) 0\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-5d2f3228 wp-block-columns-is-layout-flex is-stacked-on-mobile\" style=\"border-radius:0px;--columns:2\" data-columns=\"2\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"margin-left:0;padding-left:0\">\n<figure class=\"wp-block-image size-full\" style=\"margin-left:0\"><a href=\"https:\/\/syndicoach.be\/syndicoach-zoeken\/\"><img decoding=\"async\" width=\"600\" height=\"600\" data-src=\"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicoach-samen-edited.png\" alt=\"zoek syndicus\" class=\"wp-image-15681 lazyload\" data-srcset=\"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicoach-samen-edited.png 600w, https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicoach-samen-edited-300x300.png 300w, https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicoach-samen-edited-150x150.png 150w\" data-sizes=\"(max-width: 600px) 100vw, 600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 600px; --smush-placeholder-aspect-ratio: 600\/600;\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"margin-right:var(--wp--preset--spacing--sm);margin-left:var(--wp--preset--spacing--sm)\">\n<h3 class=\"wp-block-heading\" id=\"zoek-je-een-syndicus\">Zoek je een Syndicus?<\/h3>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Wil je zelf meer verantwoordelijkheid nemen of volledig ontzorgd worden? Ontdek de mogelijkheden.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-left is-layout-flex wp-container-core-buttons-is-layout-45b074f7 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\" style=\"\"><button class=\"wp-block-button__link has-custom-open-vme-teal-200-color has-text-color has-link-color wp-element-button mymmo-opent-contactpopup-extra\" style=\"\" href=\"#\">Vraag offerte aan<\/button><\/div>\n<div class=\"mymmo-modal-launch mymmo-modal-launch--stil\" id=\"mymmo-modal-we-nemen-contact-met-je-op-knop\" lang=\"nl\" style=\"--mf-accent:#2563eb;--mf-max-width:720px;--mf-accent:#99f6e4;--mf-accent-text:#0369a1;--mf-accent-ink:#0369a1;--mf-gap:18px;--mf-fig-scale:80%;--mf-fig-x:-7px;--mf-fig-y:-41px;--mf-wm-scale:257%;--mf-wm-x:-314px;--mf-wm-y:141px;--mf-wm-rotate:25deg;--mf-accent-ink:#0369a1\">\n\n    \n    \n                    <!-- Mymmo Forms: dit venster opent met een link naar #mymmo-modal-we-nemen-contact-met-je-op -->\n    \n    <div class=\"mymmo-modal\" id=\"mymmo-modal-we-nemen-contact-met-je-op\" data-mymmo-modal data-mymmo-trigger=\".mymmo-opent-contactpopup-extra\">\n\n                        <a class=\"mymmo-modal-backdrop\" href=\"#mymmo-modal-we-nemen-contact-met-je-op-knop\" tabindex=\"-1\" aria-hidden=\"true\" data-mymmo-modal-close><\/a>\n        \n        <div class=\"mymmo-modal-panel mymmo-modal-panel--zijkolom mymmo-modal-panel--breed\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"mymmo-modal-we-nemen-contact-met-je-op-titel\">\n\n                        <a class=\"mymmo-modal-close\" href=\"#mymmo-modal-we-nemen-contact-met-je-op-knop\" data-mymmo-modal-close aria-label=\"Sluiten\" title=\"Sluiten\">\n                <svg viewbox=\"0 0 20 20\" width=\"18\" height=\"18\" aria-hidden=\"true\" focusable=\"false\">\n                    <path d=\"M5 5l10 10M15 5L5 15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><\/path>\n                <\/svg>\n            <\/a>\n\n                                        <div class=\"mymmo-modal-kop\">\n                                        <h2 class=\"mymmo-modal-title\" id=\"mymmo-modal-we-nemen-contact-met-je-op-titel\">Laat ons kennismaken<\/h2>\n                <\/div>\n            \n                        <div class=\"mymmo-modal-lijf\">\n\n                        <aside class=\"mymmo-modal-aside\">\n\n                                    <p class=\"mymmo-modal-lead\">Wij tonen je met plezier hoe je terug gelukkig wordt van gebouwbeheer<\/p>\n                \n                                                        <div class=\"mymmo-modal-tabs\" role=\"tablist\" data-mymmo-tablist hidden>\n                                                <button type=\"button\" role=\"tab\" class=\"mymmo-modal-tab mymmo-modal-tab--kaal is-active\" id=\"mymmo-modal-we-nemen-contact-met-je-op-tab-extra\" aria-controls=\"mymmo-modal-we-nemen-contact-met-je-op-paneel-extra\" aria-selected=\"true\" tabindex=\"0\" data-mymmo-tab=\"extra\">\n                            <span class=\"mymmo-modal-tab-icoon\" aria-hidden=\"true\"><svg viewbox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" focusable=\"false\"><path d=\"M3.5 6.5l1.5 1.5 2.5-2.5M3.5 12l1.5 1.5 2.5-2.5M3.5 17.5l1.5 1.5 2.5-2.5\"><\/path><path d=\"M11.5 6.5h9M11.5 12h9M11.5 17.5h6\"><\/path><\/svg><\/span>\n                            <span class=\"mymmo-modal-tab-tekst\">\n                                <span class=\"mymmo-modal-tab-label\">Bereken je prijsofferte<\/span>\n                                                            <\/span>\n                        <\/button>\n                                                <button type=\"button\" role=\"tab\" class=\"mymmo-modal-tab mymmo-modal-tab--kaal\" id=\"mymmo-modal-we-nemen-contact-met-je-op-tab-form\" aria-controls=\"mymmo-modal-we-nemen-contact-met-je-op-paneel-form\" aria-selected=\"false\" tabindex=\"-1\" data-mymmo-tab=\"form\">\n                            <span class=\"mymmo-modal-tab-icoon\" aria-hidden=\"true\"><svg viewbox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" focusable=\"false\"><path d=\"M4 5.5h16v11H8l-4 3.5z\"><\/path><path d=\"M8 9.5h8M8 12.5h5\"><\/path><\/svg><\/span>\n                            <span class=\"mymmo-modal-tab-tekst\">\n                                <span class=\"mymmo-modal-tab-label\">Stuur een bericht<\/span>\n                                                            <\/span>\n                        <\/button>\n                                                <button type=\"button\" role=\"tab\" class=\"mymmo-modal-tab mymmo-modal-tab--kaal\" id=\"mymmo-modal-we-nemen-contact-met-je-op-tab-calendly\" aria-controls=\"mymmo-modal-we-nemen-contact-met-je-op-paneel-calendly\" aria-selected=\"false\" tabindex=\"-1\" data-mymmo-tab=\"calendly\">\n                            <span class=\"mymmo-modal-tab-icoon\" aria-hidden=\"true\"><svg viewbox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" focusable=\"false\"><rect x=\"3.5\" y=\"5\" width=\"17\" height=\"15\" rx=\"2.5\"><\/rect><path d=\"M3.5 9.5h17M8 3.5v3M16 3.5v3\"><\/path><\/svg><\/span>\n                            <span class=\"mymmo-modal-tab-tekst\">\n                                <span class=\"mymmo-modal-tab-label\">Plan een gesprek<\/span>\n                                                            <\/span>\n                        <\/button>\n                                            <\/div>\n                \n                                    <ul class=\"mymmo-modal-punten\">\n                                                    <li class=\"mymmo-modal-punt\">\n                                <svg viewbox=\"0 0 20 20\" width=\"16\" height=\"16\" aria-hidden=\"true\" focusable=\"false\">\n                                    <path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                                <\/svg>\n                                <span>Meteen een offerte<\/span>\n                            <\/li>\n                                                    <li class=\"mymmo-modal-punt\">\n                                <svg viewbox=\"0 0 20 20\" width=\"16\" height=\"16\" aria-hidden=\"true\" focusable=\"false\">\n                                    <path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                                <\/svg>\n                                <span>Syndicoach helder uitgelegd<\/span>\n                            <\/li>\n                                                    <li class=\"mymmo-modal-punt\">\n                                <svg viewbox=\"0 0 20 20\" width=\"16\" height=\"16\" aria-hidden=\"true\" focusable=\"false\">\n                                    <path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                                <\/svg>\n                                <span>Jouw gebouw staat centraal<\/span>\n                            <\/li>\n                                            <\/ul>\n                \n                                                        <div class=\"mymmo-modal-figuur\">\n                                                                            <span class=\"mymmo-modal-wm\" data-mymmo-greep=\"watermerk\">\n                                <img class=\"mymmo-modal-watermerk skip-lazy no-lazyload\" src=\"https:\/\/link.openvme.be\/assets\/brand\/clover.svg\" alt=\"\" aria-hidden=\"true\" data-no-lazy=\"1\" data-skip-lazy=\"1\" decoding=\"async\">\n                            <\/span>\n                                                                                                    <span class=\"mymmo-modal-beeld is-actief\" data-mymmo-beeld=\"form\">\n                                                                <span class=\"mymmo-modal-stand\" data-mymmo-greep=\"form\">\n                                    <img class=\"mymmo-modal-tekening skip-lazy no-lazyload\" src=\"https:\/\/link.openvme.be\/assets\/uploads\/persoon-in-zenhouding-aan-computer-blue.svg\" alt=\"\" data-no-lazy=\"1\" data-skip-lazy=\"1\" decoding=\"async\">\n                                <\/span>\n                            <\/span>\n                        \n                                            <\/div>\n                \n            <\/aside>\n            \n            <div class=\"mymmo-modal-main\">\n                                <div class=\"mymmo-modal-body mymmo-modal-body--tabs\" data-mymmo-modal-body>\n\n                                        <section class=\"mymmo-modal-paneel is-actief\" id=\"mymmo-modal-we-nemen-contact-met-je-op-paneel-extra\" role=\"tabpanel\" aria-labelledby=\"mymmo-modal-we-nemen-contact-met-je-op-tab-extra\" tabindex=\"0\" data-mymmo-paneel=\"extra\">\n\n                                                    <h3 class=\"mymmo-modal-paneel-titel\">Bereken je prijsofferte<\/h3>\n                        \n                                                    <script>\nwindow.MymmoStappen=window.MymmoStappen||{_rij:[],stap:function(s,f){this._rij.push([s,f]);}};\n<\/script>\n<div class=\"mymmo-stappen\" id=\"mymmo-stappen-mymmo-modal-we-nemen-contact-met-je-op-extra-1\" data-mymmo-stappen data-mymmo-start=\"0\" data-mymmo-slug=\"syndicoach-calulator-offerte\" data-mymmo-teksten='{\"required\":\"{label} is verplicht.\",\"email\":\"{label} is geen geldig e-mailadres.\",\"number\":\"{label} moet een getal zijn.\",\"date\":\"{label} moet een datum zijn (jjjj-mm-dd).\",\"postcode\":\"{label} is geen geldige postcode.\",\"postcode_unknown\":\"We kennen postcode {value} niet. Kijk ze even na.\",\"city_other\":\"Andere plaats\\u2026\",\"unknown_choice\":\"{label}: onbekende keuze \\\"{value}\\\".\",\"minlength\":\"{label} moet minstens {n} tekens bevatten.\",\"maxlength\":\"{label} mag hoogstens {n} tekens bevatten.\",\"min\":\"{label} moet minstens {n} zijn.\",\"max\":\"{label} mag hoogstens {n} zijn.\",\"choose\":\"Maak een keuze\",\"back\":\"Vorige\",\"next\":\"Volgende\",\"step_of\":\"Stap {n} van {total}\",\"submitting\":\"Bezig met versturen\\u2026\",\"busy\":\"We maken je offerte op\",\"busy_offerte\":\"We maken je offerte op\",\"busy_academy\":\"We zetten je cursus klaar\",\"check_fields\":\"Kijk de gemarkeerde velden na.\",\"expired\":\"De pagina was verlopen. Probeer het opnieuw.\",\"stale_page\":\"Deze pagina stond te lang open. Ververs ze en probeer opnieuw.\",\"rejected\":\"De inzending kon niet verwerkt worden.\",\"bot_check\":\"We konden niet nagaan of je geen robot bent. Probeer het opnieuw.\",\"unavailable\":\"Dit formulier is momenteel niet beschikbaar.\",\"send_failed\":\"We konden je bericht niet versturen. Probeer het zo meteen opnieuw.\"}' style=\"--mf-accent:#99f6e4;--mf-accent-text:#0369a1;--mf-accent-ink:#0369a1;--mf-gap:18px;--mf-fig-scale:80%;--mf-fig-x:-7px;--mf-fig-y:-41px;--mf-wm-scale:257%;--mf-wm-x:-314px;--mf-wm-y:141px;--mf-wm-rotate:25deg;--mf-accent-ink:#0369a1\">\n\n    <noscript>\n        <style>\n            #mymmo-stappen-mymmo-modal-we-nemen-contact-met-je-op-extra-1 [data-mymmo-stap] { display: block !important; }\n            #mymmo-stappen-mymmo-modal-we-nemen-contact-met-je-op-extra-1 [data-mymmo-stap].mymmo-stap--html { display: none !important; }\n            #mymmo-stappen-mymmo-modal-we-nemen-contact-met-je-op-extra-1 .mymmo-stappen-teller,\n            #mymmo-stappen-mymmo-modal-we-nemen-contact-met-je-op-extra-1 .mymmo-stap-nav { display: none !important; }\n        <\/style>\n    <\/noscript>\n\n    \n                    <p class=\"mymmo-stappen-teller\" data-mymmo-teller aria-live=\"polite\">\n            Stap 1 van 5        <\/p>\n    \n                        <section class=\"mymmo-stap mymmo-stap--html\" data-mymmo-stap=\"0\" data-mymmo-stap-naam=\"aantal-kavels\" data-mymmo-stap-velden=\"aantal_kavels,commerciele_kavels\" data-mymmo-stap-nav=\"plugin\"><h3 class=\"mymmo-stap-titel\" data-mymmo-kop=\"titel\">Hoe groot is jullie gebouw?<\/h3>\n<div class=\"mymmo-stap-inhoud\" data-mymmo-stap-inhoud>\n<!--\n  STAP - \"Wat is de grootte van het gebouw?\"\n\n  De schuifbalk uit de Syndicoach-calculator, losgemaakt uit dat bestand en\n  klaar om als eerste stap van een mymmo_form te plakken. Levert TWEE waarden:\n\n      aantal_kavels        het getal onder de schuifbalk  (2 ... 60)\n      commerciele_kavels   \"ja\" of \"nee\"                  (het vinkje erboven)\n\n  Zet in de Operations Manager twee VERBORGEN VELDEN met precies die sleutels\n  op het formulier. Bestaat een veld niet, dan blijft de bezoeker gewoon verder\n  kunnen -- de waarde bereikt Odoo dan alleen niet, en dat staat in de console\n  en boven het formulier. Andere sleutels nodig? Pas ze aan op de schuifbalk\n  (data-mymmo-waarde) en op de wikkel (data-sleutel-commercieel); je hoeft\n  nergens in het script te zijn.\n\n  WAT HIER UIT DE CALCULATOR IS OVERGENOMEN\n  -----------------------------------------\n  De tekeningen (vijf niveaus x residentieel\/commercieel, van link.openvme.be),\n  de niveau-indeling, de squash-and-stretch bij een niveauwissel, de plop van\n  het commercieel-vinkje, en de terugval op een lijnicoon als een bestand niet\n  ophaalt. Wat NIET is meegekomen, is het \"podium\" -- de losse, absoluut\n  gepositioneerde laag waarop de calculator het gebouw tussen zeven stappen\n  door laat zweven, plus de zeven onzichtbare pin-ankers voor de ballonnetjes.\n  Dat bestaat alleen omdat daar zeven stappen een tekening delen; hier staat de\n  tekening gewoon in de stap, zoals de calculator dat op smalle schermen zelf\n  ook doet.\n\n  WAT DEZE STAP BEWUST NIET DOET\n  ------------------------------\n  Geen eigen kop, geen eigen wit kaartje, geen eigen Vorige\/Volgende. Dat levert\n  de plugin al: de titel die je bij de stap typt staat erboven, het paneel van\n  de pop-up is het witte vlak, en de knoppenrij hoort bij de reeks. Bracht de\n  stap dat zelf mee, dan stond alles twee keer -- en de tweede kop was niet uit\n  te zetten zonder de HTML te bewerken.\n\n  Een stap gaat dus over de VRAAG en het BEDIENINGSELEMENT. De omlijsting en het\n  opvangen van de antwoorden zijn van de plugin.\n\n  TWEE DINGEN OM TE ZIEN IN DIT BESTAND\n  -------------------------------------\n  1. `data-mymmo-waarde` op de schuifbalk. Dat is wat het getal doorgeeft --\n     daar is geen regel JavaScript voor nodig. Het script hieronder tekent\n     alleen het gebouw. Het vinkje is een <button> en geen invoerveld, dus die\n     ene waarde wordt wel met api.zet() afgeleverd.\n  2. Geen enkele `id=\"\"`. Dezelfde stap kan twee keer op een pagina staan (in\n     de tekst en in een pop-up); met vaste id's zou de tweede de eerste\n     besturen. Alles loopt via querySelector binnen de eigen wikkel.\n\n  Verander je de beginstand (`value` op de schuifbalk), pas dan ook de `src`\n  van de <img> aan op het bijbehorende niveau (2-5 = level1, 6-15 = level2,\n  16-25 = level3, 26-39 = level4, 40+ = level5). Het script corrigeert het\n  meteen, maar zonder die aanpassing zie je bij het laden heel even de\n  verkeerde tekening.\n-->\n\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level1.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level2.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level3.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level4.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level5.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level1comm.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level2comm.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level3comm.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level4comm.svg\">\n<link rel=\"preload\" as=\"image\" href=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level5comm.svg\">\n\n<style>\n\/* Alles genest onder .sc-stap. Je thema kan hier niets breken, en omgekeerd.\n   In de calculator was dat `#sc-calc`; een id kan hier niet, want dezelfde\n   stap mag twee keer op een pagina staan. *\/\n.sc-stap {\n  \/* De kleuren van de STAP volgen die van het formulier. Ze hadden eigen\n     waarden uit de rekenmodule waar deze stap uit komt, en dan staat de\n     hulpregel van stap 1 in #6b8697 terwijl diezelfde regel bij het formulier\n     #6b7280 is -- net genoeg verschil om als slordig te lezen, en die eerste\n     haalt op wit geen AA (3,83 tegen 4,83).\n     De waarde na de komma is de terugval voor wie deze stap los gebruikt. *\/\n  \/* Het getal en de knop van de schuifbalk moeten GELEZEN worden: de inkt van\n     het merk, niet de felle accentkleur. --mf-accent-ink zet de plugin zelf --\n     de leesbare van de twee knopkleuren uit het thema (bij Syndicoach het\n     donkerblauw #0369a1, niet de mint). Stond hier --mf-accent, dan stond er\n     een getal van 32px in mint op wit. *\/\n  --sc-blue: var(--mf-accent-ink, var(--mf-accent, #0f5c8c));\n  --sc-blue-soft: #e8f2f8;\n  --sc-ink: var(--mf-text, #12384f);\n  --sc-muted: var(--mf-muted, #6b8697);\n  --sc-line: var(--mf-border, #e3ebf0);\n\n  \/* GEEN eigen letterstack. Deze stap komt uit een losstaande rekenmodule en\n     had er een; naast een formulier dat de letter van de site erft, zag je dat\n     meteen (Segoe UI naast Rethink Sans op syndicoach.be). De plugin dwingt\n     `font-family: inherit` nu ook af op de wikkel van een stap, dus dit is\n     dubbelop -- het staat er zodat dit bestand ook klopt als je het elders\n     gebruikt. *\/\n  font-family: inherit;\n  color: var(--sc-ink);\n  line-height: 1.5;\n  -webkit-font-smoothing: antialiased;\n\n  \/* Een kolom die de hoogte van de stap inneemt. De plugin laat de stap het\n     vlak vullen (zie mymmo-forms-steps.css); dit bepaalt wat er met die ruimte\n     gebeurt: de vraag blijft bovenaan bij de titel staan, de tekening en de\n     schuifbalk zakken naar de knoppenrij toe. In een PAGINA is er niets te\n     verdelen en verandert er dus niets. *\/\n  display: flex;\n  flex-direction: column;\n  flex: 1 0 auto;\n}\n.sc-stap *, .sc-stap *::before, .sc-stap *::after { box-sizing: border-box; }\n.sc-stap .sc-svg { display: block; }\n\n\/* De zin onder de titel staat in `.mymmo-stap-tekst`, een klasse van de\n   plugin -- niet in een eigen `.sc-help`. Zo ziet de regel onder de titel van\n   deze stap er hetzelfde uit als die onder de titel van het formulier (de\n   laatste stap), en dat is de hele bedoeling van die klasse. Hier staat dus\n   geen enkele regel voor die tekst. *\/\n\n\/* -- het vinkje \"commerciele kavels\" -------------------------------------- *\/\n.sc-stap .sc-comm-toggle {\n  display: inline-flex;\n  gap: 8px;\n  align-items: center;\n  margin-top: 10px;\n  padding: 0;\n  border: 0;\n  background: none;\n  cursor: pointer;\n  font: inherit;\n  font-size: .82rem;\n  color: var(--sc-muted);\n  text-align: left;\n}\n.sc-stap .sc-comm-toggle .sc-comm-check {\n  width: 16px;\n  height: 16px;\n  flex: 0 0 16px;\n  border-radius: 5px;\n  border: 1.5px solid #cfdde6;\n  display: grid;\n  place-items: center;\n  color: transparent;\n  transition: background .15s, border-color .15s;\n}\n.sc-stap .sc-comm-toggle:hover .sc-comm-check { border-color: #b9d3e2; }\n.sc-stap .sc-comm-toggle.is-on { color: var(--sc-ink); }\n.sc-stap .sc-comm-toggle.is-on .sc-comm-check {\n  background: var(--sc-blue);\n  border-color: var(--sc-blue);\n  color: #fff;\n}\n\n\/* -- de tekening ---------------------------------------------------------- *\/\n\/*\n * DE TEKENING NEEMT DE VRIJE RUIMTE IN.\n *\n * Alle tien de tekeningen (vijf niveaus, met en zonder winkels) hebben hetzelfde\n * canvas van 2048 x 2048. Zolang ze in dezelfde vierkante doos staan, schalen ze\n * dus allemaal met dezelfde factor -- de kleine groeien mee met de grote.\n *\n * Gemeten: de grootste (level5comm) reikt van y=50 tot y=1807, dus 86% van de\n * hoogte, en heeft 241 (11,8%) lege ruimte onder zich. Met object-fit:contain\n * past hij per definitie in de doos, hoe groot die ook wordt.\n *\n * Vroeger zat de doos vast op max 210px breed en clamp(110px, 22vh, 210px) hoog,\n * terwijl er in de pop-up vaak twee keer zoveel ruimte vrij bleef. Nu krijgt het\n * vlak (.sc-bldg) wat er tussen het vinkje en het getal overblijft, met een\n * ondergrens voor een laag venster en een bovengrens voor een heel hoog.\n *\/\n.sc-stap .sc-bldg {\n  position: relative;\n  flex: 1 1 0;\n  \/* Gemeten in de pop-up bij 1280x720: met 24vh als ondergrens scrolde het\n     paneel 27px (de vorige versie deed daar 22px). Met 18vh past de stap ook\n     daar zonder schuifbalk -- de tekening neemt dan precies de ruimte die er is. *\/\n  min-height: clamp(110px, 18vh, 180px);\n  max-height: 400px;\n  margin: 0 0 6px;\n  pointer-events: none;\n}\n.sc-stap .sc-bldg-img {\n  \/* Vierkant en onderaan gecentreerd, zo hoog als het vlak. Het draaipunt van\n     de veer-animaties (--sc-bldg-ox) is een fractie van de breedte van DEZE\n     doos; die klopt alleen omdat de doos het canvas exact volgt. *\/\n  position: absolute;\n  bottom: 0;\n  left: 50%;\n  height: calc(100% - 10px);\n  aspect-ratio: 1 \/ 1;\n  max-width: 100%;\n  \/* -50% centreert; +11.5% van de eigen hoogte schuift de lege strook onder de\n     grondlijn weg (de grootste tekening heeft daar 11,8%, dus er wordt niets\n     afgesneden). Zonder dat zweefde het gebouw boven het getal. `translate` is\n     een aparte eigenschap, dus de `transform` van de animaties blijft werken. *\/\n  translate: -50% 11.5%;\n  transform-origin: bottom center;\n}\n.sc-stap .sc-bldg-photo {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  display: block;\n  object-fit: contain;\n  object-position: bottom center;\n}\n\/* Haalt een tekening niet op (offline, 404), dan valt ze terug op een klein\n   lijnicoon. Nooit een kapot-plaatje-icoontje. *\/\n.sc-stap .sc-bldg-fallback {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: flex-end;\n  justify-content: center;\n  padding-bottom: 8%;\n  color: var(--sc-muted);\n}\n.sc-stap .sc-bldg-fallback svg { width: 60%; height: 60%; }\n\n\/* -- de schuifbalk -------------------------------------------------------- *\/\n.sc-stap .sc-slider { padding: 0 2px 2px; text-align: center; }\n\/*\n * HET GETAL STAAT OP DE AS VAN HET GEBOUW, NIET DE GROEP \"8 kavels\".\n *\n * Gemeten in de pop-up: vlak, tekening, schuifbalk en de groep getal+eenheid\n * hadden allemaal hun midden op dezelfde x -- maar het GETAL zelf stond 55px\n * links daarvan (bij \"60 kavels of meer\"), omdat \"kavels\" mee gecentreerd werd.\n * Het oog leest het grote getal als het anker, dus leek de tekening scheef te\n * staan. De tekeningen zelf zijn wel gecentreerd: niveau 1 tot 4 hebben hun\n * midden op x=1023 of 1024 van een canvas van 2048.\n *\n * Drie kolommen: links een lege kolom even breed als rechts, in het midden het\n * getal, rechts de eenheid. Zo valt het midden van het getal exact op het midden\n * van de rij, en groeit een langere eenheid (\"kavels of meer\") alleen naar\n * rechts. Enkel CSS: de markup van de stap blijft dezelfde.\n *\/\n.sc-stap .sc-slider > div:first-child {\n  display: grid;\n  grid-template-columns: 1fr auto 1fr;\n  align-items: baseline;\n}\n.sc-stap .sc-slider .sc-kv { grid-column: 2; }\n.sc-stap .sc-slider .sc-kv-u { grid-column: 3; justify-self: start; text-align: left; }\n.sc-stap .sc-kv {\n  font-size: 2rem;\n  font-weight: 800;\n  color: var(--sc-blue);\n  line-height: 1;\n  letter-spacing: -.03em;\n}\n.sc-stap .sc-kv-u { font-size: 1rem; color: var(--sc-muted); margin-left: 7px; }\n.sc-stap input[type=range] {\n  -webkit-appearance: none;\n  appearance: none;\n  width: 100%;\n  height: 4px;\n  \/* Opvulling en rand expliciet weg. Een blokthema styleert ELK invoerveld op\n     de site en zondert wel checkbox, radio en knoppen uit, maar geen\n     schuifbalk: die krijgt dan de opvulling en de rand van een tekstveld, en\n     met border-box wordt haar hoogte van 4px opgeblazen tot padding + rand --\n     op syndicoach.be 20px, wat leest als een langgerekte schakelaar. De plugin\n     zet dit sinds 1.15.5 ook terug (mymmo-forms-steps.css); hier staat het\n     zodat deze stap ook los van die versie klopt. *\/\n  padding: 0;\n  border: 0;\n  border-radius: 99px;\n  background: #e3ebf0;\n  margin: 12px 0 5px;\n  outline: none;\n}\n.sc-stap input[type=range]::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  width: 16px;\n  height: 16px;\n  border-radius: 50%;\n  background: #fff;\n  border: 2px solid var(--sc-blue);\n  cursor: pointer;\n  box-shadow: 0 1px 4px rgba(0, 0, 0, .16);\n}\n.sc-stap input[type=range]::-moz-range-thumb {\n  width: 16px;\n  height: 16px;\n  border-radius: 50%;\n  background: #fff;\n  border: 2px solid var(--sc-blue);\n  cursor: pointer;\n}\n.sc-stap input[type=range]:focus-visible { box-shadow: 0 0 0 3px rgba(15, 92, 140, .18); }\n.sc-stap .sc-ends {\n  display: flex;\n  justify-content: space-between;\n  font-size: .78rem;\n  color: var(--sc-muted);\n}\n\n\/* -- het gebouw dat een niveau wint of verliest -------------------------------\n   Anticipatie, sprong, uitdempen. De schaal is bewust niet-uniform\n   (squash-and-stretch) en het draaipunt ligt op de grond, zodat het gebouw op\n   zijn fundering blijft staan in plaats van te \"zwellen\". *\/\n.sc-stap .sc-bldg-img.sc-pop { animation: sc-bldg-pop .5s cubic-bezier(.31, 1.7, .6, 1); }\n.sc-stap .sc-bldg-img.sc-grow { animation: sc-bldg-grow .66s cubic-bezier(.3, .86, .32, 1); }\n.sc-stap .sc-bldg-img.sc-shrink { animation: sc-bldg-shrink .6s cubic-bezier(.3, .86, .32, 1); }\n\/* De sprong naar niveau 5 gaat niet de hoogte in maar de breedte: er komt een\n   vleugel naast. Daarom draait die beweging rond de linkeronderhoek van de\n   tekening -- anders zet het gebouw ook naar links uit en dat leest als\n   opblazen, niet als aanbouwen. *\/\n.sc-stap .sc-bldg-img.sc-grow-x {\n  transform-origin: var(--sc-bldg-ox, 23%) 100%;\n  animation: sc-bldg-grow-x .66s cubic-bezier(.3, .86, .32, 1);\n}\n.sc-stap .sc-bldg-img.sc-shrink-x {\n  transform-origin: var(--sc-bldg-ox, 23%) 100%;\n  animation: sc-bldg-shrink-x .6s cubic-bezier(.3, .86, .32, 1);\n}\n.sc-stap .sc-bldg-img.sc-comm {\n  transform-origin: var(--sc-bldg-ox, 23%) 100%;\n  animation: sc-bldg-comm .58s cubic-bezier(.3, .86, .32, 1);\n}\n@keyframes sc-bldg-pop {\n  0% { transform: scale(.88); }\n  40% { transform: scale(1.1); }\n  70% { transform: scale(.97); }\n  100% { transform: scale(1); }\n}\n\/* groeien: door de knieen, dan omhoog schieten, dan uitdempen. De uitslagen\n   zijn bewust klein -- het moet aanvoelen alsof het gebouw er even doorheen\n   veert, niet alsof het van rubber is. *\/\n@keyframes sc-bldg-grow {\n  0% { transform: scale(1, 1); }\n  13% { transform: scale(1.03, .955); }\n  40% { transform: scale(.967, 1.053); }\n  62% { transform: scale(1.017, .98); }\n  80% { transform: scale(.994, 1.008); }\n  92% { transform: scale(1.002, .997); }\n  100% { transform: scale(1, 1); }\n}\n\/* krimpen: eerst even rekken, dan inzakken, dan uitdempen *\/\n@keyframes sc-bldg-shrink {\n  0% { transform: scale(1, 1); }\n  13% { transform: scale(.977, 1.037); }\n  42% { transform: scale(1.036, .95); }\n  64% { transform: scale(.987, 1.018); }\n  82% { transform: scale(1.005, .994); }\n  100% { transform: scale(1, 1); }\n}\n\/* breder worden: eerst samentrekken naar links, dan naar rechts uitschieten *\/\n@keyframes sc-bldg-grow-x {\n  0% { transform: scale(1, 1); }\n  13% { transform: scale(.963, 1.019); }\n  40% { transform: scale(1.046, .975); }\n  62% { transform: scale(.986, 1.011); }\n  80% { transform: scale(1.006, .995); }\n  92% { transform: scale(.998, 1.002); }\n  100% { transform: scale(1, 1); }\n}\n\/* smaller worden: eerst even naar rechts uitrekken, dan terugtrekken *\/\n@keyframes sc-bldg-shrink-x {\n  0% { transform: scale(1, 1); }\n  13% { transform: scale(1.031, .983); }\n  42% { transform: scale(.959, 1.029); }\n  64% { transform: scale(1.012, .992); }\n  82% { transform: scale(.996, 1.003); }\n  100% { transform: scale(1, 1); }\n}\n\/* commerciele kavels aan\/uit: linksonderaan ploppen een winkeldeur en een\n   luifel in de tekening. Het gebouw zet zich eerst schrap, vangt dan de\n   landing op met een korte indeuking, en dempt uit. Kleinere uitslag dan bij\n   een niveauwissel: er verandert een detail, niet het hele gebouw. *\/\n@keyframes sc-bldg-comm {\n  0% { transform: scale(1, 1); }\n  12% { transform: scale(.986, 1.016); }\n  36% { transform: scale(1.03, .964); }\n  58% { transform: scale(.99, 1.013); }\n  78% { transform: scale(1.005, .995); }\n  100% { transform: scale(1, 1); }\n}\n\n\/* Wie beweging heeft uitgezet, krijgt de wissel zonder veren. *\/\n@media (prefers-reduced-motion: reduce) {\n  .sc-stap .sc-bldg-img.sc-pop,\n  .sc-stap .sc-bldg-img.sc-grow,\n  .sc-stap .sc-bldg-img.sc-shrink,\n  .sc-stap .sc-bldg-img.sc-grow-x,\n  .sc-stap .sc-bldg-img.sc-shrink-x,\n  .sc-stap .sc-bldg-img.sc-comm { animation: none; }\n}\n<\/style>\n\n<div class=\"sc-stap\" data-basis=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/\" data-sleutel-commercieel=\"commerciele_kavels\">\n  <!-- Geen kop hier: de titel van de stap staat er al boven, in de stijl van de pop-up. -->\n  <p class=\"mymmo-stap-tekst\">Geef het aantal bewoonbare kavels in. Garages en bergingen hoef je niet mee te tellen.<\/p>\n\n    <button type=\"button\" class=\"sc-comm-toggle\" data-rol=\"commercieel\" aria-pressed=\"false\">\n      <span class=\"sc-comm-check\" aria-hidden=\"true\">\n        <svg class=\"sc-svg\" width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" focusable=\"false\">\n          <path d=\"M20 6 9 17l-5-5\"><\/path>\n        <\/svg>\n      <\/span>\n      <span>Het gebouw heeft commerciele kavels (winkels, kantoren, &#8230; )<\/span>\n    <\/button>\n\n    <div class=\"sc-bldg\">\n      <div class=\"sc-bldg-img\" data-rol=\"bldg\">\n        <!-- Deze src hoort bij de beginstand van de schuifbalk hieronder. -->\n        <img class=\"sc-bldg-photo lazyload\" data-src=\"https:\/\/link.openvme.be\/assets\/syndicoach-calculator\/stap-1-gebouwgrootte\/app_level2.svg\" alt=\"\" decoding=\"sync\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\">\n      <\/div>\n    <\/div>\n\n    <div class=\"sc-slider\">\n      <div>\n        <span class=\"sc-kv\" data-rol=\"kv\">8<\/span><span class=\"sc-kv-u\" data-rol=\"kv-u\">kavels<\/span>\n      <\/div>\n      <input type=\"range\" min=\"2\" max=\"60\" step=\"1\" value=\"8\" data-rol=\"range\" data-mymmo-waarde=\"aantal_kavels\" aria-label=\"Aantal kavels\">\n      <div class=\"sc-ends\">\n<span>2<\/span><span>60+<\/span>\n<\/div>\n    <\/div>\n<\/div>\n\n<script>\nMymmoStappen.stap(document.currentScript, function (api) {\n  var wortel = api.el.querySelector('.sc-stap');\n  if (!wortel) return;\n\n  var BASIS = wortel.getAttribute('data-basis') || '';\n  var SLEUTEL_COMM = wortel.getAttribute('data-sleutel-commercieel') || 'commerciele_kavels';\n\n  \/* Welk niveau hoort bij welk aantal kavels. Vijf tekeningen, twee reeksen\n     (met en zonder commerciele kavels). *\/\n  var NIVEAUS = [\n    { max: 5, level: 1 }, { max: 15, level: 2 }, { max: 25, level: 3 },\n    { max: 39, level: 4 }, { max: Infinity, level: 5 }\n  ];\n  var BESTAND = {\n    1: 'app_level1.svg', 2: 'app_level2.svg', 3: 'app_level3.svg',\n    4: 'app_level4.svg', 5: 'app_level5.svg'\n  };\n  var BESTAND_COMM = {\n    1: 'app_level1comm.svg', 2: 'app_level2comm.svg', 3: 'app_level3comm.svg',\n    4: 'app_level4comm.svg', 5: 'app_level5comm.svg'\n  };\n\n  \/* Waar staat de tekening werkelijk in haar kader? Een gebouw-svg heeft lucht\n     boven en naast zich. Deze fracties zijn eenmalig uit de originele\n     bestanden gemeten en bepalen het draaipunt van de breedtegroei. *\/\n  var LINKS = { 1: .311, 2: .282, 3: .230, 4: .230, 5: .230 };\n\n  \/* Tot en met niveau 4 wordt het gebouw hoger; op niveau 5 komt er een\n     vleugel naast en groeit het in de breedte. De beweging volgt die as,\n     anders klopt de anticipatie niet met wat je ziet gebeuren. Verandert er\n     later iets aan de tekeningen, dan is dit het enige dat je bijstelt. *\/\n  var BREEDTEGROEI = 5;\n  var ANIM = ['sc-pop', 'sc-grow', 'sc-shrink', 'sc-grow-x', 'sc-shrink-x', 'sc-comm'];\n\n  var range = wortel.querySelector('[data-rol=\"range\"]');\n  var kv = wortel.querySelector('[data-rol=\"kv\"]');\n  var kvu = wortel.querySelector('[data-rol=\"kv-u\"]');\n  var bldg = wortel.querySelector('[data-rol=\"bldg\"]');\n  var knop = wortel.querySelector('[data-rol=\"commercieel\"]');\n  if (!range || !bldg) return;\n\n  var maximum = parseInt(range.getAttribute('max'), 10) || 60;\n\n  \/* Komt de bezoeker terug van een MISLUKTE inzending, dan staat zijn antwoord\n     nog in het verborgen veld (de plugin schrijft de POST terug) maar niet op\n     de schuifbalk -- die is statische HTML uit wp-admin en staat dus weer op\n     haar beginstand. Zonder deze regel ziet hij 8 staan terwijl hij 30 koos,\n     en drukt hij op Verzenden met de verkeerde waarde. *\/\n  var bewaard = parseInt(api.lees(range.getAttribute('data-mymmo-waarde')), 10);\n  if (bewaard >= parseInt(range.getAttribute('min'), 10) && bewaard <= maximum) {\n    range.value = String(bewaard);\n  }\n\n  var commercieel = api.lees(SLEUTEL_COMM) === 'ja';\n  var niveau = niveauVan(getal());\n  var swapT = null;\n\n  function getal() { return parseInt(range.value, 10) || 0; }\n\n  function niveauVan(k) {\n    for (var i = 0; i < NIVEAUS.length; i += 1) {\n      if (k <= NIVEAUS[i].max) return NIVEAUS[i].level;\n    }\n    return 5;\n  }\n\n  function bron(level, comm) {\n    var map = comm ? BESTAND_COMM : BESTAND;\n    return BASIS + (map[level] || BESTAND[level]);\n  }\n\n  \/* Vervangt de bron van de bestaande <img> in plaats van het element opnieuw\n     op te bouwen. Dat laatste kost de browser altijd een frame -- ook als de\n     afbeelding al in de cache zit -- en dat zie je als een flits bij elke\n     wissel. Staat de tekening op haar fallback-icoon, dan bouwen we wel\n     opnieuw op. *\/\n  function teken() {\n    var img = bldg.querySelector('.sc-bldg-photo');\n    if (img) {\n      var s = bron(niveau, commercieel);\n      if (img.getAttribute('src') !== s) img.setAttribute('src', s);\n      return;\n    }\n    img = document.createElement('img');\n    img.className = 'sc-bldg-photo';\n    img.alt = '';\n    img.setAttribute('loading', 'eager');\n    img.setAttribute('decoding', 'sync');\n    bewaakLaden(img);\n    bldg.innerHTML = '';\n    bldg.appendChild(img);\n    img.src = bron(niveau, commercieel);\n  }\n\n  \/* Haalt de tekening niet op, dan komt er een lijnicoon in de plaats. Geen\n     globale window-functie en geen inline onerror: dezelfde stap kan twee keer\n     op een pagina staan. *\/\n  function bewaakLaden(img) {\n    img.addEventListener('error', function () {\n      if (!img.parentNode) return;\n      var span = document.createElement('span');\n      span.className = 'sc-bldg-fallback';\n      span.setAttribute('aria-hidden', 'true');\n      span.innerHTML = '<svg class=\"sc-svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" ' +\n        'stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" focusable=\"false\">' +\n        '<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\"\/><path d=\"M9 22v-4h6v4\"\/>' +\n        '<path d=\"M8 6h.01M16 6h.01M8 10h.01M16 10h.01M8 14h.01M16 14h.01\"\/>';\n      img.parentNode.replaceChild(span, img);\n    });\n  }\n\n  function draaipunt() {\n    var f = LINKS[niveau];\n    if (f) bldg.style.setProperty('--sc-bldg-ox', (f * 100).toFixed(1) + '%');\n  }\n\n  function beweeg(cls) {\n    draaipunt();\n    for (var i = 0; i < ANIM.length; i += 1) bldg.classList.remove(ANIM[i]);\n    void bldg.offsetWidth;                 \/* forceer reflow zodat de animatie herstart *\/\n    bldg.classList.add(cls);\n    if (bldg._eind) bldg.removeEventListener('animationend', bldg._eind);\n    bldg._eind = function (ev) {\n      if (ev.target !== bldg) return;\n      bldg.classList.remove(cls);\n      bldg.removeEventListener('animationend', bldg._eind);\n      bldg._eind = null;\n    };\n    bldg.addEventListener('animationend', bldg._eind);\n  }\n\n  \/* De tekening wisselt niet op tel nul maar op het dieptepunt van de\n     anticipatie: op dat moment zit het gebouw samengedrukt en valt de wissel\n     nauwelijks op -- wat erna komt leest als een beweging in plaats van als een\n     plaatje dat verspringt. Sleept iemand snel door meerdere niveaus, dan\n     schuift de wissel gewoon mee op. *\/\n  function wisselNa(ms) {\n    clearTimeout(swapT);\n    swapT = setTimeout(function () { swapT = null; teken(); }, ms);\n  }\n\n  function toonGetal() {\n    var k = getal();\n    if (kv) kv.textContent = String(k);\n    if (kvu) kvu.textContent = k >= maximum ? 'kavels of meer' : 'kavels';\n  }\n\n  range.addEventListener('input', function () {\n    toonGetal();\n    var nieuw = niveauVan(getal());\n    if (nieuw === niveau) return;\n    var as = Math.max(niveau, nieuw) >= BREEDTEGROEI ? '-x' : '';\n    var cls = (nieuw < niveau ? 'sc-shrink' : 'sc-grow') + as;\n    niveau = nieuw;\n    beweeg(cls);\n    wisselNa(88);\n  });\n\n  if (knop) {\n    knop.addEventListener('click', function () {\n      commercieel = !commercieel;\n      knop.classList.toggle('is-on', commercieel);\n      knop.setAttribute('aria-pressed', commercieel ? 'true' : 'false');\n      api.zet(SLEUTEL_COMM, commercieel ? 'ja' : 'nee');\n      beweeg('sc-comm');\n      wisselNa(72);   \/* net na het schrap zetten, zodat de landing de plop opvangt *\/\n    });\n  }\n\n  \/* Beginstand. Het getal komt al mee via data-mymmo-waarde; het vinkje niet,\n     dus dat zetten we hier expliciet -- anders staat er in Odoo niets in plaats\n     van \"nee\". *\/\n  var eerste = bldg.querySelector('.sc-bldg-photo');\n  if (eerste) bewaakLaden(eerste);\n  if (knop) {\n    knop.classList.toggle('is-on', commercieel);\n    knop.setAttribute('aria-pressed', commercieel ? 'true' : 'false');\n  }\n  api.zet(SLEUTEL_COMM, commercieel ? 'ja' : 'nee');\n  toonGetal();\n  draaipunt();\n  teken();\n\n  \/* Komt de stap opnieuw in beeld (terug vanuit het formulier), dan staan de\n     waarden er nog: de schuifbalk houdt zijn stand en de tekening klopt al.\n     Een plop maakt zichtbaar dat je terug bent. *\/\n  api.bij('tonen', function () { beweeg('sc-pop'); });\n});\n<\/script>\n<\/div>\n<div class=\"mymmo-stap-nav\"><button type=\"button\" class=\"mymmo-stap-knop mymmo-stap-knop--verder\" data-mymmo-volgende>Volgende<\/button><\/div><\/section>                                <section class=\"mymmo-stap mymmo-stap--html\" data-mymmo-stap=\"1\" data-mymmo-stap-naam=\"gebouwkenmerken\" data-mymmo-stap-velden=\"\" data-mymmo-stap-nav=\"plugin\" hidden><h3 class=\"mymmo-stap-titel mymmo-stap-titel--met-tekst\" data-mymmo-kop=\"titel\">Welke gemeenschappelijke voorzieningen zijn er aanwezig in jullie gebouw?<\/h3>\n<p class=\"mymmo-stap-tekst\" data-mymmo-kop=\"sub\">Duid aan wat van toepassing is.<\/p>\n<div class=\"mymmo-stap-inhoud\" data-mymmo-stap-inhoud>\n<!--\n  STAP - \"Welke voorzieningen zijn er aanwezig in de gemeenschap?\"\n\n  Meerkeuze met de tekeningen uit brand\/thingies. Levert EEN waarde af:\n\n      gebouw_kenmerken     komma-gescheiden, bv. \"lift,garages,Zwembad\"\n\n  De lijst is in 1.17.15 ingekort tot de VOORZIENINGEN die er zijn -- geen\n  problemen meer. Waarom iemand met ons praat, vraagt de stap erna\n  (waarom-syndicoach). Vijf waarden zijn daarbij weggevallen:\n  verouderde_installaties, moeilijke_sfeer, ontbrekende_verzekeringen,\n  geen_reserverekening en sleutels_badges. Ze staan nog in oude inzendingen,\n  dus hergebruik die namen nooit voor iets anders. `water_verwarming` is nieuw\n  (in 1.17.15 heette die waarde nog `gemeenschappelijke_verwarming`, hernoemd\n  in 1.17.17 omdat dat label niet netjes afbrak onder een kei -- staan er al\n  inzendingen met de oude naam, zet ze dan terug); `garages` bleef als waarde\n  staan en kreeg alleen een breder label.\n\n  Zet in de Operations Manager een VERBORGEN VELD met die sleutel op het\n  formulier. Laat \"Levert deze sleutels\" bij de stap LEEG: niets aanduiden is een\n  geldig antwoord, en anders blijft \"Volgende\" uit.\n\n  DE LIJST AANVULLEN\n  ------------------\n  Een kei is gewoon een knop in de HTML hieronder. Een regel kopieren en drie\n  dingen aanpassen:\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"fietsenstalling\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img fetchpriority=\"high\" decoding=\"async\" class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\"\n          src=\"...\/thingies_fietsenstalling.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\"><\/span>\n        <span class=\"mf-kei-label\">Fietsenstalling<\/span>\n      <\/button>\n\n  `data-waarde` belandt in Odoo en ligt VAST zodra er inzendingen zijn. Het label\n  mag altijd wijzigen -- ook rechtstreeks in het voorbeeld van de bouwer, want\n  het is echte tekst in de HTML.\n\n  WAAROM DE KEIEN IN DE HTML STAAN EN NIET IN HET SCRIPT\n  -----------------------------------------------------\n  In een eerdere versie bouwde het script elke kei met innerHTML-strings als\n  '<span>' + ... + '<\/span>'. Op syndicoach.be kwamen alle sluit-tags UIT die\n  strings niet aan -- ze stonden er al zo in de ruwe HTML van de server -- waardoor\n  alles in elkaar nestte en elk label onzichtbaar in het vinkje belandde. Waar dat\n  gebeurt (een filter of beveiligingsplugin in WordPress) is van hieruit niet te\n  zien; de markup buiten het script kwam wel ongeschonden door.\n  Een versie later bleek het erger: ook `&&` werd `&#038;&#038;` en elke letter met\n  een accent een hex-entiteit, waarna het script niet meer parste en geen kei\n  reageerde. Alleen deze stap werd geraakt -- de enige met `loading=\"lazy\"`-\n  afbeeldingen, naast een lazyload-plugin op de site die ze herschreef. Daarom:\n  - het script bevat UITSLUITEND ASCII, en geen en-teken, kleiner- of groter-dan\n    en geen sluit-tag (zie de uitleg bovenaan in het script);\n  - de afbeeldingen laden meteen, met de gangbare vlaggen om lazyload-plugins\n    over te slaan (`skip-lazy`, `no-lazyload`, `data-no-lazy`, `data-skip-lazy`).\n\n  Geen eigen kop, kaartje, opvulling of lettertype: dat levert de plugin.\n-->\n\n<style>\n\/* Alles genest onder .mf-kenmerken. Geen id's: dezelfde stap mag twee keer op\n   een pagina staan. *\/\n.mf-kenmerken {\n  --k-accent: var(--mf-accent, #99f6e4);\n  --k-ink: var(--mf-text, #1f2430);\n  \/* De LEESBARE merkkleur (bij Syndicoach donkerblauw #0369a1). Voor het\n     vinkje, de rand van een gekozen kei en het label ervan. Zet de plugin zelf. *\/\n  --k-inkt: var(--mf-accent-ink, var(--mf-text, #0369a1));\n  --k-muted: var(--mf-muted, #6b7280);\n  --k-lijn: var(--mf-border, #d7dbe2);\n  --k-vlak: var(--mf-field-bg, #ffffff);\n\n  color: var(--k-ink);\n  line-height: 1.5;\n  flex: 1 0 auto;\n  display: flex;\n  flex-direction: column;\n}\n.mf-kenmerken *, .mf-kenmerken *::before, .mf-kenmerken *::after { box-sizing: border-box; }\n\n\/* De wolk staat VERTICAAL GECENTREERD in de ruimte tussen de uitleg en de\n   knoppen: auto boven en onder. Zakt er niets te verdelen, dan worden allebei 0. *\/\n.mf-kenmerken .mf-veld { margin-block: auto; }\n\n\/* De rijen laten tussen elkaar ruimte voor een label van twee regels: het label\n   hangt ONDER de kei en neemt zelf geen plaats in, zodat een label dat\n   verschijnt de wolk niet doet verspringen. *\/\n.mf-kenmerken .mf-wolk {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  align-items: center;\n  gap: 52px 8px;\n  padding: 10px 0 48px;\n}\n\n.mf-kenmerken .mf-kei {\n  position: relative;\n  width: 104px;\n  height: 96px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  background: none;\n  font: inherit;\n  color: var(--k-ink);\n  cursor: pointer;\n}\n.mf-kenmerken .mf-kei:focus-visible { outline: none; }\n\n\/* De kei. Vier organische vormen die om de beurt terugkomen, elk een tikje\n   gekanteld. `rotate`, `scale` en `translate` zijn drie aparte eigenschappen:\n   zo kan de kei tegelijk scheef staan, zweven en groeien zonder dat de ene\n   beweging de andere overschrijft. *\/\n.mf-kenmerken .mf-blob {\n  position: relative;\n  width: 92px;\n  height: 92px;\n  display: grid;\n  place-items: center;\n  background: var(--k-vlak);\n  border: 1.5px solid var(--k-lijn);\n  border-radius: 63% 37% 52% 48% \/ 42% 57% 43% 58%;\n  rotate: -3deg;\n  \/* Groeien MET anticipatie: de negatieve waarde laat de kei eerst een tikje\n     inzakken, de waarde boven 1 laat hem voorbij zijn eindmaat schieten en\n     terugveren. Ease in en uit zit in de curve zelf. *\/\n  transition:\n    scale .46s cubic-bezier(.36, -0.5, .28, 1.5),\n    background-color .22s ease,\n    border-color .22s ease;\n  animation: mf-zweef 6.4s ease-in-out infinite;\n}\n.mf-kenmerken .mf-kei:nth-child(4n+2) .mf-blob {\n  border-radius: 38% 62% 67% 33% \/ 58% 36% 64% 42%;\n  rotate: 2.5deg;\n  animation-delay: -1.6s;\n}\n.mf-kenmerken .mf-kei:nth-child(4n+3) .mf-blob {\n  border-radius: 56% 44% 31% 69% \/ 37% 64% 36% 63%;\n  rotate: -1.5deg;\n  animation-delay: -3.2s;\n}\n.mf-kenmerken .mf-kei:nth-child(4n) .mf-blob {\n  border-radius: 33% 67% 59% 41% \/ 64% 39% 61% 36%;\n  rotate: 3deg;\n  animation-delay: -4.6s;\n}\n\n\/* Zweven rond het MIDDEN (-2px tot +2px), niet van 0 naar boven: anders ligt het\n   gemiddelde van elke kei hoger dan zijn plek en staat een rij niet meer recht. *\/\n@keyframes mf-zweef {\n  0%, 100% { translate: 0 -2px; }\n  50%      { translate: 0 2px; }\n}\n\n.mf-kenmerken .mf-blob img {\n  display: block;\n  width: 78px;\n  height: 78px;\n  object-fit: contain;\n  pointer-events: none;\n}\n\n\/* Groter bij aanwijzen en bij een toetsenbordfocus, en GROOT BLIJVEN als hij\n   gekozen is. *\/\n.mf-kenmerken .mf-kei:hover .mf-blob,\n.mf-kenmerken .mf-kei:focus-visible .mf-blob,\n.mf-kenmerken .mf-kei[aria-pressed=\"true\"] .mf-blob {\n  scale: 1.18;\n}\n.mf-kenmerken .mf-kei:hover .mf-blob,\n.mf-kenmerken .mf-kei:focus-visible .mf-blob {\n  border-color: color-mix(in srgb, var(--k-inkt) 40%, var(--k-lijn));\n}\n\n\/* Gekozen: een ZACHTE mint en een rand in de leesbare merkkleur. Geen vol mint\n   vlak -- de tekeningen zijn zelf in mint en donkerblauw getekend, en op een\n   vol mint vlak verdwijnt de helft van de tekening. *\/\n.mf-kenmerken .mf-kei[aria-pressed=\"true\"] .mf-blob {\n  background: color-mix(in srgb, var(--k-accent) 30%, var(--k-vlak));\n  border: 2px solid var(--k-inkt);\n  animation-play-state: paused;\n}\n\n\/* Het vinkje. Met CSS getekend (twee randen van een gedraaid vlakje), dus geen\n   tekening en geen markup nodig. Het hangt IN de kei en groeit dus mee. *\/\n.mf-kenmerken .mf-blob::after {\n  content: \"\";\n  position: absolute;\n  top: -5px;\n  right: -5px;\n  width: 22px;\n  height: 22px;\n  border-radius: 999px;\n  background: var(--k-inkt);\n  opacity: 0;\n  scale: .4;\n  transition: opacity .18s ease, scale .32s cubic-bezier(.34, 1.56, .64, 1);\n}\n.mf-kenmerken .mf-blob::before {\n  content: \"\";\n  position: absolute;\n  z-index: 1;\n  top: 0;\n  right: 2px;\n  width: 6px;\n  height: 11px;\n  border: solid #fff;\n  border-width: 0 2px 2px 0;\n  rotate: 45deg;\n  opacity: 0;\n  transition: opacity .18s ease;\n}\n.mf-kenmerken .mf-kei[aria-pressed=\"true\"] .mf-blob::after { opacity: 1; scale: 1; }\n.mf-kenmerken .mf-kei[aria-pressed=\"true\"] .mf-blob::before { opacity: 1; }\n\n\/* Het label hangt onder de kei en verschijnt bij aanwijzen, bij focus, en\n   BLIJFT staan bij een gekozen kei. Een expliciete kleur: het erft niet van de\n   knop, want een thema zet soms een kleur op elke <button>. *\/\n.mf-kenmerken .mf-kei-label {\n  position: absolute;\n  top: calc(100% + 10px);\n  left: 50%;\n  \/* Breed genoeg voor het langste woord dat we hebben (\"fietsenstalling\"), en\n     smal genoeg dat een label van twee woorden op twee regels valt (\"Meerdere\"\n     \/ \"ingangen\") -- dan hebben keien naast elkaar even hoge labels. `balance`\n     verdeelt de regels gelijk; `break-word` is enkel een vangnet voor een label\n     dat iemand later langer maakt. Een label dat breder is dan een kei plus de\n     kolomruimte eromheen raakt dat van zijn buur: hier 102 tegen 104 + 8, dus\n     dat zit goed. Dit ging mis met \"Gemeenschappelijke verwarming\" -- dat ene\n     woord was breder dan de kei zelf, en de oplossing is een korter label, niet\n     een breder vak. *\/\n  width: 102px;\n  text-wrap: balance;\n  overflow-wrap: break-word;\n  translate: -50% 6px;\n  font-size: .78rem;\n  line-height: 1.25;\n  text-align: center;\n  color: var(--k-ink);\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity .22s ease, translate .38s cubic-bezier(.34, -0.3, .28, 1.35);\n}\n.mf-kenmerken .mf-kei:hover .mf-kei-label,\n.mf-kenmerken .mf-kei:focus-visible .mf-kei-label,\n.mf-kenmerken .mf-kei[aria-pressed=\"true\"] .mf-kei-label {\n  opacity: 1;\n  translate: -50% 0;\n}\n.mf-kenmerken .mf-kei[aria-pressed=\"true\"] .mf-kei-label {\n  font-weight: 600;\n  color: var(--k-inkt);\n}\n\n\/* Op een scherm zonder aanwijzer (telefoon, tablet) bestaat \"hover\" niet. Zonder\n   deze regel zie je daar een wolk tekeningen zonder &#xE9;&#xE9;n woord uitleg. *\/\n@media (hover: none) {\n  .mf-kenmerken .mf-kei-label { opacity: 1; translate: -50% 0; }\n}\n\n\/* Laadt een tekening niet, dan komt het label IN de kei. Nooit een\n   kapot-plaatje-icoontje. *\/\n.mf-kenmerken .mf-kei--zonder-beeld .mf-blob img { display: none; }\n\n\/* &#x2500;&#x2500; Zelf aanvullen &#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500; *\/\n\n\/* De \"+\": twee streepjes met CSS, zelfde reden als het vinkje. *\/\n.mf-kenmerken .mf-kei--extra .mf-blob {\n  border-style: dashed;\n  background: transparent;\n  animation: none;\n}\n.mf-kenmerken .mf-plus {\n  position: relative;\n  width: 22px;\n  height: 22px;\n}\n.mf-kenmerken .mf-plus::before,\n.mf-kenmerken .mf-plus::after {\n  content: \"\";\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  width: 22px;\n  height: 2px;\n  border-radius: 2px;\n  background: var(--k-muted);\n  translate: -50% -50%;\n}\n.mf-kenmerken .mf-plus::after { rotate: 90deg; }\n\n\/* Wat de bezoeker zelf typte heeft geen tekening: de tekst staat dan in de kei.\n   Zulke keien zijn altijd gekozen -- uitzetten haalt ze weg. *\/\n.mf-kenmerken .mf-eigen-tekst {\n  display: -webkit-box;\n  -webkit-line-clamp: 3;\n  -webkit-box-orient: vertical;\n  overflow: hidden;\n  padding: 0 8px;\n  font-size: .7rem;\n  font-weight: 600;\n  line-height: 1.15;\n  text-align: center;\n  color: var(--k-inkt);\n}\n\n.mf-kenmerken .mf-invoer {\n  display: none;\n  gap: 8px;\n  justify-content: center;\n  margin-top: 4px;\n}\n.mf-kenmerken .mf-invoer.is-open { display: flex; }\n.mf-kenmerken .mf-invoer input {\n  width: min(280px, 100%);\n  height: auto;\n  margin: 0;\n  padding: 9px 12px;\n  font: inherit;\n  font-size: .9rem;\n  color: var(--k-ink);\n  background: var(--k-vlak);\n  border: 1.5px solid var(--k-lijn);\n  border-radius: 10px;\n}\n.mf-kenmerken .mf-invoer input:focus { outline: none; border-color: var(--k-inkt); }\n.mf-kenmerken .mf-invoer button {\n  height: auto;\n  margin: 0;\n  padding: 9px 16px;\n  font: inherit;\n  font-size: .9rem;\n  font-weight: 600;\n  color: var(--k-ink);\n  background: var(--k-accent);\n  border: 0;\n  border-radius: 10px;\n  cursor: pointer;\n}\n\n.mf-kenmerken .mf-plop { animation: mf-plop .42s cubic-bezier(.31, 1.7, .6, 1); }\n@keyframes mf-plop {\n  0%   { translate: 0 0; }\n  35%  { translate: 0 -6px; }\n  100% { translate: 0 0; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .mf-kenmerken .mf-blob,\n  .mf-kenmerken .mf-plop { animation: none; }\n  .mf-kenmerken .mf-blob,\n  .mf-kenmerken .mf-kei-label { transition: none; }\n}\n\n@media (max-width: 420px) {\n  .mf-kenmerken .mf-wolk { gap: 48px 6px; }\n  .mf-kenmerken .mf-kei { width: 88px; height: 80px; }\n  .mf-kenmerken .mf-kei-label { width: 92px; font-size: .7rem; }\n  .mf-kenmerken .mf-blob { width: 78px; height: 78px; }\n  .mf-kenmerken .mf-blob img { width: 66px; height: 66px; }\n}\n<\/style>\n\n<div class=\"mf-kenmerken\" data-sleutel=\"gebouw_kenmerken\">\n  <div class=\"mf-veld\">\n    <div class=\"mf-wolk\" data-rol=\"wolk\" role=\"group\" aria-label=\"Voorzieningen in het gebouw\">\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"lift\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_lift.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Lift<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"water_verwarming\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_verwarming.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Water en verwarming<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"zonnepanelen\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_zonnepaneel.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Zonnepanelen<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"laadpalen\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_laadpaal.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Laadpalen<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"onderhoud_tuin\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_tuin.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Tuin met onderhoud<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"garages\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_fietsenstalling.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Garages en fietsenstalling<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"afvallokaal\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_vuilniishok.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Afvallokaal<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei\" data-waarde=\"meerdere_ingangen\" aria-pressed=\"false\">\n        <span class=\"mf-blob\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_deur.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n        <span class=\"mf-kei-label\">Meerdere ingangen<\/span>\n      <\/button>\n\n      <button type=\"button\" class=\"mf-kei mf-kei--extra\" data-rol=\"extra\" aria-expanded=\"false\">\n        <span class=\"mf-blob\"><span class=\"mf-plus\" aria-hidden=\"true\"><\/span><\/span>\n        <span class=\"mf-kei-label\">Iets anders<\/span>\n      <\/button>\n\n    <\/div>\n\n    <div class=\"mf-invoer\" data-rol=\"invoer\">\n      <input type=\"text\" data-rol=\"invoer-veld\" maxlength=\"40\" placeholder=\"Iets anders? Typ het hier\" aria-label=\"Eigen kenmerk toevoegen\">\n      <button type=\"button\" data-rol=\"invoer-ok\">Toevoegen<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\nMymmoStappen.stap(document.currentScript, function (api) {\n  \/* LEES DIT VOOR JE DIT SCRIPT AANPAST.\n     Op syndicoach.be wordt de HTML van deze stap opnieuw uitgeschreven voor ze\n     de browser bereikt. Daarbij werd een en-teken een HTML-entiteit, een letter\n     met een accent een hex-entiteit, en verdween elke sluit-tag uit een string.\n     Het script parste daarna niet meer en geen enkele kei reageerde.\n     Daarom bevat dit script uitsluitend ASCII en geen enkel en-teken, kleiner-\n     of groter-dan-teken of sluit-tag. Schrijf dus geen dubbele en-tekens in een\n     voorwaarde maar twee geneste ifs, en geen lussen met een vergelijking maar\n     forEach en filter. *\/\n\n  var wortel = api.el.querySelector('.mf-kenmerken');\n  if (!wortel) return;\n\n  var SLEUTEL = wortel.getAttribute('data-sleutel') || 'gebouw_kenmerken';\n  var wolk = wortel.querySelector('[data-rol=\"wolk\"]');\n  var extra = wortel.querySelector('[data-rol=\"extra\"]');\n  var invoer = wortel.querySelector('[data-rol=\"invoer\"]');\n  var invoerVeld = wortel.querySelector('[data-rol=\"invoer-veld\"]');\n  var invoerOk = wortel.querySelector('[data-rol=\"invoer-ok\"]');\n  if (!wolk) return;\n\n  var gekozen = [];\n\n  function lijst(nodes) {\n    return Array.prototype.slice.call(nodes);\n  }\n\n  function schrijf() {\n    api.zet(SLEUTEL, gekozen.join(','));\n  }\n\n  function keiVoor(waarde) {\n    var gezocht = String(waarde).toLowerCase();\n    var treffers = lijst(wolk.querySelectorAll('.mf-kei[data-waarde]')).filter(function (kei) {\n      return kei.getAttribute('data-waarde').toLowerCase() === gezocht;\n    });\n    return treffers.length ? treffers[0] : null;\n  }\n\n  function plop(kei) {\n    kei.classList.remove('mf-plop');\n    void kei.offsetWidth;\n    kei.classList.add('mf-plop');\n  }\n\n  function zet(kei, aan) {\n    var waarde = kei.getAttribute('data-waarde');\n    kei.setAttribute('aria-pressed', aan ? 'true' : 'false');\n    gekozen = gekozen.filter(function (w) { return w !== waarde; });\n    if (aan) {\n      gekozen.push(waarde);\n      plop(kei);\n    }\n  }\n\n  \/* Een kei voor wat de bezoeker zelf typte: createElement en textContent,\n     nooit een HTML-string. *\/\n  function maakEigenKei(tekst) {\n    var knop = document.createElement('button');\n    knop.type = 'button';\n    knop.className = 'mf-kei mf-kei--eigen';\n    knop.setAttribute('data-waarde', tekst);\n    knop.setAttribute('data-eigen', '1');\n    knop.setAttribute('aria-pressed', 'true');\n\n    var blob = document.createElement('span');\n    blob.className = 'mf-blob';\n    var inhoud = document.createElement('span');\n    inhoud.className = 'mf-eigen-tekst';\n    inhoud.textContent = tekst;\n    blob.appendChild(inhoud);\n\n    var label = document.createElement('span');\n    label.className = 'mf-kei-label';\n    label.textContent = 'Zelf toegevoegd';\n\n    knop.appendChild(blob);\n    knop.appendChild(label);\n    wolk.insertBefore(knop, extra);\n    return knop;\n  }\n\n  function voegEigenToe(ruw) {\n    var tekst = String(ruw || '').replace(\/,\/g, ' ').replace(\/\\s+\/g, ' ').trim().slice(0, 40);\n    if (!tekst) return;\n\n    var bestaand = keiVoor(tekst);\n    if (bestaand) {\n      if (bestaand.getAttribute('aria-pressed') === 'true') {\n        plop(bestaand);\n      } else {\n        zet(bestaand, true);\n      }\n      schrijf();\n      return;\n    }\n\n    plop(maakEigenKei(tekst));\n    gekozen.push(tekst);\n    schrijf();\n  }\n\n  function openInvoer() {\n    if (!invoer) return;\n    var open = invoer.classList.toggle('is-open');\n    extra.setAttribute('aria-expanded', open ? 'true' : 'false');\n    if (open) {\n      if (invoerVeld) invoerVeld.focus();\n    }\n  }\n\n  \/* Een luisteraar op de wolk voor alle keien, ook die er later bijkomen. *\/\n  wolk.addEventListener('click', function (e) {\n    var kei = e.target.closest ? e.target.closest('.mf-kei') : null;\n    if (!kei) return;\n    if (!wolk.contains(kei)) return;\n\n    if (kei === extra) {\n      openInvoer();\n      return;\n    }\n\n    var aan = kei.getAttribute('aria-pressed') === 'true';\n    var eigen = kei.getAttribute('data-eigen') === '1';\n\n    if (aan) {\n      if (eigen) {\n        \/* Een eigen kei bestaat alleen omdat iemand hem typte: uitzetten is weg. *\/\n        var waarde = kei.getAttribute('data-waarde');\n        gekozen = gekozen.filter(function (w) { return w !== waarde; });\n        kei.remove();\n        schrijf();\n        return;\n      }\n    }\n\n    zet(kei, !aan);\n    schrijf();\n  });\n\n  if (invoerOk) {\n    invoerOk.addEventListener('click', function () {\n      voegEigenToe(invoerVeld ? invoerVeld.value : '');\n      if (invoerVeld) {\n        invoerVeld.value = '';\n        invoerVeld.focus();\n      }\n    });\n  }\n\n  if (invoerVeld) {\n    invoerVeld.addEventListener('keydown', function (e) {\n      if (e.key !== 'Enter') return;\n      \/* Enter hier mag het formulier niet versturen. *\/\n      e.preventDefault();\n      voegEigenToe(invoerVeld.value);\n      invoerVeld.value = '';\n    });\n  }\n\n  \/* Een tekening die niet laadt: het label komt dan in de kei. *\/\n  lijst(wolk.querySelectorAll('.mf-blob img')).forEach(function (img) {\n    function mislukt() {\n      var kei = img.closest('.mf-kei');\n      if (!kei) return;\n      var label = kei.querySelector('.mf-kei-label');\n      if (!label) return;\n      kei.classList.add('mf-kei--zonder-beeld');\n      var tekst = document.createElement('span');\n      tekst.className = 'mf-eigen-tekst';\n      tekst.textContent = label.textContent;\n      img.parentNode.appendChild(tekst);\n    }\n    if (img.complete) {\n      if (img.naturalWidth === 0) mislukt();\n      return;\n    }\n    img.addEventListener('error', mislukt);\n  });\n\n  \/* Beginstand: terug van een mislukte inzending of van een volgende stap. *\/\n  String(api.lees(SLEUTEL) || '').split(',')\n    .map(function (s) { return s.trim(); })\n    .filter(Boolean)\n    .forEach(function (waarde) {\n      var kei = keiVoor(waarde);\n      if (kei) {\n        kei.setAttribute('aria-pressed', 'true');\n        gekozen.push(kei.getAttribute('data-waarde'));\n        return;\n      }\n      maakEigenKei(waarde);\n      gekozen.push(waarde);\n    });\n  schrijf();\n\n  api.bij('tonen', function () {\n    lijst(wolk.querySelectorAll('.mf-kei[aria-pressed=\"true\"]')).forEach(plop);\n  });\n});\n<\/script>\n<\/div>\n<div class=\"mymmo-stap-nav\">\n<button type=\"button\" class=\"mymmo-stap-knop mymmo-stap-knop--terug\" data-mymmo-vorige>Vorige<\/button><button type=\"button\" class=\"mymmo-stap-knop mymmo-stap-knop--verder\" data-mymmo-volgende>Volgende<\/button>\n<\/div><\/section>                                <section class=\"mymmo-stap mymmo-stap--html\" data-mymmo-stap=\"2\" data-mymmo-stap-naam=\"huidig-beheer\" data-mymmo-stap-velden=\"waarom_syndicoach\" data-mymmo-stap-nav=\"plugin\" hidden><h3 class=\"mymmo-stap-titel mymmo-stap-titel--met-tekst\" data-mymmo-kop=\"titel\">Waarom zijn jullie op zoek naar een syndicus?<\/h3>\n<p class=\"mymmo-stap-tekst\" data-mymmo-kop=\"sub\">Duid aan wat meespeelt. Zo weten we meteen waar we jullie kunnen ondersteunen.<\/p>\n<div class=\"mymmo-stap-inhoud\" data-mymmo-stap-inhoud>\n<!--\n  STAP - \"Waarom overweeg je Syndicoach?\"\n\n  MEERKEUZE in vakjes, met een tekening per reden. Levert EEN waarde af:\n\n      waarom_syndicoach   komma-gescheiden, bv. \"te_duur,moeilijk_bereikbaar\"\n\n  Zet in de Operations Manager een VERBORGEN VELD met die sleutel op het\n  formulier. Deze stap verwacht minstens een keuze: zet `waarom_syndicoach` bij\n  de stap in wp-admin in \"Levert deze sleutels\", dan blijft \"Volgende\" uit tot er\n  iets aangeduid staat. Laat je dat veld leeg, dan mag de bezoeker doorklikken\n  zonder iets te kiezen.\n\n  LET OP - DIT IS EEN LIJST, GEEN ENKELE WAARDE\n  ---------------------------------------------\n  De vorige versie van stap 3 (huidig-beheer) leverde exact EEN waarde af. Deze\n  levert er nul tot tien, gescheiden door een komma. In de koppeling hoort dat\n  veld dus NIET op een selectieveld van Odoo te staan dat maar een waarde aankan:\n  gebruik een tekstveld, of splits het in de veldkoppelingen naar meerdere\n  vinkjes. Zonder die aanpassing komt er bij twee redenen stil niets of een\n  onbekende waarde in Odoo terecht.\n\n  DE LIJST AANVULLEN\n  ------------------\n  Een vakje is gewoon een knop in de HTML hieronder. Een regel kopieren en drie\n  dingen aanpassen: `data-waarde`, de `src` van de tekening en het label.\n  `data-waarde` belandt in Odoo en ligt VAST zodra er inzendingen zijn. Het label\n  mag altijd wijzigen -- ook rechtstreeks in het voorbeeld van de bouwer, want\n  het is echte tekst in de HTML.\n\n  WAAROM ER HIER GEEN ENKELE SVG EN GEEN ENKEL LEEG ELEMENT STAAT (1.15.14)\n  ------------------------------------------------------------------------\n  Op syndicoach.be kwam een eerdere stap verminkt aan: na elke inline SVG met een\n  use-element ontbrak de sluit-tag van de omliggende span, en elk leeg element\n  verdween. Daarom: geen inline SVG, en wat getekend moet worden (het vinkje)\n  hangt als ::before \/ ::after aan een element dat zelf tekst heeft. De\n  tekeningen komen als img binnen, met de gangbare vlaggen om lazyload-plugins\n  over te slaan.\n\n  Geen eigen kop, geen eigen kaartje rond de stap, geen opvulling aan de\n  zijkanten, geen eigen lettertype, geen eigen Vorige\/Volgende: dat levert de\n  plugin allemaal zelf.\n-->\n\n<style>\n\/* Alles genest onder .mf-waarom. Geen id's: dezelfde stap mag twee keer op een\n   pagina staan (in de tekst en in een pop-up). *\/\n.mf-waarom {\n  --w-accent: var(--mf-accent, #99f6e4);\n  --w-ink: var(--mf-text, #12384f);\n  --w-muted: var(--mf-muted, #6b7280);\n  --w-lijn: var(--mf-border, #d7dbe2);\n  --w-vlak: var(--mf-field-bg, #ffffff);\n  \/* De leesbare merkkleur op wit (bij Syndicoach #0369a1), gezet door de plugin. *\/\n  --w-inkt: var(--mf-accent-ink, var(--mf-text, #0369a1));\n\n  \/* GEEN font-family en GEEN padding: allebei van de plugin. *\/\n  color: var(--w-ink);\n  line-height: 1.45;\n  display: flex;\n  flex-direction: column;\n  flex: 1 0 auto;\n}\n.mf-waarom *, .mf-waarom *::before, .mf-waarom *::after { box-sizing: border-box; }\n\n\/* De vakjes staan verticaal gecentreerd in de vrije ruimte tussen de uitleg en\n   de knoppenrij. Valt er niets te verdelen -- en met tien vakjes is dat op een\n   telefoon het geval -- dan worden allebei de marges 0 en scrolt het paneel. *\/\n.mf-waarom .mf-keuzes {\n  margin-block: auto;\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 10px;\n  padding: 14px 0 6px;\n}\n\/* TWEE KOLOMMEN. Bewust op 560px en niet op 640px: in het venster is de\n   inhoudskolom smaller dan het scherm, en met tien vakjes onder elkaar sta je\n   anders onnodig te scrollen. `grid-auto-rows: 1fr` houdt de twee vakjes van een\n   rij even hoog, ook als het ene label omslaat en het andere niet. *\/\n@media (min-width: 560px) {\n  .mf-waarom .mf-keuzes { grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; gap: 12px; }\n}\n\n\/* Twee klassen op elke regel die een button raakt: een blokthema zet zijn eigen\n   knopstijl inline in de head en wint anders. Alles wat een thema op een knop\n   zet, noemen we hier zelf (display, richting, hoogte, opvulling, rand, schaduw,\n   tekstopmaak). *\/\n.mf-waarom .mf-keuze {\n  position: relative;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  justify-content: flex-start;\n  gap: 12px;\n  width: 100%;\n  height: auto;\n  min-height: 0;\n  margin: 0;\n  \/* Rechts ruimte voor het vinkje, dat op de knop zelf getekend wordt. *\/\n  padding: 8px 42px 8px 10px;\n  font: inherit;\n  font-size: .95rem;\n  font-weight: 400;\n  line-height: 1.3;\n  letter-spacing: normal;\n  text-transform: none;\n  text-align: left;\n  white-space: normal;\n  color: var(--w-ink);\n  background: var(--w-vlak);\n  border: 1.5px solid var(--w-lijn);\n  box-shadow: none;\n  \/* Licht onregelmatige hoeken: net genoeg om niet als een tabel te lezen. *\/\n  border-radius: 18px 22px 20px 24px;\n  cursor: pointer;\n  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, translate .22s cubic-bezier(.34,1.56,.64,1);\n}\n.mf-waarom .mf-keuze:nth-child(4n+2) { border-radius: 22px 18px 24px 20px; }\n.mf-waarom .mf-keuze:nth-child(4n+3) { border-radius: 20px 24px 18px 22px; }\n.mf-waarom .mf-keuze:nth-child(4n)   { border-radius: 24px 20px 22px 18px; }\n\n\/* De tekening in een organische kei, zoals in de stap ervoor. Vier vormen die om\n   de beurt terugkomen, zodat geen twee buren identiek zijn. *\/\n.mf-waarom .mf-ic {\n  flex: 0 0 auto;\n  position: relative;\n  width: 76px;\n  height: 76px;\n  display: grid;\n  place-items: center;\n  background: color-mix(in srgb, var(--w-accent) 16%, var(--w-vlak));\n  border: 1.5px solid transparent;\n  border-radius: 63% 37% 52% 48% \/ 42% 57% 43% 58%;\n  rotate: -3deg;\n  transition: background-color .22s ease, border-color .22s ease, scale .32s cubic-bezier(.34,1.56,.64,1);\n}\n.mf-waarom .mf-keuze:nth-child(4n+2) .mf-ic { border-radius: 38% 62% 67% 33% \/ 58% 36% 64% 42%; rotate: 2.5deg; }\n.mf-waarom .mf-keuze:nth-child(4n+3) .mf-ic { border-radius: 56% 44% 31% 69% \/ 37% 64% 36% 63%; rotate: -1.5deg; }\n.mf-waarom .mf-keuze:nth-child(4n)   .mf-ic { border-radius: 33% 67% 59% 41% \/ 64% 39% 61% 36%; rotate: 3deg; }\n\n.mf-waarom .mf-ic img {\n  display: block;\n  width: 62px;\n  height: 62px;\n  object-fit: contain;\n  pointer-events: none;\n}\n\n\/* Laadt een tekening niet, dan blijft de kei gewoon leeg staan -- nooit een\n   kapot-plaatje-icoontje naast het label. *\/\n.mf-waarom .mf-keuze--zonder-beeld .mf-ic img { display: none; }\n\n.mf-waarom .mf-keuze-titel {\n  display: block;\n  font-weight: 500;\n  color: var(--w-ink);\n  text-wrap: pretty;\n}\n\n\/* Het vinkje rechts: een organisch bolletje met een haakje erin, allebei met CSS\n   getekend op de knop zelf. *\/\n.mf-waarom .mf-keuze::before {\n  content: \"\";\n  position: absolute;\n  right: 12px;\n  top: 50%;\n  width: 22px;\n  height: 22px;\n  margin-top: -11px;\n  background: var(--w-vlak);\n  border: 1.5px solid color-mix(in srgb, var(--w-lijn) 70%, var(--w-muted));\n  border-radius: 56% 44% 48% 52% \/ 47% 52% 48% 53%;\n  transition: background-color .18s ease, border-color .18s ease, scale .28s cubic-bezier(.34,1.56,.64,1);\n}\n.mf-waarom .mf-keuze::after {\n  content: \"\";\n  position: absolute;\n  right: 20px;\n  top: 50%;\n  width: 6px;\n  height: 11px;\n  margin-top: -7px;\n  border: solid #ffffff;\n  border-width: 0 2px 2px 0;\n  rotate: 45deg;\n  opacity: 0;\n  scale: .4;\n  transition: opacity .16s ease, scale .26s cubic-bezier(.34,1.56,.64,1);\n}\n\n.mf-waarom .mf-keuze:hover {\n  border-color: color-mix(in srgb, var(--w-accent) 75%, var(--w-lijn));\n  box-shadow: 0 6px 18px -10px color-mix(in srgb, var(--w-inkt) 45%, transparent);\n  translate: 0 -2px;\n}\n.mf-waarom .mf-keuze:hover::before { border-color: var(--w-inkt); scale: 1.08; }\n.mf-waarom .mf-keuze:hover .mf-ic { scale: 1.06; }\n.mf-waarom .mf-keuze:focus-visible {\n  outline: 2px solid var(--w-inkt);\n  outline-offset: 2px;\n}\n\n\/* Gekozen: zachte mint, rand en vinkje in de leesbare merkkleur. Geen vol mint\n   vlak -- de tekeningen zijn zelf in mint en donkerblauw getekend, en op een vol\n   mint vlak verdwijnt de helft van de tekening. *\/\n.mf-waarom .mf-keuze[aria-checked=\"true\"] {\n  background: color-mix(in srgb, var(--w-accent) 22%, var(--w-vlak));\n  border-color: var(--w-inkt);\n  box-shadow: 0 0 0 1px var(--w-inkt);\n}\n.mf-waarom .mf-keuze[aria-checked=\"true\"] .mf-keuze-titel {\n  font-weight: 600;\n  color: var(--w-inkt);\n}\n.mf-waarom .mf-keuze[aria-checked=\"true\"] .mf-ic {\n  background: var(--w-vlak);\n  border-color: color-mix(in srgb, var(--w-inkt) 35%, transparent);\n}\n.mf-waarom .mf-keuze[aria-checked=\"true\"]::before {\n  background: var(--w-inkt);\n  border-color: var(--w-inkt);\n  scale: 1;\n}\n.mf-waarom .mf-keuze[aria-checked=\"true\"]::after { opacity: 1; scale: 1; }\n\n.mf-waarom .mf-keuze.mf-plop { animation: mw-plop .42s cubic-bezier(.31,1.7,.6,1); }\n@keyframes mw-plop {\n  0%   { scale: 1; }\n  35%  { scale: .985; }\n  70%  { scale: 1.015; }\n  100% { scale: 1; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .mf-waarom .mf-keuze,\n  .mf-waarom .mf-keuze::before,\n  .mf-waarom .mf-keuze::after,\n  .mf-waarom .mf-ic { transition: none; }\n  .mf-waarom .mf-keuze.mf-plop { animation: none; }\n  .mf-waarom .mf-keuze:hover { translate: none; }\n}\n\n@media (max-width: 420px) {\n  .mf-waarom .mf-keuzes { gap: 8px; }\n  .mf-waarom .mf-keuze { padding: 8px 38px 8px 8px; gap: 10px; font-size: .9rem; }\n  .mf-waarom .mf-ic { width: 56px; height: 56px; }\n  .mf-waarom .mf-ic img { width: 44px; height: 44px; }\n  .mf-waarom .mf-keuze::before { right: 10px; }\n  .mf-waarom .mf-keuze::after { right: 18px; }\n}\n<\/style>\n\n<div class=\"mf-waarom\" data-sleutel=\"waarom_syndicoach\">\n  <div class=\"mf-keuzes\" data-rol=\"keuzes\" role=\"group\" aria-label=\"Waarom je Syndicoach overweegt\">\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"te_duur\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_spaarvarken.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">Het huidige beheer is te duur<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"teveel_fouten\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_kapotte-lamp.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">De huidige syndicus maakt te veel fouten<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"moeilijk_bereikbaar\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_telefoon.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">De huidige syndicus is moeilijk bereikbaar<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"geen_beheer\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_openstaande-vraag.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">Er is momenteel nog geen beheer<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"gebrek_transparantie\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_vergrootglas.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">Er is gebrek aan transparantie<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"niet_meer_zelf\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_kruis.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">We willen het niet meer zelf doen<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"extra_ondersteuning\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_aktentas.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">We zoeken extra ondersteuning<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"renovatieproject\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_bakstenen.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">We willen een renovatieproject opstarten<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"moeilijke_sfeer\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_sfeer.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">Er is een moeilijke onderlinge sfeer<\/span>\n    <\/button>\n\n    <button type=\"button\" class=\"mf-keuze\" role=\"checkbox\" aria-checked=\"false\" data-waarde=\"administratieve_achterstand\">\n      <span class=\"mf-ic\"><img class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_brieven.svg\" alt=\"\" width=\"400\" height=\"400\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"mf-keuze-titel\">Er is administratieve achterstand<\/span>\n    <\/button>\n\n  <\/div>\n<\/div>\n\n<script>\nMymmoStappen.stap(document.currentScript, function (api) {\n  \/* LEES DIT VOOR JE DIT SCRIPT AANPAST.\n     Op syndicoach.be wordt de HTML van een stap opnieuw uitgeschreven voor ze de\n     browser bereikt. Daarbij werd een en-teken een HTML-entiteit, een letter met\n     een accent een hex-entiteit, en verdween elke sluit-tag uit een string.\n     Daarom bevat dit script uitsluitend ASCII en geen enkel en-teken, kleiner-\n     of groter-dan-teken of sluit-tag. Schrijf dus geen dubbele en-tekens in een\n     voorwaarde maar twee geneste ifs, en geen lussen met een vergelijking maar\n     forEach en filter. *\/\n\n  var wortel = api.el.querySelector('.mf-waarom');\n  if (!wortel) return;\n\n  var SLEUTEL = wortel.getAttribute('data-sleutel') || 'waarom_syndicoach';\n  var lijst = wortel.querySelector('[data-rol=\"keuzes\"]');\n  if (!lijst) return;\n\n  function alle(nodes) {\n    return Array.prototype.slice.call(nodes);\n  }\n\n  var knoppen = alle(lijst.querySelectorAll('.mf-keuze'));\n  var gekozen = [];\n\n  function schrijf() {\n    \/* De volgorde van de HTML, niet die van het aanklikken: zo levert dezelfde\n       selectie altijd dezelfde string op en zijn twee inzendingen vergelijkbaar. *\/\n    var waarden = knoppen.filter(function (knop) {\n      return gekozen.indexOf(knop.getAttribute('data-waarde')) !== -1;\n    }).map(function (knop) {\n      return knop.getAttribute('data-waarde');\n    });\n    api.zet(SLEUTEL, waarden.join(','));\n  }\n\n  function plop(knop) {\n    knop.classList.remove('mf-plop');\n    void knop.offsetWidth;\n    knop.classList.add('mf-plop');\n  }\n\n  function zet(knop, aan, metPlop) {\n    var waarde = knop.getAttribute('data-waarde');\n    knop.setAttribute('aria-checked', aan ? 'true' : 'false');\n    gekozen = gekozen.filter(function (w) { return w !== waarde; });\n    if (aan) {\n      gekozen.push(waarde);\n      if (metPlop) plop(knop);\n    }\n  }\n\n  lijst.addEventListener('click', function (e) {\n    var knop = e.target.closest ? e.target.closest('.mf-keuze') : null;\n    if (!knop) return;\n    if (!lijst.contains(knop)) return;\n    zet(knop, knop.getAttribute('aria-checked') !== 'true', true);\n    schrijf();\n  });\n\n  \/* Pijltjes lopen door de lijst. Anders dan bij keuzerondjes verandert dat de\n     keuze NIET -- bij een meerkeuze duid je aan met spatie of Enter, en dat doet\n     de browser zelf op een knop. *\/\n  lijst.addEventListener('keydown', function (e) {\n    var richting = { ArrowDown: 1, ArrowRight: 1, ArrowUp: -1, ArrowLeft: -1 }[e.key];\n    if (!richting) return;\n    var nu = knoppen.indexOf(document.activeElement);\n    if (nu === -1) return;\n    e.preventDefault();\n    knoppen[(nu + richting + knoppen.length) % knoppen.length].focus();\n  });\n\n  \/* Een tekening die niet laadt: de kei blijft leeg, het label blijft staan. *\/\n  alle(lijst.querySelectorAll('.mf-ic img')).forEach(function (img) {\n    function mislukt() {\n      var knop = img.closest('.mf-keuze');\n      if (knop) knop.classList.add('mf-keuze--zonder-beeld');\n    }\n    if (img.complete) {\n      if (img.naturalWidth === 0) mislukt();\n      return;\n    }\n    img.addEventListener('error', mislukt);\n  });\n\n  \/* Beginstand: terug van een mislukte inzending of van het formulier. Een waarde\n     die hier niet meer bestaat (een oude naam) wordt stil overgeslagen -- ze zou\n     anders als onbekende keuze mee naar Odoo gaan. *\/\n  String(api.lees(SLEUTEL) || '').split(',')\n    .map(function (s) { return s.trim(); })\n    .filter(Boolean)\n    .forEach(function (waarde) {\n      knoppen.filter(function (knop) {\n        return knop.getAttribute('data-waarde') === waarde;\n      }).forEach(function (knop) {\n        zet(knop, true, false);\n      });\n    });\n  schrijf();\n\n  api.bij('tonen', function () {\n    knoppen.filter(function (knop) {\n      return knop.getAttribute('aria-checked') === 'true';\n    }).forEach(plop);\n  });\n});\n<\/script>\n<\/div>\n<div class=\"mymmo-stap-nav\">\n<button type=\"button\" class=\"mymmo-stap-knop mymmo-stap-knop--terug\" data-mymmo-vorige>Vorige<\/button><button type=\"button\" class=\"mymmo-stap-knop mymmo-stap-knop--verder\" data-mymmo-volgende>Volgende<\/button>\n<\/div><\/section>                                <section class=\"mymmo-stap mymmo-stap--html\" data-mymmo-stap=\"3\" data-mymmo-stap-naam=\"avperiode\" data-mymmo-stap-velden=\"volgende_av_periode\" data-mymmo-stap-nav=\"plugin\" hidden><h3 class=\"mymmo-stap-titel mymmo-stap-titel--met-tekst\" data-mymmo-kop=\"titel\">Wanneer valt de Algemene Vergadering doorgaans?<\/h3>\n<p class=\"mymmo-stap-tekst\" data-mymmo-kop=\"sub\">Een schatting volstaat. Schuif de lijn tot het kader ongeveer goed staat.<\/p>\n<div class=\"mymmo-stap-inhoud\" data-mymmo-stap-inhoud>\n<!--\n  STAP - \"Wanneer is jullie volgende algemene vergadering?\"\n\n  Een KADER met een breed foutenvenster: de bezoeker schuift een maandlijn onder\n  een vast kader door (de merktekening `thingies\/frame.svg`). Bovenaan staan twee\n  kalenderblaadjes (van - tot), de merktekeningen thingies_calendar1.svg en\n  thingies_calendar2.svg: het getal bovenaan, de maand in het mintvlak. Altijd\n  even groot; alleen het getal doet een kleine plop als het verspringt.\n\n  De lijn is JAARLOOS en loopt rond: een algemene vergadering valt elk jaar rond\n  dezelfde tijd, dus je kan net zo goed terug naar augustus als vooruit naar\n  januari. Er staat nergens een jaartal.\n\n  Er zijn maar zes ankerdagen per maand: 5, 10, 15, 20, 25 en 30 (in februari de\n  laatste dag in plaats van 30). Een venster loopt van een anker tot drie ankers\n  verder, dus altijd ongeveer twee weken, en de lijn springt per anker:\n\n      tussen 5 en 20 oktober        tussen 20 oktober en 5 november\n      tussen 10 en 25 oktober       tussen 25 oktober en 10 november\n      tussen 15 en 30 oktober       tussen 30 oktober en 15 november\n\n  Op de blaadjes staat altijd maand + dag. In `volgende_av_periode` staat de\n  maand een keer als het venster in een maand blijft, anders beide.\n\n  Levert VIER waarden af:\n\n      volgende_av_periode   \"tussen 5 en 20 oktober\" | \"tussen 20 oktober en 5 november\" | \"onbekend\"\n                          (zonder jaartal: het is een moment dat elk jaar terugkeert)\n      volgende_av_van       begin van het venster, eerstvolgende keer, JJJJ-MM-DD\n      volgende_av_tot       einde van het venster, JJJJ-MM-DD\n      volgende_av_datum     het midden van het venster, JJJJ-MM-DD\n\n  Zet ze als VERBORGEN VELDEN op het formulier. Zet `volgende_av_periode` bij de\n  stap in \"Levert deze sleutels\": dan blijft \"Volgende\" uit tot er een periode of\n  \"Nog geen idee\" gekozen is. Bij \"Nog geen idee\" zijn de drie datums leeg.\n\n  Bediening: swipen op een telefoon (gewoon horizontaal scrollen), slepen of het\n  muiswieltje op een computer, pijltjes (een anker) en Page Up\/Down (een maand),\n  of tikken op de lijn. Na het loslaten klikt de lijn vast op het dichtste\n  venster; zolang er een vinger op ligt niet.\n\n  De lijn opent ongeveer zes weken vooruit, maar dat telt NIET als antwoord: pas\n  als de bezoeker de lijn beroert, staat er een waarde.\n\n  Regels, zie claude.md: het script bevat uitsluitend ASCII en geen en-teken,\n  kleiner- of groter-dan of sluit-tag (vergelijken met Math.min\/Math.max, lussen\n  met !==); geen inline SVG; geen leeg element in de markup. De maandnamen maakt\n  het script zelf in de browser.\n-->\n\n<style>\n.mf-av {\n  --av-accent: var(--mf-accent, #99f6e4);\n  --av-muted: var(--mf-muted, #6b7280);\n  \/* De leesbare merkkleur (bij Syndicoach #0369a1), dezelfde als in het kader. *\/\n  --av-inkt: var(--mf-accent-ink, #0369a1);\n  --av-dag: 10px;\n\n  \/* GEEN font-family en GEEN padding op de stap: allebei van de plugin. *\/\n  color: var(--av-inkt);\n  display: flex;\n  flex-direction: column;\n  flex: 1 0 auto;\n}\n.mf-av *, .mf-av *::before, .mf-av *::after { box-sizing: border-box; }\n\n.mf-av .mf-av-midden {\n  margin-block: auto;\n  padding: 12px 0 4px;\n}\n\n\/* De kop: \"MEESTAL TUSSEN\" klein erboven, daaronder twee SCHEURKALENDERBLAADJES\n   (van - tot). Ze hebben een vaste maat, wat er ook op staat: de kop en de lijn\n   eronder verspringen dus nooit, en alles staat rond een vast middelpunt. Bewust\n   GEEN animatie bij het wisselen. *\/\n.mf-av .mf-av-kop {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n  line-height: 1;\n  color: var(--av-inkt);\n}\n.mf-av .mf-av-aanloop {\n  font-size: .78rem;\n  font-weight: 600;\n  letter-spacing: .16em;\n  text-transform: uppercase;\n  opacity: .7;\n  margin-bottom: 16px;\n}\n.mf-av .mf-av-blaadjes {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  justify-content: center;\n  gap: 14px;\n}\n.mf-av .mf-av-blad {\n  \/* De merktekeningen thingies_calendar1.svg en thingies_calendar2.svg, beide\n     262,76 x 310,34. Het getal staat in het witte vak bovenaan, de maand in\n     het mintvlak. De vakken zijn opgemeten in procent van de tekening.\n     De blaadjes zijn op 21-09-2026 hertekend: het mintvlak is naar beneden\n     geschoven en dunner geworden, dus getal en maand zijn mee verplaatst.\n     Meet die vlakken opnieuw uit de mintpolygoon zodra er weer getekend\n     wordt -- het is de enige plek in de SVG waar ze exact in staan. *\/\n  position: relative;\n  \/* GEEN vw: een stap mag nooit van de VIEWPORT afhangen. In een callout, of in\n     een pop-up naast een zijkolom, staat ze in een kolom die smaller is dan het\n     scherm -- en dan steken de twee blaadjes samen buiten hun vak, wordt de\n     pagina breder dan de viewport en kan je opzij vegen. Ze delen nu gewoon de\n     rij: 136px als het past, kleiner als het moet. De verhouding en de tekst\n     (cqw) schalen mee.\n     MAAR: de breedte moet een ECHTE width blijven, geen kale flex-basis. Door\n     `container-type: inline-size` hieronder is de max-content-bijdrage van dit\n     blaadje NUL -- de inhoud mag de inline-maat immers niet bepalen. De rij\n     eromboven krijgt haar breedte van haar inhoud (fit-content), werd daardoor\n     zo breed als alleen het woordje \"en\", en de twee blaadjes krompen tot 0x0.\n     Beide blaadjes waren dan letterlijk weg, zonder foutmelding. Een definitieve\n     `width` geeft wel een max-content-bijdrage; `flex-shrink: 1` met\n     `min-width: 0` houdt het krimpen in een smalle kolom overeind. *\/\n  width: 136px;\n  max-width: 100%;\n  flex: 0 1 auto;\n  min-width: 0;\n  aspect-ratio: 262.76 \/ 310.34;\n  \/* Tekst schaalt mee met het blaadje (cqw), zodat \"september\" altijd in het\n     mintvlak past, hoe breed het blaadje ook is. *\/\n  container-type: inline-size;\n}\n.mf-av .mf-av-blad-beeld {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  max-width: none;\n  height: 100%;\n  margin: 0;\n  -webkit-user-select: none;\n  user-select: none;\n}\n.mf-av .mf-av-blad-dag,\n.mf-av .mf-av-blad-maand {\n  position: absolute;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  white-space: nowrap;\n  color: var(--av-inkt);\n}\n\/* Wit vak: het vak loopt tot aan het hoogste punt van het mint (y 200,16 =\n   64,5%) en begint op 22% in plaats van vlak onder de kaderlijn (12%). Het\n   getal staat gecentreerd in dat vak, dus het zakt daarmee in de ONDERSTE helft\n   van het witte veld -- optisch beter, want de scheurrand en de ringetjes\n   bovenaan vragen zelf al aandacht.\n   Dat vak is door de hertekening een derde hoger geworden, dus het getal mag\n   mee groter: 40cqw is 105px op een tekening van 262 breed, twee cijfers\n   samen ongeveer 118px in een vak van 194px. *\/\n.mf-av .mf-av-blad-dag {\n  top: 22%;\n  height: 42.5%;\n  left: 15%;\n  right: 11%;\n  font-size: 2.9rem;\n  font-size: 40cqw;\n  font-weight: 600;\n  line-height: 1;\n  letter-spacing: -.03em;\n  font-variant-numeric: tabular-nums;\n}\n.mf-av .mf-av-blad-dag.is-plop { animation: av-plop .34s cubic-bezier(.3,.9,.4,1.4); }\n\/* Eerst een tikje in (anticipatie), dan voorbij de maat, dan terug. *\/\n@keyframes av-plop {\n  0%   { scale: 1; }\n  28%  { scale: .86; }\n  64%  { scale: 1.12; }\n  100% { scale: 1; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .mf-av .mf-av-blad-dag.is-plop { animation: none; }\n}\n\/* Mintvlak, opgemeten uit de mintpolygoon van de SVG's (viewBox 262,76 x\n   310,34). Het mint loopt rechts onder de kaderlijn door, dus horizontaal\n   telt het ZICHTBARE deel; die x-maten zijn bij de hertekening niet gewijzigd:\n     blad 1: x 20,7% tot 87%   (mint 54,5-241,4, kaderlijn rechts rond 229)\n     blad 2: x 18% tot 85%     (mint 47,2-234,3, kaderlijn rechts rond 224)\n   Verticaal wel. Allebei de banden lopen SCHUIN (gescheurd papier), dus je\n   neemt de LAAGSTE bovenhoek en de HOOGSTE onderhoek -- anders steekt de tekst\n   aan een kant boven het mint uit:\n     blad 1: boven 205,61 (links) \/ 200,16 (rechts), onder 271,04 vlak\n     blad 2: boven 202,85 (links) \/ 205,47 (rechts), onder 273,73 \/ 270,97\n     veilig: y 66,3% tot 87,3%\n   De maand staat in het midden van dat vak. *\/\n.mf-av .mf-av-blad-maand {\n  top: 66.3%;\n  height: 21%;\n  font-size: .8rem;\n  \/* \"september\" is gemeten 4,9 keer zo breed als de lettergrootte in dit gewicht;\n     11,5cqw maakt het 56% van het blaadje, in een zichtbaar mintvlak van 66%. *\/\n  font-size: 11.5cqw;\n  font-weight: 700;\n  letter-spacing: -.01em;\n}\n.mf-av .mf-av-blad--van .mf-av-blad-maand { left: 20.7%; width: 66.3%; }\n.mf-av .mf-av-blad--tot .mf-av-blad-maand { left: 18%; width: 67%; }\n.mf-av .mf-av-tot {\n  font-size: 1.1rem;\n  opacity: .6;\n}\n\n\/* De blaadjes worden NOOIT gedimd, ook niet zolang er nog niets gekozen is.\n   Hier stond `.mf-av.is-open .mf-av-kop { opacity: .38 }`, met als gedachte\n   \"dit is nog maar een voorstel\". Maar een tekening op 38% leest als\n   uitgeschakeld, niet als voorlopig -- en er valt niets uit te schakelen: de\n   lijn staat er en je mag schuiven. De klasse `is-open` blijft bestaan (de JS\n   zet en haalt ze), ze stuurt alleen geen stijl meer aan. Zet hier geen\n   opacity terug, en ook geen grijstint op de tekening: de blaadjes horen in\n   hun eigen kleuren te staan.\n   \"Nog geen idee\" verbergt de blaadjes wel volledig -- dat is iets anders dan\n   dimmen: er valt op dat moment niets te tonen. *\/\n.mf-av.is-onbekend .mf-av-blaadjes { visibility: hidden; }\n.mf-av .mf-av-hint {\n  display: block;\n  min-height: 1.4em;\n  margin-top: 10px;\n  text-align: center;\n  font-size: .88rem;\n  color: var(--av-muted);\n}\n\n\/* De lijn met het kader erover. *\/\n.mf-av .mf-av-wielvak {\n  position: relative;\n  margin-top: 18px;\n  height: 96px;\n}\n\/* Het kader staat vast in het midden en ligt ACHTER de lijn: de maandnaam die\n   erin valt, staat zo op het mintvlak, zoals in de tekening. De mintvlek in\n   frame.svg loopt van x=52.9 tot x=351.8 van 367.7 breed (81,29%, links 14,39%):\n   het kader wordt zo geschaald dat dat stuk een HALVE MAAND breed is: een maand\n   staat op de lijn als 4,3 weken (30,1 dagen), het kader dus op 15,05 dagen --\n   exact drie ankers, zoals een venster. *\/\n.mf-av .mf-av-kader {\n  position: absolute;\n  top: 8px;\n  left: calc(50% - 7.525 * var(--av-dag) - 15.05 * var(--av-dag) \/ 0.8129 * 0.1439);\n  width: calc(15.05 * var(--av-dag) \/ 0.8129);\n  max-width: none;\n  height: auto;\n  margin: 0;\n  pointer-events: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n.mf-av.is-onbekend .mf-av-wielvak { opacity: .3; }\n\n.mf-av .mf-av-wiel {\n  position: absolute;\n  inset: 0;\n  overflow-x: auto;\n  overflow-y: hidden;\n  overscroll-behavior-x: contain;\n  scrollbar-width: none;\n  cursor: grab;\n  outline: none;\n  -webkit-user-select: none;\n  user-select: none;\n  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);\n  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);\n}\n.mf-av .mf-av-wiel::-webkit-scrollbar { display: none; }\n.mf-av .mf-av-wiel.is-slepen { cursor: grabbing; }\n.mf-av .mf-av-wiel:focus-visible { outline: 2px dashed var(--av-inkt); outline-offset: -2px; }\n\n.mf-av .mf-av-spoor { position: relative; height: 100%; }\n.mf-av .mf-av-baan {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  color: transparent;\n}\n\/* De lijn: een getekende, rafelige streep als MASKER, zodat ze de merkkleur\n   volgt. Het masker is een naadloze tegel van 420px (alle golven hebben een\n   periode die in 420 past), dus de lijn loopt eindeloos door. Procent-gecodeerd\n   in de CSS: geen inline SVG in de markup, en geen kleiner-\/groter-dan-teken dat\n   onderweg herschreven kan worden. *\/\n.mf-av .mf-av-baan::before {\n  content: \"\";\n  position: absolute;\n  top: 52px;\n  left: -840px;\n  right: -840px;\n  height: 14px;\n  background: var(--av-inkt);\n  -webkit-mask: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='420' height='14' viewBox='0 0 420 14'%3E%3Cpath d='M0.0 6.3 L5.0 6.0 L10.0 5.8 L15.0 6.3 L20.0 6.7 L25.0 6.4 L30.0 5.8 L35.0 5.9 L40.0 6.4 L45.0 6.7 L50.0 6.7 L55.0 6.8 L60.0 7.2 L65.0 7.1 L70.0 6.3 L75.0 5.3 L80.0 5.0 L85.0 4.9 L90.0 4.4 L95.0 3.5 L100.0 3.3 L105.0 3.9 L110.0 4.6 L115.0 4.8 L120.0 5.1 L125.0 5.8 L130.0 6.3 L135.0 6.1 L140.0 5.6 L145.0 5.7 L150.0 6.2 L155.0 6.3 L160.0 5.9 L165.0 5.8 L170.0 6.4 L175.0 7.0 L180.0 7.0 L185.0 6.7 L190.0 6.7 L195.0 6.7 L200.0 6.2 L205.0 5.3 L210.0 5.0 L215.0 5.3 L220.0 5.5 L225.0 5.0 L230.0 4.6 L235.0 4.9 L240.0 5.5 L245.0 5.4 L250.0 4.9 L255.0 4.6 L260.0 4.6 L265.0 4.5 L270.0 4.1 L275.0 4.2 L280.0 5.0 L285.0 6.0 L290.0 6.3 L295.0 6.4 L300.0 6.9 L305.0 7.8 L310.0 8.0 L315.0 7.4 L320.0 6.7 L325.0 6.5 L330.0 6.2 L335.0 5.5 L340.0 5.0 L345.0 5.2 L350.0 5.7 L355.0 5.6 L360.0 5.1 L365.0 5.0 L370.0 5.4 L375.0 5.5 L380.0 4.9 L385.0 4.3 L390.0 4.3 L395.0 4.6 L400.0 4.6 L405.0 4.6 L410.0 5.1 L415.0 6.0 L420.0 6.3 L420.0 9.3 L415.0 8.5 L410.0 7.4 L405.0 6.8 L400.0 6.9 L395.0 6.9 L390.0 6.4 L385.0 6.3 L380.0 6.9 L375.0 7.8 L370.0 8.2 L365.0 8.3 L360.0 8.5 L355.0 8.9 L350.0 8.8 L345.0 8.3 L340.0 8.2 L335.0 8.7 L330.0 9.2 L325.0 9.1 L320.0 8.8 L315.0 9.2 L310.0 9.8 L305.0 9.9 L300.0 9.4 L295.0 8.9 L290.0 8.8 L285.0 8.5 L280.0 7.8 L275.0 7.4 L270.0 7.8 L265.0 8.2 L260.0 8.0 L255.0 7.5 L250.0 7.5 L245.0 8.0 L240.0 8.0 L235.0 7.4 L230.0 6.9 L225.0 7.0 L220.0 7.2 L215.0 7.2 L210.0 7.4 L205.0 8.2 L200.0 9.3 L195.0 9.9 L190.0 9.8 L185.0 9.8 L180.0 10.3 L175.0 10.4 L170.0 9.8 L165.0 8.9 L160.0 8.5 L155.0 8.4 L150.0 8.2 L145.0 7.8 L140.0 7.9 L135.0 8.4 L130.0 8.5 L125.0 8.0 L120.0 7.5 L115.0 7.6 L110.0 7.9 L105.0 7.5 L100.0 6.9 L95.0 6.8 L90.0 7.3 L85.0 7.8 L80.0 7.9 L75.0 8.2 L70.0 8.9 L65.0 9.3 L60.0 8.9 L55.0 8.5 L50.0 8.7 L45.0 9.2 L40.0 9.2 L35.0 8.7 L30.0 8.7 L25.0 9.3 L20.0 9.8 L15.0 9.7 L10.0 9.5 L5.0 9.5 L0.0 9.3Z'\/%3E%3Cpath fill-opacity='0.55' d='M0.0 9.1 L5.0 8.6 L10.0 8.3 L15.0 9.0 L20.0 9.8 L25.0 10.0 L30.0 9.5 L35.0 9.3 L40.0 9.1 L45.0 8.7 L50.0 8.3 L55.0 8.6 L60.0 9.6 L65.0 10.3 L70.0 9.8 L75.0 8.7 L80.0 7.8 L85.0 7.2 L90.0 6.7 L95.0 6.3 L100.0 6.7 L105.0 7.6 L110.0 8.2 L115.0 7.9 L120.0 7.6 L125.0 7.9 L130.0 8.5 L135.0 8.7 L140.0 8.5 L145.0 8.5 L150.0 8.8 L155.0 8.7 L160.0 8.3 L165.0 8.4 L170.0 9.5 L175.0 10.5 L180.0 10.6 L185.0 10.1 L190.0 9.6 L195.0 9.2 L200.0 8.5 L205.0 7.8 L210.0 7.8 L215.0 8.3 L220.0 8.6 L225.0 7.9 L230.0 7.1 L235.0 6.9 L240.0 7.4 L245.0 7.6 L250.0 7.8 L255.0 8.2 L260.0 8.6 L265.0 8.3 L270.0 7.3 L275.0 6.6 L280.0 7.1 L285.0 8.2 L290.0 9.1 L295.0 9.7 L300.0 10.2 L305.0 10.6 L310.0 10.2 L315.0 9.3 L320.0 8.7 L325.0 9.0 L330.0 9.3 L335.0 9.0 L340.0 8.4 L345.0 8.2 L350.0 8.4 L355.0 8.4 L360.0 8.1 L365.0 8.2 L370.0 8.6 L375.0 8.5 L380.0 7.4 L385.0 6.4 L390.0 6.3 L395.0 6.8 L400.0 7.3 L405.0 7.7 L410.0 8.4 L415.0 9.1 L420.0 9.1 L420.0 10.5 L415.0 10.1 L410.0 9.1 L405.0 8.2 L400.0 7.7 L395.0 7.4 L390.0 7.1 L385.0 7.5 L380.0 8.8 L375.0 9.8 L370.0 9.8 L365.0 9.1 L360.0 8.7 L355.0 8.8 L350.0 8.9 L345.0 9.0 L340.0 9.5 L335.0 10.3 L330.0 10.7 L325.0 10.2 L320.0 9.7 L315.0 9.9 L310.0 10.7 L305.0 11.1 L300.0 10.9 L295.0 10.6 L290.0 10.4 L285.0 9.6 L280.0 8.4 L275.0 7.7 L270.0 8.0 L265.0 8.8 L260.0 9.0 L255.0 8.7 L250.0 8.6 L245.0 8.8 L240.0 8.7 L235.0 8.3 L230.0 8.2 L225.0 8.8 L220.0 9.1 L215.0 8.7 L210.0 8.2 L205.0 8.6 L200.0 9.6 L195.0 10.5 L190.0 11.0 L185.0 11.3 L180.0 11.6 L175.0 11.2 L170.0 9.9 L165.0 8.9 L160.0 8.9 L155.0 9.6 L150.0 10.0 L145.0 9.9 L140.0 9.8 L135.0 9.7 L130.0 9.2 L125.0 8.4 L120.0 8.0 L115.0 8.5 L110.0 9.0 L105.0 8.8 L100.0 8.0 L95.0 7.6 L90.0 7.8 L85.0 8.1 L80.0 8.3 L75.0 9.1 L70.0 10.3 L65.0 11.0 L60.0 10.7 L55.0 9.9 L50.0 9.7 L45.0 10.0 L40.0 10.1 L35.0 9.9 L30.0 10.0 L25.0 10.4 L20.0 10.5 L15.0 9.9 L10.0 9.6 L5.0 10.0 L0.0 10.5Z'\/%3E%3C\/svg%3E\") repeat-x left center \/ 420px 14px;\n  mask: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='420' height='14' viewBox='0 0 420 14'%3E%3Cpath d='M0.0 6.3 L5.0 6.0 L10.0 5.8 L15.0 6.3 L20.0 6.7 L25.0 6.4 L30.0 5.8 L35.0 5.9 L40.0 6.4 L45.0 6.7 L50.0 6.7 L55.0 6.8 L60.0 7.2 L65.0 7.1 L70.0 6.3 L75.0 5.3 L80.0 5.0 L85.0 4.9 L90.0 4.4 L95.0 3.5 L100.0 3.3 L105.0 3.9 L110.0 4.6 L115.0 4.8 L120.0 5.1 L125.0 5.8 L130.0 6.3 L135.0 6.1 L140.0 5.6 L145.0 5.7 L150.0 6.2 L155.0 6.3 L160.0 5.9 L165.0 5.8 L170.0 6.4 L175.0 7.0 L180.0 7.0 L185.0 6.7 L190.0 6.7 L195.0 6.7 L200.0 6.2 L205.0 5.3 L210.0 5.0 L215.0 5.3 L220.0 5.5 L225.0 5.0 L230.0 4.6 L235.0 4.9 L240.0 5.5 L245.0 5.4 L250.0 4.9 L255.0 4.6 L260.0 4.6 L265.0 4.5 L270.0 4.1 L275.0 4.2 L280.0 5.0 L285.0 6.0 L290.0 6.3 L295.0 6.4 L300.0 6.9 L305.0 7.8 L310.0 8.0 L315.0 7.4 L320.0 6.7 L325.0 6.5 L330.0 6.2 L335.0 5.5 L340.0 5.0 L345.0 5.2 L350.0 5.7 L355.0 5.6 L360.0 5.1 L365.0 5.0 L370.0 5.4 L375.0 5.5 L380.0 4.9 L385.0 4.3 L390.0 4.3 L395.0 4.6 L400.0 4.6 L405.0 4.6 L410.0 5.1 L415.0 6.0 L420.0 6.3 L420.0 9.3 L415.0 8.5 L410.0 7.4 L405.0 6.8 L400.0 6.9 L395.0 6.9 L390.0 6.4 L385.0 6.3 L380.0 6.9 L375.0 7.8 L370.0 8.2 L365.0 8.3 L360.0 8.5 L355.0 8.9 L350.0 8.8 L345.0 8.3 L340.0 8.2 L335.0 8.7 L330.0 9.2 L325.0 9.1 L320.0 8.8 L315.0 9.2 L310.0 9.8 L305.0 9.9 L300.0 9.4 L295.0 8.9 L290.0 8.8 L285.0 8.5 L280.0 7.8 L275.0 7.4 L270.0 7.8 L265.0 8.2 L260.0 8.0 L255.0 7.5 L250.0 7.5 L245.0 8.0 L240.0 8.0 L235.0 7.4 L230.0 6.9 L225.0 7.0 L220.0 7.2 L215.0 7.2 L210.0 7.4 L205.0 8.2 L200.0 9.3 L195.0 9.9 L190.0 9.8 L185.0 9.8 L180.0 10.3 L175.0 10.4 L170.0 9.8 L165.0 8.9 L160.0 8.5 L155.0 8.4 L150.0 8.2 L145.0 7.8 L140.0 7.9 L135.0 8.4 L130.0 8.5 L125.0 8.0 L120.0 7.5 L115.0 7.6 L110.0 7.9 L105.0 7.5 L100.0 6.9 L95.0 6.8 L90.0 7.3 L85.0 7.8 L80.0 7.9 L75.0 8.2 L70.0 8.9 L65.0 9.3 L60.0 8.9 L55.0 8.5 L50.0 8.7 L45.0 9.2 L40.0 9.2 L35.0 8.7 L30.0 8.7 L25.0 9.3 L20.0 9.8 L15.0 9.7 L10.0 9.5 L5.0 9.5 L0.0 9.3Z'\/%3E%3Cpath fill-opacity='0.55' d='M0.0 9.1 L5.0 8.6 L10.0 8.3 L15.0 9.0 L20.0 9.8 L25.0 10.0 L30.0 9.5 L35.0 9.3 L40.0 9.1 L45.0 8.7 L50.0 8.3 L55.0 8.6 L60.0 9.6 L65.0 10.3 L70.0 9.8 L75.0 8.7 L80.0 7.8 L85.0 7.2 L90.0 6.7 L95.0 6.3 L100.0 6.7 L105.0 7.6 L110.0 8.2 L115.0 7.9 L120.0 7.6 L125.0 7.9 L130.0 8.5 L135.0 8.7 L140.0 8.5 L145.0 8.5 L150.0 8.8 L155.0 8.7 L160.0 8.3 L165.0 8.4 L170.0 9.5 L175.0 10.5 L180.0 10.6 L185.0 10.1 L190.0 9.6 L195.0 9.2 L200.0 8.5 L205.0 7.8 L210.0 7.8 L215.0 8.3 L220.0 8.6 L225.0 7.9 L230.0 7.1 L235.0 6.9 L240.0 7.4 L245.0 7.6 L250.0 7.8 L255.0 8.2 L260.0 8.6 L265.0 8.3 L270.0 7.3 L275.0 6.6 L280.0 7.1 L285.0 8.2 L290.0 9.1 L295.0 9.7 L300.0 10.2 L305.0 10.6 L310.0 10.2 L315.0 9.3 L320.0 8.7 L325.0 9.0 L330.0 9.3 L335.0 9.0 L340.0 8.4 L345.0 8.2 L350.0 8.4 L355.0 8.4 L360.0 8.1 L365.0 8.2 L370.0 8.6 L375.0 8.5 L380.0 7.4 L385.0 6.4 L390.0 6.3 L395.0 6.8 L400.0 7.3 L405.0 7.7 L410.0 8.4 L415.0 9.1 L420.0 9.1 L420.0 10.5 L415.0 10.1 L410.0 9.1 L405.0 8.2 L400.0 7.7 L395.0 7.4 L390.0 7.1 L385.0 7.5 L380.0 8.8 L375.0 9.8 L370.0 9.8 L365.0 9.1 L360.0 8.7 L355.0 8.8 L350.0 8.9 L345.0 9.0 L340.0 9.5 L335.0 10.3 L330.0 10.7 L325.0 10.2 L320.0 9.7 L315.0 9.9 L310.0 10.7 L305.0 11.1 L300.0 10.9 L295.0 10.6 L290.0 10.4 L285.0 9.6 L280.0 8.4 L275.0 7.7 L270.0 8.0 L265.0 8.8 L260.0 9.0 L255.0 8.7 L250.0 8.6 L245.0 8.8 L240.0 8.7 L235.0 8.3 L230.0 8.2 L225.0 8.8 L220.0 9.1 L215.0 8.7 L210.0 8.2 L205.0 8.6 L200.0 9.6 L195.0 10.5 L190.0 11.0 L185.0 11.3 L180.0 11.6 L175.0 11.2 L170.0 9.9 L165.0 8.9 L160.0 8.9 L155.0 9.6 L150.0 10.0 L145.0 9.9 L140.0 9.8 L135.0 9.7 L130.0 9.2 L125.0 8.4 L120.0 8.0 L115.0 8.5 L110.0 9.0 L105.0 8.8 L100.0 8.0 L95.0 7.6 L90.0 7.8 L85.0 8.1 L80.0 8.3 L75.0 9.1 L70.0 10.3 L65.0 11.0 L60.0 10.7 L55.0 9.9 L50.0 9.7 L45.0 10.0 L40.0 10.1 L35.0 9.9 L30.0 10.0 L25.0 10.4 L20.0 10.5 L15.0 9.9 L10.0 9.6 L5.0 10.0 L0.0 10.5Z'\/%3E%3C\/svg%3E\") repeat-x left center \/ 420px 14px;\n}\n\n.mf-av .mf-av-grens {\n  position: absolute;\n  top: 47px;\n  width: 2.5px;\n  height: 24px;\n  margin-left: -1.25px;\n  overflow: hidden;\n  color: transparent;\n  background: var(--av-inkt);\n  border-radius: 2px 1px 2px 1px;\n  rotate: 4deg;\n}\n.mf-av .mf-av-maandnaam {\n  position: absolute;\n  top: 35px;\n  translate: -50% 0;\n  font-size: 1rem;\n  white-space: nowrap;\n  color: var(--av-inkt);\n}\n\n.mf-av .mf-av-knop {\n  display: block;\n  width: auto;\n  height: auto;\n  margin: 12px auto 0;\n  padding: 4px 12px;\n  font: inherit;\n  font-size: .88rem;\n  line-height: 1.3;\n  letter-spacing: normal;\n  text-transform: none;\n  color: var(--av-muted);\n  background: transparent;\n  border: 0;\n  border-radius: 999px;\n  box-shadow: none;\n  text-decoration: underline;\n  text-underline-offset: 3px;\n  cursor: pointer;\n}\n.mf-av .mf-av-knop:hover { color: var(--av-inkt); }\n.mf-av .mf-av-knop:focus-visible { outline: 2px solid var(--av-inkt); outline-offset: 2px; }\n.mf-av .mf-av-knop[aria-pressed=\"true\"] {\n  color: var(--av-inkt);\n  background: color-mix(in srgb, var(--av-accent) 55%, transparent);\n  text-decoration: none;\n}\n<\/style>\n\n<div class=\"mf-av is-open\">\n  <div class=\"mf-av-midden\">\n    <div class=\"mf-av-kop\" aria-live=\"polite\">\n      <span class=\"mf-av-aanloop\" data-rol=\"aanloop\">meestal tussen<\/span>\n      <div class=\"mf-av-blaadjes\">\n        <div class=\"mf-av-blad mf-av-blad--van\" data-rol=\"blad-van\">\n<img class=\"mf-av-blad-beeld skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_calendar1.svg\" alt=\"\" width=\"263\" height=\"310\" loading=\"eager\" decoding=\"async\"><span class=\"mf-av-blad-dag\">25<\/span><span class=\"mf-av-blad-maand\">september<\/span>\n<\/div>\n        <span class=\"mf-av-tot\">en<\/span>\n        <div class=\"mf-av-blad mf-av-blad--tot\" data-rol=\"blad-tot\">\n<img class=\"mf-av-blad-beeld skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/thingies_calendar2.svg\" alt=\"\" width=\"263\" height=\"310\" loading=\"eager\" decoding=\"async\"><span class=\"mf-av-blad-dag\">10<\/span><span class=\"mf-av-blad-maand\">oktober<\/span>\n<\/div>\n      <\/div>\n    <\/div>\n    <span class=\"mf-av-hint\" data-rol=\"hint\">Schuif of tik op de lijn om te kiezen<\/span>\n\n    <div class=\"mf-av-wielvak\">\n      <img class=\"mf-av-kader skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" src=\"https:\/\/link.openvme.be\/assets\/brand\/thingies\/frame.svg\" alt=\"\" width=\"368\" height=\"152\" loading=\"eager\" decoding=\"async\">\n      <div class=\"mf-av-wiel\" data-rol=\"wiel\" tabindex=\"0\" role=\"slider\" aria-label=\"Periode van de volgende algemene vergadering\">\n        <div class=\"mf-av-spoor\" data-rol=\"spoor\"><div class=\"mf-av-baan\" data-rol=\"baan\">lijn<\/div><\/div>\n      <\/div>\n    <\/div>\n\n    <button type=\"button\" class=\"mf-av-knop\" data-rol=\"onbekend\" aria-pressed=\"false\">Nog geen idee<\/button>\n  <\/div>\n<\/div>\n\n<script>\nMymmoStappen.stap(document.currentScript, function (api) {\n  \/* LEES DIT VOOR JE DIT SCRIPT AANPAST.\n     Uitsluitend ASCII, en geen en-teken, kleiner- of groter-dan of sluit-tag: op\n     syndicoach.be wordt de HTML van een stap onderweg herschreven en parst een\n     script met die tekens niet meer. Vergelijk dus met Math.min en Math.max, en\n     schrijf lussen met !== in plaats van een kleiner-dan. *\/\n\n  var wortel = api.el.querySelector('.mf-av');\n  if (!wortel) return;\n\n  function rol(naam) { return wortel.querySelector('[data-rol=\"' + naam + '\"]'); }\n  var wiel = rol('wiel');\n  var spoor = rol('spoor');\n  var baan = rol('baan');\n  var elAanloop = rol('aanloop');\n  var bladVan = rol('blad-van');\n  var bladTot = rol('blad-tot');\n  var elHint = rol('hint');\n  var knopOnbekend = rol('onbekend');\n  if (!wiel || !spoor || !baan) return;\n\n  var PX = 10;            \/* pixels per dag; gelijk aan --av-dag *\/\n  \/* Een maand is op de lijn altijd 4,3 weken breed, wat de maand ook echt telt.\n     De zes ankers (5, 10, 15, 20, 25, 30) liggen er op gelijke afstand in:\n     anker k van het jaar (0 = 5 januari, 71 = 30 december) ligt op (k + 1) \/ 6\n     maand. Een venster van drie ankers is dus exact een halve maand. *\/\n  var MAAND = 4.3 * 7 * PX;\n  var JAAR = 12 * MAAND;\n  var ANKERS = 72;\n  \/* De lijn is JAARLOOS en loopt rond: na december komt januari, voor januari\n     december. Ze bestaat uit vijf kopieen van een jaar; na elk schuiven springt\n     ze onzichtbaar terug naar de middelste, zodat je nooit een einde bereikt. *\/\n  var KOPIEEN = 5;\n  var MIDDEN_KOPIE = 2;\n  var MAANDEN = ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli',\n                 'augustus', 'september', 'oktober', 'november', 'december'];\n\n  var vandaag = new Date();\n  var basis = new Date(vandaag.getFullYear(), vandaag.getMonth(), vandaag.getDate());\n\n  function minstens(a, b) { return Math.max(a, b) === a; }\n  function klem(n, lo, hi) { return Math.min(hi, Math.max(lo, n)); }\n  function rond(k) { return ((k % ANKERS) + ANKERS) % ANKERS; }\n  function twee(n) { return ('0' + n).slice(-2); }\n  function iso(d) { return d.getFullYear() + '-' + twee(d.getMonth() + 1) + '-' + twee(d.getDate()); }\n  function dagenIn(j, m) { return new Date(j, m + 1, 0).getDate(); }\n  function indexVan(d) { return Math.round((d - basis) \/ 86400000); }\n\n  wortel.style.setProperty('--av-dag', PX + 'px');\n\n  \/* ---- Vensters: van anker k tot anker k + 3, rond het jaar ---- *\/\n\n  function ankerMaand(k) { return Math.floor(rond(k) \/ 6); }\n  function ankerDag(k) { return (rond(k) % 6 + 1) * 5; }\n  \/* 30 februari bestaat niet: dan de laatste dag (in een gewoon jaar). *\/\n  function toonDag(k) { return Math.min(ankerDag(k), dagenIn(2025, ankerMaand(k))); }\n\n  var vensters = [];\n  (function () {\n    var k = 0;\n    while (k !== ANKERS) {\n      vensters.push({\n        k: k,\n        vanM: ankerMaand(k), vanD: toonDag(k),\n        totM: ankerMaand(k + 3), totD: toonDag(k + 3)\n      });\n      k = k + 1;\n    }\n  })();\n\n  \/* Positie op de lijn van venster k in een bepaalde kopie van het jaar. *\/\n  function positie(kRuw) { return (kRuw + 2.5) \/ 6 * MAAND; }\n  function kRuwBij(px) { return Math.round(px \/ MAAND * 6 - 2.5); }\n\n  \/* De eerstvolgende keer dat dit venster voorkomt, voor de datumvelden. *\/\n  function eerstvolgende(v) {\n    var j = vandaag.getFullYear();\n    var van = new Date(j, v.vanM, Math.min(ankerDag(v.k), dagenIn(j, v.vanM)));\n    if (!minstens(indexVan(van), 1)) {\n      j = j + 1;\n      van = new Date(j, v.vanM, Math.min(ankerDag(v.k), dagenIn(j, v.vanM)));\n    }\n    var jt = minstens(v.totM, v.vanM) ? j : j + 1;\n    var tot = new Date(jt, v.totM, Math.min(ankerDag(v.k + 3), dagenIn(jt, v.totM)));\n    return { van: van, tot: tot };\n  }\n\n  function vensterVoorDatum(d) {\n    return rond(d.getMonth() * 6 + klem(Math.round(d.getDate() \/ 5), 1, 6) - 1);\n  }\n\n  var pad = 0;\n  \/* Het wiel opent op het venster dat ongeveer vijf weken vooruit begint. *\/\n  var huidig = vensterVoorDatum(new Date(basis.getFullYear(), basis.getMonth(), basis.getDate() + 35));\n  var bewaard = -1;\n  var gekozen = false;\n  var stil = true;\n  var rustTimer = null;\n  var sleep = null;\n  var negeerKlik = false;\n  var vinger = false;\n\n  \/* ---- De lijn: maandnaam in het midden, streepje op het begin van elke maand ---- *\/\n\n  (function () {\n    var i = 0;\n    while (i !== KOPIEEN * 12) {\n      var naam = document.createElement('span');\n      naam.className = 'mf-av-maandnaam';\n      naam.textContent = MAANDEN[i % 12];\n      naam.style.left = ((i + 0.5) * MAAND) + 'px';\n      baan.appendChild(naam);\n\n      var grens = document.createElement('span');\n      grens.className = 'mf-av-grens';\n      grens.textContent = '|';\n      grens.style.left = (i * MAAND) + 'px';\n      baan.appendChild(grens);\n      i = i + 1;\n    }\n  })();\n  baan.removeChild(baan.firstChild);\n\n  function maat() {\n    pad = Math.round(wiel.clientWidth \/ 2);\n    spoor.style.width = (pad * 2 + KOPIEEN * JAAR) + 'px';\n    baan.style.left = pad + 'px';\n    baan.style.width = (KOPIEEN * JAAR) + 'px';\n  }\n\n  \/* ---- Tekst ---- *\/\n\n  \/* Twee kalenderblaadjes: altijd even groot, wat er ook op staat. Het blaadje\n     zelf beweegt niet; het GETAL doet een kleine anticipatie en een plop als het\n     verspringt. *\/\n  function zetBlad(blad, maand, dag) {\n    var elMaand = blad.querySelector('.mf-av-blad-maand');\n    var elDag = blad.querySelector('.mf-av-blad-dag');\n    var nieuw = MAANDEN[maand] + ' ' + dag;\n    if (blad.getAttribute('data-waarde') === nieuw) return;\n    blad.setAttribute('data-waarde', nieuw);\n    elMaand.textContent = MAANDEN[maand];\n    if (elDag.textContent !== String(dag)) {\n      elDag.textContent = String(dag);\n      elDag.classList.remove('is-plop');\n      void elDag.offsetWidth;\n      elDag.classList.add('is-plop');\n    }\n  }\n\n  \/* Zonder jaartal: een algemene vergadering valt elk jaar rond dezelfde tijd, dus\n     we vragen een terugkerend moment, geen datum. *\/\n  function zin(v) {\n    if (v.vanM === v.totM) {\n      return 'tussen ' + v.vanD + ' en ' + v.totD + ' ' + MAANDEN[v.totM];\n    }\n    return 'tussen ' + v.vanD + ' ' + MAANDEN[v.vanM] + ' en ' + v.totD + ' ' + MAANDEN[v.totM];\n  }\n\n  function toon() {\n    if (knopOnbekend.getAttribute('aria-pressed') === 'true') {\n      elAanloop.textContent = 'nog geen idee';\n      elHint.textContent = 'Geen probleem, dat bespreken we samen.';\n      wiel.setAttribute('aria-valuetext', 'Nog geen idee');\n      return;\n    }\n    var v = vensters[huidig];\n    elAanloop.textContent = 'meestal tussen';\n    zetBlad(bladVan, v.vanM, v.vanD);\n    zetBlad(bladTot, v.totM, v.totD);\n    elHint.textContent = gekozen ? '' : 'Schuif of tik op de lijn om te kiezen';\n    wiel.setAttribute('aria-valuetext', zin(v));\n  }\n\n  function bewaar() {\n    if (knopOnbekend.getAttribute('aria-pressed') === 'true') {\n      api.zet('volgende_av_periode', 'onbekend');\n      api.zet('volgende_av_datum', '');\n      api.zet('volgende_av_van', '');\n      api.zet('volgende_av_tot', '');\n      return;\n    }\n    if (!gekozen) return;\n    var v = vensters[huidig];\n    var e = eerstvolgende(v);\n    api.zet('volgende_av_periode', zin(v));\n    api.zet('volgende_av_van', iso(e.van));\n    api.zet('volgende_av_tot', iso(e.tot));\n    var helft = Math.round((indexVan(e.tot) - indexVan(e.van)) \/ 2);\n    api.zet('volgende_av_datum', iso(new Date(e.van.getFullYear(), e.van.getMonth(), e.van.getDate() + helft)));\n  }\n\n  \/* ---- Schuiven ---- *\/\n\n  function kies() {\n    if (knopOnbekend.getAttribute('aria-pressed') === 'true') {\n      knopOnbekend.setAttribute('aria-pressed', 'false');\n      wortel.classList.remove('is-onbekend');\n    }\n    gekozen = true;\n    bewaard = huidig;\n    wortel.classList.remove('is-open');\n    bewaar();\n    toon();\n  }\n\n  function naarRuw(kRuw) {\n    huidig = rond(kRuw);\n    wiel.scrollTo({ left: positie(kRuw), behavior: 'smooth' });\n  }\n\n  function inRust() {\n    if (sleep) return;\n    if (vinger) return;\n    var kRuw = kRuwBij(wiel.scrollLeft);\n    \/* Terug naar de middelste kopie, onzichtbaar: de lijn ziet er in elke kopie\n       hetzelfde uit. *\/\n    var kopie = Math.floor(kRuw \/ ANKERS);\n    if (kopie !== MIDDEN_KOPIE) {\n      var verschuiving = (kopie - MIDDEN_KOPIE) * JAAR;\n      wiel.scrollLeft = wiel.scrollLeft - verschuiving;\n      kRuw = kRuw - (kopie - MIDDEN_KOPIE) * ANKERS;\n    }\n    var doelPx = positie(kRuw);\n    if (!minstens(0.5, Math.abs(wiel.scrollLeft - doelPx))) {\n      wiel.scrollTo({ left: doelPx, behavior: 'smooth' });\n    }\n    var doel = rond(kRuw);\n    if (stil) return;\n    if (doel !== bewaard || !gekozen) {\n      huidig = doel;\n      kies();\n    }\n  }\n\n  wiel.addEventListener('scroll', function () {\n    var i = rond(kRuwBij(wiel.scrollLeft));\n    if (i !== huidig) {\n      huidig = i;\n      \/* De bezoeker schuift zelf: vanaf de eerste wissel is het geen voorstel\n         meer, dus niet meer grijs. Bewaard wordt pas bij het loslaten. *\/\n      if (!stil) wortel.classList.remove('is-open');\n      toon();\n    }\n    clearTimeout(rustTimer);\n    rustTimer = setTimeout(inRust, 130);\n  }, { passive: true });\n\n  function wakker() { stil = false; }\n\n  wiel.addEventListener('touchstart', function () { wakker(); vinger = true; }, { passive: true });\n  function vingerLos() {\n    vinger = false;\n    clearTimeout(rustTimer);\n    rustTimer = setTimeout(inRust, 130);\n  }\n  wiel.addEventListener('touchend', vingerLos, { passive: true });\n  wiel.addEventListener('touchcancel', vingerLos, { passive: true });\n\n  wiel.addEventListener('wheel', function (e) {\n    var dx = e.deltaX;\n    var dy = e.deltaY;\n    var stap = Math.max(Math.abs(dx), Math.abs(dy)) === Math.abs(dy) ? dy : dx;\n    if (stap === 0) return;\n    e.preventDefault();\n    wakker();\n    wiel.scrollLeft = wiel.scrollLeft + stap;\n  }, { passive: false });\n\n  wiel.addEventListener('pointerdown', function (e) {\n    if (e.pointerType !== 'mouse') return;\n    wakker();\n    sleep = { x: e.clientX, begin: wiel.scrollLeft, bewogen: false };\n    wiel.classList.add('is-slepen');\n    wiel.setPointerCapture(e.pointerId);\n  });\n  wiel.addEventListener('pointermove', function (e) {\n    if (!sleep) return;\n    var dx = e.clientX - sleep.x;\n    if (minstens(Math.abs(dx), 4)) sleep.bewogen = true;\n    wiel.scrollLeft = sleep.begin - dx;\n  });\n  function loslaten() {\n    if (!sleep) return;\n    negeerKlik = sleep.bewogen;\n    sleep = null;\n    wiel.classList.remove('is-slepen');\n    inRust();\n  }\n  wiel.addEventListener('pointerup', loslaten);\n  wiel.addEventListener('pointercancel', loslaten);\n\n  \/* Tikken op de lijn schuift het venster rond die plek in het kader. *\/\n  wiel.addEventListener('click', function (e) {\n    if (negeerKlik) {\n      negeerKlik = false;\n      return;\n    }\n    wakker();\n    var x = e.clientX - wiel.getBoundingClientRect().left + wiel.scrollLeft - pad;\n    var kRuw = kRuwBij(x);\n    if (rond(kRuw) === huidig) {\n      kies();\n      return;\n    }\n    naarRuw(kRuw);\n  });\n\n  wiel.addEventListener('keydown', function (e) {\n    var sprong = { ArrowLeft: -1, ArrowRight: 1, ArrowDown: 1, ArrowUp: -1, PageUp: -6, PageDown: 6 }[e.key];\n    if (!sprong) return;\n    e.preventDefault();\n    wakker();\n    naarRuw(kRuwBij(wiel.scrollLeft) + sprong);\n  });\n\n  knopOnbekend.addEventListener('click', function () {\n    var aan = knopOnbekend.getAttribute('aria-pressed') !== 'true';\n    knopOnbekend.setAttribute('aria-pressed', aan ? 'true' : 'false');\n    wortel.classList.toggle('is-onbekend', aan);\n    if (aan) {\n      wortel.classList.remove('is-open');\n      bewaar();\n    } else {\n      gekozen = false;\n      wortel.classList.add('is-open');\n      api.zet('volgende_av_periode', '');\n    }\n    toon();\n  });\n\n  \/* ---- Beginstand ---- *\/\n\n  (function () {\n    var periode = String(api.lees('volgende_av_periode') || '').trim();\n    var van = String(api.lees('volgende_av_van') || '').trim().split('-');\n    if (periode === 'onbekend') {\n      knopOnbekend.setAttribute('aria-pressed', 'true');\n      wortel.classList.add('is-onbekend');\n      wortel.classList.remove('is-open');\n      return;\n    }\n    if (van.length === 3) {\n      var d = new Date(Number(van[0]), Number(van[1]) - 1, Number(van[2]));\n      if (!isNaN(d.getTime())) {\n        huidig = vensterVoorDatum(d);\n        bewaard = huidig;\n        gekozen = true;\n        wortel.classList.remove('is-open');\n      }\n    }\n  })();\n\n  \/* Opnieuw meten en terugzetten, zonder dat het als antwoord telt. De stap staat\n     verborgen (en de pop-up dicht) tot ze aan de beurt is: dan is de breedte 0.\n     Meten gebeurt dus pas als de lijn echt breedte krijgt. *\/\n  var laatsteBreedte = -1;\n  function herschik() {\n    var breedte = wiel.clientWidth;\n    if (breedte === laatsteBreedte) return;\n    laatsteBreedte = breedte;\n    if (breedte === 0) return;\n    var wasStil = stil;\n    var i = huidig;\n    stil = true;\n    maat();\n    wiel.scrollLeft = positie(MIDDEN_KOPIE * ANKERS + i);\n    huidig = i;\n    toon();\n    setTimeout(function () { stil = wasStil; }, 200);\n  }\n\n  toon();\n  herschik();\n  if (window.ResizeObserver) {\n    new ResizeObserver(herschik).observe(wiel);\n  } else {\n    window.addEventListener('resize', herschik);\n  }\n  api.bij('tonen', herschik);\n});\n<\/script>\n<\/div>\n<div class=\"mymmo-stap-nav\">\n<button type=\"button\" class=\"mymmo-stap-knop mymmo-stap-knop--terug\" data-mymmo-vorige>Vorige<\/button><button type=\"button\" class=\"mymmo-stap-knop mymmo-stap-knop--verder\" data-mymmo-volgende>Volgende<\/button>\n<\/div><\/section>            \n            <section class=\"mymmo-stap mymmo-stap--formulier\" data-mymmo-stap=\"4\" data-mymmo-stap-naam=\"formulier\" hidden><h3 class=\"mymmo-stap-titel mymmo-stap-titel--met-tekst\" data-mymmo-kop=\"form-titel\">De laatste loodjes...<\/h3>\n<p class=\"mymmo-stap-tekst\" data-mymmo-kop=\"form-sub\">Dankjewel voor alle info. Hier gaan wij mee aan de slag. Vul nog je naam en emailadres in en we sturen je meteen al ons voorstel op.<\/p>\n<div class=\"mymmo-form-wrap\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra\" data-mymmo-slug=\"syndicoach-calulator-offerte\" data-mymmo-tabblad=\"extra\" lang=\"nl\" style=\"--mf-accent:#99f6e4;--mf-accent-text:#0369a1;--mf-accent-ink:#0369a1;--mf-gap:18px;--mf-fig-scale:80%;--mf-fig-x:-7px;--mf-fig-y:-41px;--mf-wm-scale:257%;--mf-wm-x:-314px;--mf-wm-y:141px;--mf-wm-rotate:25deg;--mf-accent-ink:#0369a1\">\n\n    \n    \n        \n        \n        \n        \n                <form class=\"mymmo-form\" method=\"post\" action=\"https:\/\/syndicoach.be\/wp-admin\/admin-post.php\" data-mymmo-messages='{\"required\":\"{label} is verplicht.\",\"email\":\"{label} is geen geldig e-mailadres.\",\"number\":\"{label} moet een getal zijn.\",\"date\":\"{label} moet een datum zijn (jjjj-mm-dd).\",\"postcode\":\"{label} is geen geldige postcode.\",\"postcode_unknown\":\"We kennen postcode {value} niet. Kijk ze even na.\",\"city_other\":\"Andere plaats\\u2026\",\"unknown_choice\":\"{label}: onbekende keuze \\\"{value}\\\".\",\"minlength\":\"{label} moet minstens {n} tekens bevatten.\",\"maxlength\":\"{label} mag hoogstens {n} tekens bevatten.\",\"min\":\"{label} moet minstens {n} zijn.\",\"max\":\"{label} mag hoogstens {n} zijn.\",\"choose\":\"Maak een keuze\",\"back\":\"Vorige\",\"next\":\"Volgende\",\"step_of\":\"Stap {n} van {total}\",\"submitting\":\"Bezig met versturen\\u2026\",\"busy\":\"We maken je offerte op\",\"busy_offerte\":\"We maken je offerte op\",\"busy_academy\":\"We zetten je cursus klaar\",\"check_fields\":\"Kijk de gemarkeerde velden na.\",\"expired\":\"De pagina was verlopen. Probeer het opnieuw.\",\"stale_page\":\"Deze pagina stond te lang open. Ververs ze en probeer opnieuw.\",\"rejected\":\"De inzending kon niet verwerkt worden.\",\"bot_check\":\"We konden niet nagaan of je geen robot bent. Probeer het opnieuw.\",\"unavailable\":\"Dit formulier is momenteel niet beschikbaar.\",\"send_failed\":\"We konden je bericht niet versturen. Probeer het zo meteen opnieuw.\"}' data-mymmo-turnstile=\"0x4AAAAAAFOLN57a5gYOjyhK\" novalidate>\n\n            <input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"086fd692ac\"><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/fr\/wp-json\/wp\/v2\/pages\/16493\">            <input type=\"hidden\" name=\"action\" value=\"mymmo_forms_submit\">\n            <input type=\"hidden\" name=\"mymmo_form_slug\" value=\"syndicoach-calulator-offerte\">\n                        <input type=\"hidden\" name=\"mymmo_lang\" value=\"nl\">\n            <input type=\"hidden\" name=\"mymmo_redirect_to\" value=\"https:\/\/syndicoach.be\/fr\/syndicus-gids\/syndicus-verplicht\/\">\n                            <input type=\"hidden\" name=\"mymmo_anchor\" value=\"mymmo-modal-we-nemen-contact-met-je-op\">\n                                        <input type=\"hidden\" name=\"mymmo_tab\" value=\"extra\">\n                        <input type=\"hidden\" name=\"mymmo_page_title\" value=\"Syndicoach\">\n            <input type=\"hidden\" name=\"mymmo_forms_t\" value=\"1791390117.a85287179a8ccc19a8511442d6bd213a\">\n\n            \n                        <div class=\"mymmo-form-hp\" aria-hidden=\"true\">\n                <label for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-hp\">Laat dit veld leeg<\/label>\n                <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-hp\" name=\"mymmo_forms_website\" value=\"\" tabindex=\"-1\" autocomplete=\"off\">\n            <\/div>\n\n            \n            <div class=\"mymmo-form-grid\">\n                <div class=\"mymmo-form-field mymmo-form-field--full mymmo-form-field--text\" data-mymmo-label=\"Naam\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-naam\">\n            Naam <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-naam\" name=\"naam\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-naam-error\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-naam-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--half mymmo-form-field--email\" data-mymmo-label=\"E-mailadres\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-e_mailadres\">\n            E-mailadres <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"email\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-e_mailadres\" name=\"e_mailadres\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-e_mailadres-error\" autocomplete=\"email\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-e_mailadres-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--half mymmo-form-field--tel\" data-mymmo-label=\"Telefoonnummer\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-tel\">\n            Telefoonnummer <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"tel\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-tel\" name=\"tel\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-tel-error\" autocomplete=\"tel\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-tel-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--half mymmo-form-field--text\" data-mymmo-label=\"Straat\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-adres_van_het_gebouw\">\n            Straat <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-adres_van_het_gebouw\" name=\"adres_van_het_gebouw\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-adres_van_het_gebouw-error\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-adres_van_het_gebouw-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--half mymmo-form-field--text\" data-mymmo-label=\"Nummer\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-nummer\">\n            Nummer <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-nummer\" name=\"nummer\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-nummer-error\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-nummer-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--half mymmo-form-field--postcode\" data-mymmo-label=\"Postcode\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-zip\">\n            Postcode <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-zip\" name=\"zip\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" autocomplete=\"postal-code\" inputmode=\"numeric\" autocapitalize=\"characters\" spellcheck=\"false\" maxlength=\"12\" data-mymmo-postcode=\"BE\" data-mymmo-postcode-lijst=\"https:\/\/syndicoach.be\/wp-content\/plugins\/mymmo-forms\/assets\/data\/postcodes-be.json?ver=1.23.1\" data-mymmo-gemeente=\"gemeente\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-zip-error\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-zip-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--half mymmo-form-field--city\" data-mymmo-label=\"Stad\/Gemeente\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-extra-gemeente\">\n            Stad\/Gemeente <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-gemeente\" name=\"gemeente\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" autocomplete=\"address-level2\" data-mymmo-gemeente-van=\"zip\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-gemeente-error\">\n            <select id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-gemeente-keuze\" class=\"mymmo-form-input\" data-mymmo-gemeente-keuze hidden disabled aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-extra-gemeente-error\"><\/select>\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-extra-gemeente-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<input type=\"hidden\" name=\"aantal_kavels\" value=\"\"><input type=\"hidden\" name=\"commerciele_kavels\" value=\"\"><input type=\"hidden\" name=\"gebouw_kenmerken\" value=\"\"><input type=\"hidden\" name=\"huidig_beheer\" value=\"\"><input type=\"hidden\" name=\"volgende_av_periode\" value=\"\"><input type=\"hidden\" name=\"volgende_av_van\" value=\"\"><input type=\"hidden\" name=\"volgende_av_tot\" value=\"\"><input type=\"hidden\" name=\"volgende_av_datum\" value=\"\"><input type=\"hidden\" name=\"waarom_syndicoach\" value=\"\">            <\/div>\n\n                                    <div class=\"mymmo-form-actions\">\n                                    <button type=\"button\" class=\"mymmo-form-back\" data-mymmo-vorige>\n                        Vorige                    <\/button>\n                                <button type=\"submit\" class=\"mymmo-form-submit\">\n                    Versturen                <\/button>\n            <\/div>\n                    <\/form>\n\n    <\/div>\n<\/section>    <\/div>\n<div class=\"mymmo-dank\" data-mymmo-dank-scherm=\"extra\" hidden>\n<img class=\"mymmo-dank-beeld lazyload\" data-mymmo-dank=\"beeld\" data-src=\"https:\/\/link.openvme.be\/assets\/brand\/relax-voor-computer.svg\" alt=\"\" decoding=\"async\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><h3 class=\"mymmo-dank-titel\" data-mymmo-dank=\"titel\">Bedankt!<\/h3>\n<p class=\"mymmo-dank-tekst\" data-mymmo-dank=\"tekst\">We sturen je meteen de offerte op.<\/p>\n<\/div>                                            <\/section>\n                                        <section class=\"mymmo-modal-paneel\" id=\"mymmo-modal-we-nemen-contact-met-je-op-paneel-form\" role=\"tabpanel\" aria-labelledby=\"mymmo-modal-we-nemen-contact-met-je-op-tab-form\" tabindex=\"0\" data-mymmo-paneel=\"form\">\n\n                                                    <h3 class=\"mymmo-modal-paneel-titel\">Stuur een bericht<\/h3>\n                        \n                                                    <div class=\"mymmo-form-wrap\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier\" data-mymmo-slug=\"we-nemen-contact-met-je-op\" data-mymmo-tabblad=\"form\" lang=\"nl\" style=\"--mf-accent:#2563eb;--mf-max-width:720px;--mf-accent:#99f6e4;--mf-accent-text:#0369a1;--mf-accent-ink:#0369a1;--mf-gap:18px;--mf-fig-scale:80%;--mf-fig-x:-7px;--mf-fig-y:-41px;--mf-wm-scale:257%;--mf-wm-x:-314px;--mf-wm-y:141px;--mf-wm-rotate:25deg;--mf-accent-ink:#0369a1\">\n\n    \n    \n        \n        <h3 class=\"mymmo-stap-titel mymmo-stap-titel--met-tekst\" data-mymmo-kop=\"form-titel\">Stel je vraag, wij zoeken het uit<\/h3>\n<p class=\"mymmo-stap-tekst\" data-mymmo-kop=\"form-sub\">Laat je gegevens achter en we nemen zo spoedig mogelijk contact met je op.<\/p>\n        \n        \n                <form class=\"mymmo-form\" method=\"post\" action=\"https:\/\/syndicoach.be\/wp-admin\/admin-post.php\" data-mymmo-messages='{\"required\":\"{label} is verplicht.\",\"email\":\"{label} is geen geldig e-mailadres.\",\"number\":\"{label} moet een getal zijn.\",\"date\":\"{label} moet een datum zijn (jjjj-mm-dd).\",\"postcode\":\"{label} is geen geldige postcode.\",\"postcode_unknown\":\"We kennen postcode {value} niet. Kijk ze even na.\",\"city_other\":\"Andere plaats\\u2026\",\"unknown_choice\":\"{label}: onbekende keuze \\\"{value}\\\".\",\"minlength\":\"{label} moet minstens {n} tekens bevatten.\",\"maxlength\":\"{label} mag hoogstens {n} tekens bevatten.\",\"min\":\"{label} moet minstens {n} zijn.\",\"max\":\"{label} mag hoogstens {n} zijn.\",\"choose\":\"Maak een keuze\",\"back\":\"Vorige\",\"next\":\"Volgende\",\"step_of\":\"Stap {n} van {total}\",\"submitting\":\"Bezig met versturen\\u2026\",\"busy\":\"Even geduld\",\"busy_offerte\":\"We maken je offerte op\",\"busy_academy\":\"We zetten je cursus klaar\",\"check_fields\":\"Kijk de gemarkeerde velden na.\",\"expired\":\"De pagina was verlopen. Probeer het opnieuw.\",\"stale_page\":\"Deze pagina stond te lang open. Ververs ze en probeer opnieuw.\",\"rejected\":\"De inzending kon niet verwerkt worden.\",\"bot_check\":\"We konden niet nagaan of je geen robot bent. Probeer het opnieuw.\",\"unavailable\":\"Dit formulier is momenteel niet beschikbaar.\",\"send_failed\":\"We konden je bericht niet versturen. Probeer het zo meteen opnieuw.\"}' data-mymmo-turnstile=\"0x4AAAAAAFOLN57a5gYOjyhK\" novalidate>\n\n            <input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"ad48b43cad\"><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/fr\/wp-json\/wp\/v2\/pages\/16493\">            <input type=\"hidden\" name=\"action\" value=\"mymmo_forms_submit\">\n            <input type=\"hidden\" name=\"mymmo_form_slug\" value=\"we-nemen-contact-met-je-op\">\n                        <input type=\"hidden\" name=\"mymmo_lang\" value=\"nl\">\n            <input type=\"hidden\" name=\"mymmo_redirect_to\" value=\"https:\/\/syndicoach.be\/fr\/syndicus-gids\/syndicus-verplicht\/\">\n                            <input type=\"hidden\" name=\"mymmo_anchor\" value=\"mymmo-modal-we-nemen-contact-met-je-op\">\n                                        <input type=\"hidden\" name=\"mymmo_tab\" value=\"form\">\n                        <input type=\"hidden\" name=\"mymmo_page_title\" value=\"Syndicoach\">\n            <input type=\"hidden\" name=\"mymmo_forms_t\" value=\"1791390117.a85287179a8ccc19a8511442d6bd213a\">\n\n            \n                        <div class=\"mymmo-form-hp\" aria-hidden=\"true\">\n                <label for=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-hp\">Laat dit veld leeg<\/label>\n                <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-hp\" name=\"mymmo_forms_website\" value=\"\" tabindex=\"-1\" autocomplete=\"off\">\n            <\/div>\n\n            \n            <div class=\"mymmo-form-grid\">\n                <div class=\"mymmo-form-field mymmo-form-field--full mymmo-form-field--text\" data-mymmo-label=\"Naam\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-naam\">\n            Naam <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"text\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-naam\" name=\"naam\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-naam-error\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-naam-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--full mymmo-form-field--email\" data-mymmo-label=\"E-mailadres\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-e_mailadres\">\n            E-mailadres <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"email\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-e_mailadres\" name=\"e_mailadres\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-e_mailadres-error\" autocomplete=\"email\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-e_mailadres-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--full mymmo-form-field--tel\" data-mymmo-label=\"Telefoonnummer\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-telefoonnummer\">\n            Telefoonnummer <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n                    <input type=\"tel\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-telefoonnummer\" name=\"telefoonnummer\" class=\"mymmo-form-input\" value=\"\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-telefoonnummer-error\" autocomplete=\"tel\">\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-telefoonnummer-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n<div class=\"mymmo-form-field mymmo-form-field--full mymmo-form-field--textarea\" data-mymmo-label=\"Waar kunnen we je mee helpen?\">\n\n    \n        <label class=\"mymmo-form-label\" for=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-waar_kunnen_we_je_mee_helpen_2\">\n            Waar kunnen we je mee helpen? <span class=\"mymmo-form-req\" aria-hidden=\"true\">*<\/span>        <\/label>\n\n        \n            <textarea id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-waar_kunnen_we_je_mee_helpen_2\" name=\"waar_kunnen_we_je_mee_helpen_2\" class=\"mymmo-form-input\" rows=\"5\" placeholder=\"\" required aria-required=\"true\" aria-describedby=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-waar_kunnen_we_je_mee_helpen_2-error\"><\/textarea>\n\n        \n    \n    \n        <p class=\"mymmo-form-error\" id=\"mymmo-modal-we-nemen-contact-met-je-op-formulier-waar_kunnen_we_je_mee_helpen_2-error\" role=\"alert\" data-mymmo-error hidden><\/p>\n<\/div>\n            <\/div>\n\n                                    <div class=\"mymmo-form-actions\">\n                                <button type=\"submit\" class=\"mymmo-form-submit\">\n                    Stuur je vraag door                <\/button>\n            <\/div>\n                    <\/form>\n\n    <\/div>\n<div class=\"mymmo-dank\" data-mymmo-dank-scherm=\"form\" hidden>\n<img class=\"mymmo-dank-beeld lazyload\" data-mymmo-dank=\"beeld\" data-src=\"https:\/\/link.openvme.be\/assets\/brand\/relax-voor-computer.svg\" alt=\"\" decoding=\"async\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><h3 class=\"mymmo-dank-titel\" data-mymmo-dank=\"titel\">Bedankt!<\/h3>\n<p class=\"mymmo-dank-tekst\" data-mymmo-dank=\"tekst\">Binnen enkele ogenblikken zit de offerte in je mailbox.<\/p>\n<\/div>                                            <\/section>\n                                        <section class=\"mymmo-modal-paneel mymmo-modal-paneel--agenda\" id=\"mymmo-modal-we-nemen-contact-met-je-op-paneel-calendly\" role=\"tabpanel\" aria-labelledby=\"mymmo-modal-we-nemen-contact-met-je-op-tab-calendly\" tabindex=\"0\" data-mymmo-paneel=\"calendly\">\n\n                                                    <h3 class=\"mymmo-modal-paneel-titel\">Plan een gesprek<\/h3>\n                        \n                                                                                                            <div class=\"mymmo-modal-agenda\" data-mymmo-calendly=\"https:\/\/calendly.com\/d\/cw7t-pq4-mzg\/ontmoet-jouw-syndicoach\" data-mymmo-calendly-kleur=\"0369a1\" data-mymmo-dank=\"Je krijgt alle informatie en de link zometeen per mail toegestuurd.\">\n                                <p class=\"mymmo-modal-agenda-terugval\">\n                                    <a class=\"mymmo-modal-agenda-link\" href=\"https:\/\/calendly.com\/d\/cw7t-pq4-mzg\/ontmoet-jouw-syndicoach\" target=\"_blank\" rel=\"noopener noreferrer\">Plan een gesprek<\/a>\n                                <\/p>\n                            <\/div>\n                            <div class=\"mymmo-dank\" data-mymmo-dank-scherm=\"calendly\" hidden>\n<img class=\"mymmo-dank-beeld lazyload\" data-mymmo-dank=\"beeld\" data-src=\"https:\/\/link.openvme.be\/assets\/brand\/relax-voor-computer.svg\" alt=\"\" decoding=\"async\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><h3 class=\"mymmo-dank-titel\" data-mymmo-dank=\"titel\">Je afspraak staat geboekt!<\/h3>\n<p class=\"mymmo-dank-tekst\" data-mymmo-dank=\"tekst\">Je krijgt alle informatie en de link zometeen per mail toegestuurd.<\/p>\n<\/div>                                            <\/section>\n                    \n                <\/div>\n            <\/div>\n\n            <\/div>        <\/div>\n    <\/div>\n\n    <\/div>\n\n\n<div class=\"wp-block-button is-style-outline is-style-outline--1\" style=\"\"><a class=\"wp-block-button__link has-custom-open-vme-teal-200-color has-text-color has-link-color wp-element-button\" href=\"https:\/\/syndicoach.be\/\" style=\"\">Ontdek Syndicoach<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 id=\"gevolgen-van-geen-syndicus-aan-te-stellen\" class=\"wp-block-heading\"><span style=\"--wp--custom--font-size:clamp(22px,2.8vw,28px);\" class=\"has-font has-inline-font-size\">Gevolgen van geen syndicus aan te stellen<\/span><\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Het niet aanstellen van een syndicus kan ernstige gevolgen hebben voor de mede-eigenaars en het gebouw. Als er geen syndicus is, kan elke belanghebbende, zoals een mede-eigenaar of zelfs een leverancier, naar de <strong>vrederechter stappen om een syndicus aan te laten stellen<\/strong>. Bovendien kunnen alle mede-eigenaars aansprakelijk worden gesteld voor problemen die ontstaan door het ontbreken van een syndicus.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 id=\"vanaf-hoeveel-appartementen-is-een-syndicus-verplicht\" class=\"wp-block-heading\"><span style=\"--wp--custom--font-size:clamp(22px,2.8vw,28px);\" class=\"has-font  has-inline-font-size\">Vanaf hoeveel appartementen is een syndicus verplicht?<\/span><\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Zoals eerder vermeld, is een syndicus verplicht zodra er<strong> twee of meer eigenaars zijn<\/strong>, ongeacht het aantal appartementen. Dit betekent dat zelfs in een gebouw met slechts twee appartementen de aanstelling van een syndicus noodzakelijk is. De regel is eenvoudig: zodra er sprake is van <a href=\"https:\/\/openvme.be\/2024\/08\/26\/mede-eigendom\/\"><strong>mede-eigendom<\/strong><\/a>, is een syndicus nodig.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 id=\"een-syndicus-aanstellen-is-de-enige-juiste-keuze\" class=\"wp-block-heading\"><span style=\"--wp--custom--font-size:clamp(22px,2.8vw,28px);\" class=\"has-font  has-inline-font-size\">Een syndicus aanstellen is de enige juiste keuze!<\/span><\/h2>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\">Het aanstellen van een syndicus is een essenti&euml;le stap voor het <strong>goed functioneren van een mede-eigendom.<\/strong> Of je nu kiest voor een professionele syndicus of een mede-eigenaar, het is belangrijk om de verplichtingen en verantwoordelijkheden goed te begrijpen. Door de juiste keuzes te maken, zorg je voor een effici&euml;nt en transparant beheer van het gebouw.<\/p>\n\n\n<p class=\"wp-block-paragraph wp-block-paragraph\" style=\"\"><strong>Eenvoudig, slim en juist beheer? Start met Syndicoach<\/strong>.<\/p>\n\n\n<div class=\"wp-block-group alignwide is-style-default has-success-100-background-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;padding:var(--wp--preset--spacing--lg)\">\n<p class=\"wp-block-paragraph aligncenter has-text-align-center has-gelica-font-family has-32-font-size wp-block-paragraph\" style=\"\"><strong>Lees verder<\/strong><\/p>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-5d2f3228 wp-block-columns-is-layout-flex is-stacked-on-mobile\" data-columns=\"3\" style=\"--columns:3\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized has-custom-border\" style=\"border-radius:15px\"><a href=\"https:\/\/syndicoach.be\/syndicoach-zoeken\/\"><img decoding=\"async\" data-src=\"https:\/\/openvme.be\/wp-content\/uploads\/2026\/01\/twee-personen-geven-high-five-pink-edited.png\" alt=\"syndicus zoeken\" class=\"wp-image-13348 lazyload\" style=\"border-radius:15px;width:auto;height:200px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/a><\/figure>\n\n\n<p class=\"wp-block-paragraph aligncenter has-text-align-center has-gelica-font-family has-22-font-size wp-block-paragraph\" style=\"\"><strong>Vind een syndicus in je buurt<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-58e49f0f wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-outline is-style-outline--2\" style=\"\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/syndicoach.be\/syndicoach-zoeken\/\" style=\"\">Ontdek alle Syndicoaches<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized has-custom-border\" style=\"border-radius:15px\"><a href=\"https:\/\/syndicoach.be\/vme-check\/\"><img decoding=\"async\" width=\"467\" height=\"311\" data-src=\"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/02\/persoon-in-bad-met-computer-pink-edited.png\" alt=\"gebouw vme check\" class=\"wp-image-15462 lazyload\" style=\"--smush-placeholder-width: 467px; --smush-placeholder-aspect-ratio: 467\/311;border-radius:15px;width:auto;height:200px\" data-srcset=\"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/02\/persoon-in-bad-met-computer-pink-edited.png 467w, https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/02\/persoon-in-bad-met-computer-pink-edited-300x200.png 300w\" data-sizes=\"(max-width: 467px) 100vw, 467px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/a><\/figure>\n\n\n<p class=\"wp-block-paragraph aligncenter has-text-align-center has-gelica-font-family has-22-font-size wp-block-paragraph\" style=\"\">Gratis check-up voor je VME<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-58e49f0f wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-outline is-style-outline--3\" style=\"\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/syndicoach.be\/vme-check\/\" style=\"\">Doe de VME check<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized has-custom-border\" style=\"border-radius:15px\"><a href=\"https:\/\/openvme.be\/functies\/syndicus-expert\/#expert\"><img decoding=\"async\" data-src=\"https:\/\/openvme.be\/wp-content\/uploads\/2026\/01\/persoon-relax-voor-scherm-met-natuurdecoratie-pink-edited.png\" alt=\"experten gebouw\" class=\"wp-image-13350 lazyload\" style=\"border-radius:15px;width:auto;height:200px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/a><\/figure>\n\n\n<p class=\"wp-block-paragraph aligncenter has-text-align-center has-gelica-font-family has-22-font-size wp-block-paragraph\" style=\"\">Welke experten zijn er nog?<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-58e49f0f wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-outline is-style-outline--4\" style=\"\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/openvme.be\/functies\/syndicus-expert\/#expert\" style=\"\">Ontdek alle experten<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dans toute copropri\u00e9t\u00e9, le r\u00f4le du syndic est crucial. Mais une question fr\u00e9quente demeure : un syndic est-il (toujours) obligatoire ? La r\u00e9ponse est claire : oui, d\u00e8s qu'il y a deux propri\u00e9taires ou plus dans un immeuble, la d\u00e9signation d'un syndic est obligatoire selon la l\u00e9gislation belge. Cette obligation existe pour assurer la gestion des parties communes...<\/p>","protected":false},"author":1,"featured_media":15673,"parent":16361,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-16493","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Wanneer is een Syndicus Verplicht en Wanneer Niet? | Syndicoach<\/title>\n<meta name=\"description\" content=\"Ontdek wanneer een Syndicus Verplicht is en wanneer niet, welke uitzonderingen er zijn en wat je moet weten over het beheer.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/syndicoach.be\/fr\/syndic-guide\/syndic-obligatoire\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wanneer is een Syndicus Verplicht en Wanneer Niet? | Syndicoach\" \/>\n<meta property=\"og:description\" content=\"Ontdek wanneer een Syndicus Verplicht is en wanneer niet, welke uitzonderingen er zijn en wat je moet weten over het beheer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/syndicoach.be\/fr\/syndic-guide\/syndic-obligatoire\/\" \/>\n<meta property=\"og:site_name\" content=\"Syndicoach\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/syndicoach\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-20T08:48:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"467\" \/>\n\t<meta property=\"og:image:height\" content=\"263\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture est.\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/\",\"url\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/\",\"name\":\"Wanneer is een Syndicus Verplicht en Wanneer Niet? | Syndicoach\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/syndicoach.be\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/syndicoach.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/syndicus-verplicht-header.webp\",\"datePublished\":\"2026-04-28T12:19:05+00:00\",\"dateModified\":\"2026-05-20T08:48:30+00:00\",\"description\":\"Ontdek wanneer een Syndicus Verplicht is en wanneer niet, welke uitzonderingen er zijn en wat je moet weten over het beheer.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/#breadcrumb\"},\"inLanguage\":\"fr-BE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-BE\",\"@id\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/#primaryimage\",\"url\":\"https:\\\/\\\/syndicoach.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/syndicus-verplicht-header.webp\",\"contentUrl\":\"https:\\\/\\\/syndicoach.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/syndicus-verplicht-header.webp\",\"width\":467,\"height\":263,\"caption\":\"syndicus verplicht\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/syndicus-verplicht\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/syndicoach.be\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"De ultieme syndicus-gids: alles wat je als mede-eigenaar moet weten\",\"item\":\"https:\\\/\\\/syndicoach.be\\\/syndicus-gids\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wanneer is een syndicus verplicht en wanneer niet?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/syndicoach.be\\\/#website\",\"url\":\"https:\\\/\\\/syndicoach.be\\\/\",\"name\":\"Syndicoach\",\"description\":\"Professionele syndicus voor kleine en middelgrote gebouwen\",\"publisher\":{\"@id\":\"https:\\\/\\\/syndicoach.be\\\/#organization\"},\"alternateName\":\"Syndicoach | syndicus voor kleine en middelgrote gebouwen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/syndicoach.be\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-BE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/syndicoach.be\\\/#organization\",\"name\":\"Syndicoach | Professioneel gebouwbeheer\",\"url\":\"https:\\\/\\\/syndicoach.be\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-BE\",\"@id\":\"https:\\\/\\\/syndicoach.be\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/syndicoach.be\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-syndicoach-brandmark.png\",\"contentUrl\":\"https:\\\/\\\/syndicoach.be\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-syndicoach-brandmark.png\",\"width\":512,\"height\":512,\"caption\":\"Syndicoach | Professioneel gebouwbeheer\"},\"image\":{\"@id\":\"https:\\\/\\\/syndicoach.be\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/syndicoach\",\"https:\\\/\\\/www.instagram.com\\\/syndicoach\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@syndicoach\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/syndicoach\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Quand une Agence Immobili\u00e8re est-elle Obligatoire et Quand Ne l'est-elle Pas ? | Syndicoach","description":"D\u00e9couvrez quand un syndic est obligatoire et quand il ne l'est pas, quelles sont les exceptions et ce qu'il faut savoir sur la gestion.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/syndicoach.be\/fr\/syndic-guide\/syndic-obligatoire\/","og_locale":"fr_FR","og_type":"article","og_title":"Wanneer is een Syndicus Verplicht en Wanneer Niet? | Syndicoach","og_description":"Ontdek wanneer een Syndicus Verplicht is en wanneer niet, welke uitzonderingen er zijn en wat je moet weten over het beheer.","og_url":"https:\/\/syndicoach.be\/fr\/syndic-guide\/syndic-obligatoire\/","og_site_name":"Syndicoach","article_publisher":"https:\/\/www.facebook.com\/syndicoach","article_modified_time":"2026-05-20T08:48:30+00:00","og_image":[{"width":467,"height":263,"url":"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture est.":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/","url":"https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/","name":"Quand une Agence Immobili\u00e8re est-elle Obligatoire et Quand Ne l'est-elle Pas ? | Syndicoach","isPartOf":{"@id":"https:\/\/syndicoach.be\/#website"},"primaryImageOfPage":{"@id":"https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/#primaryimage"},"image":{"@id":"https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/#primaryimage"},"thumbnailUrl":"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header.webp","datePublished":"2026-04-28T12:19:05+00:00","dateModified":"2026-05-20T08:48:30+00:00","description":"D\u00e9couvrez quand un syndic est obligatoire et quand il ne l'est pas, quelles sont les exceptions et ce qu'il faut savoir sur la gestion.","breadcrumb":{"@id":"https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/#breadcrumb"},"inLanguage":"fr-BE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/"]}]},{"@type":"ImageObject","inLanguage":"fr-BE","@id":"https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/#primaryimage","url":"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header.webp","contentUrl":"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/03\/syndicus-verplicht-header.webp","width":467,"height":263,"caption":"syndicus verplicht"},{"@type":"BreadcrumbList","@id":"https:\/\/syndicoach.be\/syndicus-gids\/syndicus-verplicht\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/syndicoach.be\/"},{"@type":"ListItem","position":2,"name":"De ultieme syndicus-gids: alles wat je als mede-eigenaar moet weten","item":"https:\/\/syndicoach.be\/syndicus-gids\/"},{"@type":"ListItem","position":3,"name":"Wanneer is een syndicus verplicht en wanneer niet?"}]},{"@type":"WebSite","@id":"https:\/\/syndicoach.be\/#website","url":"https:\/\/syndicoach.be\/","name":"Syndicoach","description":"Syndic professionnel pour petits et moyens immeubles","publisher":{"@id":"https:\/\/syndicoach.be\/#organization"},"alternateName":"Syndicoach | syndicus voor kleine en middelgrote gebouwen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/syndicoach.be\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-BE"},{"@type":"Organization","@id":"https:\/\/syndicoach.be\/#organization","name":"Syndicoach | Gestion immobili\u00e8re professionnelle","url":"https:\/\/syndicoach.be\/","logo":{"@type":"ImageObject","inLanguage":"fr-BE","@id":"https:\/\/syndicoach.be\/#\/schema\/logo\/image\/","url":"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/02\/cropped-syndicoach-brandmark.png","contentUrl":"https:\/\/syndicoach.be\/wp-content\/uploads\/2026\/02\/cropped-syndicoach-brandmark.png","width":512,"height":512,"caption":"Syndicoach | Professioneel gebouwbeheer"},"image":{"@id":"https:\/\/syndicoach.be\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/syndicoach","https:\/\/www.instagram.com\/syndicoach\/","https:\/\/www.youtube.com\/@syndicoach","https:\/\/www.linkedin.com\/company\/syndicoach"]}]}},"_links":{"self":[{"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/pages\/16493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/comments?post=16493"}],"version-history":[{"count":6,"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/pages\/16493\/revisions"}],"predecessor-version":[{"id":16925,"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/pages\/16493\/revisions\/16925"}],"up":[{"embeddable":true,"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/pages\/16361"}],"wp:attachment":[{"href":"https:\/\/syndicoach.be\/fr\/wp-json\/wp\/v2\/media?parent=16493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}