{"id":11538,"date":"2025-09-04T06:44:42","date_gmt":"2025-09-04T06:44:42","guid":{"rendered":"https:\/\/afriforumjeug.co.za\/?page_id=11538"},"modified":"2025-10-16T19:20:48","modified_gmt":"2025-10-16T17:20:48","slug":"campuses-and-branches","status":"publish","type":"page","link":"https:\/\/afriforumjeug.co.za\/en\/get-involved\/campuses-and-branches\/","title":{"rendered":"Campuses and branches"},"content":{"rendered":"<style>.kb-row-layout-id11538_8e1d12-63 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id11538_8e1d12-63 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id11538_8e1d12-63 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);padding-top:75px;padding-bottom:75px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id11538_8e1d12-63{background-color:#00aaac;}.kb-row-layout-id11538_8e1d12-63 > .kt-row-layout-overlay{opacity:0.18;background-image:url('https:\/\/afriforumjeug.co.za\/wp-content\/uploads\/2025\/08\/Jeug-website-patern-06-1.png');background-size:cover;background-position:center center;background-attachment:scroll;background-repeat:no-repeat;}@media all and (max-width: 1024px){.kb-row-layout-id11538_8e1d12-63 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id11538_8e1d12-63 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id11538_8e1d12-63 alignnone kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-layout-overlay kt-row-overlay-normal\"><\/div><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kb-theme-content-width\">\n<style>.kadence-column11538_cf5849-3c > .kt-inside-inner-col,.kadence-column11538_cf5849-3c > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column11538_cf5849-3c > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column11538_cf5849-3c > .kt-inside-inner-col{flex-direction:column;}.kadence-column11538_cf5849-3c > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column11538_cf5849-3c > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column11538_cf5849-3c{position:relative;}@media all and (max-width: 1024px){.kadence-column11538_cf5849-3c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column11538_cf5849-3c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column11538_cf5849-3c\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading11538_243cd5-13, .wp-block-kadence-advancedheading.kt-adv-heading11538_243cd5-13[data-kb-block=\"kb-adv-heading11538_243cd5-13\"]{padding-bottom:0px;margin-bottom:20px;font-size:var(--global-kb-font-size-lg, 2rem);line-height:1;font-weight:400;font-style:normal;font-family:Montserrat;text-transform:uppercase;}.wp-block-kadence-advancedheading.kt-adv-heading11538_243cd5-13 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading11538_243cd5-13[data-kb-block=\"kb-adv-heading11538_243cd5-13\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading11538_243cd5-13 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading11538_243cd5-13[data-kb-block=\"kb-adv-heading11538_243cd5-13\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading11538_243cd5-13 wp-block-kadence-advancedheading has-theme-palette-9-color has-text-color\" data-kb-block=\"kb-adv-heading11538_243cd5-13\">Get involved<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading11538_68b909-99, .wp-block-kadence-advancedheading.kt-adv-heading11538_68b909-99[data-kb-block=\"kb-adv-heading11538_68b909-99\"]{padding-top:0px;margin-top:0px;font-size:var(--global-kb-font-size-xxxl, 5rem);line-height:1;font-weight:900;font-style:normal;font-family:Montserrat;text-transform:uppercase;}.wp-block-kadence-advancedheading.kt-adv-heading11538_68b909-99 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading11538_68b909-99[data-kb-block=\"kb-adv-heading11538_68b909-99\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading11538_68b909-99 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading11538_68b909-99[data-kb-block=\"kb-adv-heading11538_68b909-99\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading11538_68b909-99 wp-block-kadence-advancedheading has-theme-palette-9-color has-text-color\" data-kb-block=\"kb-adv-heading11538_68b909-99\">Campuses and branches<\/h2>\n\n\n<style>.wp-block-kadence-advancedbtn.kb-btns11538_c08de1-6b{gap:var(--global-kb-gap-xs, 0.5rem );justify-content:flex-start;align-items:center;}.kt-btns11538_c08de1-6b .kt-button{font-weight:normal;font-style:normal;}.kt-btns11538_c08de1-6b .kt-btn-wrap-0{margin-right:5px;}.wp-block-kadence-advancedbtn.kt-btns11538_c08de1-6b .kt-btn-wrap-0 .kt-button{color:#555555;border-color:#555555;}.wp-block-kadence-advancedbtn.kt-btns11538_c08de1-6b .kt-btn-wrap-0 .kt-button:hover, .wp-block-kadence-advancedbtn.kt-btns11538_c08de1-6b .kt-btn-wrap-0 .kt-button:focus{color:#ffffff;border-color:#444444;}.wp-block-kadence-advancedbtn.kt-btns11538_c08de1-6b .kt-btn-wrap-0 .kt-button::before{display:none;}.wp-block-kadence-advancedbtn.kt-btns11538_c08de1-6b .kt-btn-wrap-0 .kt-button:hover, .wp-block-kadence-advancedbtn.kt-btns11538_c08de1-6b .kt-btn-wrap-0 .kt-button:focus{background:#444444;}<\/style>\n<div class=\"wp-block-kadence-advancedbtn kb-buttons-wrap kb-btns11538_c08de1-6b\"><style>.wp-block-kadence-advancedbtn .kb-btn11538_57baa0-97.kb-button, ul.menu .wp-block-kadence-advancedbtn .kb-btn11538_57baa0-97.kb-button{width:250px;}.wp-block-kadence-advancedbtn .kb-btn11538_57baa0-97.kb-button{color:#00aaac;background:var(--global-palette9, #ffffff);font-family:Montserrat;font-weight:500;text-transform:none;border-top-left-radius:50px;border-top-right-radius:50px;border-bottom-right-radius:50px;border-bottom-left-radius:50px;box-shadow:inset 1px 1px 2px 0px rgba(0, 0, 0, 0.2);}<\/style><a class=\"kb-button kt-button button kb-btn11538_57baa0-97 kt-btn-size-large kt-btn-width-type-fixed kb-btn-global-fill  kt-btn-has-text-true kt-btn-has-svg-false  wp-block-kadence-singlebtn\" href=\"https:\/\/sluit-aan.afriforumjeug.co.za\/en\"><span class=\"kt-btn-inner-text\"><strong>Join now<\/strong><\/span><\/a><\/div>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<div class=\"line\">\r\n<div><\/div>\r\n<div><\/div>\r\n<div><\/div>\r\n<div><\/div>\r\n<div><\/div>\r\n<div><\/div>\r\n<div><\/div>\r\n<div><\/div>\r\n<\/div>\n\n\n<style>.kb-row-layout-id11538_2ddeeb-44 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id11538_2ddeeb-44 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id11538_2ddeeb-44 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);padding-top:75px;padding-bottom:0px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id11538_2ddeeb-44 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id11538_2ddeeb-44 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id11538_2ddeeb-44 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id11538_2ddeeb-44 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kb-theme-content-width\">\n<style>.kadence-column11538_110183-25 > .kt-inside-inner-col,.kadence-column11538_110183-25 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column11538_110183-25 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column11538_110183-25 > .kt-inside-inner-col{flex-direction:column;}.kadence-column11538_110183-25 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column11538_110183-25 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column11538_110183-25{position:relative;}@media all and (max-width: 1024px){.kadence-column11538_110183-25 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column11538_110183-25 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column11538_110183-25\"><div class=\"kt-inside-inner-col\">\n<p>AfriForum Youth is active all across South Africa: from campuses to towns and our network is continuously expanding. The map below shows you where we already have established branches: each pin represents an active campus or town branch that is busy making a difference in their communities. These branches partake in local projects, campaigns and actions that concern young people. \u00a0<\/p>\n\n\n\n<p>It is as easy as pie to get involved with one of the existing branches. However, if there is no branch in your area, you can help establish a new one. We provide the support; you bring the passion. &nbsp;<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/afriforumjeug.co.za\/en\/get-involved\/\">Join a branch near you today, or contact us to establish your own branch.<\/a><\/strong><\/p>\n\n\n\n<p><strong>Together we are building something much bigger.<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left has-large-font-size\"><strong><strong>Using our map<\/strong><\/strong><\/p>\n\n\n\n<p>Click on any province on the map to see the branches in that province. Each pin indicates existing campus or town branches. Click on the pin for more information on that specific branch. &nbsp;<br><br><\/p>\n\n\n\n<p><strong><br><\/strong><\/p>\n<\/div><\/div>\n\n<\/div><\/div>\n\n<style>.kb-row-layout-id11538_105def-c7 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id11538_105def-c7 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id11538_105def-c7 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);padding-top:75px;padding-bottom:75px;grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);}.kb-row-layout-id11538_105def-c7 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id11538_105def-c7 > .kt-row-column-wrap{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id11538_105def-c7 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id11538_105def-c7 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-2-columns kt-row-layout-left-golden kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kt-inner-column-height-full kb-theme-content-width\">\n<style>.kadence-column11538_e3afac-ee > .kt-inside-inner-col,.kadence-column11538_e3afac-ee > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column11538_e3afac-ee > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column11538_e3afac-ee > .kt-inside-inner-col{flex-direction:column;}.kadence-column11538_e3afac-ee > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column11538_e3afac-ee > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column11538_e3afac-ee{position:relative;}@media all and (max-width: 1024px){.kadence-column11538_e3afac-ee > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column11538_e3afac-ee > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column11538_e3afac-ee\"><div class=\"kt-inside-inner-col\">\n<select id=\"filter-tipe\">\n  <option value=\"alles\">All campuses and branches<\/option>\n  <option value=\"tak\">Branches<\/option>\n  <option value=\"kampus\">Campuses <\/option>\n<\/select>\n<select id=\"filter-provinsies\">\n<option value=\"alles\">Select a province<\/option>\n<option value=\"zalp\">Limpopo<\/option>\n<option value=\"zamp\">Mpumalanga<\/option>\n<option value=\"zagp\">Gauteng<\/option>\n<option value=\"zakzn\">KwaZulu-Natal<\/option>\n<option value=\"zafs\">Freestate<\/option>\n<option value=\"zanw\">Northwest<\/option>\n<option value=\"zanc\">Northern Cape<\/option>\n<option value=\"zaec\">Eastern Cape<\/option>\n<option value=\"zawc\">Western Cape<\/option>\n<\/select>\n<div id=\"map-container\"><svg id=\"map\" viewBox=\"0 0 800 800\" style=\"width: 100%; height: auto;\"><\/svg><\/div>\n\n<div id=\"loading\" style=\"position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); background:#fff; padding:20px; border-radius:8px; box-shadow:0 0 10px rgba(0,0,0,0.3); z-index:1000;\">\n    Loading map data&#8230;\n<\/div>\n<\/div><\/div>\n\n\n<style>.kadence-column11538_83a9cc-06 > .kt-inside-inner-col,.kadence-column11538_83a9cc-06 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column11538_83a9cc-06 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column11538_83a9cc-06 > .kt-inside-inner-col{flex-direction:column;}.kadence-column11538_83a9cc-06 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column11538_83a9cc-06 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column11538_83a9cc-06{position:relative;}@media all and (max-width: 1024px){.kadence-column11538_83a9cc-06 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column11538_83a9cc-06 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column11538_83a9cc-06\"><div class=\"kt-inside-inner-col\">\n<div id=\"results\">\n\n<\/div>\n<\/div><\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Get involved Campuses and branches AfriForum Youth is active all across South Africa: from campuses to towns and our network is continuously expanding. The map below shows you where we already have established branches: each pin represents an active campus or town branch that is busy making a difference in their communities. These branches partake&#8230;<\/p>\n","protected":false},"author":81,"featured_media":0,"parent":11508,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_kad_blocks_custom_css":"@media screen and (max-width: 800px){\n  \n  \n  #filter-tipe,\n   #filter-provinsies{\n    width: 100%!important;\n  }\n \n}\n\n#map .province{\n  cursor: pointer;\n}\n\n#map-container{\n  display: block;\n  overflow: clip;\n}\n#results{\n    text-align: center;\n    max-height: 800px;\n    overflow-y: auto;\n  }\n  \n  #results h1{\n    font-size: 35px;\n    font-weight: 800;\n    color: #F57E25;\n  }\n  \n  #results .block h2,\n  #results .block p{\n    font-size: 15px;\n    text-transform: none!important;\n  }\n  #results .block{\n    margin-bottom: 30px;\n  }\n  \n  \n  \n  .province.zalp{\n    fill: #206F28\n  }\n  \n   .province.zamp{\n    fill: #4CB748\n  }\n  \n   .province.zagp{\n    fill: #69BE5A\n  }\n  \n   .province.zakzn{\n    fill: #92C83E\n  }\n  \n   .province.zafs{\n    fill: #C0DC8F\n  }\n  \n   .province.zanw{\n    fill: #B2D235 \n  }\n  \n  .city-pin{\n    fill: #FFF;\n    stroke: 30px;\n    stroke-color: red\n  }\n  \n   .province.zanc{\n    fill: #59C5C7\n  }\n  \n   .province.zawc{\n    fill: #00AAAC\n  }\n  \n   .province.zaec{\n    fill: #F57E25\n  }\n  ","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"<script src=\"https:\/\/d3js.org\/d3.v7.min.js\"><\/script>\r\n\r\n<script>\r\n\/* ----------- Global applyFilters function ----------- *\/\r\nfunction applyFilters() {\r\n    const urlParams = new URLSearchParams(window.location.search);\r\n    let provinsieCode = urlParams.get(\"provinsie\") || \"alles\";\r\n    let tipe = urlParams.get(\"tipe\") || \"alles\";\r\n\r\n    const provinsieMap = {\r\n        zagp: \"Gauteng\",\r\n        zanw: \"Northwest\",\r\n        zalp: \"Limpopo\",\r\n        zamp: \"Mpumalanga\",\r\n        zakzn: \"KwaZulu-Natal\",\r\n        zafs: \"Freestate\",\r\n        zanc: \"Northern Cape\",\r\n        zawc: \"Western Cape\",\r\n        zaec: \"Eastern Cape\"\r\n    };\r\n\r\n    const provinceTitle = provinsieCode === \"alles\" ? \"All campuses and branches\" : provinsieMap[provinsieCode];\r\n    jQuery(\"#results\").empty().append(`<h1>${provinceTitle}<\/h1>`);\r\n\r\n    jQuery(\".city-pin\").hide().each(function () {\r\n        const pinType = jQuery(this).hasClass(\"tak\") ? \"tak\" : \"kampus\";\r\n        if ((provinsieCode === \"alles\" || jQuery(this).hasClass(provinsieCode)) &&\r\n            (tipe === \"alles\" || tipe === pinType)) {\r\n            jQuery(this).show();\r\n\r\n            \/\/ Access SVG <title> and <desc> correctly\r\n            const title = this.querySelector(\"title\")?.textContent || \"\";\r\n            const desc = this.querySelector(\"desc\")?.textContent || \"\";\r\n\r\n            jQuery(\"#results\").append(`<div class=\"block\"><h2>${title}<\/h2><p>${desc}<\/p><\/div>`);\r\n        }\r\n    });\r\n\r\n    \/\/ Sync dropdowns\r\n    jQuery(\"#filter-provinsies\").val(provinsieCode);\r\n    jQuery(\"#filter-tipe\").val(tipe);\r\n}\r\n\r\n\/* ----------- Helper functions ----------- *\/\r\nfunction getParameterByName(name) {\r\n    const url = window.location.href;\r\n    name = name.replace(\/[\\[\\]]\/g, \"\\\\$&\");\r\n    const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);\r\n    const results = regex.exec(url);\r\n    if (!results) return null;\r\n    if (!results[2]) return \"\";\r\n    return decodeURIComponent(results[2].replace(\/\\+\/g, \" \"));\r\n}\r\n\r\nfunction updateUrlParam(key, value) {\r\n    const url = new URL(window.location.href);\r\n    const currentValue = url.searchParams.get(key);\r\n    if (currentValue === value) return;\r\n    if (value) url.searchParams.set(key, value);\r\n    else url.searchParams.delete(key);\r\n    window.history.replaceState({}, \"\", url);\r\n}\r\n\r\n\/* ----------- D3 Map and Pins ----------- *\/\r\nconst svg = d3.select(\"#map\");\r\nconst width = 800;\r\nconst height = 800;\r\n\r\nconst projection = d3.geoMercator()\r\n    .center([24, -29])\r\n    .scale(2500)\r\n    .translate([width \/ 2, height \/ 2]);\r\n\r\nconst path = d3.geoPath().projection(projection);\r\n\r\nd3.json(\"https:\/\/afriforumjeug.co.za\/wp-content\/uploads\/2025\/08\/za.json\")\r\n    .then(function(data) {\r\n        svg.selectAll(\"path.province\")\r\n            .data(data.features)\r\n            .enter()\r\n            .append(\"path\")\r\n            .attr(\"class\", d => \"province \" + d.properties.id.toLowerCase())\r\n            .attr(\"d\", path);\r\n\r\n        const loading = d3.select(\"#loading\");\r\n\r\n        d3.json(\"https:\/\/afriforumjeug.co.za\/wp-json\/jeug\/kampusse-en-takke\/\")\r\n            .then(function(cities) {\r\n                const pinPath = `M256,0C161.896,0,85.333,76.563,85.333,170.667 \r\n                    c0,28.25,7.063,56.26,20.49,81.104L246.667,506.5 \r\n                    c1.875,3.396,5.448,5.5,9.333,5.5s7.458-2.104,9.333-5.5 \r\n                    l140.896-254.813c13.375-24.76,20.438-52.771,20.438-81.021 \r\n                    C426.667,76.563,350.104,0,256,0z \r\n                    M256,256c-47.052,0-85.333-38.281-85.333-85.333 \r\n                    c0-47.052,38.281-85.333,85.333-85.333 \r\n                    s85.333,38.281,85.333,85.333 \r\n                    C341.333,217.719,303.052,256,256,256z`;\r\n\r\n                svg.selectAll(\"path.city-pin\")\r\n                    .data(cities)\r\n                    .enter()\r\n                    .append(\"path\")\r\n                    .attr(\"class\", d => `city-pin ${(d.Tipe.toLowerCase() === \"tak\" ? \"tak\" : \"kampus\")} ${d.provinsie.toLowerCase()}`)\r\n                    .attr(\"d\", pinPath)\r\n                    .attr(\"transform\", d => {\r\n                        const lat = +d.Lat.trim();\r\n                        const lon = +d.long.trim();\r\n                        const [x, y] = projection([lon, lat]);\r\n                        const scale = 0.06;\r\n                        return `translate(${x - 256 * scale}, ${y - 512 * scale}) scale(${scale})`;\r\n                    })\r\n                    \r\n                  .append(\"title\")\r\n.text(d => `${d.post_title} (${d.Tipe.toLowerCase() === \"tak\" ? \"Branch\" : \"Campus\"})`);\r\n                svg.selectAll(\"path.city-pin\")\r\n                    .append(\"desc\")\r\n                    .text(d => d.Kontakbesonderhede || \"\");\r\n\r\n                loading.style(\"display\", \"none\");\r\n\r\n                \/\/ Apply filters now that pins exist\r\n                applyFilters();\r\n            });\r\n    });\r\n\r\n\/\/ Make map responsive\r\nwindow.addEventListener(\"resize\", () => {\r\n    const svgEl = document.getElementById(\"map\");\r\n    const boundingWidth = svgEl.parentElement.clientWidth;\r\n    svgEl.setAttribute(\"width\", boundingWidth);\r\n    svgEl.setAttribute(\"height\", boundingWidth);\r\n});\r\n\r\n\/* ----------- jQuery event listeners ----------- *\/\r\njQuery(document).ready(function () {\r\n\r\n    \/\/ Set default URL params if missing\r\n    if (!getParameterByName(\"provinsie\")) updateUrlParam(\"provinsie\", \"alles\");\r\n    if (!getParameterByName(\"tipe\")) updateUrlParam(\"tipe\", \"alles\");\r\n\r\n    jQuery(\"#filter-tipe\").change(function () {\r\n        updateUrlParam(\"tipe\", jQuery(this).val());\r\n        applyFilters();\r\n    });\r\n\r\n    jQuery(\"#map\").on(\"click\", \".province\", function () {\r\n        const otherClass = jQuery(this).attr(\"class\").split(\" \").filter(c => c !== \"province\")[0];\r\n        updateUrlParam(\"provinsie\", otherClass);\r\n        applyFilters();\r\n    });\r\n\r\n    jQuery(\"#filter-provinsies\").change(function () {\r\n        updateUrlParam(\"provinsie\", jQuery(this).val());\r\n        applyFilters();\r\n    });\r\n});\r\n<\/script>","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-11538","page","type-page","status-publish","hentry"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"AfriForum","author_link":"https:\/\/afriforumjeug.co.za\/en\/author\/wianviljoen\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/pages\/11538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/comments?post=11538"}],"version-history":[{"count":7,"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/pages\/11538\/revisions"}],"predecessor-version":[{"id":12006,"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/pages\/11538\/revisions\/12006"}],"up":[{"embeddable":true,"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/pages\/11508"}],"wp:attachment":[{"href":"https:\/\/afriforumjeug.co.za\/en\/wp-json\/wp\/v2\/media?parent=11538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}