{"id":353,"date":"2025-12-11T15:31:24","date_gmt":"2025-12-11T14:31:24","guid":{"rendered":"https:\/\/optimist-international-academy.nl\/?page_id=353"},"modified":"2026-02-27T14:20:24","modified_gmt":"2026-02-27T13:20:24","slug":"contact","status":"publish","type":"page","link":"https:\/\/optimist-international-academy.nl\/nl\/contact\/","title":{"rendered":"Neem contact op met"},"content":{"rendered":"\n\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left\">If you need to reach a specific contact person:<\/h3>\n\n\n\n<p><strong>Head of Primary<\/strong> \u2013 Anne-Marie van Holst<br><strong>Email:<\/strong> <a href=\"mailto:&#97;nnem&#97;&#114;&#105;e.&#118;&#97;&#110;&#104;ol&#115;t&#64;f&#108;&#111;re&#101;r.n&#108;\">&#97;&#110;&#110;&#101;m&#97;&#114;ie&#46;van&#104;&#111;l&#115;&#116;&#64;&#102;&#108;&#111;r&#101;er&#46;n&#108;<\/a><\/p>\n\n\n\n<p><strong>Head of Secondary<\/strong> \u2013 Brenda Stam<br><strong>Email:&nbsp; <\/strong><a href=\"mailto:b&#46;sta&#109;&#64;&#104;&#97;&#97;rlem&#109;&#101;&#114;&#109;eer&#108;&#121;&#99;&#101;&#117;m.n&#108;\">&#98;.&#115;&#116;a&#109;&#64;&#104;aa&#114;le&#109;&#109;e&#114;m&#101;&#101;&#114;lyc&#101;&#117;&#109;&#46;nl<\/a><\/p>\n\n\n\n<p><strong>Admissions enquiries:<\/strong> Cheryl Embleton &amp; Esther Sartori<br><strong>Email (Admissions):<\/strong> via <a href=\"https:\/\/optimist-international-school.openapply.com\/\" target=\"_blank\" rel=\"noopener\">OpenApply<\/a> or <a href=\"mailto:&#99;&#104;&#101;r&#121;&#108;.&#101;m&#98;l&#101;&#116;&#111;&#110;&#64;&#102;loreer&#46;nl\">c&#104;ery&#108;&#46;e&#109;bl&#101;&#116;o&#110;&#64;fl&#111;ree&#114;.&#110;&#108;<\/a> \/ <a href=\"mailto:&#101;&#46;s&#97;r&#116;&#111;&#114;i&#64;h&#97;&#97;rlemmerm&#101;e&#114;&#108;&#121;c&#101;&#117;m.&#110;&#108;\">&#101;&#46;sa&#114;&#116;&#111;r&#105;&#64;haa&#114;l&#101;m&#109;&#101;r&#109;&#101;&#101;rly&#99;e&#117;&#109;&#46;nl<\/a><\/p>\n\n\n<section class=\"block-contact wp-block alignfull\" id=\"block-contact-block_42c5cb29c80042ae7d0aaba97a9d94be\">\n    <div class=\"row align-center\">\n        <div class=\"column large-4 small-12\">\n            <div>\n                                    <h3>One academy, two locations<\/h3>\n                                                                            <div class=\"contact p-m border-black round-medium my-s\">\n                                                            <div class=\"location primary\">Primary school<\/div>\n                                                                                        <h4 class=\"h5\">OIA Primary<\/h4>\n                                                        <ul class=\"info mb-0\">\n                                                                    <li>\n                                        Dussenstraat 34 ,                                                                                    2134 DL                                                                                                                            Hoofddorp                                                                            <\/li>\n                                                                                                    <li>(023) 56 31 644<\/li>\n                                                                                                    <li><a href=\"mailto:&#105;&#110;&#102;&#111;&#64;&#111;ptimi&#115;t&#45;in&#116;e&#114;n&#97;tio&#110;a&#108;&#45;s&#99;&#104;&#111;o&#108;&#46;n&#108;\">in&#102;o&#64;&#111;&#112;&#116;&#105;&#109;&#105;&#115;t&#45;&#105;&#110;te&#114;n&#97;&#116;&#105;on&#97;&#108;-sch&#111;ol&#46;nl<\/a><\/li>\n                                                            <\/ul>\n                        <\/div>\n                                            <div class=\"contact p-m border-black round-medium my-s\">\n                                                            <div class=\"location secondary\">Secondary school<\/div>\n                                                                                        <h4 class=\"h5\">OIA Secondary<\/h4>\n                                                        <ul class=\"info mb-0\">\n                                                                    <li>\n                                        Baron de Coubertinlaan 2,                                                                                    2134 CG                                                                                                                            Hoofddorp                                                                            <\/li>\n                                                                                                    <li>(023) 56 31 644<\/li>\n                                                                                                    <li><a href=\"mailto:i&#110;fot&#119;&#101;e&#116;a&#108;&#105;g&#64;h&#97;&#97;&#114;&#108;&#101;mm&#101;&#114;&#109;ee&#114;&#108;&#121;&#99;eum&#46;n&#108;\">&#105;nfo&#116;&#119;&#101;&#101;&#116;&#97;l&#105;g&#64;&#104;aa&#114;&#108;&#101;m&#109;&#101;&#114;&#109;&#101;e&#114;&#108;y&#99;&#101;&#117;m.nl<\/a><\/li>\n                                                            <\/ul>\n                        <\/div>\n                                                <\/div>\n        <\/div>\n        <div class=\"column large-6 small-12\">\n            <div class=\"p-l lg:p-xl bg-red round-medium\">\n                                    <h3 class=\"block-title\">Send us a message<\/h3>\n                                                    <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n\/* ]]> *\/\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_1' ><div id='gf_1' class='gform_anchor' tabindex='-1'><\/div><form method='post' enctype='multipart\/form-data'  id='gform_1'  action='\/nl\/wp-json\/wp\/v2\/pages\/353#gf_1' data-formid='1' novalidate>\n                        <div class='gform-body gform_body'><div id='gform_fields_1' class='gform_fields top_label form_sublabel_above description_above validation_below'><div id=\"field_1_6\" class=\"gfield gfield--type-honeypot gform_validation_container field_sublabel_above gfield--has-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_1_6'>Company<\/label><div class='gfield_description' id='gfield_description_1_6'>Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.<\/div><div class='ginput_container'><input name='input_6' id='input_1_6' type='text' value='' autocomplete='new-password'\/><\/div><\/div><fieldset id=\"field_1_1\" class=\"gfield gfield--type-name gfield--input-type-name gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Name<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Vereist)<\/span><\/span><\/legend><div class='ginput_complex ginput_container ginput_container--name no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gform-grid-row' id='input_1_1'>\n                            \n                            <span id='input_1_1_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' >\n                                                    <label for='input_1_1_3' class='gform-field-label gform-field-label--type-sub '>Voornaam<\/label>\n                                                    <input type='text' name='input_1.3' id='input_1_1_3' value=''   aria-required='true'    autocomplete=\"given-name\" \/>\n                                                <\/span>\n                            \n                            <span id='input_1_1_6_container' class='name_last gform-grid-col gform-grid-col--size-auto' >\n                                                            <label for='input_1_1_6' class='gform-field-label gform-field-label--type-sub '>Achternaam<\/label>\n                                                            <input type='text' name='input_1.6' id='input_1_1_6' value=''   aria-required='true'    autocomplete=\"family-name\" \/>\n                                                        <\/span>\n                            \n                        <\/div><\/fieldset><div id=\"field_1_2\" class=\"gfield gfield--type-email gfield--input-type-email gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_1_2'>E-mailadress<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Vereist)<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_2' id='input_1_2' type='email' value='' class='large'    aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_1_3\" class=\"gfield gfield--type-textarea gfield--input-type-textarea gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_1_3'>Message<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Vereist)<\/span><\/span><\/label><div class='ginput_container ginput_container_textarea'><textarea name='input_3' id='input_1_3' class='textarea medium'   maxlength='600'  aria-required=\"true\" aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/div><fieldset id=\"field_1_4\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield--width-full gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Consent<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Vereist)<\/span><\/span><\/legend><div class='ginput_container ginput_container_consent'><input name='input_4.1' id='input_1_4_1' type='checkbox' value='1'   aria-required=\"true\" aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_1_4_1' >I agree to the privacy policy of Optimist International Academy.<\/label><input type='hidden' name='input_4.2' value='I agree to the privacy policy of Optimist International Academy.' class='gform_hidden' \/><input type='hidden' name='input_4.3' value='1' class='gform_hidden' \/><\/div><\/fieldset><div id=\"field_1_5\" class=\"gfield gfield--type-turnstile gfield--input-type-turnstile gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><div class='ginput_container ginput_container_turnstile'><div class=\"cf-turnstile\" id=\"cf-turnstile_1\" data-js-turnstile data-response-field-name=\"cf-turnstile-response_1\" data-theme=\"light\" data-size=\"\" data-sitekey=\"0x4AAAAAACI4sgQSbMUnPg49\"><\/div><\/div><\/div><\/div><\/div>\n        <div class='gform-footer gform_footer top_label'> <input type='submit' id='gform_submit_button_1' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' value='Submit'  \/> <input type='hidden' class='gform_hidden' name='gform_submission_speeds' value='{&quot;pages&quot;:[]}' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_1' value='postback' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_1' id='gform_theme_1' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_1' id='gform_style_settings_1' value='' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_1' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='1' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='EUR' value='sM9L7+yGXy1SGx9XY39yxMAuScbK3CElSiWBT4GUFx8KdQObFkdssJyeP7p9eADEOEQMAHfEvAHv7U2rVd20a6YJJL4Nisnrgu1oxPzA+nWmvIw=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_1' value='WyJ7XCI0LjFcIjpcIjA0ZmU5Y2E4ZDkzMDljODEzYmQyZmMzNjU3ZjZkYmZmXCIsXCI0LjJcIjpcIjkyZWViZmI4MzZjZjRlMThiYjM3NDY3OTVhNDM1OGZjXCIsXCI0LjNcIjpcIjA0ZmU5Y2E4ZDkzMDljODEzYmQyZmMzNjU3ZjZkYmZmXCJ9IiwiZjE1Yjg1ZjlmMzk5ZDc3MmNjMWNkYTg1Y2MzYTUwOWMiXQ==' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_1' id='gform_target_page_number_1' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_1' id='gform_source_page_number_1' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <\/form>\n                        <\/div><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n gform.initializeOnLoaded( function() {gformInitSpinner( 1, 'https:\/\/optimist-international-academy.nl\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery('#gform_ajax_frame_1').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/ jQuery(document).scrollTop(20); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_1').val();gformInitSpinner( 1, 'https:\/\/optimist-international-academy.nl\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_1').replaceWith(confirmation_content);jQuery(document).scrollTop(20);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"1\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_1\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_1\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_1\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 1, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} ); \n\/* ]]> *\/\n<\/script>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"block-openstreetmap-block_1e20bab5ebbda29cd386c2ac86fd3177\" class=\"block-openstreetmap streetmap wp-block alignfull\">\n    <div class=\"row align-center\">\n        <div class=\"column large-10\">\n            <div id=\"map\"><\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n<!-- Leaflet -->\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet\/dist\/leaflet.css\" \/>\n<script src=\"https:\/\/unpkg.com\/leaflet\/dist\/leaflet.js\"><\/script>\n\n<!-- Maplibre GL -->\n<link href=\"https:\/\/unpkg.com\/maplibre-gl\/dist\/maplibre-gl.css\" rel=\"stylesheet\" \/>\n<script src=\"https:\/\/unpkg.com\/maplibre-gl\/dist\/maplibre-gl.js\"><\/script>\n\n<!-- Maplibre GL Leaflet  -->\n<script src=\"https:\/\/unpkg.com\/@maplibre\/maplibre-gl-leaflet\/leaflet-maplibre-gl.js\"><\/script>\n\n<style scoped>\n    #map {\n        position: relative;\n        z-index: 1;\n        width: 100%;\n        height: 600px;\n\n        @media (max-width: 599px) {\n            height: 300px;\n        }\n    }\n\n    .marker-cluster-small {\n        background-color: rgba(56, 52, 148, .6);\n        font-weight: bold;\n        color: white;\n    }\n\n    .marker-cluster-small div {\n        background-color: rgba(56, 52, 148, .6);\n        font-weight: bold;\n        color: white;\n    }\n\n    .marker-cluster-medium {\n        background-color: rgba(56, 52, 148, .6);\n        font-weight: bold;\n        color: white;\n    }\n\n    .marker-cluster-medium div {\n        background-color: rgba(56, 52, 148, .6);\n        font-weight: bold;\n        color: white;\n    }\n\n    .marker-cluster-large {\n        background-color: rgba(56, 52, 148, .6);\n        font-weight: bold;\n        color: white;\n    }\n\n    .marker-cluster-large div {\n        background-color: rgba(56, 52, 148, .6);\n        font-weight: bold;\n        color: white;\n    }\n\n    .leaflet-oldie .marker-cluster-small {\n        background-color: #383494\n    }\n\n    .leaflet-oldie .marker-cluster-small div {\n        background-color: #383494\n    }\n\n    .leaflet-oldie .marker-cluster-medium {\n        background-color: #383494\n    }\n\n    .leaflet-oldie .marker-cluster-medium div {\n        background-color: #383494\n    }\n\n    .leaflet-oldie .marker-cluster-large {\n        background-color: #383494\n    }\n\n    .leaflet-oldie .marker-cluster-large div {\n        background-color: #383494\n    }\n\n    .marker-cluster {\n        background-clip: padding-box;\n        border-radius: 20px\n    }\n\n    .marker-cluster div {\n        width: 30px;\n        height: 30px;\n        margin-left: 5px;\n        margin-top: 5px;\n        text-align: center;\n        border-radius: 15px;\n        font: 12px \"Helvetica Neue\", Arial, Helvetica, sans-serif\n    }\n\n    .marker-cluster span {\n        line-height: 30px\n    }\n\n    .map-popup {\n        text-align: center;\n        width: 100%;\n        margin: 0;\n        max-height: 350px;\n        height: auto;\n    }\n\n    .map-popup .map-title {\n        font-size: 1.25rem;\n        margin-top: 0;\n        margin-bottom: 0.5rem;\n    }\n\n    .map-popup p {\n        margin: 0.5rem 0;\n        font-size: 0.9rem;\n    }\n\n    .map-popup img {\n        width: 100%;\n        display: block;\n        margin: 0.5rem 0;\n        border-radius: 4px;\n    }\n\n    .map-popup a {\n        text-decoration: none;\n        color: black;\n        display: inline-block;\n        padding: 0.5rem 1rem;\n        background-color: #383494;\n        color: white;\n        font-weight: bold;\n        border-radius: 4px;\n        margin-top: 0.5rem;\n    }\n\n    .map-popup a:hover {\n        background-color: #e0e0e0;\n    }\n<\/style>\n\n<script>\n    \/\/ --- ICONEN DEFINI\u00cbREN ---\n\n    \/\/ Iconen en groottes aanpassen:\n    var primaryIcon = L.icon({\n        iconUrl: '\/wp-content\/themes\/raadhuis\/dist\/assets\/img\/icon-multilingual.svg', \/\/ Eerste school\n\n        iconSize: [42, 98], \/\/ Grootte van het plaatje\n        shadowSize: [50, 64],\n        iconAnchor: [22, 94], \/\/ Welk punt van het plaatje staat op de co\u00f6rdinaat (puntje onderaan)\n        shadowAnchor: [4, 62],\n        popupAnchor: [-3, -76] \/\/ Waar opent de popup ten opzichte van het icoon\n    });\n\n    var secondaryIcon = L.icon({\n        iconUrl: '\/wp-content\/themes\/raadhuis\/dist\/assets\/img\/icon-learning-path.svg', \/\/ Tweede school\n        iconSize: [42, 98],\n        iconAnchor: [22, 94],\n        popupAnchor: [-3, -76]\n    });\n\n    \/\/ --- DE DATA VANUIT PHP ---\n    const markersData = [{\"title\":\"Secondary school\",\"icon\":\"https:\/\/optimist-international-academy.nl\/wp-content\/uploads\/2025\/12\/icon-multilingual.svg\",\"link\":{\"title\":\"Contact\",\"url\":\"https:\/\/optimist-international-academy.nl\/contact\/\"},\"image\":{\"url\":\"https:\/\/optimist-international-academy.nl\/wp-content\/uploads\/2025\/12\/4a1f156c5bf4a28075b8c4cdacd6082dfa082928-min-scaled.jpg\",\"alt\":\"\"},\"center_lat\":52.3063795,\"center_lng\":4.6448135,\"locations\":[{\"label\":\"Baron De Coubertinlaan 2, 2134 CG Hoofddorp, Noord-Holland Nederland\",\"default_label\":\"Baron De Coubertinlaan 2, 2134 CG Hoofddorp, Noord-Holland Nederland\",\"lat\":52.3063458,\"lng\":4.6447796,\"geocode\":[{\"name\":\"2, Baron De Coubertinlaan, Floriande, Hoofddorp, Haarlemmermeer, Noord-Holland, Nederland, 2134 CG, Nederland\",\"html\":\"Baron De Coubertinlaan 2, 2134 CG Hoofddorp, Noord-Holland Nederland\",\"bbox\":{\"_southWest\":{\"lat\":52.3062958,\"lng\":4.6447296},\"_northEast\":{\"lat\":52.3063958,\"lng\":4.6448296}},\"center\":{\"lat\":52.3063458,\"lng\":4.6447796},\"properties\":{\"place_id\":144725429,\"licence\":\"Data u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/osm.org\/copyright\",\"osm_type\":\"node\",\"osm_id\":2729732538,\"lat\":\"52.3063458\",\"lon\":\"4.6447796\",\"class\":\"place\",\"type\":\"house\",\"place_rank\":30,\"importance\":5.878461890588262e-5,\"addresstype\":\"place\",\"name\":\"\",\"display_name\":\"2, Baron De Coubertinlaan, Floriande, Hoofddorp, Haarlemmermeer, Noord-Holland, Nederland, 2134 CG, Nederland\",\"address\":{\"house_number\":\"2\",\"road\":\"Baron De Coubertinlaan\",\"quarter\":\"Floriande\",\"town\":\"Hoofddorp\",\"municipality\":\"Haarlemmermeer\",\"state\":\"Noord-Holland\",\"ISO3166-2-lvl4\":\"NL-NH\",\"country\":\"Nederland\",\"postcode\":\"2134 CG\",\"country_code\":\"nl\",\"building\":\"\",\"city\":\"\",\"village\":\"\",\"hamlet\":\"\"},\"boundingbox\":[52.3062958,52.3063958,4.6447296,4.6448296]}}],\"uuid\":\"marker_69a16b2b8bc36\"}]},{\"title\":\"Primary school\",\"icon\":\"https:\/\/optimist-international-academy.nl\/wp-content\/uploads\/2025\/12\/icon-learning-path.svg\",\"link\":{\"title\":\"Contact\",\"url\":\"https:\/\/optimist-international-academy.nl\/contact\/\"},\"image\":{\"url\":\"https:\/\/optimist-international-academy.nl\/wp-content\/uploads\/2025\/12\/c1d74f2a6055995a6a189066bc9c96de04c8f43a-min-scaled.jpg\",\"alt\":\"\"},\"center_lat\":52.3061695,\"center_lng\":4.6403503,\"locations\":[{\"label\":\"Dussenstraat 34, 2134 DL Hoofddorp, Noord-Holland Nederland\",\"default_label\":\"Dussenstraat 34, 2134 DL Hoofddorp, Noord-Holland Nederland\",\"lat\":52.3061184,\"lng\":4.640401,\"geocode\":[{\"name\":\"34, Dussenstraat, Floriande, Hoofddorp, Haarlemmermeer, Noord-Holland, Nederland, 2134 DL, Nederland\",\"html\":\"Dussenstraat 34, 2134 DL Hoofddorp, Noord-Holland Nederland\",\"bbox\":{\"_southWest\":{\"lat\":52.3060684,\"lng\":4.640351},\"_northEast\":{\"lat\":52.3061684,\"lng\":4.640451}},\"center\":{\"lat\":52.3061184,\"lng\":4.640401},\"properties\":{\"place_id\":144766660,\"licence\":\"Data u00a9 OpenStreetMap contributors, ODbL 1.0. http:\/\/osm.org\/copyright\",\"osm_type\":\"node\",\"osm_id\":2729738329,\"lat\":\"52.3061184\",\"lon\":\"4.6404010\",\"class\":\"place\",\"type\":\"house\",\"place_rank\":30,\"importance\":5.878461890588262e-5,\"addresstype\":\"place\",\"name\":\"\",\"display_name\":\"34, Dussenstraat, Floriande, Hoofddorp, Haarlemmermeer, Noord-Holland, Nederland, 2134 DL, Nederland\",\"address\":{\"house_number\":\"34\",\"road\":\"Dussenstraat\",\"quarter\":\"Floriande\",\"town\":\"Hoofddorp\",\"municipality\":\"Haarlemmermeer\",\"state\":\"Noord-Holland\",\"ISO3166-2-lvl4\":\"NL-NH\",\"country\":\"Nederland\",\"postcode\":\"2134 DL\",\"country_code\":\"nl\",\"building\":\"\",\"city\":\"\",\"village\":\"\",\"hamlet\":\"\"},\"boundingbox\":[52.3060684,52.3061684,4.640351,4.640451]}}],\"uuid\":\"marker_69a16b328bc37\"}]}];\n    const enableClustering = false;\n\n    \/\/ Gegenereerde adressenlijst\n    const addresses = [];\n    const centerMap = [52.306227, 4.642475]; \/\/ Hoofddorp\n    let mapCenterLat = centerMap[0];\n    let mapCenterLng = centerMap[1];\n\n    \/\/ Verwerk de markers data\n    markersData.forEach((marker, index) => {\n        const locations = marker.locations || [];\n\n        \/\/ Als er locations zijn, gebruik de eerste locatie of het centrum\n        if (locations.length > 0) {\n            const location = locations[0];\n            const lat = location.lat || marker.center_lat;\n            const lng = location.lng || marker.center_lng;\n            const label = location.label || location.default_label || marker.title;\n\n            \/\/ Maak een HTML popup\n            let popupHTML = '<div class=\"map-popup\">';\n\n            if (marker.image && marker.image.url) {\n                popupHTML += `<img decoding=\"async\" src=\"${marker.image.url}\" alt=\"${marker.title}\">`;\n            }\n\n            popupHTML += `<h3 class=\"map-title\">${marker.title}<\/h3>`;\n            popupHTML += `<p>${label}<\/p>`;\n\n            if (marker.link && marker.link.url) {\n                popupHTML += `<a href=\"${marker.link.url}\">${marker.link.title || 'Meer informatie'}<\/a>`;\n            }\n\n            popupHTML += '<\/div>';\n\n            addresses.push([lat, lng, popupHTML, index]);\n\n            \/\/ Gebruik het eerste marker als center als dit het eerste item is\n            if (index === 0) {\n                mapCenterLat = marker.center_lat || lat;\n                mapCenterLng = marker.center_lng || lng;\n            }\n        }\n    });\n\n    \/\/ --- MARKERS MAKEN ---\n    var markers;\n    if (enableClustering === true) {\n        markers = new L.MarkerClusterGroup();\n    } else {\n        markers = new L.FeatureGroup();\n    }\n\n    for (var i = 0; i < addresses.length; i++) {\n        var a = addresses[i];\n        var title = a[2];\n        var markerIndex = a[3];\n\n        \/\/ Gebruik icoon van de marker data als beschikbaar\n        var chosenIcon = secondaryIcon; \/\/ Default icon\n\n        if (markersData[markerIndex]) {\n            var markerData = markersData[markerIndex];\n            if (markerData.icon) {\n                \/\/ Optioneel: Maak dynamische iconen op basis van de icon URL\n                chosenIcon = L.icon({\n                    iconUrl: markerData.icon,\n                    iconSize: [42, 98],\n                    iconAnchor: [22, 94],\n                    popupAnchor: [-3, -76]\n                });\n            } else if (markerIndex === 0) {\n                chosenIcon = secondaryIcon;\n            } else {\n                chosenIcon = primaryIcon;\n            }\n        }\n\n        var marker = L.marker(new L.LatLng(a[0], a[1]), {\n            title: title,\n            icon: chosenIcon \/\/ <--- Gebruik de variabele\n        });\n\n        marker.bindPopup(title, {\n            maxWidth: 300,\n            autoPan: false,\n            closeButton: true\n        });\n\n        \/\/ Zorg dat de popup goed in beeld komt\n        \/\/ marker.on('popupopen', function() {\n        \/\/     map.panTo(marker.getLatLng());\n        \/\/ });\n\n        markers.addLayer(marker);\n    }\n\n    var theme = L.maplibreGL({\n        style: 'https:\/\/tiles.openfreemap.org\/styles\/positron',\n    });\n\n    \/\/ --- INITIALISEREN ---\n    const map = L.map('map', {\n        center: [mapCenterLat, mapCenterLng],\n        zoom: 16,\n        minZoom: 8,\n        maxZoom: 20,\n        scrollWheelZoom: false,\n        layers: [theme, markers]\n    });\n\n    \/\/ --- DYNAMISCHE ICON GROOTTE NAAR ZOOMLEVEL ---\n    function getIconSizeForZoom(zoom) {\n        if (zoom <= 12) {\n            return {\n                size: [20, 50],\n                anchor: [10, 50],\n                popup: [-3, -50]\n            };\n        } else if (zoom <= 15) {\n            return {\n                size: [30, 70],\n                anchor: [15, 70],\n                popup: [-3, -70]\n            };\n        } else {\n            return {\n                size: [42, 98],\n                anchor: [22, 94],\n                popup: [-3, -76]\n            };\n        }\n    }\n\n    function updateMarkerIcons(currentZoom) {\n        const iconDimensions = getIconSizeForZoom(currentZoom);\n\n        markers.eachLayer(function(marker) {\n            if (marker instanceof L.Marker) {\n                const markerIndex = addresses.findIndex(addr =>\n                    addr[0] === marker.getLatLng().lat &&\n                    addr[1] === marker.getLatLng().lng\n                );\n\n                if (markerIndex !== -1) {\n                    const index = addresses[markerIndex][3];\n                    let newIcon = secondaryIcon;\n\n                    if (markersData[index]) {\n                        const markerData = markersData[index];\n                        if (markerData.icon) {\n                            newIcon = L.icon({\n                                iconUrl: markerData.icon,\n                                iconSize: iconDimensions.size,\n                                iconAnchor: iconDimensions.anchor,\n                                popupAnchor: iconDimensions.popup\n                            });\n                        } else if (index === 0) {\n                            newIcon = L.icon({\n                                iconUrl: '\/wp-content\/themes\/raadhuis\/dist\/assets\/img\/icon-learning-path.svg',\n                                iconSize: iconDimensions.size,\n                                iconAnchor: iconDimensions.anchor,\n                                popupAnchor: iconDimensions.popup\n                            });\n                        } else {\n                            newIcon = L.icon({\n                                iconUrl: '\/wp-content\/themes\/raadhuis\/dist\/assets\/img\/icon-multilingual.svg',\n                                iconSize: iconDimensions.size,\n                                iconAnchor: iconDimensions.anchor,\n                                popupAnchor: iconDimensions.popup\n                            });\n                        }\n                    }\n\n                    marker.setIcon(newIcon);\n                }\n            }\n        });\n    }\n\n    map.on('popupopen', function(e) {\n        var latLng = e.popup.getLatLng();\n        var popupHeight = 370; \/\/ pixels\n        var offset = popupHeight \/ 2 + 50; \/\/ popup height + extra padding\n\n        \/\/ Converteer lat\/lng naar pixel-co\u00f6rdinaten\n        var point = map.latLngToContainerPoint(latLng);\n        \/\/ Verplaats omhoog om ruimte voor popup te maken\n        point.y -= offset;\n        \/\/ Converteer terug naar lat\/lng en pan daarheen\n        var newLatLng = map.containerPointToLatLng(point);\n        map.panTo(newLatLng);\n    });\n\n    \/\/ Update markers wanneer het zoomlevel verandert\n    map.on('zoom', function() {\n        map.closePopup(); \/\/ Sluit popup bij zoom\n        updateMarkerIcons(map.getZoom());\n    });\n\n    \/\/ Initial update\n    updateMarkerIcons(map.getZoom());\n<\/script>","protected":false},"excerpt":{"rendered":"<p>If you need to reach a specific contact person: Head of Primary \u2013 Anne-Marie van HolstEmail: a&#110;&#110;&#101;&#109;&#97;ri&#101;&#46;v&#97;&#110;h&#111;ls&#116;&#64;&#102;lor&#101;&#101;r.&#110;&#108; Head of Secondary \u2013 Brenda StamEmail:&nbsp; b&#46;&#115;&#116;&#97;&#109;&#64;ha&#97;r&#108;&#101;mmerme&#101;rl&#121;&#99;&#101;&#117;&#109;.nl Admissions enquiries: Cheryl Embleton &amp; Esther SartoriEmail (Admissions): via OpenApply or c&#104;e&#114;y&#108;&#46;em&#98;&#108;&#101;t&#111;n&#64;flo&#114;&#101;&#101;r&#46;n&#108; \/ &#101;&#46;s&#97;&#114;t&#111;&#114;&#105;&#64;haa&#114;l&#101;&#109;me&#114;&#109;e&#101;&#114;lyc&#101;&#117;m&#46;n&#108;<\/p>","protected":false},"author":1,"featured_media":704,"parent":0,"menu_order":9,"comment_status":"closed","ping_status":"closed","template":"page-templates\/red-header.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-353","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/pages\/353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/comments?post=353"}],"version-history":[{"count":30,"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/pages\/353\/revisions"}],"predecessor-version":[{"id":784,"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/pages\/353\/revisions\/784"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/media\/704"}],"wp:attachment":[{"href":"https:\/\/optimist-international-academy.nl\/nl\/wp-json\/wp\/v2\/media?parent=353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}