{"id":822,"date":"2024-01-02T20:34:58","date_gmt":"2024-01-02T18:34:58","guid":{"rendered":"http:\/\/jhb-webdevelopers\/rsg-fm\/?page_id=822"},"modified":"2026-09-16T10:17:04","modified_gmt":"2026-09-16T08:17:04","slug":"nuus-bulletins","status":"publish","type":"page","link":"https:\/\/www.rsg.co.za\/rsg-fm\/nuus-bulletins\/","title":{"rendered":"Nuusbulletins"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"822\" class=\"elementor elementor-822\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-edc9c63 e-con-full e-flex e-con e-parent\" data-id=\"edc9c63\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t<div class=\"elementor-element elementor-element-64a1764 e-con-full e-flex e-con e-child\" data-id=\"64a1764\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t<div class=\"elementor-element elementor-element-d96dbae e-con-full e-flex e-con e-child\" data-id=\"d96dbae\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50c2f9d elementor-widget elementor-widget-heading\" data-id=\"50c2f9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">NUUS<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10a0f53 elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"10a0f53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"254\" height=\"85\" src=\"https:\/\/www.rsg.co.za\/rsg-fm\/wp-content\/uploads\/2024\/01\/7-1-1.png\" class=\"attachment-large size-large wp-image-1105\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a503e9c elementor-widget elementor-widget-image\" data-id=\"a503e9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"254\" height=\"186\" src=\"https:\/\/www.rsg.co.za\/rsg-fm\/wp-content\/uploads\/2025\/08\/8-2-1.png\" class=\"attachment-large size-large wp-image-119454\" alt=\"\" srcset=\"https:\/\/www.rsg.co.za\/rsg-fm\/wp-content\/uploads\/2025\/08\/8-2-1.png 254w, https:\/\/www.rsg.co.za\/rsg-fm\/wp-content\/uploads\/2025\/08\/8-2-1-150x110.png 150w\" sizes=\"(max-width: 254px) 100vw, 254px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dd78b70 e-con-full rsg-ad-container e-flex e-con e-child\" data-id=\"dd78b70\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f097e8f elementor-hidden-mobile elementor-widget elementor-widget-shortcode\" data-id=\"f097e8f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!-- \/267159116\/RSG\/RSG_InContentAd2 -->\r\n<div id='div-gpt-ad-1710755013882-0' style='min-width: 728px; min-height: 90px;'>\r\n  <script>\r\n    googletag.cmd.push(function() { googletag.display('div-gpt-ad-1710755013882-0'); });\r\n  <\/script>\r\n<\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2560eb1 e-con-full e-flex e-con e-parent\" data-id=\"2560eb1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42ab69c elementor-widget elementor-widget-shortcode\" data-id=\"42ab69c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"nuusbulletins-search-container\">\n        <div class=\"filter-controls\">\n            <!-- Keyword Search -->\n            <div class=\"filter-group\">\n                <label for=\"nuusbulletins-search\">Sleutelwoord:<\/label>\n                <input type=\"text\" id=\"nuusbulletins-search\" placeholder=\"Soek in nuusbulletins...\" class=\"filter-input\" \/>\n            <\/div>\n            \n            <!-- Date Picker Filter -->\n            <div class=\"filter-group\">\n                <label for=\"nuusbulletins-date-picker\">Datum:<\/label>\n                <input type=\"text\" id=\"nuusbulletins-date-picker\" class=\"date-picker-input\" placeholder=\"Kies 'n datum of reeks\" readonly \/>\n            <\/div>\n            \n            <!-- Time Dropdown Filter -->\n            <div class=\"filter-group\">\n                <label for=\"nuusbulletins-time\">Tyd:<\/label>\n                <select id=\"nuusbulletins-time\" class=\"filter-input time-dropdown\">\n                    <option value=\"\">Alle tye<\/option>\n                    <!-- Times will be populated dynamically via AJAX -->\n                <\/select>\n            <\/div>\n            \n            <!-- Search and Reset Buttons -->\n            <div class=\"filter-buttons\">\n                <button type=\"button\" id=\"nuusbulletins-search-btn\" class=\"search-btn\">Soek<\/button>\n                <button type=\"button\" id=\"nuusbulletins-reset-btn\" class=\"reset-btn\">Herstel<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- Advanced Controls: Sort -->\n        <div class=\"filter-advanced-controls visible\">\n            <div class=\"sort-section\">\n                <span>Sorteer volgens:<\/span>\n                <div class=\"sort-links\">\n                    <a href=\"#\" class=\"sort-link active\" data-sort=\"newest\">jongste<\/a>\n                    <span class=\"sort-separator\">|<\/span>\n                    <a href=\"#\" class=\"sort-link\" data-sort=\"oldest\">oudste<\/a>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Loading Spinner -->\n        <div id=\"nuusbulletins-loading\" class=\"loading-spinner\" style=\"display: none;\">\n            <div class=\"spinner\"><\/div>\n            <p>Soek nuusbulletins...<\/p>\n        <\/div>\n\n        <!-- Results Container -->\n        <div id=\"nuusbulletins-results\" class=\"nuusbulletins-results\" style=\"position: relative; min-height: 300px;\">\n            <div class=\"nuusbulletins-grid\">            <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25t1900\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25t1900\/\">Vrydag 25 September 2026 19:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Die organiseerders van 'n tien kilometer lange wedloop in die Johannesburgse middestad het sosiale mediaboodskappe verwerp dat meer as honderd deelnemers beroof is tydens die wedloop. Dit volg nadat die Goudstad-burgemeester se woordvoerder, Khathutshelo Mulaudzi, op sosiale media gedeel het...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25t1900\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25t1900\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1800\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1800\/\">Vrydag 25 September 2026 18:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Limpopo se provinsiale polisiekommissaris, luitenant-generaal Jan Scheepers, het 'n beroep op polisielede gedoen om die stryd teen geslagsgeweld en vrouemoord te verskerp. Scheepers het lede op 'n polisie-gebedsdiens in Mamone, naby Jane Furse, gewaarsku dat onetiese optrede die polisiediens se...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1800\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1800\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1700\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1700\/\">Vrydag 25 September 2026 17:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Die waarnemende minister van polisie, Firoz Cachalia, s\u00ea daar is geen bewys dat generaal-majoor Wally Rhoode gekeer het dat 'n saak ingedien word nadat 580-duisend Amerikaanse dollar op president Cyril Ramaphosa se plaas gesteel is in 2020 nie. Rhoode is...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1700\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1700\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1600\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1600\/\">Vrydag 25 September 2026 16:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Die ANC-president, Cyril Ramaphosa s\u00ea stygende misdadigheid in die land is 'n bron van kommer. Ramaphosa het stemme gewerf in Hammarsdale, wes van Durban. Hy het verwys na die massa-skietery Dinsdag in KwaMakhutha ook in KwaZulu-Natal, waarin drie gewapende aanvallers...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1600\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1600\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1500\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1500\/\">Vrydag 25 September 2026 15:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Die Nasionale Voorsitter van die ANC, Gwede Mantashe, voer aan dat individue partylede gebruik om onbestendigheid in die party se Oos-Kaapse tak te saai. Sy opmerkings verwys na onlangse hofsake van partylede teen die ANC. Die Makhanda-hooggeregshof in die Oos-Kaap...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1500\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1500\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1400\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1400\/\">Vrydag 25 September 2026 14:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Die Wes-Kaapse polisie ondersoek 'n moord en twee sake van poging tot moord n\u00e1 'n skietery in Belhar op die Kaapse Vlakte waarin een mens dood en twee gewond is. Die polisiewoordvoerder, FC van Wyk s\u00ea die twee gewondes is...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1400\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/25-09-2026t1400\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25to1300\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25to1300\/\">Vrydag 25 September 2026 13:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Transnet s\u00ea hy het met 'n proses begin om 'n privaatsektorvennoot aan te stel om 'n nuwe uitvoerhawe vir mangaan te ontwikkel en te bedryf. Die oogmerk is om die uitvoer van mangaan met 20 persent te verhoog. Volgens die...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25to1300\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25to1300\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1200\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1200\/\">Vrydag 25 September 2026 12:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Vyf verdagtes is in die vroe\u00eb oggendure op verskeie plekke in KwaZulu-Natal in hegtenis geneem in verband met die moord in April op twee beamptes van die misdaadintelligensie-eenheid. 'n Sesde verdagte is dood tydens 'n skietery met die polisie in...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1200\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1200\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1100\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1100\/\">Vrydag 25 September 2026 11:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Die voorsitter van die Eskom-raad, Mteto Nyati, se dienstydperk is met drie jaar verleng. Sy termyn sou aan die einde van Oktober verstryk. Nyati is die afgelope drie jaar raadsvoorsitter van die kragvoorsiener. Die minister van Elektrisiteit en Energie, Kgosientso...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1100\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1100\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n                        <div class=\"nuusbulletins-item\" data-permalink=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1000\/\">\n                <div class=\"nuusbulletins-content\">\n                                        <div class=\"nuusbulletins-datetime\">\n                        <span class=\"datetime-text\">\n                            <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1000\/\">Vrydag 25 September 2026 10:00<\/a>\n                        <\/span>\n                    <\/div>\n                                        \n                    <div class=\"formatted-content\">\n                        <p>Die saak teen die vermeende misdaadsindikaatbaas, Vusumuzi \"Cat\" Matlala, oor die Polisiediens se tender van 228-miljoen rand aan Medicare24, sal vanoggend formeel na die Pretoriase streekhof oorgeplaas word. Matlala sal volgens aanduiding egter eers namens sy twee maatskappye in die...<\/p>\n                    <\/div>\n                    \n                    <div class=\"read-more\">\n                        <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1000\/\" class=\"read-more-btn\">Lees meer<\/a>\n                    <\/div>\n                <\/div>\n                <a href=\"https:\/\/www.rsg.co.za\/rsg-fm\/rsg-nuusbulletins\/2026-09-25-1000\/\" class=\"nuusbulletins-permalink\" style=\"display: none;\"><\/a>\n            <\/div>\n            <\/div><div class=\"pagination\"><a href=\"#\" class=\"pagination-page active\" data-page=\"1\">1<\/a><a href=\"#\" class=\"pagination-page\" data-page=\"2\">2<\/a><a href=\"#\" class=\"pagination-page\" data-page=\"3\">3<\/a><a href=\"#\" class=\"pagination-page pagination-next\" data-page=\"2\">Volgende \u00bb<\/a><\/div><div class=\"results-count\"><p>1-10 van 10368 nuusbulletins<\/p><\/div>        <\/div>\n    <\/div>\n\n    <style>\n    \/* Loading spinner styles *\/\n    \/* ================================\n   CONTAINER\n================================ *\/\n.nuusbulletins-search-container {\n    margin-bottom: 2rem;\n    padding: 20px;\n    border: 1px solid #e0e0e0;\n    border-radius: 8px;\n    background: #fafafa;\n    width: 100%;\n    box-sizing: border-box;\n}\n\n\/* ================================\n   FILTER CONTROLS\n================================ *\/\n.filter-controls {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 20px;\n    width: 100%;\n}\n\n.filter-group {\n    width: 100%;\n}\n\n.filter-group label {\n    display: block;\n    margin-bottom: 8px;\n    font-weight: 500;\n    font-size: 14px;\n    color: #000 !important;\n}\n\n.filter-input {\n    width: 100%;\n    padding: 10px 12px;\n    border: 1px solid #ddd;\n    border-radius: 6px;\n    font-size: 14px;\n    box-sizing: border-box; \/* Added for consistent padding *\/\n}\n\n.filter-input:focus {\n    outline: none;\n    border-color: #E6212A;\n}\n\n\/* ================================\n   BUTTONS\n================================ *\/\n.filter-buttons {\n    display: flex;\n    gap: 10px;\n}\n\n.search-btn,\n.reset-btn {\n    padding: 10px 24px;\n    border-radius: 50px;\n    font-size: 14px;\n    cursor: pointer;\n    border: none;\n    transition: 0.3s ease;\n}\n\n.search-btn {\n    background: #E6212A;\n    color: #fff;\n}\n\n.search-btn:hover {\n    background: #c41a22;\n}\n\n.reset-btn {\n    background: #6c757d;\n    border: 1px solid #ddd;\n}\n\n.reset-btn:hover {\n    background: #b2b2b2;\n}\n\n\/* ================================\n   SORT CONTROLS\n================================ *\/\n.filter-advanced-controls {\n    background: #fff;\n    padding: 15px 20px;\n    border-radius: 8px;\n    margin-bottom: 20px;\n}\n\n.sort-section {\n    display: flex;\n    align-items: center;\n    gap: 15px;\n}\n\n.sort-links {\n    display: flex;\n    gap: 8px;\n}\n\n.sort-link {\n    text-decoration: none;\n    font-size: 14px;\n    color: #666;\n}\n\n.sort-link.active,\n.sort-link:hover {\n    color: #E6212A;\n    font-weight: 500;\n}\n\n\/* ================================\n   RESULTS CONTAINER\n================================ *\/\n.nuusbulletins-results {\n    width: 100%;\n    min-height: 400px;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n}\n\n\/* ================================\n   GRID\n================================ *\/\n.nuusbulletins-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n    gap: 20px;\n    width: 100%;\n}\n\n\/* ================================\n   ITEM CARD\n================================ *\/\n.nuusbulletins-item {\n    background: #fff;\n    border-radius: 12px;\n    padding: 20px;\n    border: 1px solid #eee;\n    box-shadow: 0 2px 10px rgba(0,0,0,0.08);\n    cursor: pointer;\n    transition: 0.2s ease;\n}\n\n.nuusbulletins-item:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 25px rgba(0,0,0,0.12);\n}\n\n.nuusbulletins-datetime {\n    margin-bottom: 10px;\n}\n\n.datetime-text {\n    font-size: 14px;\n    font-weight: 500;\n    color: #E6212A;\n}\n\n.datetime-text a {\n    color: #E6212A !important;\n    text-decoration: none;\n}\n\n.datetime-text a:hover {\n    text-decoration: underline;\n}\n\n.formatted-content {\n    font-size: 15px;\n    line-height: 1.6;\n    color: #444;\n}\n\n.read-more {\n    margin-top: 15px;\n}\n\n.read-more-btn {\n    padding: 8px 20px;\n    background: #E6212A;\n    color: #fff;\n    border-radius: 20px;\n    font-size: 13px;\n    text-decoration: none;\n}\n\n.read-more-btn:hover {\n    background: #c41a22;\n}\n\n\/* ================================\n   EMPTY STATE (FIXED)\n================================ *\/\n.no-results-wrapper {\n    flex: 1;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n\n.no-results {\n    text-align: center;\n    padding: 40px;\n    background: #f9f9f9;\n    border-radius: 12px;\n    border: 1px dashed #ddd;\n    max-width: 500px;\n    width: 100%;\n}\n\n\/* ================================\n   PAGINATION\n================================ *\/\n.pagination {\n    display: flex;\n    justify-content: center;\n    gap: 8px;\n    margin-top: 30px;\n    flex-wrap: wrap;\n}\n\n.pagination-page {\n    padding: 8px 14px;\n    border: 1px solid #ddd;\n    background: #f8f9fa;\n    border-radius: 4px;\n    text-decoration: none;\n    color: #333;\n}\n\n.pagination-page.active {\n    background: #E6212A;\n    color: #fff;\n    border-color: #E6212A;\n}\n\n\/* ================================\n   LOADING SPINNER\n================================ *\/\n.loading-spinner {\n    position: absolute;\n    inset: 0;\n    background: rgba(255,255,255,0.9);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    z-index: 100;\n}\n\n.spinner {\n    width: 40px;\n    height: 40px;\n    border: 4px solid #eee;\n    border-top: 4px solid #E6212A;\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n    100% { transform: rotate(360deg); }\n}\n\n\/* ================================\n   RESPONSIVE BREAKPOINTS\n================================ *\/\n\/* Large tablets and small desktops (1200px and below) *\/\n@media (max-width: 1200px) {\n    .filter-controls {\n        grid-template-columns: repeat(2, 1fr);\n        gap: 15px;\n    }\n    \n    .filter-buttons {\n        grid-column: span 2;\n        margin-top: 5px;\n    }\n}\n\n\/* Tablets (768px and below) *\/\n@media (max-width: 768px) {\n    .filter-controls {\n        display: flex;\n        flex-direction: column;\n        gap: 15px;\n    }\n    \n    .filter-group {\n        width: 100%;\n    }\n    \n    .filter-buttons {\n        width: 100%;\n        flex-direction: row;\n    }\n    \n    .filter-buttons .search-btn,\n    .filter-buttons .reset-btn {\n        flex: 1;\n        text-align: center;\n        white-space: nowrap;\n    }\n    \n    .sort-section {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 8px;\n    }\n    \n    .sort-links {\n        flex-wrap: wrap;\n    }\n    \n    .nuusbulletins-search-container {\n        padding: 15px;\n    }\n}\n\n\/* Mobile landscape (640px and below) *\/\n@media (max-width: 640px) {\n    .filter-buttons .search-btn,\n    .filter-buttons .reset-btn {\n        padding: 10px 16px;\n        font-size: 13px;\n    }\n    \n    .filter-input {\n        font-size: 13px;\n        padding: 8px 10px;\n    }\n    \n    .filter-group label {\n        font-size: 13px;\n    }\n}\n\n\/* Mobile portrait (480px and below) *\/\n@media (max-width: 480px) {\n    .filter-controls {\n        gap: 12px;\n    }\n    \n    .filter-buttons {\n        flex-direction: column;\n        gap: 8px;\n    }\n    \n    .filter-buttons .search-btn,\n    .filter-buttons .reset-btn {\n        width: 100%;\n        white-space: normal;\n        padding: 10px;\n    }\n    \n    .nuusbulletins-grid {\n        grid-template-columns: 1fr;\n    }\n    \n    .nuusbulletins-search-container {\n        padding: 12px;\n    }\n    \n    .sort-section {\n        gap: 5px;\n    }\n    \n    .sort-links {\n        gap: 5px;\n    }\n    \n    .sort-link {\n        font-size: 13px;\n    }\n}\n\n\/* Fix for very small devices (375px and below) *\/\n@media (max-width: 375px) {\n    .filter-input {\n        font-size: 12px;\n    }\n    \n    .search-btn,\n    .reset-btn {\n        font-size: 12px;\n    }\n}\n    <\/style>\n\n    <script type=\"text\/javascript\">\n    jQuery(document).ready(function($) {\n        let searchTimeout;\n        let currentPage = 1;\n        let currentSort = 'newest';\n        \n        \/\/ Helper function to get Afrikaans month names\n        function getAfrikaansMonthNames() {\n            return {\n                January: 'Januarie',\n                February: 'Februarie',\n                March: 'Maart',\n                April: 'April',\n                May: 'Mei',\n                June: 'Junie',\n                July: 'Julie',\n                August: 'Augustus',\n                September: 'September',\n                October: 'Oktober',\n                November: 'November',\n                December: 'Desember'\n            };\n        }\n        \n        \/\/ Helper function to get Afrikaans day names\n        function getAfrikaansDayNames() {\n            return {\n                Sunday: 'Sondag',\n                Monday: 'Maandag',\n                Tuesday: 'Dinsdag',\n                Wednesday: 'Woensdag',\n                Thursday: 'Donderdag',\n                Friday: 'Vrydag',\n                Saturday: 'Saterdag'\n            };\n        }\n        \n        \/\/ Initialize date picker with radio buttons (matching global search)\n        function initDatePicker() {\n            const datePicker = document.getElementById('nuusbulletins-date-picker');\n            if (datePicker && typeof flatpickr !== 'undefined') {\n                if (!datePicker.nextElementSibling || \n                    !datePicker.nextElementSibling.classList.contains('date-radio-container')) {\n                    \n                    const radioContainer = document.createElement('div');\n                    radioContainer.className = 'date-radio-container';\n                    radioContainer.innerHTML = `\n                        <div class=\"date-mode-radios\">\n                            <label class=\"radio-label\">\n                                <input type=\"radio\" name=\"nuusbulletins-date-mode\" value=\"single\" class=\"date-mode-radio\" checked>\n                                <span class=\"radio-text\">Een Dag<\/span>\n                            <\/label>\n                            <label class=\"radio-label\">\n                                <input type=\"radio\" name=\"nuusbulletins-date-mode\" value=\"range\" class=\"date-mode-radio\">\n                                <span class=\"radio-text\">Verskeie dae<\/span>\n                            <\/label>\n                        <\/div>\n                    `;\n                    \n                    datePicker.parentNode.insertBefore(radioContainer, datePicker.nextSibling);\n                    \n                    \/\/ Custom Afrikaans locale for flatpickr\n                    const afrikaansLocale = {\n                        firstDayOfWeek: 1,\n                        weekdays: {\n                            shorthand: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'],\n                            longhand: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag']\n                        },\n                        months: {\n                            shorthand: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],\n                            longhand: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember']\n                        },\n                        ordinal: function () {\n                            return \"ste\";\n                        }\n                    };\n                    \n                    const fp = flatpickr(datePicker, {\n                        mode: \"single\",\n                        dateFormat: \"Y-m-d\",\n                        altInput: true,\n                        altFormat: \"j F Y\",\n                        maxDate: new Date(),\n                        locale: afrikaansLocale,\n                        placeholder: \"Kies een dag\",\n                        onChange: function(selectedDates, dateStr, instance) {\n                            updateDatePlaceholder(instance);\n                            \/\/ When date changes, load times for that date\n                            if (selectedDates.length > 0 && instance.config.mode === 'single') {\n                                loadTimesForDate(selectedDates[0]);\n                            } else if (selectedDates.length === 0) {\n                                resetTimeDropdown();\n                            }\n                        }\n                    });\n                    \n                    radioContainer.flatpickrInstance = fp;\n                    \n                    const radios = radioContainer.querySelectorAll('.date-mode-radio');\n                    radios.forEach(radio => {\n                        radio.addEventListener('change', function() {\n                            if (this.checked) {\n                                const mode = this.value;\n                                fp.set('mode', mode);\n                                fp.clear();\n                                updateDatePlaceholder(fp);\n                                \n                                if (mode === 'single') {\n                                    fp.altInput.placeholder = \"Kies een dag\";\n                                } else {\n                                    fp.altInput.placeholder = \"Kies verskeie dae\";\n                                }\n                                \n                                \/\/ Reset time dropdown when switching to range mode\n                                if (mode === 'range') {\n                                    resetTimeDropdown();\n                                }\n                            }\n                        });\n                    });\n                    \n                    function updateDatePlaceholder(instance) {\n                        const selectedDates = instance.selectedDates;\n                        if (selectedDates.length === 0) {\n                            instance.altInput.placeholder = instance.config.mode === 'single' \n                                ? \"Kies een dag\" \n                                : \"Kies verskeie dae\";\n                        }\n                    }\n                    \n                    \/\/ Load times for today's date by default (only if in single mode)\n                    if (fp.config.mode === 'single') {\n                        loadTimesForDate(new Date());\n                    }\n                }\n            }\n        }\n        \n        \/\/ Function to load times for a specific date\n        function loadTimesForDate(date) {\n            if (!date) return;\n            \n            \/\/ Format date as YYYY-MM-DD\n            const formattedDate = date instanceof Date ? \n                date.toISOString().split('T')[0] : date;\n            \n            $.ajax({\n                url: 'https:\/\/www.rsg.co.za\/rsg-fm\/wp-admin\/admin-ajax.php',\n                type: 'POST',\n                data: {\n                    action: 'get_times_for_date',\n                    date: formattedDate,\n                    nonce: 'b61714f593'\n                },\n                success: function(response) {\n                    const timeDropdown = $('#nuusbulletins-time');\n                    const currentValue = timeDropdown.val();\n                    timeDropdown.empty();\n                    timeDropdown.append('<option value=\"\">Alle tye<\/option>');\n                    \n                    if (response.success && response.data.times.length > 0) {\n                        $.each(response.data.times, function(index, time) {\n                            timeDropdown.append($('<option><\/option>')\n                                .val(time.value)\n                                .text(time.label));\n                        });\n                        \n                        \/\/ Restore previously selected value if it still exists\n                        if (currentValue && timeDropdown.find('option[value=\"' + currentValue + '\"]').length) {\n                            timeDropdown.val(currentValue);\n                        }\n                    } else {\n                        timeDropdown.append('<option value=\"\" disabled>Geen tye beskikbaar<\/option>');\n                    }\n                },\n                error: function() {\n                    console.log('Error loading times');\n                }\n            });\n        }\n        \n        \/\/ Reset time dropdown\n        function resetTimeDropdown() {\n            const timeDropdown = $('#nuusbulletins-time');\n            timeDropdown.empty();\n            timeDropdown.append('<option value=\"\">Alle tye<\/option>');\n            timeDropdown.append('<option value=\"\" disabled>Kies eers \\'n datum<\/option>');\n        }\n        \n        initDatePicker();\n        \n        \/\/ Get date filter value\n        function getDateFilterValue() {\n            const datePicker = document.getElementById('nuusbulletins-date-picker');\n            if (datePicker && datePicker._flatpickr) {\n                const selectedDates = datePicker._flatpickr.selectedDates;\n                if (selectedDates.length === 1) {\n                    return datePicker._flatpickr.formatDate(selectedDates[0], 'Y-m-d');\n                } else if (selectedDates.length === 2) {\n                    const startDate = datePicker._flatpickr.formatDate(selectedDates[0], 'Y-m-d');\n                    const endDate = datePicker._flatpickr.formatDate(selectedDates[1], 'Y-m-d');\n                    return startDate + ' to ' + endDate;\n                }\n            }\n            return '';\n        }\n        \n        \/\/ Get time filter value\n        function getTimeFilterValue() {\n            return $('#nuusbulletins-time').val();\n        }\n        \n        \/\/ Search function\n        function searchNuusbulletins(page = 1) {\n            currentPage = page;\n            var searchTerm = $('#nuusbulletins-search').val();\n            var dateFilter = getDateFilterValue();\n            var timeFilter = getTimeFilterValue();\n            \n            $('#nuusbulletins-loading').show();\n            $('#nuusbulletins-results').css('min-height', '300px');\n            \n            clearTimeout(searchTimeout);\n            \n            searchTimeout = setTimeout(function() {\n                $.ajax({\n                    url: 'https:\/\/www.rsg.co.za\/rsg-fm\/wp-admin\/admin-ajax.php',\n                    type: 'POST',\n                    data: {\n                        action: 'search_nuusbulletins_shortcode',\n                        search: searchTerm,\n                        date_filter: dateFilter,\n                        time_filter: timeFilter,\n                        sort_by: currentSort,\n                        page: page,\n                        posts_per_page: 10,\n                        nonce: '458cf72690'\n                    },\n                    success: function(response) {\n                        $('#nuusbulletins-results').html(response);\n                        $('#nuusbulletins-loading').hide();\n                        \n                        \/\/ Force width stability after content replacement\n                        $('#nuusbulletins-results').css({\n                            'width': '100%',\n                            'min-height': '400px'\n                        });\n                        \/\/ Re-attach click handlers\n                        $('.nuusbulletins-item').off('click').on('click', function(e) {\n                            if ($(e.target).is('a') || $(e.target).closest('a').length) {\n                                return;\n                            }\n                            var link = $(this).find('.nuusbulletins-permalink');\n                            if (link.length) {\n                                window.location.href = link.attr('href');\n                            }\n                        });\n                        \n                        \/\/ Re-attach pagination handlers\n                        $('.pagination-page').off('click').on('click', function(e) {\n                            e.preventDefault();\n                            var page = $(this).data('page');\n                            if (page) {\n                                searchNuusbulletins(page);\n                            }\n                        });\n                    },\n                    error: function() {\n                        $('#nuusbulletins-results').html('<p class=\"no-results\">Fout met soek nuusbulletins. Probeer asseblief weer.<\/p>');\n                        $('#nuusbulletins-loading').hide();\n                    }\n                });\n            }, 300);\n        }\n        \n       function resetFilters() {\n            \/\/ Reset text search\n            $('#nuusbulletins-search').val('');\n\n            \/\/ Reset sort + page\n            currentSort = 'newest';\n            currentPage = 1;\n\n            \/\/ Reset date picker\n            const datePicker = document.getElementById('nuusbulletins-date-picker');\n            if (datePicker && datePicker._flatpickr) {\n                const fp = datePicker._flatpickr;\n\n                \/\/ Reset to SINGLE mode (important)\n                fp.set('mode', 'single');\n                fp.clear();\n\n                \/\/ Reset radio buttons UI\n                $('input[name=\"nuusbulletins-date-mode\"][value=\"single\"]').prop('checked', true);\n\n                \/\/ Reset placeholder\n                fp.altInput.placeholder = \"Kies een dag\";\n            }\n\n            \/\/ Reset time dropdown completely\n            resetTimeDropdown();\n\n            \/\/ \ud83d\udd25 IMPORTANT: Reload today's times (default state)\n            const today = new Date();\n            loadTimesForDate(today);\n\n            \/\/ Reset sort UI\n            updateSortLinks('newest');\n\n            \/\/ \ud83d\udd25 Force clean reload (no filters applied)\n            searchNuusbulletins(1);\n        }\n      \n        \n        \/\/ Update sort links\n        function updateSortLinks(sort) {\n            $('.sort-link').removeClass('active');\n            $(`.sort-link[data-sort=\"${sort}\"]`).addClass('active');\n            currentSort = sort;\n        }\n        \n        \/\/ Event handlers\n        $('#nuusbulletins-search-btn').on('click', function() {\n            currentPage = 1;\n            searchNuusbulletins(1);\n        });\n        \n        $('#nuusbulletins-reset-btn').on('click', function() {\n            resetFilters();\n        });\n        \n        $('#nuusbulletins-search').on('keypress', function(e) {\n            if (e.which === 13) {\n                e.preventDefault();\n                currentPage = 1;\n                searchNuusbulletins(1);\n            }\n        });\n        \n        $('.sort-link').on('click', function(e) {\n            e.preventDefault();\n            const sort = $(this).data('sort');\n            updateSortLinks(sort);\n            currentPage = 1;\n            searchNuusbulletins(1);\n        });\n        \n        \/\/ Time dropdown change triggers search\n        $('#nuusbulletins-time').on('change', function() {\n            currentPage = 1;\n            searchNuusbulletins(1);\n        });\n        \n        \/\/ Initial click handlers for results\n        $('.nuusbulletins-item').on('click', function(e) {\n            if ($(e.target).is('a') || $(e.target).closest('a').length) {\n                return;\n            }\n            var link = $(this).find('.nuusbulletins-permalink');\n            if (link.length) {\n                window.location.href = link.attr('href');\n            }\n        });\n    });\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>NUUS<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-822","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/pages\/822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/comments?post=822"}],"version-history":[{"count":4,"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/pages\/822\/revisions"}],"predecessor-version":[{"id":169520,"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/pages\/822\/revisions\/169520"}],"wp:attachment":[{"href":"https:\/\/www.rsg.co.za\/rsg-fm\/wp-json\/wp\/v2\/media?parent=822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}